import React, { useState } from 'react'; import _ from 'lodash'; import { Meta, Story } from '@storybook/react'; import ButtonGroup, { IButtonGroupProps } from './ButtonGroup'; export default { title: 'Controls/ButtonGroup', component: ButtonGroup, subcomponents: { 'ButtonGroup.Button': ButtonGroup.Button }, args: ButtonGroup.defaultProps, parameters: { docs: { inlineStories: false, description: { component: ButtonGroup.peek.description, }, }, }, } as Meta; export const Basic: Story = (args) => { const buttonStyle = { width: '100px' }; return ( Smol Lonnnnnnnng Medium ); }; export const Stateful: Story = (args) => { const [selectedIndices, setSelectedIndices] = useState([]); const handleSelect = (selectedIndex: number, { event, props }) => { const currentIndices = selectedIndices; // If the item does not exist in the original array add it, if it exists remove it. setSelectedIndices(_.xor(currentIndices, [selectedIndex])); }; return ( Zero One Two Three ); }; export const Stateless: Story = (args) => { return ( Zero One Two Three Four Five Six Seven Eight Nine ); }; export const Disabled: Story = (args) => { const buttonStyle = { width: '100px' }; return ( Zero One Two Three ); }; export const OnClick: Story = (args) => { const handleClick = (label) => { alert(label); }; return ( handleClick('Zero')}> Zero handleClick('One')}> One ); };