diff --git a/web/src/stories/confirm-delete-dialog.stories.tsx b/web/src/stories/confirm-delete-dialog.stories.tsx new file mode 100644 index 000000000..234392cc0 --- /dev/null +++ b/web/src/stories/confirm-delete-dialog.stories.tsx @@ -0,0 +1,75 @@ +import type { Meta, StoryObj } from '@storybook/react-webpack5'; + +import { fn } from 'storybook/test'; + +import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; +import { Button } from '@/components/ui/button'; + +// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export +const meta = { + title: 'Example/ConfirmDeleteDialog', + component: ConfirmDeleteDialog, + parameters: { + // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout + layout: 'centered', + docs: { + description: { + component: ` +## Component Description + +ConfirmDeleteDialog is a dialog component for confirming delete operations with customizable title and callback functions. `, + }, + }, + }, + // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs + // More on argTypes: https://storybook.js.org/docs/api/argtypes + argTypes: { + title: { control: 'text' }, + hidden: { control: 'boolean' }, + onOk: { action: 'onOk' }, + onCancel: { action: 'onCancel' }, + }, + // 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: { onOk: fn(), onCancel: fn() }, + tags: ['autodocs'], +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args +export const Default: Story = { + args: { + title: 'Confirm Delete', + children: , + }, + parameters: { + docs: { + description: { + story: ` +### Usage Examples + +\`\`\`tsx +import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; +import { Button } from '@/components/ui/button'; + + console.log('Confirmed')} + onCancel={() => console.log('Cancelled')} +> + + +\`\`\` + `, + }, + }, + }, +}; + +export const WithCustomTitle: Story = { + args: { + title: 'Are you sure you want to delete this file?', + children: , + }, +};