From 7111ca899ccd5b1bf35d16bc3231406da00c7c93 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 14:48:35 +0000 Subject: [PATCH] Create atomic component library and Storybook stories Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com> --- .../admin/ConfirmDialog.stories.tsx | 46 +++++++++++++ src/components/admin/ConfirmDialog.tsx | 8 +-- src/components/admin/DataGrid.stories.tsx | 66 +++++++++++++++++++ src/components/admin/DataGrid.tsx | 13 ++-- src/components/atoms/Button.stories.tsx | 65 ++++++++++++++++++ src/components/atoms/Button.tsx | 35 ++++++++++ src/components/atoms/Icon.stories.tsx | 53 +++++++++++++++ src/components/atoms/Icon.tsx | 23 +++++++ src/components/atoms/IconButton.stories.tsx | 52 +++++++++++++++ src/components/atoms/IconButton.tsx | 27 ++++++++ src/components/atoms/TextField.stories.tsx | 64 ++++++++++++++++++ src/components/atoms/TextField.tsx | 15 +++++ src/components/atoms/Typography.stories.tsx | 53 +++++++++++++++ src/components/atoms/Typography.tsx | 16 +++++ src/components/atoms/index.ts | 47 +++++++++++++ 15 files changed, 569 insertions(+), 14 deletions(-) create mode 100644 src/components/admin/ConfirmDialog.stories.tsx create mode 100644 src/components/admin/DataGrid.stories.tsx create mode 100644 src/components/atoms/Button.stories.tsx create mode 100644 src/components/atoms/Button.tsx create mode 100644 src/components/atoms/Icon.stories.tsx create mode 100644 src/components/atoms/Icon.tsx create mode 100644 src/components/atoms/IconButton.stories.tsx create mode 100644 src/components/atoms/IconButton.tsx create mode 100644 src/components/atoms/TextField.stories.tsx create mode 100644 src/components/atoms/TextField.tsx create mode 100644 src/components/atoms/Typography.stories.tsx create mode 100644 src/components/atoms/Typography.tsx create mode 100644 src/components/atoms/index.ts diff --git a/src/components/admin/ConfirmDialog.stories.tsx b/src/components/admin/ConfirmDialog.stories.tsx new file mode 100644 index 0000000..96749e0 --- /dev/null +++ b/src/components/admin/ConfirmDialog.stories.tsx @@ -0,0 +1,46 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import { fn } from '@storybook/test'; +import ConfirmDialog from './ConfirmDialog'; + +const meta = { + title: 'Admin/ConfirmDialog', + component: ConfirmDialog, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], + argTypes: { + onConfirm: { action: 'confirm' }, + onCancel: { action: 'cancel' }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +// Stories based on features.json storybookStories.ConfirmDialog +export const Default: Story = { + name: 'Default', + args: { + open: true, + title: 'Confirm Action', + message: 'Are you sure you want to proceed?', + confirmLabel: 'Confirm', + cancelLabel: 'Cancel', + onConfirm: fn(), + onCancel: fn(), + }, +}; + +export const DeleteWarning: Story = { + name: 'Delete Warning', + args: { + open: true, + title: 'Delete Item', + message: 'This action cannot be undone. Are you sure you want to delete this item?', + confirmLabel: 'Delete', + cancelLabel: 'Cancel', + onConfirm: fn(), + onCancel: fn(), + }, +}; diff --git a/src/components/admin/ConfirmDialog.tsx b/src/components/admin/ConfirmDialog.tsx index aab7bd7..d503469 100644 --- a/src/components/admin/ConfirmDialog.tsx +++ b/src/components/admin/ConfirmDialog.tsx @@ -1,13 +1,13 @@ 'use client'; import { - Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, } from '@mui/material'; +import Button from '../atoms/Button'; type ConfirmDialogProps = { open: boolean; @@ -35,10 +35,8 @@ export default function ConfirmDialog({ {message} - - +