@codefast/ui 0.4.0-canary.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +125 -0
- package/dist/components/alert-dialog.mjs +1 -1
- package/dist/components/alert.mjs +1 -1
- package/dist/components/avatar.mjs +1 -1
- package/dist/components/calendar.mjs +2 -2
- package/dist/components/carousel.mjs +2 -2
- package/dist/components/context-menu.mjs +2 -2
- package/dist/components/dialog.mjs +2 -2
- package/dist/components/drawer.mjs +1 -1
- package/dist/components/dropdown-menu.mjs +2 -2
- package/dist/components/menubar.mjs +2 -2
- package/dist/components/native-select.mjs +1 -1
- package/dist/components/navigation-menu.mjs +2 -2
- package/dist/components/radio-cards.mjs +1 -1
- package/dist/components/radio-group.mjs +1 -1
- package/dist/components/resizable.mjs +1 -1
- package/dist/components/select.mjs +1 -1
- package/dist/components/sheet.mjs +1 -1
- package/dist/components/sidebar.mjs +5 -5
- package/dist/components/switch.mjs +1 -1
- package/dist/components/table.mjs +2 -2
- package/dist/components/tabs.mjs +1 -1
- package/dist/variants/sheet.mjs +2 -2
- package/package.json +9 -9
- package/src/components/alert-dialog.tsx +1 -1
- package/src/components/alert.tsx +1 -1
- package/src/components/avatar.tsx +1 -1
- package/src/components/calendar.tsx +2 -2
- package/src/components/carousel.tsx +4 -4
- package/src/components/context-menu.tsx +2 -2
- package/src/components/dialog.tsx +2 -2
- package/src/components/drawer.tsx +1 -1
- package/src/components/dropdown-menu.tsx +2 -2
- package/src/components/menubar.tsx +2 -2
- package/src/components/native-select.tsx +1 -1
- package/src/components/navigation-menu.tsx +2 -2
- package/src/components/radio-cards.tsx +1 -1
- package/src/components/radio-group.tsx +1 -1
- package/src/components/resizable.tsx +1 -1
- package/src/components/select.tsx +1 -1
- package/src/components/sheet.tsx +1 -1
- package/src/components/sidebar.tsx +5 -5
- package/src/components/switch.tsx +1 -1
- package/src/components/table.tsx +2 -2
- package/src/components/tabs.tsx +1 -1
- package/src/css/foundation/variants.css +4 -11
- package/src/css/themes/amber.css +2 -50
- package/src/css/themes/blue.css +2 -50
- package/src/css/themes/cyan.css +2 -50
- package/src/css/themes/emerald.css +2 -50
- package/src/css/themes/fuchsia.css +2 -50
- package/src/css/themes/gray.css +2 -50
- package/src/css/themes/green.css +2 -50
- package/src/css/themes/indigo.css +2 -50
- package/src/css/themes/lime.css +2 -50
- package/src/css/themes/neutral.css +2 -50
- package/src/css/themes/orange.css +2 -50
- package/src/css/themes/pink.css +2 -50
- package/src/css/themes/purple.css +2 -50
- package/src/css/themes/red.css +2 -50
- package/src/css/themes/rose.css +2 -50
- package/src/css/themes/sky.css +2 -50
- package/src/css/themes/slate.css +2 -50
- package/src/css/themes/stone.css +2 -50
- package/src/css/themes/teal.css +2 -50
- package/src/css/themes/violet.css +2 -50
- package/src/css/themes/yellow.css +2 -50
- package/src/css/themes/zinc.css +2 -50
- package/src/variants/sheet.ts +2 -2
|
@@ -96,12 +96,12 @@ function Calendar({
|
|
|
96
96
|
defaultClassNames.day,
|
|
97
97
|
),
|
|
98
98
|
range_start: cn(
|
|
99
|
-
"relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:
|
|
99
|
+
"relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:inset-e-0 after:w-4 after:bg-muted",
|
|
100
100
|
defaultClassNames.range_start,
|
|
101
101
|
),
|
|
102
102
|
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
103
103
|
range_end: cn(
|
|
104
|
-
"relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:
|
|
104
|
+
"relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:inset-s-0 after:w-4 after:bg-muted",
|
|
105
105
|
defaultClassNames.range_end,
|
|
106
106
|
),
|
|
107
107
|
today: cn(
|
|
@@ -271,8 +271,8 @@ function CarouselPrevious({
|
|
|
271
271
|
className={cn(
|
|
272
272
|
"absolute touch-manipulation rounded-full",
|
|
273
273
|
orientation === "horizontal"
|
|
274
|
-
? "-
|
|
275
|
-
: "
|
|
274
|
+
? "-inset-s-12 top-1/2 -translate-y-1/2 active:not-aria-[haspopup]:translate-y-[calc(-50%+1px)]"
|
|
275
|
+
: "inset-s-1/2 -top-12 -translate-x-1/2 rotate-90 rtl:translate-x-1/2",
|
|
276
276
|
className,
|
|
277
277
|
)}
|
|
278
278
|
data-slot="carousel-previous"
|
|
@@ -317,8 +317,8 @@ function CarouselNext({
|
|
|
317
317
|
className={cn(
|
|
318
318
|
"absolute touch-manipulation rounded-full",
|
|
319
319
|
orientation === "horizontal"
|
|
320
|
-
? "-
|
|
321
|
-
: "
|
|
320
|
+
? "-inset-e-12 top-1/2 -translate-y-1/2 active:not-aria-[haspopup]:translate-y-[calc(-50%+1px)]"
|
|
321
|
+
: "inset-s-1/2 -bottom-12 -translate-x-1/2 rotate-90 rtl:translate-x-1/2",
|
|
322
322
|
className,
|
|
323
323
|
)}
|
|
324
324
|
data-slot="carousel-next"
|
|
@@ -235,7 +235,7 @@ function ContextMenuCheckboxItem({
|
|
|
235
235
|
data-slot="context-menu-checkbox-item"
|
|
236
236
|
{...props}
|
|
237
237
|
>
|
|
238
|
-
<span className="pointer-events-none absolute
|
|
238
|
+
<span className="pointer-events-none absolute inset-e-2">
|
|
239
239
|
<ContextMenuPrimitive.ItemIndicator>
|
|
240
240
|
<CheckIcon />
|
|
241
241
|
</ContextMenuPrimitive.ItemIndicator>
|
|
@@ -270,7 +270,7 @@ function ContextMenuRadioItem({ children, className, inset, ...props }: ContextM
|
|
|
270
270
|
data-slot="context-menu-radio-item"
|
|
271
271
|
{...props}
|
|
272
272
|
>
|
|
273
|
-
<span className="pointer-events-none absolute
|
|
273
|
+
<span className="pointer-events-none absolute inset-e-2">
|
|
274
274
|
<ContextMenuPrimitive.ItemIndicator>
|
|
275
275
|
<CheckIcon />
|
|
276
276
|
</ContextMenuPrimitive.ItemIndicator>
|
|
@@ -62,7 +62,7 @@ function DialogContent({ children, className, showCloseButton = true, ...props }
|
|
|
62
62
|
/>
|
|
63
63
|
<DialogPrimitive.Content
|
|
64
64
|
className={cn(
|
|
65
|
-
"fixed
|
|
65
|
+
"fixed inset-s-1/2 top-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-6 overflow-y-auto rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 ease-ui outline-none sm:max-w-md rtl:translate-x-1/2 data-open:animate-in data-open:animation-duration-overlay-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-overlay-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
66
66
|
className,
|
|
67
67
|
)}
|
|
68
68
|
data-slot="dialog-content"
|
|
@@ -71,7 +71,7 @@ function DialogContent({ children, className, showCloseButton = true, ...props }
|
|
|
71
71
|
{children}
|
|
72
72
|
{showCloseButton ? (
|
|
73
73
|
<DialogPrimitive.Close asChild data-slot="dialog-close">
|
|
74
|
-
<Button className="absolute
|
|
74
|
+
<Button className="absolute inset-e-4 top-4" size="icon-sm" variant="ghost">
|
|
75
75
|
<XIcon />
|
|
76
76
|
<span className="sr-only">Close</span>
|
|
77
77
|
</Button>
|
|
@@ -60,7 +60,7 @@ function DrawerContent({ children, className, ...props }: DrawerContentProps): J
|
|
|
60
60
|
/>
|
|
61
61
|
<DrawerPrimitive.Content
|
|
62
62
|
className={cn(
|
|
63
|
-
"group/drawer-content fixed z-50 flex h-auto flex-col bg-popover text-sm text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:
|
|
63
|
+
"group/drawer-content fixed z-50 flex h-auto flex-col bg-popover text-sm text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:inset-s-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-e-xl data-[vaul-drawer-direction=left]:border-e data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:inset-e-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-s-xl data-[vaul-drawer-direction=right]:border-s data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
64
64
|
className,
|
|
65
65
|
)}
|
|
66
66
|
data-slot="drawer-content"
|
|
@@ -239,7 +239,7 @@ function DropdownMenuCheckboxItem({
|
|
|
239
239
|
{...props}
|
|
240
240
|
>
|
|
241
241
|
<span
|
|
242
|
-
className="pointer-events-none absolute
|
|
242
|
+
className="pointer-events-none absolute inset-e-2 flex items-center justify-center"
|
|
243
243
|
data-slot="dropdown-menu-checkbox-item-indicator"
|
|
244
244
|
>
|
|
245
245
|
<DropdownMenuPrimitive.ItemIndicator>
|
|
@@ -277,7 +277,7 @@ function DropdownMenuRadioItem({ children, className, inset, ...props }: Dropdow
|
|
|
277
277
|
{...props}
|
|
278
278
|
>
|
|
279
279
|
<span
|
|
280
|
-
className="pointer-events-none absolute
|
|
280
|
+
className="pointer-events-none absolute inset-e-2 flex items-center justify-center"
|
|
281
281
|
data-slot="dropdown-menu-radio-item-indicator"
|
|
282
282
|
>
|
|
283
283
|
<DropdownMenuPrimitive.ItemIndicator>
|
|
@@ -265,7 +265,7 @@ function MenubarCheckboxItem({ checked, children, className, inset, ...props }:
|
|
|
265
265
|
data-slot="menubar-checkbox-item"
|
|
266
266
|
{...props}
|
|
267
267
|
>
|
|
268
|
-
<span className="pointer-events-none absolute
|
|
268
|
+
<span className="pointer-events-none absolute inset-s-2 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4">
|
|
269
269
|
<MenubarPrimitive.ItemIndicator>
|
|
270
270
|
<CheckIcon />
|
|
271
271
|
</MenubarPrimitive.ItemIndicator>
|
|
@@ -300,7 +300,7 @@ function MenubarRadioItem({ children, className, inset, ...props }: MenubarRadio
|
|
|
300
300
|
data-slot="menubar-radio-item"
|
|
301
301
|
{...props}
|
|
302
302
|
>
|
|
303
|
-
<span className="pointer-events-none absolute
|
|
303
|
+
<span className="pointer-events-none absolute inset-s-2 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4">
|
|
304
304
|
<MenubarPrimitive.ItemIndicator>
|
|
305
305
|
<CheckIcon />
|
|
306
306
|
</MenubarPrimitive.ItemIndicator>
|
|
@@ -32,7 +32,7 @@ function NativeSelect({ className, size = "default", ...props }: NativeSelectPro
|
|
|
32
32
|
/>
|
|
33
33
|
<ChevronDownIcon
|
|
34
34
|
aria-hidden="true"
|
|
35
|
-
className="pointer-events-none absolute
|
|
35
|
+
className="pointer-events-none absolute inset-e-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground select-none"
|
|
36
36
|
data-slot="native-select-icon"
|
|
37
37
|
/>
|
|
38
38
|
</div>
|
|
@@ -120,7 +120,7 @@ function NavigationMenuContent({ className, ...props }: NavigationMenuContentPro
|
|
|
120
120
|
return (
|
|
121
121
|
<NavigationMenuPrimitive.Content
|
|
122
122
|
className={cn(
|
|
123
|
-
"
|
|
123
|
+
"inset-s-0 top-0 w-full p-2 pe-2.5 ease-snappy group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:animation-duration-300 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:ease-exit data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 data-closed:ease-exit group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95",
|
|
124
124
|
className,
|
|
125
125
|
)}
|
|
126
126
|
data-slot="navigation-menu-content"
|
|
@@ -168,7 +168,7 @@ type NavigationMenuViewportProps = ComponentProps<typeof NavigationMenuPrimitive
|
|
|
168
168
|
*/
|
|
169
169
|
function NavigationMenuViewport({ className, ...props }: NavigationMenuViewportProps): JSX.Element {
|
|
170
170
|
return (
|
|
171
|
-
<div className="absolute
|
|
171
|
+
<div className="absolute inset-s-0 top-full isolate z-50 flex justify-center">
|
|
172
172
|
<NavigationMenuPrimitive.Viewport
|
|
173
173
|
className={cn(
|
|
174
174
|
"relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full origin-[top_center] overflow-hidden rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[width,height] duration-100 ease-snappy md:w-(--radix-navigation-menu-viewport-width) data-open:animate-in data-open:animation-duration-100 data-open:zoom-in-90 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-100 data-closed:zoom-out-90",
|
|
@@ -50,7 +50,7 @@ function RadioCardsItem({ children, className, ...props }: RadioCardsItemProps):
|
|
|
50
50
|
className="flex size-4 items-center justify-center"
|
|
51
51
|
data-slot="radio-card-indicator"
|
|
52
52
|
>
|
|
53
|
-
<span className="absolute
|
|
53
|
+
<span className="absolute inset-s-1/2 top-1/2 size-2 -translate-x-1/2 -translate-y-1/2 animate-in rounded-full bg-primary-foreground duration-control-indicator ease-spring zoom-in-50 rtl:translate-x-1/2" />
|
|
54
54
|
</RadioGroupPrimitive.Indicator>
|
|
55
55
|
</RadioGroupPrimitive.Item>
|
|
56
56
|
{children}
|
|
@@ -47,7 +47,7 @@ function RadioGroupItem({ className, ...props }: RadioGroupItemProps): JSX.Eleme
|
|
|
47
47
|
className="flex size-4 items-center justify-center"
|
|
48
48
|
data-slot="radio-group-indicator"
|
|
49
49
|
>
|
|
50
|
-
<span className="absolute
|
|
50
|
+
<span className="absolute inset-s-1/2 top-1/2 size-2 -translate-x-1/2 -translate-y-1/2 animate-in rounded-full bg-primary-foreground duration-control-indicator ease-spring zoom-in-50 rtl:translate-x-1/2" />
|
|
51
51
|
</RadioGroupPrimitive.Indicator>
|
|
52
52
|
</RadioGroupPrimitive.Item>
|
|
53
53
|
);
|
|
@@ -59,7 +59,7 @@ function ResizableSeparator({ className, withHandle, ...props }: ResizableSepara
|
|
|
59
59
|
return (
|
|
60
60
|
<ResizablePrimitive.Separator
|
|
61
61
|
className={cn(
|
|
62
|
-
"relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:
|
|
62
|
+
"relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:inset-s-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:inset-s-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 rtl:after:translate-x-1/2 rtl:aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90",
|
|
63
63
|
className,
|
|
64
64
|
)}
|
|
65
65
|
data-slot="resizable-separator"
|
|
@@ -233,7 +233,7 @@ function SelectItem({ children, className, ...props }: SelectItemProps): JSX.Ele
|
|
|
233
233
|
data-slot="select-item"
|
|
234
234
|
{...props}
|
|
235
235
|
>
|
|
236
|
-
<span className="pointer-events-none absolute
|
|
236
|
+
<span className="pointer-events-none absolute inset-e-2 flex size-4 items-center justify-center">
|
|
237
237
|
<SelectPrimitive.ItemIndicator>
|
|
238
238
|
<CheckIcon className="pointer-events-none" />
|
|
239
239
|
</SelectPrimitive.ItemIndicator>
|
package/src/components/sheet.tsx
CHANGED
|
@@ -233,7 +233,7 @@ function Sidebar({
|
|
|
233
233
|
/>
|
|
234
234
|
<div
|
|
235
235
|
className={cn(
|
|
236
|
-
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-gentle md:flex data-side-right:right-0 data-side-right:group-data-[collapsible=offcanvas]
|
|
236
|
+
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-gentle md:flex data-side-right:right-0 data-side-right:group-data-[collapsible=offcanvas]:-right-(--sidebar-width) data-side-left:left-0 data-side-left:group-data-[collapsible=offcanvas]:-left-(--sidebar-width)",
|
|
237
237
|
variant === "floating" || variant === "inset"
|
|
238
238
|
? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
|
|
239
239
|
: "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-side-right:border-l group-data-side-left:border-r",
|
|
@@ -310,7 +310,7 @@ function SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {
|
|
|
310
310
|
return (
|
|
311
311
|
<button
|
|
312
312
|
className={cn(
|
|
313
|
-
"absolute inset-y-0 z-20 hidden w-4 transition-all ease-gentle group-data-[collapsible=offcanvas]:translate-x-0 group-data-side-right:left-0 group-data-side-left:-right-4 after:absolute after:inset-y-0 after:inset-s-1/2 after:w-0.5 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar hover:after:bg-sidebar-border in-data-side-right:cursor-e-resize in-data-side-left:cursor-w-resize sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2 rtl:group-data-[collapsible=offcanvas]
|
|
313
|
+
"absolute inset-y-0 z-20 hidden w-4 transition-all ease-gentle group-data-[collapsible=offcanvas]:translate-x-0 group-data-side-right:left-0 group-data-side-left:-right-4 after:absolute after:inset-y-0 after:inset-s-1/2 after:w-0.5 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar hover:after:bg-sidebar-border in-data-side-right:cursor-e-resize in-data-side-left:cursor-w-resize sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2 rtl:group-data-[collapsible=offcanvas]:translate-x-0 rtl:in-data-side-right:cursor-w-resize rtl:in-data-side-left:cursor-e-resize [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-e-resize",
|
|
314
314
|
className,
|
|
315
315
|
)}
|
|
316
316
|
data-sidebar="rail"
|
|
@@ -539,7 +539,7 @@ function SidebarGroupAction({ asChild = false, className, ...props }: SidebarGro
|
|
|
539
539
|
return (
|
|
540
540
|
<Component
|
|
541
541
|
className={cn(
|
|
542
|
-
"absolute
|
|
542
|
+
"absolute inset-e-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
543
543
|
className,
|
|
544
544
|
)}
|
|
545
545
|
data-sidebar="group-action"
|
|
@@ -703,7 +703,7 @@ function SidebarMenuAction({
|
|
|
703
703
|
return (
|
|
704
704
|
<Component
|
|
705
705
|
className={cn(
|
|
706
|
-
"absolute
|
|
706
|
+
"absolute inset-e-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
707
707
|
showOnHover &&
|
|
708
708
|
"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0",
|
|
709
709
|
className,
|
|
@@ -731,7 +731,7 @@ function SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.E
|
|
|
731
731
|
return (
|
|
732
732
|
<div
|
|
733
733
|
className={cn(
|
|
734
|
-
"pointer-events-none absolute
|
|
734
|
+
"pointer-events-none absolute inset-e-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground",
|
|
735
735
|
className,
|
|
736
736
|
)}
|
|
737
737
|
data-sidebar="menu-badge"
|
|
@@ -29,7 +29,7 @@ function Switch({ className, size = "default", ...props }: SwitchProps): JSX.Ele
|
|
|
29
29
|
{...props}
|
|
30
30
|
>
|
|
31
31
|
<SwitchPrimitives.Thumb
|
|
32
|
-
className="pointer-events-none block rounded-full bg-background ring-0 transition-transform duration-control-indicator ease-spring group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-3.5 group-data-[size=sm]/switch:data-checked:translate-x-2.5 rtl:group-data-[size=default]/switch:data-checked:-translate-x-3.5 rtl:group-data-[size=sm]/switch:data-checked:-translate-x-2.5 dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 rtl:group-data-[size=default]/switch:data-unchecked
|
|
32
|
+
className="pointer-events-none block rounded-full bg-background ring-0 transition-transform duration-control-indicator ease-spring group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-3.5 group-data-[size=sm]/switch:data-checked:translate-x-2.5 rtl:group-data-[size=default]/switch:data-checked:-translate-x-3.5 rtl:group-data-[size=sm]/switch:data-checked:-translate-x-2.5 dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 rtl:group-data-[size=default]/switch:data-unchecked:translate-x-0 rtl:group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"
|
|
33
33
|
data-slot="switch-thumb"
|
|
34
34
|
/>
|
|
35
35
|
</SwitchPrimitives.Root>
|
package/src/components/table.tsx
CHANGED
|
@@ -117,7 +117,7 @@ function TableHead({ className, ...props }: TableHeadProps): JSX.Element {
|
|
|
117
117
|
return (
|
|
118
118
|
<th
|
|
119
119
|
className={cn(
|
|
120
|
-
"h-10 px-2 text-start align-middle font-medium whitespace-nowrap text-foreground
|
|
120
|
+
"h-10 px-2 text-start align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pe-0",
|
|
121
121
|
className,
|
|
122
122
|
)}
|
|
123
123
|
data-slot="table-head"
|
|
@@ -141,7 +141,7 @@ type TableCellProps = ComponentProps<"td">;
|
|
|
141
141
|
function TableCell({ className, ...props }: TableCellProps): JSX.Element {
|
|
142
142
|
return (
|
|
143
143
|
<td
|
|
144
|
-
className={cn("p-2 align-middle whitespace-nowrap
|
|
144
|
+
className={cn("p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pe-0", className)}
|
|
145
145
|
data-slot="table-cell"
|
|
146
146
|
{...props}
|
|
147
147
|
/>
|
package/src/components/tabs.tsx
CHANGED
|
@@ -71,7 +71,7 @@ function TabsTrigger({ className, ...props }: TabsTriggerProps): JSX.Element {
|
|
|
71
71
|
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
72
72
|
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
|
|
73
73
|
"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground",
|
|
74
|
-
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-
|
|
74
|
+
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-inset-e-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
|
|
75
75
|
className,
|
|
76
76
|
)}
|
|
77
77
|
data-slot="tabs-trigger"
|
|
@@ -14,17 +14,10 @@
|
|
|
14
14
|
* Theme
|
|
15
15
|
* ------------------------------------------------------------------------- */
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@media (prefers-color-scheme: dark) {
|
|
23
|
-
&:where(:not(.light, .light *)) {
|
|
24
|
-
@slot;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
17
|
+
/* Class-only — matches the token themes, which switch on `.dark` (no prefers-color-scheme arm).
|
|
18
|
+
`@codefast/theme` always resolves the scheme to an explicit `.dark`/`.light` class (SSR included),
|
|
19
|
+
so the OS media query is never the deciding factor and would only desync utilities from tokens. */
|
|
20
|
+
@custom-variant dark (&:where(.dark, .dark *));
|
|
28
21
|
|
|
29
22
|
/* -------------------------------------------------------------------------
|
|
30
23
|
* Layout — orientation & placement (Radix Popper)
|
package/src/css/themes/amber.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------
|
|
2
2
|
* Amber theme
|
|
3
3
|
*
|
|
4
|
-
* Color tokens for the amber palette across the light (`:root`)
|
|
5
|
-
* `.dark
|
|
4
|
+
* Color tokens for the amber palette across the light (`:root`) and
|
|
5
|
+
* `.dark` variants. Trailing comments note the source
|
|
6
6
|
* palette swatch for each value.
|
|
7
7
|
* ------------------------------------------------------------------------- */
|
|
8
8
|
|
|
@@ -111,51 +111,3 @@
|
|
|
111
111
|
--chart-4: oklch(0.56 0.15 49); /* --color-amber-700 */
|
|
112
112
|
--chart-5: oklch(0.47 0.12 46); /* --color-amber-800 */
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
@media (prefers-color-scheme: dark) {
|
|
116
|
-
:root:not(.light) {
|
|
117
|
-
/* System-preference dark — applied when no explicit .light is set. */
|
|
118
|
-
|
|
119
|
-
--background: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
|
|
120
|
-
--foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
121
|
-
|
|
122
|
-
--primary: oklch(0.77 0.16 70); /* --color-amber-500 */
|
|
123
|
-
--primary-foreground: oklch(0.99 0.02 95); /* --color-amber-50 */
|
|
124
|
-
|
|
125
|
-
--secondary: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
126
|
-
--secondary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
127
|
-
|
|
128
|
-
--destructive: oklch(0.704 0.191 22.216); /* --color-red-400 */
|
|
129
|
-
|
|
130
|
-
--muted: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
131
|
-
--muted-foreground: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
|
|
132
|
-
|
|
133
|
-
--accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
134
|
-
--accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
135
|
-
|
|
136
|
-
--popover: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
137
|
-
--popover-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
138
|
-
|
|
139
|
-
--card: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
140
|
-
--card-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
141
|
-
|
|
142
|
-
--border: oklch(1 0 0 / 10%); /* --color-white */
|
|
143
|
-
--input: oklch(1 0 0 / 15%); /* --color-white */
|
|
144
|
-
--ring: oklch(0.41 0.11 46); /* --color-amber-900 */
|
|
145
|
-
|
|
146
|
-
--sidebar: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
147
|
-
--sidebar-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
148
|
-
--sidebar-primary: oklch(0.77 0.16 70); /* --color-amber-500 */
|
|
149
|
-
--sidebar-primary-foreground: oklch(0.99 0.02 95); /* --color-amber-50 */
|
|
150
|
-
--sidebar-accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
151
|
-
--sidebar-accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
152
|
-
--sidebar-border: oklch(1 0 0 / 10%); /* --color-white */
|
|
153
|
-
--sidebar-ring: oklch(0.41 0.11 46); /* --color-amber-900 */
|
|
154
|
-
|
|
155
|
-
--chart-1: oklch(0.88 0.15 92); /* --color-amber-300 */
|
|
156
|
-
--chart-2: oklch(0.77 0.16 70); /* --color-amber-500 */
|
|
157
|
-
--chart-3: oklch(0.67 0.16 58); /* --color-amber-600 */
|
|
158
|
-
--chart-4: oklch(0.56 0.15 49); /* --color-amber-700 */
|
|
159
|
-
--chart-5: oklch(0.47 0.12 46); /* --color-amber-800 */
|
|
160
|
-
}
|
|
161
|
-
}
|
package/src/css/themes/blue.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------
|
|
2
2
|
* Blue theme
|
|
3
3
|
*
|
|
4
|
-
* Color tokens for the blue palette across the light (`:root`)
|
|
5
|
-
* `.dark
|
|
4
|
+
* Color tokens for the blue palette across the light (`:root`) and
|
|
5
|
+
* `.dark` variants. Trailing comments note the source
|
|
6
6
|
* palette swatch for each value.
|
|
7
7
|
* ------------------------------------------------------------------------- */
|
|
8
8
|
|
|
@@ -111,51 +111,3 @@
|
|
|
111
111
|
--chart-4: oklch(0.488 0.243 264.376); /* --color-blue-700 */
|
|
112
112
|
--chart-5: oklch(0.424 0.199 265.638); /* --color-blue-800 */
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
@media (prefers-color-scheme: dark) {
|
|
116
|
-
:root:not(.light) {
|
|
117
|
-
/* System-preference dark — applied when no explicit .light is set. */
|
|
118
|
-
|
|
119
|
-
--background: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
|
|
120
|
-
--foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
121
|
-
|
|
122
|
-
--primary: oklch(0.488 0.243 264.376); /* --color-blue-700 */
|
|
123
|
-
--primary-foreground: oklch(0.97 0.014 254.604); /* --color-blue-50 */
|
|
124
|
-
|
|
125
|
-
--secondary: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
126
|
-
--secondary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
127
|
-
|
|
128
|
-
--destructive: oklch(0.704 0.191 22.216); /* --color-red-400 */
|
|
129
|
-
|
|
130
|
-
--muted: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
131
|
-
--muted-foreground: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
|
|
132
|
-
|
|
133
|
-
--accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
134
|
-
--accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
135
|
-
|
|
136
|
-
--popover: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
137
|
-
--popover-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
138
|
-
|
|
139
|
-
--card: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
140
|
-
--card-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
141
|
-
|
|
142
|
-
--border: oklch(1 0 0 / 10%); /* --color-white */
|
|
143
|
-
--input: oklch(1 0 0 / 15%); /* --color-white */
|
|
144
|
-
--ring: oklch(0.556 0 0); /* default ring (dark) */
|
|
145
|
-
|
|
146
|
-
--sidebar: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
147
|
-
--sidebar-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
148
|
-
--sidebar-primary: oklch(0.623 0.214 259.815); /* --color-blue-500 */
|
|
149
|
-
--sidebar-primary-foreground: oklch(0.97 0.014 254.604); /* --color-blue-50 */
|
|
150
|
-
--sidebar-accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
151
|
-
--sidebar-accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
152
|
-
--sidebar-border: oklch(1 0 0 / 10%); /* --color-white */
|
|
153
|
-
--sidebar-ring: oklch(0.439 0 0); /* default sidebar ring (dark) */
|
|
154
|
-
|
|
155
|
-
--chart-1: oklch(0.809 0.105 251.813); /* --color-blue-300 */
|
|
156
|
-
--chart-2: oklch(0.623 0.214 259.815); /* --color-blue-500 */
|
|
157
|
-
--chart-3: oklch(0.546 0.245 262.881); /* --color-blue-600 */
|
|
158
|
-
--chart-4: oklch(0.488 0.243 264.376); /* --color-blue-700 */
|
|
159
|
-
--chart-5: oklch(0.424 0.199 265.638); /* --color-blue-800 */
|
|
160
|
-
}
|
|
161
|
-
}
|
package/src/css/themes/cyan.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------
|
|
2
2
|
* Cyan theme
|
|
3
3
|
*
|
|
4
|
-
* Color tokens for the cyan palette across the light (`:root`)
|
|
5
|
-
* `.dark
|
|
4
|
+
* Color tokens for the cyan palette across the light (`:root`) and
|
|
5
|
+
* `.dark` variants. Trailing comments note the source
|
|
6
6
|
* palette swatch for each value.
|
|
7
7
|
* ------------------------------------------------------------------------- */
|
|
8
8
|
|
|
@@ -111,51 +111,3 @@
|
|
|
111
111
|
--chart-4: oklch(0.61 0.11 222); /* --color-cyan-600 */
|
|
112
112
|
--chart-5: oklch(0.52 0.09 223); /* --color-cyan-700 */
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
@media (prefers-color-scheme: dark) {
|
|
116
|
-
:root:not(.light) {
|
|
117
|
-
/* System-preference dark — applied when no explicit .light is set. */
|
|
118
|
-
|
|
119
|
-
--background: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
|
|
120
|
-
--foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
121
|
-
|
|
122
|
-
--primary: oklch(0.71 0.13 215); /* --color-cyan-500 */
|
|
123
|
-
--primary-foreground: oklch(0.98 0.02 201); /* --color-cyan-50 */
|
|
124
|
-
|
|
125
|
-
--secondary: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
126
|
-
--secondary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
127
|
-
|
|
128
|
-
--destructive: oklch(0.704 0.191 22.216); /* --color-red-400 */
|
|
129
|
-
|
|
130
|
-
--muted: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
131
|
-
--muted-foreground: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
|
|
132
|
-
|
|
133
|
-
--accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
134
|
-
--accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
135
|
-
|
|
136
|
-
--popover: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
137
|
-
--popover-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
138
|
-
|
|
139
|
-
--card: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
140
|
-
--card-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
141
|
-
|
|
142
|
-
--border: oklch(1 0 0 / 10%); /* --color-white */
|
|
143
|
-
--input: oklch(1 0 0 / 15%); /* --color-white */
|
|
144
|
-
--ring: oklch(0.4 0.07 227); /* --color-cyan-900 */
|
|
145
|
-
|
|
146
|
-
--sidebar: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
147
|
-
--sidebar-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
148
|
-
--sidebar-primary: oklch(0.71 0.13 215); /* --color-cyan-500 */
|
|
149
|
-
--sidebar-primary-foreground: oklch(0.98 0.02 201); /* --color-cyan-50 */
|
|
150
|
-
--sidebar-accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
151
|
-
--sidebar-accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
152
|
-
--sidebar-border: oklch(1 0 0 / 10%); /* --color-white */
|
|
153
|
-
--sidebar-ring: oklch(0.4 0.07 227); /* --color-cyan-900 */
|
|
154
|
-
|
|
155
|
-
--chart-1: oklch(0.87 0.12 207); /* --color-cyan-300 */
|
|
156
|
-
--chart-2: oklch(0.8 0.13 212); /* --color-cyan-400 */
|
|
157
|
-
--chart-3: oklch(0.71 0.13 215); /* --color-cyan-500 */
|
|
158
|
-
--chart-4: oklch(0.61 0.11 222); /* --color-cyan-600 */
|
|
159
|
-
--chart-5: oklch(0.52 0.09 223); /* --color-cyan-700 */
|
|
160
|
-
}
|
|
161
|
-
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------
|
|
2
2
|
* Emerald theme
|
|
3
3
|
*
|
|
4
|
-
* Color tokens for the emerald palette across the light (`:root`)
|
|
5
|
-
* `.dark
|
|
4
|
+
* Color tokens for the emerald palette across the light (`:root`) and
|
|
5
|
+
* `.dark` variants. Trailing comments note the source
|
|
6
6
|
* palette swatch for each value.
|
|
7
7
|
* ------------------------------------------------------------------------- */
|
|
8
8
|
|
|
@@ -111,51 +111,3 @@
|
|
|
111
111
|
--chart-4: oklch(0.6 0.13 163); /* --color-emerald-600 */
|
|
112
112
|
--chart-5: oklch(0.51 0.1 166); /* --color-emerald-700 */
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
@media (prefers-color-scheme: dark) {
|
|
116
|
-
:root:not(.light) {
|
|
117
|
-
/* System-preference dark — applied when no explicit .light is set. */
|
|
118
|
-
|
|
119
|
-
--background: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
|
|
120
|
-
--foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
121
|
-
|
|
122
|
-
--primary: oklch(0.7 0.15 162); /* --color-emerald-500 */
|
|
123
|
-
--primary-foreground: oklch(0.98 0.02 166); /* --color-emerald-50 */
|
|
124
|
-
|
|
125
|
-
--secondary: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
126
|
-
--secondary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
127
|
-
|
|
128
|
-
--destructive: oklch(0.704 0.191 22.216); /* --color-red-400 */
|
|
129
|
-
|
|
130
|
-
--muted: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
131
|
-
--muted-foreground: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
|
|
132
|
-
|
|
133
|
-
--accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
134
|
-
--accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
135
|
-
|
|
136
|
-
--popover: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
137
|
-
--popover-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
138
|
-
|
|
139
|
-
--card: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
140
|
-
--card-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
141
|
-
|
|
142
|
-
--border: oklch(1 0 0 / 10%); /* --color-white */
|
|
143
|
-
--input: oklch(1 0 0 / 15%); /* --color-white */
|
|
144
|
-
--ring: oklch(0.38 0.07 169); /* --color-emerald-900 */
|
|
145
|
-
|
|
146
|
-
--sidebar: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
|
|
147
|
-
--sidebar-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
148
|
-
--sidebar-primary: oklch(0.7 0.15 162); /* --color-emerald-500 */
|
|
149
|
-
--sidebar-primary-foreground: oklch(0.98 0.02 166); /* --color-emerald-50 */
|
|
150
|
-
--sidebar-accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
|
|
151
|
-
--sidebar-accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
|
|
152
|
-
--sidebar-border: oklch(1 0 0 / 10%); /* --color-white */
|
|
153
|
-
--sidebar-ring: oklch(0.38 0.07 169); /* --color-emerald-900 */
|
|
154
|
-
|
|
155
|
-
--chart-1: oklch(0.85 0.13 165); /* --color-emerald-300 */
|
|
156
|
-
--chart-2: oklch(0.77 0.15 163); /* --color-emerald-400 */
|
|
157
|
-
--chart-3: oklch(0.7 0.15 162); /* --color-emerald-500 */
|
|
158
|
-
--chart-4: oklch(0.6 0.13 163); /* --color-emerald-600 */
|
|
159
|
-
--chart-5: oklch(0.51 0.1 166); /* --color-emerald-700 */
|
|
160
|
-
}
|
|
161
|
-
}
|