From f2a3f5e53ed641f964d9a28d9872d22d26506433 Mon Sep 17 00:00:00 2001 From: padreug Date: Tue, 11 Mar 2025 01:52:56 +0100 Subject: [PATCH] fix tailwind --- src/assets/index.css | 402 +++++------------- src/components/ui/accordion/Accordion.vue | 2 +- .../ui/accordion/AccordionContent.vue | 4 +- src/components/ui/accordion/AccordionItem.vue | 2 +- .../ui/accordion/AccordionTrigger.vue | 6 +- src/components/ui/avatar/Avatar.vue | 19 +- src/components/ui/avatar/AvatarFallback.vue | 15 +- src/components/ui/avatar/AvatarImage.vue | 20 +- src/components/ui/avatar/index.ts | 23 +- src/components/ui/badge/Badge.vue | 4 +- src/components/ui/badge/index.ts | 14 +- src/components/ui/button/Button.vue | 8 +- src/components/ui/button/index.ts | 12 +- src/components/ui/card/Card.vue | 7 +- src/components/ui/card/CardContent.vue | 6 +- src/components/ui/card/CardDescription.vue | 6 +- src/components/ui/card/CardFooter.vue | 6 +- src/components/ui/card/CardHeader.vue | 6 +- src/components/ui/card/CardTitle.vue | 2 +- src/components/ui/dialog/Dialog.vue | 17 +- src/components/ui/dialog/DialogClose.vue | 11 + src/components/ui/dialog/DialogContent.vue | 50 ++- .../ui/dialog/DialogDescription.vue | 25 +- src/components/ui/dialog/DialogFooter.vue | 17 +- src/components/ui/dialog/DialogHeader.vue | 8 +- .../ui/dialog/DialogScrollContent.vue | 59 +++ src/components/ui/dialog/DialogTitle.vue | 30 +- src/components/ui/dialog/DialogTrigger.vue | 15 +- src/components/ui/dialog/index.ts | 12 +- .../ui/dropdown-menu/DropdownMenu.vue | 15 +- .../DropdownMenuCheckboxItem.vue | 40 ++ .../ui/dropdown-menu/DropdownMenuContent.vue | 49 ++- .../ui/dropdown-menu/DropdownMenuGroup.vue | 11 + .../ui/dropdown-menu/DropdownMenuItem.vue | 32 +- .../ui/dropdown-menu/DropdownMenuLabel.vue | 24 ++ .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 + .../dropdown-menu/DropdownMenuRadioItem.vue | 41 ++ .../dropdown-menu/DropdownMenuSeparator.vue | 22 + .../ui/dropdown-menu/DropdownMenuShortcut.vue | 14 + .../ui/dropdown-menu/DropdownMenuSub.vue | 19 + .../dropdown-menu/DropdownMenuSubContent.vue | 30 ++ .../dropdown-menu/DropdownMenuSubTrigger.vue | 33 ++ .../ui/dropdown-menu/DropdownMenuTrigger.vue | 19 +- src/components/ui/dropdown-menu/index.ts | 16 +- src/components/ui/input/Input.vue | 2 +- src/components/ui/label/Label.vue | 27 ++ src/components/ui/label/index.ts | 9 +- src/components/ui/scroll-area/ScrollArea.vue | 4 +- src/components/ui/scroll-area/ScrollBar.vue | 38 +- src/components/ui/scroll-area/index.ts | 3 +- src/components/ui/select/Select.vue | 4 +- src/components/ui/select/SelectContent.vue | 7 +- src/components/ui/select/SelectGroup.vue | 2 +- src/components/ui/select/SelectItem.vue | 8 +- src/components/ui/select/SelectItemText.vue | 2 +- src/components/ui/select/SelectLabel.vue | 4 +- .../ui/select/SelectScrollDownButton.vue | 4 +- .../ui/select/SelectScrollUpButton.vue | 4 +- src/components/ui/select/SelectSeparator.vue | 2 +- src/components/ui/select/SelectTrigger.vue | 4 +- src/components/ui/select/SelectValue.vue | 2 +- src/components/ui/tabs/TabsContent.vue | 22 + src/components/ui/tabs/TabsTrigger.vue | 29 ++ 63 files changed, 807 insertions(+), 562 deletions(-) create mode 100644 src/components/ui/dialog/DialogClose.vue create mode 100644 src/components/ui/dialog/DialogScrollContent.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 src/components/ui/label/Label.vue create mode 100644 src/components/ui/tabs/TabsContent.vue create mode 100644 src/components/ui/tabs/TabsTrigger.vue diff --git a/src/assets/index.css b/src/assets/index.css index 62e7972..5ff06a1 100644 --- a/src/assets/index.css +++ b/src/assets/index.css @@ -1,314 +1,146 @@ -@import "tailwindcss"; -@config "../../tailwind.config.js"; +@import 'tailwindcss'; -@layer base { - :root { - /* Light theme */ - --background: 0 0% 100%; - --background: oklch(0.97 0.02 250); - --foreground: 222.2 84% 4.9%; - --foreground: oklch(0.40 0.03 265); +@plugin 'tailwindcss-animate'; - --card: 0 0% 100%; - --card: oklch(0.92 0.02 260); - --card-foreground: 222.2 84% 4.9%; - --card-foreground: oklch(0.40 0.03 265); +@custom-variant dark (&:is(.dark *)); - --popover: 0 0% 100%; - --popover: oklch(0.92 0.02 260); - --popover-foreground: 222.2 84% 4.9%; - --popover-foreground: oklch(0.40 0.03 265); +@theme { + --radius-lg: var(--radius); + --radius-md: calc(var(--radius) - 2px); + --radius-sm: calc(var(--radius) - 4px); - --primary: 222.2 47.4% 11.2%; - --primary: oklch(0.60 0.20 260); - --primary-foreground: 210 40% 98%; - --primary-foreground: oklch(0.97 0.02 250); + --color-background: oklch(var(--background)); + --color-foreground: oklch(var(--foreground)); - --secondary: 210 40% 96.1%; - --secondary: oklch(0.87 0.03 255); - --secondary-foreground: 222.2 47.4% 11.2%; - --secondary-foreground: oklch(0.40 0.03 265); + --color-card: oklch(var(--card)); + --color-card-foreground: oklch(var(--card-foreground)); - --muted: 210 40% 96.1%; - --muted: oklch(0.87 0.03 255); - --muted-foreground: 215.4 16.3% 46.9%; - --muted-foreground: oklch(0.55 0.03 265); + --color-popover: oklch(var(--popover)); + --color-popover-foreground: oklch(var(--popover-foreground)); - --accent: 210 40% 96.1%; - --accent: oklch(0.70 0.15 30); - --accent-foreground: 222.2 47.4% 11.2%; - --accent-foreground: oklch(0.97 0.02 250); + --color-primary: oklch(var(--primary)); + --color-primary-foreground: oklch(var(--primary-foreground)); - --destructive: 0 84.2% 60.2%; - --destructive: oklch(0.50 0.28 15); - --destructive-foreground: 210 40% 98%; - --destructive-foreground: oklch(0.97 0.02 250); + --color-secondary: oklch(var(--secondary)); + --color-secondary-foreground: oklch(var(--secondary-foreground)); - --border: 214.3 31.8% 91.4%; - --border: oklch(0.83 0.02 265); - --input: 214.3 31.8% 91.4%; - --input: oklch(0.83 0.02 265); - --ring: 222.2 84% 4.9%; - --ring: oklch(0.60 0.20 260); + --color-muted: oklch(var(--muted)); + --color-muted-foreground: oklch(var(--muted-foreground)); - --radius: 0.5rem; + --color-accent: oklch(var(--accent)); + --color-accent-foreground: oklch(var(--accent-foreground)); - --chart-1: 12 76% 61%; + --color-destructive: oklch(var(--destructive)); + --color-destructive-foreground: oklch(var(--destructive-foreground)); - --chart-2: 173 58% 39%; + --color-border: oklch(var(--border)); + --color-input: oklch(var(--input)); + --color-ring: oklch(var(--ring)); - --chart-3: 197 37% 24%; + --color-chart-1: oklch(var(--chart-1)); + --color-chart-2: oklch(var(--chart-2)); + --color-chart-3: oklch(var(--chart-3)); + --color-chart-4: oklch(var(--chart-4)); + --color-chart-5: oklch(var(--chart-5)); - --chart-4: 43 74% 66%; + --animate-accordion-down: accordion-down 0.2s ease-out; + --animate-accordion-up: accordion-up 0.2s ease-out; - --chart-5: 27 87% 67%; + @keyframes accordion-down { + from { + height: 0; + } + to { + height: var(--reka-accordion-content-height); + } } - - .dark { - /* Dark theme */ - --background: 222.2 84% 4.9%; - --background: oklch(0.25 0.05 265); - --foreground: 210 40% 98%; - --foreground: oklch(0.90 0.03 260); - - --card: 222.2 84% 4.9%; - --card: oklch(0.20 0.05 265); - --card-foreground: 210 40% 98%; - --card-foreground: oklch(0.90 0.03 260); - - --popover: 222.2 84% 4.9%; - --popover: oklch(0.20 0.05 265); - --popover-foreground: 210 40% 98%; - --popover-foreground: oklch(0.90 0.03 260); - - --primary: 210 40% 98%; - --primary: oklch(0.75 0.15 260); - --primary-foreground: 222.2 47.4% 11.2%; - --primary-foreground: oklch(0.25 0.05 265); - - --secondary: 217.2 32.6% 17.5%; - --secondary: oklch(0.30 0.06 265); - --secondary-foreground: 210 40% 98%; - --secondary-foreground: oklch(0.90 0.03 260); - - --muted: 217.2 32.6% 17.5%; - --muted: oklch(0.30 0.06 265); - --muted-foreground: 215 20.2% 65.1%; - --muted-foreground: oklch(0.78 0.06 265); - - --accent: 217.2 32.6% 17.5%; - --accent: oklch(0.83 0.12 30); - --accent-foreground: 210 40% 98%; - --accent-foreground: oklch(0.25 0.05 265); - - --destructive: 0 62.8% 30.6%; - --destructive: oklch(0.75 0.18 15); - --destructive-foreground: 210 40% 98%; - --destructive-foreground: oklch(0.25 0.05 265); - - --border: 217.2 32.6% 17.5%; - --border: oklch(0.30 0.06 265); - --input: 217.2 32.6% 17.5%; - --input: oklch(0.30 0.06 265); - --ring: 212.7 26.8% 83.9%; - --ring: oklch(0.75 0.15 260); - --chart-1: 220 70% 50%; - --chart-2: 160 60% 45%; - --chart-3: 30 80% 55%; - --chart-4: 280 65% 60%; - --chart-5: 340 75% 55%; - } -} - -@layer base { - * { - @apply box-border; - } - - body { - @apply bg-background text-foreground; - font-feature-settings: "rlig" 1, "calt" 1; - } -} - -@layer utilities { - .bg-background { - background-color: var(--background); - } - .bg-foreground { - background-color: var(--foreground); - } - .bg-card { - background-color: var(--card); - } - .bg-card-foreground { - background-color: var(--card-foreground); - } - .bg-popover { - background-color: var(--popover); - } - .bg-popover-foreground { - background-color: var(--popover-foreground); - } - .bg-primary { - background-color: var(--primary); - } - .bg-primary-foreground { - background-color: var(--primary-foreground); - } - .bg-secondary { - background-color: var(--secondary); - } - .bg-secondary-foreground { - background-color: var(--secondary-foreground); - } - .bg-muted { - background-color: var(--muted); - } - .bg-muted-foreground { - background-color: var(--muted-foreground); - } - .bg-accent { - background-color: var(--accent); - } - .bg-accent-foreground { - background-color: var(--accent-foreground); - } - .bg-destructive { - background-color: var(--destructive); - } - .bg-destructive-foreground { - background-color: var(--destructive-foreground); - } - - .text-background { - color: var(--background); - } - .text-foreground { - color: var(--foreground); - } - .text-card { - color: var(--card); - } - .text-card-foreground { - color: var(--card-foreground); - } - .text-popover { - color: var(--popover); - } - .text-popover-foreground { - color: var(--popover-foreground); - } - .text-primary { - color: var(--primary); - } - .text-primary-foreground { - color: var(--primary-foreground); - } - .text-secondary { - color: var(--secondary); - } - .text-secondary-foreground { - color: var(--secondary-foreground); - } - .text-muted { - color: var(--muted); - } - .text-muted-foreground { - color: var(--muted-foreground); - } - .text-accent { - color: var(--accent); - } - .text-accent-foreground { - color: var(--accent-foreground); - } - .text-destructive { - color: var(--destructive); - } - .text-destructive-foreground { - color: var(--destructive-foreground); - } - - @supports not (backdrop-filter: blur(1px)) { - .select-content { - background-color: var(--background); + @keyframes accordion-up { + from { + height: var(--reka-accordion-content-height); + } + to { + height: 0; } } } -/* Add support for ring colors */ -@layer utilities { - .ring-border { - --tw-ring-color: var(--border); - } - .ring-primary { - --tw-ring-color: var(--primary); - } - .ring-background { - --tw-ring-color: var(--background); +/* + The default border color has changed to `currentColor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentColor); } } -/* Add support for border colors */ -@layer utilities { - .border { - border-color: var(--border); +@layer base { + :root { + /* Catppuccin Latte */ + --background: 0.97 0.005 235; /* base */ + --foreground: 0.30 0.02 235; /* text */ + --card: 0.97 0.005 235; + --card-foreground: 0.30 0.02 235; + --popover: 0.97 0.005 235; + --popover-foreground: 0.30 0.02 235; + --primary: 0.55 0.15 250; /* lavender */ + --primary-foreground: 0.97 0.005 235; + --secondary: 0.90 0.03 235; /* surface1 */ + --secondary-foreground: 0.30 0.02 235; + --muted: 0.93 0.02 235; /* surface0 */ + --muted-foreground: 0.50 0.02 235; /* subtext0 */ + --accent: 0.65 0.15 290; /* mauve */ + --accent-foreground: 0.30 0.02 235; + --destructive: 0.65 0.25 0; /* red */ + --destructive-foreground: 0.97 0.005 235; + --border: 0.90 0.03 235; /* surface1 */ + --input: 0.90 0.03 235; + --ring: 0.55 0.15 250; /* lavender */ + --chart-1: 0.65 0.25 0; /* red */ + --chart-2: 0.75 0.20 30; /* peach */ + --chart-3: 0.80 0.15 90; /* yellow */ + --chart-4: 0.70 0.15 150; /* green */ + --chart-5: 0.60 0.15 180; /* blue */ + --radius: 0.5rem; } - .border-x { - border-left-color: var(--border); - border-right-color: var(--border); - } - .border-y { - border-top-color: var(--border); - border-bottom-color: var(--border); - } - .border-t { - border-top-color: var(--border); - } - .border-r { - border-right-color: var(--border); - } - .border-b { - border-bottom-color: var(--border); - } - .border-l { - border-left-color: var(--border); - } - .border-primary { - border-color: var(--primary); - } - .border-background { - border-color: var(--background); - } - .border-foreground { - border-color: var(--foreground); - } - .border-card { - border-color: var(--card); - } - .border-card-foreground { - border-color: var(--card-foreground); - } - .border-muted { - border-color: var(--muted); - } - .border-muted-foreground { - border-color: var(--muted-foreground); - } - .border-accent { - border-color: var(--accent); - } - .border-accent-foreground { - border-color: var(--accent-foreground); - } - .border-destructive { - border-color: var(--destructive); - } - .border-destructive-foreground { - border-color: var(--destructive-foreground); + + .dark { + /* Catppuccin Mocha */ + --background: 0.20 0.02 235; /* base */ + --foreground: 0.90 0.02 235; /* text */ + --card: 0.20 0.02 235; + --card-foreground: 0.90 0.02 235; + --popover: 0.20 0.02 235; + --popover-foreground: 0.90 0.02 235; + --primary: 0.55 0.15 250; /* lavender */ + --primary-foreground: 0.20 0.02 235; + --secondary: 0.25 0.02 235; /* surface1 */ + --secondary-foreground: 0.90 0.02 235; + --muted: 0.23 0.02 235; /* surface0 */ + --muted-foreground: 0.70 0.02 235; /* subtext0 */ + --accent: 0.65 0.15 290; /* mauve */ + --accent-foreground: 0.90 0.02 235; + --destructive: 0.65 0.25 0; /* red */ + --destructive-foreground: 0.90 0.02 235; + --border: 0.25 0.02 235; /* surface1 */ + --input: 0.25 0.02 235; + --ring: 0.55 0.15 250; /* lavender */ + --chart-1: 0.65 0.25 0; /* red */ + --chart-2: 0.75 0.20 30; /* peach */ + --chart-3: 0.80 0.15 90; /* yellow */ + --chart-4: 0.70 0.15 150; /* green */ + --chart-5: 0.60 0.15 180; /* blue */ } } + @layer base { * { @apply border-border; diff --git a/src/components/ui/accordion/Accordion.vue b/src/components/ui/accordion/Accordion.vue index 8ce8571..d52d816 100644 --- a/src/components/ui/accordion/Accordion.vue +++ b/src/components/ui/accordion/Accordion.vue @@ -4,7 +4,7 @@ import { type AccordionRootEmits, type AccordionRootProps, useForwardPropsEmits, -} from 'radix-vue' +} from 'reka-ui' const props = defineProps() const emits = defineEmits() diff --git a/src/components/ui/accordion/AccordionContent.vue b/src/components/ui/accordion/AccordionContent.vue index 62a445d..c819a74 100644 --- a/src/components/ui/accordion/AccordionContent.vue +++ b/src/components/ui/accordion/AccordionContent.vue @@ -1,6 +1,6 @@ \ No newline at end of file + + diff --git a/src/components/ui/avatar/AvatarFallback.vue b/src/components/ui/avatar/AvatarFallback.vue index b20f55f..a0b8dfa 100644 --- a/src/components/ui/avatar/AvatarFallback.vue +++ b/src/components/ui/avatar/AvatarFallback.vue @@ -1,16 +1,11 @@ \ No newline at end of file + + diff --git a/src/components/ui/avatar/AvatarImage.vue b/src/components/ui/avatar/AvatarImage.vue index b24e43d..8efeecb 100644 --- a/src/components/ui/avatar/AvatarImage.vue +++ b/src/components/ui/avatar/AvatarImage.vue @@ -1,18 +1,12 @@ \ No newline at end of file + + + + diff --git a/src/components/ui/avatar/index.ts b/src/components/ui/avatar/index.ts index 8646f68..5367952 100644 --- a/src/components/ui/avatar/index.ts +++ b/src/components/ui/avatar/index.ts @@ -1,3 +1,24 @@ +import { cva, type VariantProps } from 'class-variance-authority' + export { default as Avatar } from './Avatar.vue' +export { default as AvatarFallback } from './AvatarFallback.vue' export { default as AvatarImage } from './AvatarImage.vue' -export { default as AvatarFallback } from './AvatarFallback.vue' \ No newline at end of file + +export const avatarVariant = cva( + 'inline-flex items-center justify-center font-normal text-foreground select-none shrink-0 bg-secondary overflow-hidden', + { + variants: { + size: { + sm: 'h-10 w-10 text-xs', + base: 'h-16 w-16 text-2xl', + lg: 'h-32 w-32 text-5xl', + }, + shape: { + circle: 'rounded-full', + square: 'rounded-md', + }, + }, + }, +) + +export type AvatarVariants = VariantProps diff --git a/src/components/ui/badge/Badge.vue b/src/components/ui/badge/Badge.vue index da77d71..9ed8039 100644 --- a/src/components/ui/badge/Badge.vue +++ b/src/components/ui/badge/Badge.vue @@ -10,7 +10,7 @@ const props = defineProps<{ diff --git a/src/components/ui/badge/index.ts b/src/components/ui/badge/index.ts index f10bf5b..370a8ba 100644 --- a/src/components/ui/badge/index.ts +++ b/src/components/ui/badge/index.ts @@ -3,21 +3,17 @@ import { cva, type VariantProps } from 'class-variance-authority' export { default as Badge } from './Badge.vue' export const badgeVariants = cva( - 'inline-flex items-center whitespace-nowrap rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors', + 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2', { variants: { variant: { default: - 'border-transparent bg-primary/10 text-primary hover:bg-primary/20', + 'border-transparent bg-primary text-primary-foreground shadow-sm hover:bg-primary/80', secondary: - 'border-transparent bg-secondary/10 text-secondary-foreground hover:bg-secondary/20', + 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80', destructive: - 'border-transparent bg-destructive/10 text-destructive hover:bg-destructive/20', - success: - 'border-transparent bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400', - warning: - 'border-transparent bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400', - outline: 'border-border text-foreground hover:bg-accent hover:text-accent-foreground', + 'border-transparent bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/80', + outline: 'text-foreground', }, }, defaultVariants: { diff --git a/src/components/ui/button/Button.vue b/src/components/ui/button/Button.vue index 0575816..17dc84d 100644 --- a/src/components/ui/button/Button.vue +++ b/src/components/ui/button/Button.vue @@ -1,7 +1,7 @@ diff --git a/src/components/ui/button/index.ts b/src/components/ui/button/index.ts index 18a065a..47587a3 100644 --- a/src/components/ui/button/index.ts +++ b/src/components/ui/button/index.ts @@ -3,23 +3,23 @@ import { cva, type VariantProps } from 'class-variance-authority' export { default as Button } from './Button.vue' export const buttonVariants = cva( - 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', + 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', { variants: { variant: { - default: - 'bg-primary text-primary-foreground shadow hover:bg-primary/90', + default: 'bg-primary text-primary-foreground shadow-sm hover:bg-primary/90', destructive: - 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90', + 'bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90', outline: - 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground', + 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground', secondary: - 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80', + 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80', ghost: 'hover:bg-accent hover:text-accent-foreground', link: 'text-primary underline-offset-4 hover:underline', }, size: { default: 'h-9 px-4 py-2', + xs: 'h-7 rounded px-2', sm: 'h-8 rounded-md px-3 text-xs', lg: 'h-10 rounded-md px-8', icon: 'h-9 w-9', diff --git a/src/components/ui/card/Card.vue b/src/components/ui/card/Card.vue index 60e415b..0cf5fea 100644 --- a/src/components/ui/card/Card.vue +++ b/src/components/ui/card/Card.vue @@ -9,7 +9,12 @@ const props = defineProps<{ diff --git a/src/components/ui/dialog/DialogDescription.vue b/src/components/ui/dialog/DialogDescription.vue index ced66f2..5afbab0 100644 --- a/src/components/ui/dialog/DialogDescription.vue +++ b/src/components/ui/dialog/DialogDescription.vue @@ -1,15 +1,24 @@ \ No newline at end of file + + diff --git a/src/components/ui/dialog/DialogFooter.vue b/src/components/ui/dialog/DialogFooter.vue index c8d2d50..ac2d0c1 100644 --- a/src/components/ui/dialog/DialogFooter.vue +++ b/src/components/ui/dialog/DialogFooter.vue @@ -1,14 +1,19 @@ \ No newline at end of file + diff --git a/src/components/ui/dialog/DialogHeader.vue b/src/components/ui/dialog/DialogHeader.vue index c1ef825..b2c9085 100644 --- a/src/components/ui/dialog/DialogHeader.vue +++ b/src/components/ui/dialog/DialogHeader.vue @@ -1,6 +1,6 @@ \ No newline at end of file + diff --git a/src/components/ui/dialog/DialogScrollContent.vue b/src/components/ui/dialog/DialogScrollContent.vue new file mode 100644 index 0000000..017cbd2 --- /dev/null +++ b/src/components/ui/dialog/DialogScrollContent.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/components/ui/dialog/DialogTitle.vue b/src/components/ui/dialog/DialogTitle.vue index e7d4ad2..30cbb36 100644 --- a/src/components/ui/dialog/DialogTitle.vue +++ b/src/components/ui/dialog/DialogTitle.vue @@ -1,15 +1,29 @@ \ No newline at end of file + + diff --git a/src/components/ui/dialog/DialogTrigger.vue b/src/components/ui/dialog/DialogTrigger.vue index ac76fef..2984f37 100644 --- a/src/components/ui/dialog/DialogTrigger.vue +++ b/src/components/ui/dialog/DialogTrigger.vue @@ -1,16 +1,11 @@ \ No newline at end of file + + diff --git a/src/components/ui/dialog/index.ts b/src/components/ui/dialog/index.ts index 68e24ab..ca8cfea 100644 --- a/src/components/ui/dialog/index.ts +++ b/src/components/ui/dialog/index.ts @@ -1,17 +1,9 @@ export { default as Dialog } from './Dialog.vue' +export { default as DialogClose } from './DialogClose.vue' export { default as DialogContent } from './DialogContent.vue' export { default as DialogDescription } from './DialogDescription.vue' export { default as DialogFooter } from './DialogFooter.vue' export { default as DialogHeader } from './DialogHeader.vue' +export { default as DialogScrollContent } from './DialogScrollContent.vue' export { default as DialogTitle } from './DialogTitle.vue' export { default as DialogTrigger } from './DialogTrigger.vue' - -export type { - DialogRootEmits, - DialogRootProps, - DialogOverlayProps, - DialogPortalProps, - DialogContentProps, - DialogTitleProps, - DialogTriggerProps, -} from 'radix-vue' \ No newline at end of file diff --git a/src/components/ui/dropdown-menu/DropdownMenu.vue b/src/components/ui/dropdown-menu/DropdownMenu.vue index a514723..5266c37 100644 --- a/src/components/ui/dropdown-menu/DropdownMenu.vue +++ b/src/components/ui/dropdown-menu/DropdownMenu.vue @@ -1,17 +1,14 @@ \ No newline at end of file + diff --git a/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue new file mode 100644 index 0000000..ef1090d --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuContent.vue b/src/components/ui/dropdown-menu/DropdownMenuContent.vue index cb60716..2ba6eef 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuContent.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuContent.vue @@ -1,31 +1,38 @@ \ No newline at end of file + + + + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuGroup.vue b/src/components/ui/dropdown-menu/DropdownMenuGroup.vue new file mode 100644 index 0000000..4b69514 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuGroup.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuItem.vue b/src/components/ui/dropdown-menu/DropdownMenuItem.vue index 9e396b6..78d99ba 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuItem.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuItem.vue @@ -1,34 +1,28 @@ \ No newline at end of file + diff --git a/src/components/ui/dropdown-menu/DropdownMenuLabel.vue b/src/components/ui/dropdown-menu/DropdownMenuLabel.vue new file mode 100644 index 0000000..0e171bb --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuLabel.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue b/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue new file mode 100644 index 0000000..5c9525f --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue b/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue new file mode 100644 index 0000000..2584dd9 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue b/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue new file mode 100644 index 0000000..9f128a6 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue b/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue new file mode 100644 index 0000000..abaeda6 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuSub.vue b/src/components/ui/dropdown-menu/DropdownMenuSub.vue new file mode 100644 index 0000000..95e703d --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuSub.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue b/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue new file mode 100644 index 0000000..fabd751 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue new file mode 100644 index 0000000..d88ebe6 --- /dev/null +++ b/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue b/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue index 4e60adb..de9d67d 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue @@ -1,22 +1,13 @@ \ No newline at end of file + diff --git a/src/components/ui/dropdown-menu/index.ts b/src/components/ui/dropdown-menu/index.ts index 1879794..f488d39 100644 --- a/src/components/ui/dropdown-menu/index.ts +++ b/src/components/ui/dropdown-menu/index.ts @@ -1,4 +1,16 @@ export { default as DropdownMenu } from './DropdownMenu.vue' -export { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue' + +export { default as DropdownMenuCheckboxItem } from './DropdownMenuCheckboxItem.vue' export { default as DropdownMenuContent } from './DropdownMenuContent.vue' -export { default as DropdownMenuItem } from './DropdownMenuItem.vue' \ No newline at end of file +export { default as DropdownMenuGroup } from './DropdownMenuGroup.vue' +export { default as DropdownMenuItem } from './DropdownMenuItem.vue' +export { default as DropdownMenuLabel } from './DropdownMenuLabel.vue' +export { default as DropdownMenuRadioGroup } from './DropdownMenuRadioGroup.vue' +export { default as DropdownMenuRadioItem } from './DropdownMenuRadioItem.vue' +export { default as DropdownMenuSeparator } from './DropdownMenuSeparator.vue' +export { default as DropdownMenuShortcut } from './DropdownMenuShortcut.vue' +export { default as DropdownMenuSub } from './DropdownMenuSub.vue' +export { default as DropdownMenuSubContent } from './DropdownMenuSubContent.vue' +export { default as DropdownMenuSubTrigger } from './DropdownMenuSubTrigger.vue' +export { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue' +export { DropdownMenuPortal } from 'reka-ui' diff --git a/src/components/ui/input/Input.vue b/src/components/ui/input/Input.vue index 81140b4..243a497 100644 --- a/src/components/ui/input/Input.vue +++ b/src/components/ui/input/Input.vue @@ -20,5 +20,5 @@ const modelValue = useVModel(props, 'modelValue', emits, { diff --git a/src/components/ui/label/Label.vue b/src/components/ui/label/Label.vue new file mode 100644 index 0000000..b4991db --- /dev/null +++ b/src/components/ui/label/Label.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/ui/label/index.ts b/src/components/ui/label/index.ts index f81b2a4..572c2f0 100644 --- a/src/components/ui/label/index.ts +++ b/src/components/ui/label/index.ts @@ -1,8 +1 @@ -import { Label as LabelPrimitive } from 'radix-vue' -import { tv } from 'tailwind-variants' - -export const labelVariants = tv({ - base: 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70' -}) - -export const Label = LabelPrimitive.Root \ No newline at end of file +export { default as Label } from './Label.vue' diff --git a/src/components/ui/scroll-area/ScrollArea.vue b/src/components/ui/scroll-area/ScrollArea.vue index f1181e0..8876d53 100644 --- a/src/components/ui/scroll-area/ScrollArea.vue +++ b/src/components/ui/scroll-area/ScrollArea.vue @@ -5,7 +5,7 @@ import { ScrollAreaRoot, type ScrollAreaRootProps, ScrollAreaViewport, -} from 'radix-vue' +} from 'reka-ui' import { computed, type HTMLAttributes } from 'vue' import ScrollBar from './ScrollBar.vue' @@ -26,4 +26,4 @@ const delegatedProps = computed(() => { - \ No newline at end of file + diff --git a/src/components/ui/scroll-area/ScrollBar.vue b/src/components/ui/scroll-area/ScrollBar.vue index 3fd5b1b..59f723a 100644 --- a/src/components/ui/scroll-area/ScrollBar.vue +++ b/src/components/ui/scroll-area/ScrollBar.vue @@ -1,17 +1,11 @@ diff --git a/src/components/ui/select/SelectLabel.vue b/src/components/ui/select/SelectLabel.vue index 503e890..26433d4 100644 --- a/src/components/ui/select/SelectLabel.vue +++ b/src/components/ui/select/SelectLabel.vue @@ -1,13 +1,13 @@ diff --git a/src/components/ui/select/SelectScrollDownButton.vue b/src/components/ui/select/SelectScrollDownButton.vue index 8854334..c9beb57 100644 --- a/src/components/ui/select/SelectScrollDownButton.vue +++ b/src/components/ui/select/SelectScrollDownButton.vue @@ -1,7 +1,7 @@ diff --git a/src/components/ui/tabs/TabsContent.vue b/src/components/ui/tabs/TabsContent.vue new file mode 100644 index 0000000..6a726b2 --- /dev/null +++ b/src/components/ui/tabs/TabsContent.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/ui/tabs/TabsTrigger.vue b/src/components/ui/tabs/TabsTrigger.vue new file mode 100644 index 0000000..3b44da6 --- /dev/null +++ b/src/components/ui/tabs/TabsTrigger.vue @@ -0,0 +1,29 @@ + + +