import React, { useState } from 'react'; import { Meta, Story } from '@storybook/react'; import RadioGroup, { IRadioGroupProps } from './RadioGroup'; import SingleSelect from '../SingleSelect/SingleSelect'; import RadioButtonLabeled from '../RadioButtonLabeled/RadioButtonLabeled'; import RadioButton from '../RadioButton/RadioButton'; export default { title: 'Controls/RadioGroup', component: RadioGroup, parameters: { docs: { description: { component: RadioGroup.peek.description, }, }, }, args: RadioGroup.defaultProps, argTypes: { children: { control: false }, }, } as Meta; const style = { marginRight: '13px', }; const radioButtonDefaultProps = RadioButton.defaultProps; const singleSelectDefaultProps = SingleSelect.defaultProps; export const Stateful: Story = (args) => { return ( Alvin Simon Theodore ); }; export const OnSelect: Story = (args) => { const [selectedIndex, setSelectedIndex] = useState(0); const handleSelect = (idx) => { setSelectedIndex(idx); }; return (
Alvin Simon Theodore
Selected Index: {selectedIndex}
); }; export const OnSelectOnChild: Story = (args) => { const [selectedIndex, setSelectedIndex] = useState(0); const handleSelect = (index) => { setSelectedIndex(index); }; const children = ['Alvin', 'Simon', 'Theodore']; return ( {children.map((child, idx) => { return ( handleSelect(idx)} > {child} ); })} ); }; export const NestedSelect: Story = (args) => { const subSelection = { display: 'block', marginTop: '13px', }; const [height, setHeight] = useState(''); const handleSelectedTallSimon = () => { setHeight('Tall Simon'); }; const handleSelectedShortSimon = () => { setHeight('Short Simon'); }; return ( Alvin Simon Tall Simon Short Simon Theodore Tall Theo Short Theo Average height Theo ); }; export const SelectedIndexAsProp: Story = (args) => { return (
Captain America Iron Man Thor Hulk Black Widow Hawkeye
); }; export const SelectedIndexFromChild: Story = (args) => { return ( Leonardo Raphael Donatello Michelangelo Venus ); }; export const DefaultProps: Story = (args) => { return ( Superman Batman Wonder Woman Aquaman Robin ); };