G
Tokens
TypographySpacingColorRadiusShadowMotion
Patterns
CardsModals

Icon

Icon set

See the icon set

Sizes


    <>
      {Object.keys(vars.texts).map((size, index) => (
        <Arrange gap="0.65em" key={index}>
          <Icon size={size} icon={<IconGlobe />} />
          <Text size={size} weight="medium">
            Size {size}
          </Text>
        </Arrange>
      ))}
    </>
  

Icon and text size combination


    <>
      <Arrange gap="0.65em">
        <Icon size="xl" icon={<IconArrowRight />} />
        <Text size="xl" weight="medium">
          Icon size xl with text size xl
        </Text>
      </Arrange>
      <Arrange gap="0.65em">
        <Icon size="m" icon={<IconArrowRight />} />
        <Text size="m" weight="medium">
          Icon size m with text size m
        </Text>
      </Arrange>
    </>
  

Color

See all colors


    <Arrange gap="s">
      <Icon size="xxl" icon={<IconSmile />} />
      <Icon size="xxl" color="blue" icon={<IconSmile />} />
      <Icon size="xxl" color="red" icon={<IconSmile />} />
    </Arrange>
  

ViewBox width

The viewBoxWidth variable holds the SVG viewBox width. All icons are designed at 36px in height and used at half size (18px). The width varies depending on the SVG shape; to get the width, divide the viewBoxWidth by 2.


    <Arrange gap="s">
      <Icon icon={<IconSmile />} />
      <Text>{IconSmile.viewBoxWidth / 2}px</Text>

      <Icon icon={<IconArrowRight />} />
      <Text>{IconArrowRight.viewBoxWidth / 2}px</Text>

      <Icon icon={<IconType />} />
      <Text>{IconType.viewBoxWidth / 2}px</Text>
    </Arrange>


Props

Name
Type
Default
size
oneOfType
oneOf
"s" "m" "l" "xl" "xxl"
number
string
'm'
color
oneOfType
Object.keys(vars.colors)
string
getColor('icon')
icon
node
hasEvenBoundary
bool