From b121333f2867fb098a0d8a241b5fa49bf9bcb617 Mon Sep 17 00:00:00 2001 From: bbung Date: Tue, 7 May 2024 01:29:19 +0900 Subject: [PATCH] =?UTF-8?q?FEAT:=20=E2=9C=A8=20=20Divider=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/Divider/Divider.stories.tsx | 44 +++++++++++++++++++ src/components/common/Divider/index.tsx | 25 +++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/components/common/Divider/Divider.stories.tsx create mode 100644 src/components/common/Divider/index.tsx diff --git a/src/components/common/Divider/Divider.stories.tsx b/src/components/common/Divider/Divider.stories.tsx new file mode 100644 index 0000000..d84d5c2 --- /dev/null +++ b/src/components/common/Divider/Divider.stories.tsx @@ -0,0 +1,44 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import Divider from '.'; + +// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export +const meta = { + title: 'Common/Divider', + component: Divider, + tags: ['autodocs'], + args: { + direction: 'vertical', + }, + argTypes: { + direction: { + options: ['vertical', 'horizontal'], + control: { type: 'select' }, + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args +export const Horizontal: Story = { + args: {}, + render: () => { + return ( +
+ +
+ ); + }, +}; + +export const Vertical: Story = { + args: {}, + render: () => { + return ( +
+ +
+ ); + }, +}; diff --git a/src/components/common/Divider/index.tsx b/src/components/common/Divider/index.tsx new file mode 100644 index 0000000..e716fbc --- /dev/null +++ b/src/components/common/Divider/index.tsx @@ -0,0 +1,25 @@ +import { cn } from '@/lib/utils'; +import { cva } from 'class-variance-authority'; + +export interface IDivider { + direction?: 'vertical' | 'horizontal'; + className?: string; +} + +const Divider = ({ direction, className }: IDivider) => { + return
; +}; + +export default Divider; + +export const dividerVariants = cva(['bg-divide'], { + variants: { + direction: { + horizontal: 'w-full h-1', + vertical: 'h-full w-1', + }, + }, + defaultVariants: { + direction: 'horizontal', + }, +});