import { Story, Meta } from '@storybook/react' import { Block } from '@lidofinance/block' import { StackAlign, StackDirection, StackJustify, StackWrap, StackProps, HStackProps, VStackProps, StackSpacing, } from './types' import Stack from './Stack' import HStack from './HStack' import VStack from './VStack' import StackItem from './StackItem' const getOptions = (enumObject: Record) => Object.values(enumObject).filter((value) => typeof value === 'string') export default { component: Stack, title: 'Layout/Stack', args: { align: 'flex-start', justify: 'flex-start', wrap: 'wrap', spacing: 'sm', }, argTypes: { align: { options: getOptions(StackAlign), control: 'select', }, justify: { options: getOptions(StackJustify), control: 'select', }, wrap: { options: getOptions(StackWrap), control: 'inline-radio', }, spacing: { options: [undefined, ...getOptions(StackSpacing)], control: 'inline-radio', }, }, } as Meta export const Basic: Story = (props) => ( First First
Second
First
Second
Third
) Basic.args = { direction: 'row', } Basic.argTypes = { direction: { options: getOptions(StackDirection), control: 'inline-radio', }, } export const Horizontal: Story = (props) => ( First First
Second
First
Second
Third
) Horizontal.args = { reverse: false } export const Vertical: Story = (props) => ( First First
Second
First
Second
Third
) Vertical.args = { reverse: false } export const Grid: Story = (props) => ( ) Grid.args = { reverse: false }