import MenuIconSelector from '@/components/MenuIconSelector'; import { useArgs } from '@storybook/preview-api'; import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { Button } from 'antd'; // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export const meta = { title: 'Components/MenuIconSelector 菜单图标选择器', component: MenuIconSelector, parameters: { // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout layout: 'centered', }, // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs tags: ['autodocs'], // More on argTypes: https://storybook.js.org/docs/api/argtypes argTypes: { open: { control: 'boolean', description: '对话框是否可见', }, }, // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args args: { onCancel: fn(), onOk: fn() }, } satisfies Meta; export default meta; type Story = StoryObj; // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args export const Primary: Story = { args: { selectedIcon: 'manual-icon', open: false, }, render: function Render({ onOk, onCancel, ...args }) { const [{ open, selectedIcon }, updateArgs] = useArgs(); function onClick() { updateArgs({ open: true }); } function handleOk(value: string) { updateArgs({ selectedIcon: value, open: false }); onOk?.(value); } function handleCancel() { updateArgs({ open: false }); onCancel?.(); } return ( <> ); }, };