import React from 'react'; import { Icon, iconTable, IconName, customIcons, } from '../src/lib/components/icon/Icon.component'; import { SizeProp } from '@fortawesome/fontawesome-svg-core'; export default { title: 'Components/Icon', component: Icon, argTypes: { color: { control: { type: 'color', }, }, }, }; export const Playground = { args: { name: 'Exclamation-triangle', }, }; export const Size = { render: (args) => { const NameSizes: SizeProp[] = ['xs', 'sm', 'lg']; const MultiplicatorSizes: SizeProp[] = [ '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x', ]; return ( <>

Size Name

{NameSizes.map((size) => (
{size}
))}

Size Multiplicator

{MultiplicatorSizes.map((size) => (
{size}
))}
); }, args: { name: 'Exclamation-triangle', }, parameters: { docs: { source: { code: null, }, }, }, }; export const Statuses = { render: () => { return (
Status Visual Code
Unknown <Icon name='Dot-circle' color='infoPrimary' />
Healthy <Icon name='Check-circle' color='statusHealthy' />
Warning <Icon name='Exclamation-circle' color='statusWarning' />
Critical <Icon name='Times-circle' color='statusCritical' />
); }, }; export const AllIcons = { render: () => ( {(Object.keys({ ...iconTable, ...customIcons }) as IconName[]).map( (key, index) => ( ), )}
Visual Name
{key}
), };