From 36890cfafeba6e30782df1260d7f9e678c7da4bf Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Mon, 2 Oct 2023 17:01:57 +0200
Subject: refactor(components): rewrite DescriptionList component

* add a `spacing` prop
* replace `layout` prop with `isInline` prop
* remove `items` prop (and classNames props) in favor of new components:
Description, Group, Term
* remove `withSeparator` prop (CSS content is announced by screen readers
and Firefox/Safari have no support for alternative text so the consumer
should add itself an element with `aria-hidden` if it need a separator)

Be aware, Meta component and its consumers can be visually broken, they
should be refactored before using them in production.
---
 .../atoms/lists/description-list-group.stories.tsx | 132 ---------------------
 1 file changed, 132 deletions(-)
 delete mode 100644 src/components/atoms/lists/description-list-group.stories.tsx

(limited to 'src/components/atoms/lists/description-list-group.stories.tsx')

diff --git a/src/components/atoms/lists/description-list-group.stories.tsx b/src/components/atoms/lists/description-list-group.stories.tsx
deleted file mode 100644
index e6766a3..0000000
--- a/src/components/atoms/lists/description-list-group.stories.tsx
+++ /dev/null
@@ -1,132 +0,0 @@
-import { ComponentMeta, ComponentStory } from '@storybook/react';
-import { DescriptionListGroup } from './description-list-group';
-
-export default {
-  title: 'Atoms/Typography/Lists/DescriptionList/Item',
-  component: DescriptionListGroup,
-  args: {
-    layout: 'stacked',
-    withSeparator: false,
-  },
-  argTypes: {
-    className: {
-      control: {
-        type: 'text',
-      },
-      description: 'Set additional classnames to the list item wrapper.',
-      table: {
-        category: 'Styles',
-      },
-      type: {
-        name: 'string',
-        required: false,
-      },
-    },
-    descriptionClassName: {
-      control: {
-        type: 'text',
-      },
-      description: 'Set additional classnames to the list item description.',
-      table: {
-        category: 'Styles',
-      },
-      type: {
-        name: 'string',
-        required: false,
-      },
-    },
-    label: {
-      control: {
-        type: 'text',
-      },
-      description: 'The item label.',
-      type: {
-        name: 'string',
-        required: true,
-      },
-    },
-    layout: {
-      control: {
-        type: 'select',
-      },
-      description: 'The item layout.',
-      options: ['inline', 'inline-values', 'stacked'],
-      table: {
-        category: 'Options',
-        defaultValue: { summary: 'stacked' },
-      },
-      type: {
-        name: 'string',
-        required: false,
-      },
-    },
-    termClassName: {
-      control: {
-        type: 'text',
-      },
-      description: 'Set additional classnames to the list item term.',
-      table: {
-        category: 'Styles',
-      },
-      type: {
-        name: 'string',
-        required: false,
-      },
-    },
-    value: {
-      description: 'The item value.',
-      type: {
-        name: 'object',
-        required: true,
-        value: {},
-      },
-    },
-    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 DescriptionListGroup>;
-
-const Template: ComponentStory<typeof DescriptionListGroup> = (args) => (
-  <DescriptionListGroup {...args} />
-);
-
-export const SingleValueStacked = Template.bind({});
-SingleValueStacked.args = {
-  label: 'Recusandae vitae tenetur',
-  value: ['praesentium'],
-  layout: 'stacked',
-};
-
-export const SingleValueInlined = Template.bind({});
-SingleValueInlined.args = {
-  label: 'Recusandae vitae tenetur',
-  value: ['praesentium'],
-  layout: 'inline',
-};
-
-export const MultipleValuesStacked = Template.bind({});
-MultipleValuesStacked.args = {
-  label: 'Recusandae vitae tenetur',
-  value: ['praesentium', 'voluptate', 'tempore'],
-  layout: 'stacked',
-};
-
-export const MultipleValuesInlined = Template.bind({});
-MultipleValuesInlined.args = {
-  label: 'Recusandae vitae tenetur',
-  value: ['praesentium', 'voluptate', 'tempore'],
-  layout: 'inline-values',
-  withSeparator: true,
-};
-- 
cgit v1.2.3

