From a5df28fad0dae266a857ae110c43b3cb8b23c996 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 8 Apr 2022 19:41:40 +0200 Subject: 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. --- src/components/atoms/loaders/progress-bar.stories.tsx | 8 +++++++- src/components/atoms/loaders/progress-bar.tsx | 10 +++++----- src/components/atoms/loaders/spinner.stories.tsx | 3 +++ src/components/atoms/loaders/spinner.tsx | 6 +++--- 4 files changed, 18 insertions(+), 9 deletions(-) (limited to 'src/components/atoms/loaders') diff --git a/src/components/atoms/loaders/progress-bar.stories.tsx b/src/components/atoms/loaders/progress-bar.stories.tsx index 837a696..4fde5a7 100644 --- a/src/components/atoms/loaders/progress-bar.stories.tsx +++ b/src/components/atoms/loaders/progress-bar.stories.tsx @@ -5,11 +5,14 @@ export default { title: 'Atoms/Loaders', component: ProgressBarComponent, argTypes: { - ariaLabel: { + 'aria-label': { control: { type: 'string', }, description: 'An accessible name.', + table: { + category: 'Accessibility', + }, type: { name: 'string', required: false, @@ -30,6 +33,9 @@ export default { type: 'text', }, description: 'An additional information to display.', + table: { + category: 'Options', + }, type: { name: 'string', required: false, diff --git a/src/components/atoms/loaders/progress-bar.tsx b/src/components/atoms/loaders/progress-bar.tsx index fa4e09d..1b1ff06 100644 --- a/src/components/atoms/loaders/progress-bar.tsx +++ b/src/components/atoms/loaders/progress-bar.tsx @@ -1,11 +1,11 @@ -import { FC } from 'react'; +import { VFC } from 'react'; import styles from './progress-bar.module.scss'; export type ProgressBarProps = { /** * Accessible progress bar name. */ - ariaLabel?: string; + 'aria-label'?: string; /** * Current value. */ @@ -29,12 +29,12 @@ export type ProgressBarProps = { * * Render a progress bar. */ -const ProgressBar: FC = ({ - ariaLabel, +const ProgressBar: VFC = ({ current, info, min, max, + ...props }) => { return (
@@ -46,7 +46,7 @@ const ProgressBar: FC = ({ aria-valuemin={min} aria-valuemax={max} aria-valuenow={current} - aria-label={ariaLabel} + {...props} >
); diff --git a/src/components/atoms/loaders/spinner.stories.tsx b/src/components/atoms/loaders/spinner.stories.tsx index 86c316e..5006ce4 100644 --- a/src/components/atoms/loaders/spinner.stories.tsx +++ b/src/components/atoms/loaders/spinner.stories.tsx @@ -11,6 +11,9 @@ export default { type: 'text', }, description: 'Loading message.', + table: { + category: 'Options', + }, type: { name: 'string', required: false, diff --git a/src/components/atoms/loaders/spinner.tsx b/src/components/atoms/loaders/spinner.tsx index 57b0a43..bff0f25 100644 --- a/src/components/atoms/loaders/spinner.tsx +++ b/src/components/atoms/loaders/spinner.tsx @@ -1,8 +1,8 @@ -import { FC } from 'react'; +import { VFC } from 'react'; import { useIntl } from 'react-intl'; import styles from './spinner.module.scss'; -type SpinnerProps = { +export type SpinnerProps = { /** * The loading message. Default: "Loading...". */ @@ -14,7 +14,7 @@ type SpinnerProps = { * * Render a loading message with animation. */ -const Spinner: FC = ({ message }) => { +const Spinner: VFC = ({ message }) => { const intl = useIntl(); return ( -- cgit v1.2.3