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: () => (
| Visual |
Name |
{(Object.keys({ ...iconTable, ...customIcons }) as IconName[]).map(
(key, index) => (
|
|
{key} |
),
)}
),
};