diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-04-08 19:41:40 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-04-08 19:41:40 +0200 |
| commit | a5df28fad0dae266a857ae110c43b3cb8b23c996 (patch) | |
| tree | a32ea390e90697dc51c3ccb9018de9da2ee4fac3 /src/components/atoms/lists | |
| parent | 5c75a302c2203cb3ebf31233121026b4775662cf (diff) | |
refactor: use a consistent classname prop and avoid children prop
I was using the FunctionComponent type for some component that do not
use children. So I change the type to VoidFunctionComponent to avoid
mistakes.
I also rename all the "classes" or "additionalClasses" props to
"className" to keep consistency between each components.
Diffstat (limited to 'src/components/atoms/lists')
| -rw-r--r-- | src/components/atoms/lists/description-list.stories.tsx | 6 | ||||
| -rw-r--r-- | src/components/atoms/lists/description-list.tsx | 13 | ||||
| -rw-r--r-- | src/components/atoms/lists/list.stories.tsx | 6 | ||||
| -rw-r--r-- | src/components/atoms/lists/list.tsx | 15 |
4 files changed, 20 insertions, 20 deletions
diff --git a/src/components/atoms/lists/description-list.stories.tsx b/src/components/atoms/lists/description-list.stories.tsx index e9a60cf..c65241d 100644 --- a/src/components/atoms/lists/description-list.stories.tsx +++ b/src/components/atoms/lists/description-list.stories.tsx @@ -7,13 +7,13 @@ export default { title: 'Atoms/Lists', component: DescriptionListComponent, argTypes: { - classes: { + className: { control: { type: 'text', }, - description: 'Set additional classes to the list wrapper.', + description: 'Set additional classnames to the list wrapper', table: { - category: 'Options', + category: 'Styles', }, type: { name: 'string', diff --git a/src/components/atoms/lists/description-list.tsx b/src/components/atoms/lists/description-list.tsx index df2880f..a5ab1d5 100644 --- a/src/components/atoms/lists/description-list.tsx +++ b/src/components/atoms/lists/description-list.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import { VFC } from 'react'; import styles from './description-list.module.scss'; export type DescriptionListItem = { @@ -18,9 +18,9 @@ export type DescriptionListItem = { export type DescriptionListProps = { /** - * Set additional classes to the list wrapper. + * Set additional classnames to the list wrapper. */ - classes?: string; + className?: string; /** * The list items. */ @@ -32,7 +32,10 @@ export type DescriptionListProps = { * * Render a description list. */ -const DescriptionList: FC<DescriptionListProps> = ({ classes = '', items }) => { +const DescriptionList: VFC<DescriptionListProps> = ({ + className = '', + items, +}) => { /** * Retrieve the description list items wrapped in a div element. * @@ -54,7 +57,7 @@ const DescriptionList: FC<DescriptionListProps> = ({ classes = '', items }) => { }); }; - return <dl className={`${styles.list} ${classes}`}>{getItems(items)}</dl>; + return <dl className={`${styles.list} ${className}`}>{getItems(items)}</dl>; }; export default DescriptionList; diff --git a/src/components/atoms/lists/list.stories.tsx b/src/components/atoms/lists/list.stories.tsx index 6256e81..30079cb 100644 --- a/src/components/atoms/lists/list.stories.tsx +++ b/src/components/atoms/lists/list.stories.tsx @@ -8,13 +8,13 @@ export default { kind: 'unordered', }, argTypes: { - classes: { + className: { control: { type: 'text', }, - description: 'Add additional classes to the list element.', + description: 'Set additional classnames to the list wrapper', table: { - category: 'Options', + category: 'Styles', }, type: { name: 'string', diff --git a/src/components/atoms/lists/list.tsx b/src/components/atoms/lists/list.tsx index 8ce8437..7197c34 100644 --- a/src/components/atoms/lists/list.tsx +++ b/src/components/atoms/lists/list.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import { VFC } from 'react'; import styles from './list.module.scss'; export type ListItem = { @@ -18,9 +18,9 @@ export type ListItem = { export type ListProps = { /** - * Add additional classes to the list element. + * Set additional classnames to the list wrapper */ - classes?: string; + className?: string; /** * An array of list items. */ @@ -36,9 +36,8 @@ export type ListProps = { * * Render either an ordered or an unordered list. */ -const List: FC<ListProps> = ({ classes, items, kind = 'unordered' }) => { +const List: VFC<ListProps> = ({ className, items, kind = 'unordered' }) => { const ListTag = kind === 'ordered' ? 'ol' : 'ul'; - const additionalClasses = classes || ''; const kindClass = `list--${kind}`; /** @@ -52,7 +51,7 @@ const List: FC<ListProps> = ({ classes, items, kind = 'unordered' }) => { {value} {child && ( <ListTag - className={`${styles.list} ${styles[kindClass]} ${additionalClasses}`} + className={`${styles.list} ${styles[kindClass]} ${className}`} > {getItems(child)} </ListTag> @@ -62,9 +61,7 @@ const List: FC<ListProps> = ({ classes, items, kind = 'unordered' }) => { }; return ( - <ListTag - className={`${styles.list} ${styles[kindClass]} ${additionalClasses}`} - > + <ListTag className={`${styles.list} ${styles[kindClass]} ${className}`}> {getItems(items)} </ListTag> ); |
