Skip to content

SmilingZ

The Isotype or Smiling Z it's a Logo variant that may be used on its own in certain cases, but the Zurich logo is only complete with the wordmark accompanied by the Isotype.

UX/UI Guidelines

Check the design documentation of the component in ZeroHeight.

Implementations

The component SmilingZ is available in the following technologies:

CSS Components
cssreactvue
Web Components
webreactvueangular
Native
react_native

Parameters

Parameters

Make sure you have read about the parameters in here.

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

NameTypeSlotDescription
configstring

The default color depends on the theme.

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-smiling-z 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-smiling-z custom-str="fill:#06e7a3" />
z-themestring

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

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

From Figma to code

You can check the Figma implementation here. This components has no properties.

Customization

INFO

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

CSS VariableTypeDescription
--z-smiling-z--fillcolorFill color
--z-smiling-z--sizedistanceSize of the Smiling Z

Both the color and the size of the z-smiling-z can be customized using the --z-smiling-z--fill and --z-smiling-z--size CSS custom properties respectively.

Extending isotype or modifying sources

We can use the --z-smiling-z--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.

SVGs for icons must be flattened

The SVG file must be flattened to work correctly. This means that the SVG file should not have any nested SVG elements or multiple SVG sub-elements.

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

css
[z-smiling-z] {
  --z-smiling-z--url: url(https://upload.wikimedia.org/wikipedia/commons/3/3b/Eo_circle_green_checkmark.svg);
}

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

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