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/molecules/buttons/back-to-top.stories.tsx | 7 +++++-- src/components/molecules/buttons/back-to-top.tsx | 12 ++++++------ src/components/molecules/buttons/help-button.stories.tsx | 4 ++-- src/components/molecules/buttons/help-button.tsx | 10 +++++----- 4 files changed, 18 insertions(+), 15 deletions(-) (limited to 'src/components/molecules/buttons') diff --git a/src/components/molecules/buttons/back-to-top.stories.tsx b/src/components/molecules/buttons/back-to-top.stories.tsx index f1a36e5..fe58293 100644 --- a/src/components/molecules/buttons/back-to-top.stories.tsx +++ b/src/components/molecules/buttons/back-to-top.stories.tsx @@ -6,11 +6,14 @@ export default { title: 'Molecules/Buttons', component: BackToTopComponent, argTypes: { - additionalClasses: { + className: { control: { type: 'text', }, - description: 'Add additional classes to the button wrapper.', + description: 'Set additional classnames to the button wrapper.', + table: { + category: 'Styles', + }, type: { name: 'string', required: false, diff --git a/src/components/molecules/buttons/back-to-top.tsx b/src/components/molecules/buttons/back-to-top.tsx index f25d3e9..56c5247 100644 --- a/src/components/molecules/buttons/back-to-top.tsx +++ b/src/components/molecules/buttons/back-to-top.tsx @@ -1,14 +1,14 @@ import ButtonLink from '@components/atoms/buttons/button-link'; import Arrow from '@components/atoms/icons/arrow'; -import { FC } from 'react'; +import { VFC } from 'react'; import { useIntl } from 'react-intl'; import styles from './back-to-top.module.scss'; -type BackToTopProps = { +export type BackToTopProps = { /** - * Add additional classes to the button wrapper. + * Set additional classnames to the button wrapper. */ - additionalClasses?: string; + className?: string; /** * An element id (without hashtag) to use as anchor. */ @@ -20,7 +20,7 @@ type BackToTopProps = { * * Render a back to top link. */ -const BackToTop: FC = ({ additionalClasses, target }) => { +const BackToTop: VFC = ({ className = '', target }) => { const intl = useIntl(); const linkName = intl.formatMessage({ defaultMessage: 'Back to top', @@ -29,7 +29,7 @@ const BackToTop: FC = ({ additionalClasses, target }) => { }); return ( -
+
diff --git a/src/components/molecules/buttons/help-button.stories.tsx b/src/components/molecules/buttons/help-button.stories.tsx index 7ed953e..cfc1b0b 100644 --- a/src/components/molecules/buttons/help-button.stories.tsx +++ b/src/components/molecules/buttons/help-button.stories.tsx @@ -6,11 +6,11 @@ export default { title: 'Molecules/Buttons', component: HelpButtonComponent, argTypes: { - classes: { + className: { control: { type: 'text', }, - description: 'Set additional classes to the button.', + description: 'Set additional classnames to the button wrapper.', table: { category: 'Options', }, diff --git a/src/components/molecules/buttons/help-button.tsx b/src/components/molecules/buttons/help-button.tsx index d933829..aeb84ec 100644 --- a/src/components/molecules/buttons/help-button.tsx +++ b/src/components/molecules/buttons/help-button.tsx @@ -1,13 +1,13 @@ import Button, { ButtonProps } from '@components/atoms/buttons/button'; -import { FC } from 'react'; +import { VFC } from 'react'; import { useIntl } from 'react-intl'; import styles from './help-button.module.scss'; export type HelpButtonProps = Pick & { /** - * Set additional classes to the button. + * Set additional classnames to the button wrapper. */ - classes?: string; + className?: string; }; /** @@ -15,7 +15,7 @@ export type HelpButtonProps = Pick & { * * Render a button with an interrogation mark icon. */ -const HelpButton: FC = ({ classes = '', onClick }) => { +const HelpButton: VFC = ({ className = '', onClick }) => { const intl = useIntl(); const text = intl.formatMessage({ defaultMessage: 'Help', @@ -26,7 +26,7 @@ const HelpButton: FC = ({ classes = '', onClick }) => { return (