Skip to content

Pictogram

Zurich Pictograms are characterized by a consistent look using brand colors and contained within a circle. They are often used to highlight and emphasize an important aspect, making some information more compelling and memorable for the user.

UX/UI Guidelines

Check the design documentation of the component in ZeroHeight.

Implementations

The component Pictogram is available in the following technologies:

CSS Components
cssreactvue
Web Components
webreactvueangular
Native
react_native

Parameters

Parameters

Parameters are the attributes that can be used to customize the component when using it in a project. They apply to the WebComponents implementation and wrappers and to the Vue and React CSS implementations. Some parameters names change between the implementations, in order to follow the conventions of each technology and framework.

For example, the param model is named ngModel in Angular, modelValue in Vue, but stays as model in React.

By default, all the parameters are optional or can be set in different, except for the ones marked as required

The parametrization of the component can be done with the following custom params or properties:

NameTypeSlotDescription
pictogramstringThe name of the pictogram to be displayed
customobject

A record of key-value pairs to set the CSS custom tokens. It's a complex attribute set as an JS object in stringified JSON format.

Example:

html
<z-pictogram custom='{"fill":"#06e7a3"}' />

Check the available values in the customization section.

custom-strstring

The stringified version of the custom property. It follows the pattern key:value;key:value;, with the possibility of setting multiple values and spaces between the punctuation characters.

Example:

html
<z-pictogram custom-str="fill:#06e7a3" />
z-themestring

Sets the theme of the component. The possible values are light and dark.

html
<z-pictogram z-theme="dark" />

From Figma to code

You can check the Figma implementation here.

Customization

INFO

Check everything about the customization mechanics in the "How it works" documentation.

CSS VariableTypeDescription
--z-pictogram--sizedistanceTotal size of the pictogram
--z-pictogram--bgcolor

The size of the pictogram can be customized using the --z-pictogram--size CSS custom property or the custom attribute.

Extending pictograms or modifying sources

We can use the --z-pictogram--urlCSS variable to change the source of the icon. This way, we can use any SVG file as an icon. The rest of the component will behave the same.

The custom-str won't work with this prop, so we need to use the CSS or using style or custom for instances.

It's better and more comfortable to do this override anyway in a CSS general file:

css
[z-pictogram="alert"] {
  --z-pictogram--url: url(https://upload.wikimedia.org/wikipedia/commons/1/17/Warning.svg);
}

We can also use this approach to extend the icon catalog with custom icons.

css
[z-pictogram="react"] {
  --z-pictogram--url: url(https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg);
}