import type { Meta, StoryObj } from '@storybook/react'; import { Description } from './description'; import { DescriptionList } from './description-list'; import { Group } from './group'; import { Term } from './term'; const meta = { component: DescriptionList, title: 'Atoms/Lists/Description List', } satisfies Meta; export default meta; type Story = StoryObj; const Default: Story = { args: { children: [ A term, A description of the term., ], }, }; export const SingleTermSingleDescription: Story = { args: { ...Default.args, }, }; export const MultipleTermsSingleDescription: Story = { args: { ...Default.args, children: [ First term, Second term, Third term, Description of the terms, ], }, }; export const SingleTermMultipleDescriptions: Story = { args: { ...Default.args, children: [ A term, First description of the term , Second description of the term , Third description of the term , ], }, }; export const MultipleTermsMultipleDescriptions: Story = { args: { ...Default.args, children: [ First term, Description of the first term , Second term, Alternative of second term, Description of the second term , Third term, First description of the third term , Second description of the third term , ], }, }; export const GroupOfMultipleTermsMultipleDescriptions: Story = { args: { ...Default.args, children: [ First term Description of the first term , Second term Alternative of second term Description of the second term , Third term First description of the third term Second description of the third term , ], }, }; export const SpacingXXSWithoutGroup: Story = { name: 'Spacing: Double extra-small (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: '2xs', }, }; export const SpacingXSWithoutGroup: Story = { name: 'Spacing: Extra-small (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: 'xs', }, }; export const SpacingSMWithoutGroup: Story = { name: 'Spacing: Small (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: 'sm', }, }; export const SpacingMDWithoutGroup: Story = { name: 'Spacing: Medium (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: 'md', }, }; export const SpacingLGWithoutGroup: Story = { name: 'Spacing: Large (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: 'lg', }, }; export const SpacingXLWithoutGroup: Story = { name: 'Spacing: Extra-large (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: 'xl', }, }; export const SpacingXXLWithoutGroup: Story = { name: 'Spacing: Double extra-large (without group)', args: { ...MultipleTermsMultipleDescriptions.args, spacing: '2xl', }, }; export const SpacingXXSWithGroup: Story = { name: 'Spacing: Double extra-small (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: '2xs', }, }; export const SpacingXSWithGroup: Story = { name: 'Spacing: Extra-small (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: 'xs', }, }; export const SpacingSMWithGroup: Story = { name: 'Spacing: Small (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: 'sm', }, }; export const SpacingMDWithGroup: Story = { name: 'Spacing: Medium (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: 'md', }, }; export const SpacingLGWithGroup: Story = { name: 'Spacing: Large (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: 'lg', }, }; export const SpacingXLWithGroup: Story = { name: 'Spacing: Extra-large (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: 'xl', }, }; export const SpacingXXLWithGroup: Story = { name: 'Spacing: Double extra-large (with group)', args: { ...GroupOfMultipleTermsMultipleDescriptions.args, spacing: '2xl', }, }; export const InlinedWithoutGroups: Story = { name: 'Alignment: inlined without groups', args: { ...Default.args, children: [ A term, A description., Another term, Another description., ], isInline: true, spacing: 'xs', }, }; export const InlinedWithGroups: Story = { name: 'Alignment: inlined with groups', args: { ...Default.args, children: [ A term A description. , Another term Another description. , ], isInline: true, spacing: 'xs', }, }; export const InlinedWithInlinedGroups: Story = { name: 'Alignment: inlined with inlined groups', args: { ...Default.args, children: [ A term A description. , Another term Another description. , ], isInline: true, spacing: 'xs', }, };