summaryrefslogtreecommitdiffstats
path: root/src/components/atoms/lists/description-list.stories.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-05-09 18:19:38 +0200
committerArmand Philippot <git@armandphilippot.com>2022-05-09 19:41:02 +0200
commit0d59a6d2995b4119865271ed1908ede0bb96497c (patch)
tree67688e41b7aa253aa58cc08aa360431b07382f9d /src/components/atoms/lists/description-list.stories.tsx
parent339c6957fe92c4ec1809159f09c55201d3794c18 (diff)
refactor: rewrite DescriptionList and Meta components
The meta can have different layout. The previous implementation was not enough to easily change the layout. Also, I prefer to restrict the meta types and it prevents me to repeat myself for the labels.
Diffstat (limited to 'src/components/atoms/lists/description-list.stories.tsx')
-rw-r--r--src/components/atoms/lists/description-list.stories.tsx80
1 files changed, 66 insertions, 14 deletions
diff --git a/src/components/atoms/lists/description-list.stories.tsx b/src/components/atoms/lists/description-list.stories.tsx
index 43ee66e..347fd78 100644
--- a/src/components/atoms/lists/description-list.stories.tsx
+++ b/src/components/atoms/lists/description-list.stories.tsx
@@ -1,16 +1,15 @@
import { ComponentMeta, ComponentStory } from '@storybook/react';
-import DescriptionListComponent, {
- DescriptionListItem,
-} from './description-list';
+import DescriptionList, { DescriptionListItem } from './description-list';
/**
* DescriptionList - Storybook Meta
*/
export default {
- title: 'Atoms/Typography/Lists',
- component: DescriptionListComponent,
+ title: 'Atoms/Typography/Lists/DescriptionList',
+ component: DescriptionList,
args: {
layout: 'column',
+ withSeparator: false,
},
argTypes: {
className: {
@@ -26,6 +25,19 @@ export default {
required: false,
},
},
+ groupClassName: {
+ control: {
+ type: 'text',
+ },
+ description: 'Set additional classnames to the item wrapper.',
+ table: {
+ category: 'Styles',
+ },
+ type: {
+ name: 'string',
+ required: false,
+ },
+ },
items: {
control: {
type: null,
@@ -37,6 +49,19 @@ export default {
value: {},
},
},
+ labelClassName: {
+ control: {
+ type: 'text',
+ },
+ description: 'Set additional classnames to the label wrapper.',
+ table: {
+ category: 'Styles',
+ },
+ type: {
+ name: 'string',
+ required: false,
+ },
+ },
layout: {
control: {
type: 'select',
@@ -52,28 +77,55 @@ export default {
required: false,
},
},
+ valueClassName: {
+ control: {
+ type: 'text',
+ },
+ description: 'Set additional classnames to the value wrapper.',
+ table: {
+ category: 'Styles',
+ },
+ type: {
+ name: 'string',
+ required: false,
+ },
+ },
+ withSeparator: {
+ control: {
+ type: 'boolean',
+ },
+ description: 'Add a slash as separator between multiple values.',
+ table: {
+ category: 'Options',
+ defaultValue: { summary: false },
+ },
+ type: {
+ name: 'boolean',
+ required: false,
+ },
+ },
},
-} as ComponentMeta<typeof DescriptionListComponent>;
+} as ComponentMeta<typeof DescriptionList>;
-const Template: ComponentStory<typeof DescriptionListComponent> = (args) => (
- <DescriptionListComponent {...args} />
+const Template: ComponentStory<typeof DescriptionList> = (args) => (
+ <DescriptionList {...args} />
);
const items: DescriptionListItem[] = [
- { id: 'term-1', term: 'Term 1:', value: ['Value for term 1'] },
- { id: 'term-2', term: 'Term 2:', value: ['Value for term 2'] },
+ { id: 'term-1', label: 'Term 1:', value: ['Value for term 1'] },
+ { id: 'term-2', label: 'Term 2:', value: ['Value for term 2'] },
{
id: 'term-3',
- term: 'Term 3:',
+ label: 'Term 3:',
value: ['Value 1 for term 3', 'Value 2 for term 3', 'Value 3 for term 3'],
},
- { id: 'term-4', term: 'Term 4:', value: ['Value for term 4'] },
+ { id: 'term-4', label: 'Term 4:', value: ['Value for term 4'] },
];
/**
* List Stories - Description list
*/
-export const DescriptionList = Template.bind({});
-DescriptionList.args = {
+export const List = Template.bind({});
+List.args = {
items,
};