import { useState } from 'react'; import { action } from 'storybook/actions'; import { fn } from 'storybook/test'; import { FastFlag as FastFlagIcon } from '@transferwise/icons'; import { Header, Nudge, Section, Title, Typography } from '..'; import RadioOption, { RadioOptionProps } from './RadioOption'; /** * > ⚠️ This component is **deprecated** and superseded by the [new ListItem component](?path=/docs/content-listitem--docs) with the [ListItem.Radio control](?path=/docs/content-listitem-listitem-radio--docs) * (run codemod to migrate: **`npx @wise/wds-codemods@latest list-item`**). */ export default { component: RadioOption, title: 'Option/RadioOption', tags: ['deprecated'], argTypes: { disabled: { control: 'boolean' }, secondary: { control: 'text' }, }, args: { title: 'Radio option', content: 'Button and icon are vertically centered.', disabled: false, }, }; export const Basic = (args: RadioOptionProps) => { const [checked, setChecked] = useState(false); return ( } checked={checked} onChange={() => { fn(); setChecked(!checked); }} /> ); }; export const Multiple = (args: RadioOptionProps) => { const [selected, setSelected] = useState(0); const handleChange = (value: number) => { action('changed')(value); setSelected(value); }; return (
} checked={selected === 0} value="value0" onChange={() => handleChange(0)} /> } checked={selected === 1} value="value1" onChange={() => handleChange(1)} /> } checked={selected === 2} value="value2" onChange={() => handleChange(2)} />
); }; export const WithContainerContent = (args: RadioOptionProps) => { const [selected, setSelected] = useState(0); const handleChange = (value: number) => { action('changed')(value); setSelected(value); }; return ( <> Choose how to pay } checked={selected === 0} value="value0" onChange={() => handleChange(0)} /> } checked={selected === 1} value="value1" onChange={() => handleChange(1)} /> } checked={selected === 2} value="value2" onChange={() => handleChange(2)} />
); };