diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-04-16 16:08:49 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-04-16 16:41:30 +0200 |
| commit | 5a6e4eea16047083e2de0e91a1b3ed9be8d6eb68 (patch) | |
| tree | ea0c5390aca73907aade5321f30cb7bf8d3ab1cb /src/components/molecules/forms/toggle.tsx | |
| parent | daffe6e8b9e2021ffb9d006482143bc4db985f02 (diff) | |
refactor: support React 18
I replaced the deprecated VFC type with FC type and made all children
explicits.
Formatjs is still not compatible with React 18 so I need to skip type
checking when comitting. There are some type errors because of
IntlProvider in Storybook stories.
Diffstat (limited to 'src/components/molecules/forms/toggle.tsx')
| -rw-r--r-- | src/components/molecules/forms/toggle.tsx | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/components/molecules/forms/toggle.tsx b/src/components/molecules/forms/toggle.tsx index dff2d2d..288062d 100644 --- a/src/components/molecules/forms/toggle.tsx +++ b/src/components/molecules/forms/toggle.tsx @@ -1,6 +1,6 @@ -import Checkbox from '@components/atoms/forms/checkbox'; +import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox'; import Label, { type LabelProps } from '@components/atoms/forms/label'; -import { ReactNode, VFC } from 'react'; +import { FC, ReactNode } from 'react'; import styles from './toggle.module.scss'; export type ToggleChoices = { @@ -14,32 +14,24 @@ export type ToggleChoices = { right: ReactNode; }; -export type ToggleProps = { +export type ToggleProps = Pick<CheckboxProps, 'id' | 'name'> & { /** * The toggle choices. */ choices: ToggleChoices; /** - * The input id. - */ - id: string; - /** * The toggle label. */ label: string; /** * Set additional classnames to the label. */ - labelClassName?: string; + labelClassName?: LabelProps['className']; /** * The label size. */ labelSize?: LabelProps['size']; /** - * The input name. - */ - name: string; - /** * The toggle value. True if checked. */ value: boolean; @@ -54,7 +46,7 @@ export type ToggleProps = { * * Render a toggle with a label and two choices. */ -const Toggle: VFC<ToggleProps> = ({ +const Toggle: FC<ToggleProps> = ({ choices, id, label, |
