UNPKG

@primer/react-brand

Version:

Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.

88 lines (73 loc) 3.36 kB
--- title: Icon description: Use the icon component to display Octicons with an optional background keywords: ['Octicon', 'symbol'] ready: true source: https://github.com/primer/brand/blob/main/packages/react/src/Icon/Icon.tsx storybook: '/brand/storybook/?path=/story/components-icon--playground' figma: https://www.figma.com/design/BJ95AjraesmRCWsKA013GS/Primer-Brand?node-id=15397-35 --- ```js import {Icon} from '@primer/react-brand' ``` ## Examples ### Default ```jsx <Icon icon={ZapIcon} /> ``` ### Colors ```jsx <Stack direction="horizontal" gap={16} flexWrap="wrap" padding="none"> <Icon icon={RocketIcon} color="default" /> <Icon icon={RocketIcon} color="blue" /> <Icon icon={RocketIcon} color="coral" /> <Icon icon={RocketIcon} color="green" /> <Icon icon={RocketIcon} color="gray" /> <Icon icon={RocketIcon} color="indigo" /> <Icon icon={RocketIcon} color="lemon" /> <Icon icon={RocketIcon} color="lime" /> <Icon icon={RocketIcon} color="orange" /> <Icon icon={RocketIcon} color="pink" /> <Icon icon={RocketIcon} color="purple" /> <Icon icon={RocketIcon} color="red" /> <Icon icon={RocketIcon} color="teal" /> <Icon icon={RocketIcon} color="yellow" /> </Stack> ``` ### With background ```jsx <Stack direction="horizontal" gap={16} flexWrap="wrap" padding="none"> <Icon icon={RocketIcon} hasBackground color="default" /> <Icon icon={RocketIcon} hasBackground color="blue" /> <Icon icon={RocketIcon} hasBackground color="coral" /> <Icon icon={RocketIcon} hasBackground color="green" /> <Icon icon={RocketIcon} hasBackground color="gray" /> <Icon icon={RocketIcon} hasBackground color="indigo" /> <Icon icon={RocketIcon} hasBackground color="lemon" /> <Icon icon={RocketIcon} hasBackground color="lime" /> <Icon icon={RocketIcon} hasBackground color="orange" /> <Icon icon={RocketIcon} hasBackground color="pink" /> <Icon icon={RocketIcon} hasBackground color="purple" /> <Icon icon={RocketIcon} hasBackground color="red" /> <Icon icon={RocketIcon} hasBackground color="teal" /> <Icon icon={RocketIcon} hasBackground color="yellow" /> </Stack> ``` ### Sizes ```jsx <Stack direction="vertical"> <Icon icon={CopilotIcon} size="small" /> <Icon icon={CopilotIcon} size="medium" /> <Icon icon={CopilotIcon} size="large" /> </Stack> ``` ## Component props ### Icon | Name | Type | Default | Description | | :-------------- | :--------------------------------------------------- | :---------- | :------------------------------------------- | | `icon` | `OcticonProps` \| `React.ReactElement<OcticonProps>` | | The Octicon component to render | | `color` | `iconColors` | `'default'` | The color of the icon | | `size` | `namedIconSizes \| numericIconSizes` | `'small'` | The size of the icon | | `hasBackground` | `boolean` | `false` | Whether to show a background behind the icon | | `className` | `string` | | Additional CSS class for the icon | All other props are forwarded to the underlying SVG element.