import React, { useState } from 'react'; import { storybookArgTypes, storybookExcludedControlParams, StoryMetaType, } from '@lg-tools/storybook-utils'; import { StoryFn } from '@storybook/react'; import { Radio, RadioGroup, RadioGroupProps, Size } from '.'; const meta: StoryMetaType = { title: 'Components/Inputs/RadioGroup', component: RadioGroup, parameters: { controls: { exclude: [...storybookExcludedControlParams, 'children', 'name', 'value'], }, default: 'LiveExample', generate: { combineArgs: { darkMode: [false, true], bold: [false, true], size: Object.values(Size), }, }, }, args: { children: [ Radio Input 1 , Radio Input 2 , Disabled Option , Disabled Option , ], }, argTypes: { children: { control: false }, bold: { control: 'boolean' }, darkMode: storybookArgTypes.darkMode, size: { control: 'radio', options: Object.values(Size), }, }, }; export default meta; export const LiveExample: StoryFn = ({ children, ...args }: RadioGroupProps) => ( Radio Input 1 Radio Input 2 Disabled Option Disabled Option ); LiveExample.parameters = { chromatic: { disableSnapshot: true, }, }; export const Controlled: StoryFn = (args: RadioGroupProps) => { const [activeRadio, setActiveRadio] = useState('1'); const handleChange = (e: React.ChangeEvent) => { setActiveRadio((e.target as HTMLInputElement).value); }; return ( Radio Input 1 Radio Input 2 Disabled Option ); }; Controlled.parameters = { chromatic: { disableSnapshot: true, }, }; export const Generated = () => {};