import { IconLayout, IconLayoutProvider, defaultVariant, iconLayoutOptions, useIconLayoutDispatch, useIconLayoutState, } from '../src/index'; import type { ComponentMeta, ComponentStory } from '@storybook/react'; // ----------------------------------------------------------------------------- // Stories // ----------------------------------------------------------------------------- export default { component: IconLayout, title: 'IconLayout', } as ComponentMeta; const Template: ComponentStory = (args) => ( ); export const Default = Template.bind({}); Default.args = { icon: 'icon', text: 'text', }; Default.storyName = 'Icon and Text (default)'; export const IconOnly = Template.bind({}); IconOnly.args = { ...Default.args, variant: 'iconOnly', }; export const TextOnly = Template.bind({}); TextOnly.args = { ...Default.args, variant: 'textOnly', }; export const WithReactElements = Template.bind({}); WithReactElements.args = { ...Default.args, icon: , text: , }; export const WithNestedIcon = Template.bind({}); WithNestedIcon.args = { ...Default.args, icon: , text: 'text', }; export const WithNestedText = Template.bind({}); WithNestedText.args = { ...Default.args, icon: 'icon', text: , }; export const WithIconLayoutProvider = () => (

Input:

iconLayoutDispatch({ type: event.target.value })} > {iconLayoutOptions.map(({ id, name }) => ( ))} ); } function RadioGroup() { const iconLayoutState = useIconLayoutState(); const iconLayoutDispatch = useIconLayoutDispatch(); return ( {iconLayoutOptions.map(({ id, name }) => ( ))} ); } function ResetButton() { const iconLayoutState = useIconLayoutState(); const iconLayoutDispatch = useIconLayoutDispatch(); return ( ); } function Buttons() { const iconLayoutState = useIconLayoutState(); const iconLayoutDispatch = useIconLayoutDispatch(); return ( {iconLayoutOptions.map(({ id, name }) => ( ))} ); } function Status() { const iconLayoutState = useIconLayoutState(); return {iconLayoutState}; } function ArrowLeftIcon() { return ( ); } function ArrowRightIcon() { return ( ); } function PrevButton() { const iconLayoutState = useIconLayoutState(); return ( ); } function NextButton() { const iconLayoutState = useIconLayoutState(); return ( ); } function Pagination() { return ( ); }