Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import React, { useState } from 'react';
import { Box } from '@mui/material';
import { Story } from '@storybook/react';
import Button from '../components/Button/Button';
import PopoverMultiSelect, { PopoverMultiSelectProps } from '../components/PopoverMultiSelect';
export default {
title: 'PopoverMultiSelect',
component: PopoverMultiSelect,
};
const PopoverMultiSelectTemplate: Story<Omit<PopoverMultiSelectProps, 'anchorElement' | 'setAnchorElement'>> = (
args
) => {
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
const handleClick = (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | undefined) => {
setAnchorEl(event?.currentTarget ?? null);
};
return (
<>
<PopoverMultiSelect anchorElement={anchorEl} setAnchorElement={setAnchorEl} {...args} />
<Box display='flex' justifyContent='center'>
<Button onClick={handleClick} icon='iconLayers' label='Click Me for a Popover' />
</Box>
</>
);
};
export const Default = PopoverMultiSelectTemplate.bind({});
Default.args = {
initialSelection: [1, 3],
onChange: (selection: any[]) => alert(selection),
sections: [
[
{ label: 'One', value: 1 },
{ label: 'Two', value: 2 },
],
[{ label: 'Three', value: 3 }],
],
menuAlign: 'right',
};
|