From 4d926234faad4c6dd18d71653033f6382ef7b479 Mon Sep 17 00:00:00 2001 From: Michal Zielenkiewicz Date: Tue, 19 Aug 2025 10:24:55 +0200 Subject: [PATCH] Add new variant to tabs --- src/components/tabs/index.tsx | 19 ++++++++++++--- src/stories/Tabs/Tabs.stories.tsx | 40 +++++++++++++------------------ 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/src/components/tabs/index.tsx b/src/components/tabs/index.tsx index 35e601f8..b1f1a850 100644 --- a/src/components/tabs/index.tsx +++ b/src/components/tabs/index.tsx @@ -5,8 +5,21 @@ import { TabsTrigger as BaseTabsTrigger, TabsContent as BaseTabsContent, } from '../ui/tabs' +import { cva, type VariantProps } from 'class-variance-authority' import { cn } from '../../lib/utils' +const tabsListVariants = cva('p-1 radius-md', { + variants: { + variant: { + default: 'h-10 bg-muted', + layout: 'w-full h-12 rounded-b-none bg-border', + }, + }, + defaultVariants: { + variant: 'default', + }, +}) + type TabsProps = React.ComponentProps export const Tabs = ({ className, children, ...props }: TabsProps) => ( @@ -15,10 +28,10 @@ export const Tabs = ({ className, children, ...props }: TabsProps) => ( ) -type TabsListProps = React.ComponentProps +type TabsListProps = React.ComponentProps & VariantProps -export const TabsList = ({ className, children, ...props }: TabsListProps) => ( - +export const TabsList = ({ className, children, variant, ...props }: TabsListProps) => ( + {children} ) diff --git a/src/stories/Tabs/Tabs.stories.tsx b/src/stories/Tabs/Tabs.stories.tsx index 905218a6..6624eaec 100644 --- a/src/stories/Tabs/Tabs.stories.tsx +++ b/src/stories/Tabs/Tabs.stories.tsx @@ -41,21 +41,18 @@ export const Default: Story = { Transactions Events Transfers + + Disabled + -
-

TabsContent 1

-
+

TabsContent 1

-
-

TabsContent 2

-
+

TabsContent 2

-
-

TabsContent 3

-
+

TabsContent 3

), @@ -67,28 +64,25 @@ export const Default: Story = { }, } -export const Disabled: Story = { - args: { - defaultValue: 'account', - children: ( - <> - +export const LayoutVariant: Story = { + render: () => ( +
+ + Transactions - - Events - + Events -
+

TabsContent 1

-
+

TabsContent 2

- - ), - }, + +
+ ), }