@hilum/ui 0.1.2 → 0.1.4
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/README.md +23 -4
- package/dist/chunk-J2QQDUF4.js +204 -0
- package/dist/chunk-J2QQDUF4.js.map +1 -0
- package/dist/create-theme.d.ts +27 -0
- package/dist/create-theme.js +172 -0
- package/dist/create-theme.js.map +1 -0
- package/dist/fonts/instrument-serif-latin-400-italic.woff2 +0 -0
- package/dist/fonts/instrument-serif-latin-400-normal.woff2 +0 -0
- package/dist/fonts/instrument-serif-latin-ext-400-italic.woff2 +0 -0
- package/dist/fonts/instrument-serif-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/dist/fonts.css +74 -0
- package/dist/index.d.ts +21 -8
- package/dist/index.js +393 -381
- package/dist/index.js.map +1 -1
- package/dist/tokens.css +59 -50
- package/dist/tokens.d.ts +46 -38
- package/dist/tokens.js +1 -191
- package/dist/tokens.js.map +1 -1
- package/llms.txt +1514 -0
- package/package.json +13 -4
- package/src/components/accordion.tsx +5 -5
- package/src/components/action-panel.tsx +6 -6
- package/src/components/activity-feed.tsx +4 -4
- package/src/components/alert-dialog.tsx +3 -3
- package/src/components/alert.tsx +4 -4
- package/src/components/avatar-stack.tsx +2 -2
- package/src/components/avatar.tsx +2 -2
- package/src/components/badge.tsx +6 -5
- package/src/components/breadcrumb.tsx +5 -5
- package/src/components/button-group.tsx +4 -4
- package/src/components/button.tsx +6 -5
- package/src/components/calendar.tsx +7 -7
- package/src/components/card-heading.tsx +3 -3
- package/src/components/card.tsx +3 -3
- package/src/components/chart.tsx +11 -11
- package/src/components/checkbox.tsx +1 -1
- package/src/components/color-input.tsx +7 -7
- package/src/components/color-picker.tsx +5 -5
- package/src/components/combobox.tsx +10 -10
- package/src/components/command-palette.tsx +11 -11
- package/src/components/command.tsx +13 -13
- package/src/components/context-menu.tsx +15 -16
- package/src/components/data-table.tsx +6 -6
- package/src/components/date-picker.tsx +9 -4
- package/src/components/description-list.tsx +8 -8
- package/src/components/dialog.tsx +3 -3
- package/src/components/drawer.tsx +5 -5
- package/src/components/dropdown-menu.tsx +15 -16
- package/src/components/empty-state.tsx +3 -3
- package/src/components/field.tsx +13 -6
- package/src/components/grid-list.tsx +12 -12
- package/src/components/hover-card.tsx +1 -1
- package/src/components/input-group.tsx +8 -8
- package/src/components/input-number.tsx +7 -7
- package/src/components/input-otp.tsx +3 -3
- package/src/components/input.tsx +5 -4
- package/src/components/kbd.tsx +1 -1
- package/src/components/label.tsx +1 -1
- package/src/components/menubar.tsx +21 -22
- package/src/components/native-select.tsx +4 -4
- package/src/components/navigation-menu.tsx +10 -10
- package/src/components/notification.tsx +10 -10
- package/src/components/page-heading.tsx +8 -8
- package/src/components/pagination.tsx +1 -1
- package/src/components/progress.tsx +1 -1
- package/src/components/property-row.tsx +1 -1
- package/src/components/radio-card.tsx +6 -6
- package/src/components/radio-group.tsx +3 -3
- package/src/components/resizable.tsx +3 -3
- package/src/components/scroll-area.tsx +1 -1
- package/src/components/section-heading.tsx +3 -3
- package/src/components/select.tsx +11 -11
- package/src/components/separator.tsx +1 -1
- package/src/components/sheet.tsx +3 -3
- package/src/components/sidebar.tsx +19 -19
- package/src/components/skeleton.tsx +1 -1
- package/src/components/slider.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/stacked-list.tsx +4 -4
- package/src/components/stat-card.tsx +6 -6
- package/src/components/steps.tsx +13 -12
- package/src/components/switch.tsx +1 -1
- package/src/components/table.tsx +9 -9
- package/src/components/tabs.tsx +2 -2
- package/src/components/textarea.tsx +4 -4
- package/src/components/toggle.tsx +8 -8
- package/src/components/tooltip.tsx +1 -1
- package/src/index.ts +3 -2
- package/src/tokens/tokens.ts +54 -40
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { tokens } from './chunk-J2QQDUF4.js';
|
|
1
2
|
import { clsx } from 'clsx';
|
|
2
3
|
import { twMerge } from 'tailwind-merge';
|
|
3
4
|
import * as React15 from 'react';
|
|
@@ -16,11 +17,10 @@ import { OTPInput, OTPInputContext } from 'input-otp';
|
|
|
16
17
|
import { Panel, Group, Separator as Separator$1 } from 'react-resizable-panels';
|
|
17
18
|
import { Toaster as Toaster$1 } from 'sonner';
|
|
18
19
|
|
|
19
|
-
// src/lib/utils.ts
|
|
20
20
|
function cn(...inputs) {
|
|
21
21
|
return twMerge(clsx(inputs));
|
|
22
22
|
}
|
|
23
|
-
var AccordionRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Accordion.Root, { ref, className: cn("divide-y divide-
|
|
23
|
+
var AccordionRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Accordion.Root, { ref, className: cn("divide-y divide-ground-100", className), ...props }));
|
|
24
24
|
AccordionRoot.displayName = "Accordion";
|
|
25
25
|
var AccordionItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Accordion.Item, { ref, className: cn("", className), ...props }));
|
|
26
26
|
AccordionItem.displayName = "AccordionItem";
|
|
@@ -30,9 +30,9 @@ var AccordionTrigger = React15.forwardRef(({ className, children, ...props }, re
|
|
|
30
30
|
ref,
|
|
31
31
|
className: cn(
|
|
32
32
|
"flex w-full items-center justify-between py-4",
|
|
33
|
-
"body font-medium text-
|
|
33
|
+
"body font-medium text-ground-900 transition-colors hover:text-ground-700",
|
|
34
34
|
"[&[data-state=open]>svg]:rotate-180",
|
|
35
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
35
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-900/15",
|
|
36
36
|
className
|
|
37
37
|
),
|
|
38
38
|
...props,
|
|
@@ -42,7 +42,7 @@ var AccordionTrigger = React15.forwardRef(({ className, children, ...props }, re
|
|
|
42
42
|
ChevronDown,
|
|
43
43
|
{
|
|
44
44
|
size: 16,
|
|
45
|
-
className: "text-
|
|
45
|
+
className: "text-ground-400 transition-transform duration-200 shrink-0"
|
|
46
46
|
}
|
|
47
47
|
)
|
|
48
48
|
]
|
|
@@ -54,7 +54,7 @@ var AccordionContent = React15.forwardRef(({ className, children, ...props }, re
|
|
|
54
54
|
{
|
|
55
55
|
ref,
|
|
56
56
|
className: cn(
|
|
57
|
-
"overflow-hidden body text-
|
|
57
|
+
"overflow-hidden body text-ground-500",
|
|
58
58
|
"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
59
59
|
className
|
|
60
60
|
),
|
|
@@ -77,11 +77,11 @@ var buttonVariants = cva(
|
|
|
77
77
|
variant: {
|
|
78
78
|
default: "bg-brand-primary text-white hover:bg-brand-primary/90 active:bg-brand-primary/80",
|
|
79
79
|
destructive: "bg-red-600 text-white hover:bg-red-700 active:bg-red-800",
|
|
80
|
-
outline: "bg-white text-
|
|
81
|
-
secondary: "bg-
|
|
82
|
-
brand: "bg-brand-secondary text-
|
|
83
|
-
ghost: "text-
|
|
84
|
-
link: "text-
|
|
80
|
+
outline: "bg-white text-ground-700 shadow-natural hover:bg-ground-50 rounded-xl",
|
|
81
|
+
secondary: "bg-ground-100 text-ground-700 hover:bg-ground-200",
|
|
82
|
+
brand: "bg-brand-secondary text-ground-900 hover:bg-brand-secondary/90 active:bg-brand-secondary/80",
|
|
83
|
+
ghost: "text-ground-600 hover:bg-ground-100 hover:text-ground-900",
|
|
84
|
+
link: "text-ground-900 underline-offset-4 hover:underline"
|
|
85
85
|
},
|
|
86
86
|
size: {
|
|
87
87
|
default: "h-9 px-4 py-2 rounded-md",
|
|
@@ -111,6 +111,7 @@ function Button({ className, variant, size, asChild = false, ...props }) {
|
|
|
111
111
|
}
|
|
112
112
|
);
|
|
113
113
|
}
|
|
114
|
+
Button.displayName = "Button";
|
|
114
115
|
function ActionPanel({
|
|
115
116
|
title,
|
|
116
117
|
description,
|
|
@@ -130,7 +131,7 @@ function ActionPanel({
|
|
|
130
131
|
"a",
|
|
131
132
|
{
|
|
132
133
|
href: link.href,
|
|
133
|
-
className: "body font-medium text-
|
|
134
|
+
className: "body font-medium text-ground-600 hover:text-ground-900 transition-colors inline-flex items-center gap-1",
|
|
134
135
|
children: [
|
|
135
136
|
link.label,
|
|
136
137
|
" ",
|
|
@@ -142,7 +143,7 @@ function ActionPanel({
|
|
|
142
143
|
{
|
|
143
144
|
type: "button",
|
|
144
145
|
onClick: link.onClick,
|
|
145
|
-
className: "body font-medium text-
|
|
146
|
+
className: "body font-medium text-ground-600 hover:text-ground-900 transition-colors inline-flex items-center gap-1",
|
|
146
147
|
children: [
|
|
147
148
|
link.label,
|
|
148
149
|
" ",
|
|
@@ -160,14 +161,14 @@ function ActionPanel({
|
|
|
160
161
|
{
|
|
161
162
|
className: cn(
|
|
162
163
|
"rounded-xl border px-5 py-5",
|
|
163
|
-
variant === "muted" ? "border-
|
|
164
|
+
variant === "muted" ? "border-ground-100 bg-ground-50" : "border-ground-100 bg-white shadow-natural",
|
|
164
165
|
layout === "inline" && "flex items-center justify-between gap-6",
|
|
165
166
|
className
|
|
166
167
|
),
|
|
167
168
|
children: [
|
|
168
169
|
/* @__PURE__ */ jsxs("div", { className: cn("min-w-0", layout === "inline" ? "flex-1" : ""), children: [
|
|
169
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
170
|
-
description && /* @__PURE__ */ jsx("p", { className: cn("body text-
|
|
170
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900", children: title }),
|
|
171
|
+
description && /* @__PURE__ */ jsx("p", { className: cn("body text-ground-400", layout === "stacked" ? "mt-1" : ""), children: description }),
|
|
171
172
|
children && layout === "stacked" && /* @__PURE__ */ jsx("div", { className: "mt-4", children })
|
|
172
173
|
] }),
|
|
173
174
|
layout === "stacked" ? (allActions.length > 0 || link) && /* @__PURE__ */ jsx("div", { className: "mt-4", children: renderActions() }) : /* @__PURE__ */ jsxs("div", { className: "shrink-0 flex items-center gap-3", children: [
|
|
@@ -185,7 +186,7 @@ function ActivityFeed({ events, className }) {
|
|
|
185
186
|
!isLast && /* @__PURE__ */ jsx(
|
|
186
187
|
"span",
|
|
187
188
|
{
|
|
188
|
-
className: "absolute top-4 left-4 -ml-px h-full w-0.5 bg-
|
|
189
|
+
className: "absolute top-4 left-4 -ml-px h-full w-0.5 bg-ground-100",
|
|
189
190
|
"aria-hidden": "true"
|
|
190
191
|
}
|
|
191
192
|
),
|
|
@@ -195,18 +196,18 @@ function ActivityFeed({ events, className }) {
|
|
|
195
196
|
{
|
|
196
197
|
className: cn(
|
|
197
198
|
"flex size-8 items-center justify-center rounded-full ring-8 ring-white",
|
|
198
|
-
event.iconBgClass ?? "bg-
|
|
199
|
+
event.iconBgClass ?? "bg-ground-100 text-ground-500"
|
|
199
200
|
),
|
|
200
201
|
children: event.icon
|
|
201
202
|
}
|
|
202
203
|
) }),
|
|
203
204
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-baseline justify-between gap-4 pt-1", children: [
|
|
204
|
-
/* @__PURE__ */ jsx("div", { className: "body text-
|
|
205
|
+
/* @__PURE__ */ jsx("div", { className: "body text-ground-600", children: event.content }),
|
|
205
206
|
event.date && /* @__PURE__ */ jsx(
|
|
206
207
|
"time",
|
|
207
208
|
{
|
|
208
209
|
dateTime: event.datetime ?? event.date,
|
|
209
|
-
className: "caption whitespace-nowrap text-
|
|
210
|
+
className: "caption whitespace-nowrap text-ground-400",
|
|
210
211
|
children: event.date
|
|
211
212
|
}
|
|
212
213
|
)
|
|
@@ -264,12 +265,12 @@ var AlertDialogTitle = React15.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
264
265
|
AlertDialog.Title,
|
|
265
266
|
{
|
|
266
267
|
ref,
|
|
267
|
-
className: cn("body-lg font-semibold text-
|
|
268
|
+
className: cn("body-lg font-semibold text-ground-900", className),
|
|
268
269
|
...props
|
|
269
270
|
}
|
|
270
271
|
));
|
|
271
272
|
AlertDialogTitle.displayName = "AlertDialogTitle";
|
|
272
|
-
var AlertDialogDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AlertDialog.Description, { ref, className: cn("body text-
|
|
273
|
+
var AlertDialogDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AlertDialog.Description, { ref, className: cn("body text-ground-500", className), ...props }));
|
|
273
274
|
AlertDialogDescription.displayName = "AlertDialogDescription";
|
|
274
275
|
var AlertDialogAction = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
275
276
|
AlertDialog.Action,
|
|
@@ -294,7 +295,7 @@ var AlertDialogCancel = React15.forwardRef(({ className, ...props }, ref) => /*
|
|
|
294
295
|
className: cn(
|
|
295
296
|
"inline-flex h-9 items-center justify-center rounded-md px-4",
|
|
296
297
|
"body font-medium whitespace-nowrap transition-all duration-150",
|
|
297
|
-
"bg-white text-
|
|
298
|
+
"bg-white text-ground-700 shadow-natural hover:bg-ground-50 rounded-xl",
|
|
298
299
|
"focus-visible:ring-2 focus-visible:ring-brand-primary/30 focus-visible:ring-offset-1 outline-none",
|
|
299
300
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
300
301
|
className
|
|
@@ -308,10 +309,10 @@ var alertVariants = cva(
|
|
|
308
309
|
{
|
|
309
310
|
variants: {
|
|
310
311
|
variant: {
|
|
311
|
-
default: "bg-
|
|
312
|
-
info: "bg-brand-secondary/40 text-
|
|
313
|
-
success: "bg-brand-secondary/15 text-
|
|
314
|
-
warning: "bg-brand-secondary/70 text-
|
|
312
|
+
default: "bg-ground-50 text-ground-800 [&>svg]:text-ground-500",
|
|
313
|
+
info: "bg-brand-secondary/40 text-ground-700 [&>svg]:text-ground-500",
|
|
314
|
+
success: "bg-brand-secondary/15 text-ground-800 [&>svg]:text-ground-600",
|
|
315
|
+
warning: "bg-brand-secondary/70 text-ground-800 [&>svg]:text-ground-600",
|
|
315
316
|
destructive: "bg-red-50 text-red-800 [&>svg]:text-red-500"
|
|
316
317
|
}
|
|
317
318
|
},
|
|
@@ -363,7 +364,7 @@ function AvatarStack({ avatars, max, size = "md", className }) {
|
|
|
363
364
|
className: cn(
|
|
364
365
|
"flex size-full items-center justify-center font-medium",
|
|
365
366
|
s.text,
|
|
366
|
-
avatar.colorClass ?? "bg-
|
|
367
|
+
avatar.colorClass ?? "bg-ground-200 text-ground-700"
|
|
367
368
|
),
|
|
368
369
|
children: avatar.fallback ?? avatar.name.slice(0, 2).toUpperCase()
|
|
369
370
|
}
|
|
@@ -375,7 +376,7 @@ function AvatarStack({ avatars, max, size = "md", className }) {
|
|
|
375
376
|
"span",
|
|
376
377
|
{
|
|
377
378
|
className: cn(
|
|
378
|
-
"relative inline-flex shrink-0 items-center justify-center rounded-full ring-white bg-
|
|
379
|
+
"relative inline-flex shrink-0 items-center justify-center rounded-full ring-white bg-ground-100 font-medium text-ground-600",
|
|
379
380
|
s.wrapper,
|
|
380
381
|
s.text
|
|
381
382
|
),
|
|
@@ -423,7 +424,7 @@ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
423
424
|
{
|
|
424
425
|
ref,
|
|
425
426
|
className: cn(
|
|
426
|
-
"flex h-full w-full items-center justify-center rounded-full bg-
|
|
427
|
+
"flex h-full w-full items-center justify-center rounded-full bg-ground-100 body font-semibold text-ground-600",
|
|
427
428
|
className
|
|
428
429
|
),
|
|
429
430
|
...props
|
|
@@ -432,7 +433,7 @@ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
432
433
|
AvatarFallback.displayName = "AvatarFallback";
|
|
433
434
|
var statusColorMap = {
|
|
434
435
|
online: "bg-brand-secondary",
|
|
435
|
-
offline: "bg-
|
|
436
|
+
offline: "bg-ground-300",
|
|
436
437
|
busy: "bg-red-500",
|
|
437
438
|
away: "bg-brand-secondary"
|
|
438
439
|
};
|
|
@@ -462,12 +463,12 @@ var badgeVariants = cva(
|
|
|
462
463
|
{
|
|
463
464
|
variants: {
|
|
464
465
|
variant: {
|
|
465
|
-
default: "bg-
|
|
466
|
-
secondary: "bg-
|
|
467
|
-
outline: "border border-
|
|
466
|
+
default: "bg-ground-900 text-white",
|
|
467
|
+
secondary: "bg-ground-100 text-ground-700",
|
|
468
|
+
outline: "border border-ground-200 text-ground-600 bg-transparent",
|
|
468
469
|
brand: "bg-brand-primary text-white",
|
|
469
|
-
success: "bg-brand-secondary/20 text-
|
|
470
|
-
warning: "bg-brand-secondary/70 text-
|
|
470
|
+
success: "bg-brand-secondary/20 text-ground-800 border border-brand-secondary/50",
|
|
471
|
+
warning: "bg-brand-secondary/70 text-ground-700 border border-brand-secondary",
|
|
471
472
|
destructive: "bg-red-50 text-red-700 border border-red-200"
|
|
472
473
|
}
|
|
473
474
|
},
|
|
@@ -479,6 +480,7 @@ var badgeVariants = cva(
|
|
|
479
480
|
function Badge({ className, variant, ...props }) {
|
|
480
481
|
return /* @__PURE__ */ jsx("span", { "data-slot": "badge", className: cn(badgeVariants({ variant, className })), ...props });
|
|
481
482
|
}
|
|
483
|
+
Badge.displayName = "Badge";
|
|
482
484
|
var Breadcrumb = React15.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
483
485
|
Breadcrumb.displayName = "Breadcrumb";
|
|
484
486
|
var BreadcrumbList = React15.forwardRef(
|
|
@@ -486,7 +488,7 @@ var BreadcrumbList = React15.forwardRef(
|
|
|
486
488
|
"ol",
|
|
487
489
|
{
|
|
488
490
|
ref,
|
|
489
|
-
className: cn("flex flex-wrap items-center gap-1.5 body text-
|
|
491
|
+
className: cn("flex flex-wrap items-center gap-1.5 body text-ground-500", className),
|
|
490
492
|
...props
|
|
491
493
|
}
|
|
492
494
|
)
|
|
@@ -497,7 +499,7 @@ var BreadcrumbItem = React15.forwardRef(
|
|
|
497
499
|
);
|
|
498
500
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
499
501
|
var BreadcrumbLink = React15.forwardRef(
|
|
500
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx("a", { ref, className: cn("transition-colors hover:text-
|
|
502
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("a", { ref, className: cn("transition-colors hover:text-ground-900", className), ...props })
|
|
501
503
|
);
|
|
502
504
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
503
505
|
var BreadcrumbPage = React15.forwardRef(
|
|
@@ -507,13 +509,13 @@ var BreadcrumbPage = React15.forwardRef(
|
|
|
507
509
|
ref,
|
|
508
510
|
role: "link",
|
|
509
511
|
"aria-current": "page",
|
|
510
|
-
className: cn("body font-medium text-
|
|
512
|
+
className: cn("body font-medium text-ground-900", className),
|
|
511
513
|
...props
|
|
512
514
|
}
|
|
513
515
|
)
|
|
514
516
|
);
|
|
515
517
|
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
516
|
-
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("text-
|
|
518
|
+
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("text-ground-300", className), ...props, children: children ?? /* @__PURE__ */ jsx(ChevronRight, { size: 14 }) });
|
|
517
519
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
518
520
|
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
519
521
|
"span",
|
|
@@ -522,7 +524,7 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
522
524
|
"aria-hidden": "true",
|
|
523
525
|
className: cn("flex size-5 items-center justify-center", className),
|
|
524
526
|
...props,
|
|
525
|
-
children: /* @__PURE__ */ jsx(MoreHorizontal, { size: 14, className: "text-
|
|
527
|
+
children: /* @__PURE__ */ jsx(MoreHorizontal, { size: 14, className: "text-ground-400" })
|
|
526
528
|
}
|
|
527
529
|
);
|
|
528
530
|
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
@@ -531,7 +533,7 @@ function ButtonGroup({ children, className }) {
|
|
|
531
533
|
"div",
|
|
532
534
|
{
|
|
533
535
|
className: cn(
|
|
534
|
-
"inline-flex divide-x divide-
|
|
536
|
+
"inline-flex divide-x divide-ground-200 overflow-hidden rounded-lg border border-ground-200 bg-white shadow-natural",
|
|
535
537
|
className
|
|
536
538
|
),
|
|
537
539
|
children
|
|
@@ -545,8 +547,8 @@ function ButtonGroupItem({ active, className, children, ...props }) {
|
|
|
545
547
|
type: "button",
|
|
546
548
|
className: cn(
|
|
547
549
|
"relative inline-flex items-center gap-1.5 px-3.5 py-2 body font-medium transition-colors",
|
|
548
|
-
"focus:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
549
|
-
active ? "bg-
|
|
550
|
+
"focus:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-400/40 focus-visible:ring-inset",
|
|
551
|
+
active ? "bg-ground-900 text-white" : "text-ground-600 hover:bg-ground-50 hover:text-ground-900",
|
|
550
552
|
className
|
|
551
553
|
),
|
|
552
554
|
...props,
|
|
@@ -564,33 +566,33 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
564
566
|
months: "flex flex-col sm:flex-row gap-4",
|
|
565
567
|
month: "flex flex-col gap-4",
|
|
566
568
|
month_caption: "flex justify-center pt-1 relative items-center px-10",
|
|
567
|
-
caption_label: "body font-semibold text-
|
|
569
|
+
caption_label: "body font-semibold text-ground-900",
|
|
568
570
|
nav: "flex items-center justify-between absolute inset-x-0 top-1",
|
|
569
571
|
button_previous: cn(
|
|
570
572
|
"absolute left-0 h-7 w-7 flex items-center justify-center rounded-md",
|
|
571
|
-
"text-
|
|
573
|
+
"text-ground-400 hover:bg-ground-100 hover:text-ground-700 transition-colors"
|
|
572
574
|
),
|
|
573
575
|
button_next: cn(
|
|
574
576
|
"absolute right-0 h-7 w-7 flex items-center justify-center rounded-md",
|
|
575
|
-
"text-
|
|
577
|
+
"text-ground-400 hover:bg-ground-100 hover:text-ground-700 transition-colors"
|
|
576
578
|
),
|
|
577
579
|
month_grid: "w-full border-collapse mt-1",
|
|
578
580
|
weekdays: "flex",
|
|
579
|
-
weekday: "w-9 h-9 flex items-center justify-center label text-
|
|
581
|
+
weekday: "w-9 h-9 flex items-center justify-center label text-ground-400 font-normal",
|
|
580
582
|
week: "flex w-full mt-1",
|
|
581
583
|
day: "relative p-0 text-center",
|
|
582
584
|
day_button: cn(
|
|
583
585
|
"h-9 w-9 flex items-center justify-center rounded-full body font-normal",
|
|
584
|
-
"text-
|
|
586
|
+
"text-ground-900 hover:bg-ground-100 transition-colors",
|
|
585
587
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30"
|
|
586
588
|
),
|
|
587
589
|
selected: "[&>button]:bg-brand-primary [&>button]:text-white [&>button]:hover:bg-brand-primary/90",
|
|
588
590
|
today: "[&>button]:font-semibold [&>button]:text-brand-primary",
|
|
589
|
-
outside: "opacity-40 [&>button]:text-
|
|
591
|
+
outside: "opacity-40 [&>button]:text-ground-400",
|
|
590
592
|
disabled: "opacity-30 [&>button]:cursor-not-allowed",
|
|
591
593
|
range_start: "[&>button]:bg-brand-primary [&>button]:text-white [&>button]:rounded-full",
|
|
592
594
|
range_end: "[&>button]:bg-brand-primary [&>button]:text-white [&>button]:rounded-full",
|
|
593
|
-
range_middle: "[&>button]:bg-brand-primary/15 [&>button]:text-
|
|
595
|
+
range_middle: "[&>button]:bg-brand-primary/15 [&>button]:text-ground-900 [&>button]:rounded-none",
|
|
594
596
|
hidden: "invisible",
|
|
595
597
|
...classNames
|
|
596
598
|
},
|
|
@@ -607,15 +609,15 @@ function CardHeading({ title, description, actions, children, className }) {
|
|
|
607
609
|
"div",
|
|
608
610
|
{
|
|
609
611
|
className: cn(
|
|
610
|
-
"flex items-start justify-between gap-4 border-b border-
|
|
612
|
+
"flex items-start justify-between gap-4 border-b border-ground-100 px-5 py-4",
|
|
611
613
|
className
|
|
612
614
|
),
|
|
613
615
|
children: [
|
|
614
616
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
615
617
|
children,
|
|
616
618
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
617
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
618
|
-
description && /* @__PURE__ */ jsx("p", { className: "caption text-
|
|
619
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900 truncate", children: title }),
|
|
620
|
+
description && /* @__PURE__ */ jsx("p", { className: "caption text-ground-400 mt-0.5", children: description })
|
|
619
621
|
] })
|
|
620
622
|
] }),
|
|
621
623
|
actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions.map(
|
|
@@ -638,7 +640,7 @@ var cardVariants = cva("rounded-xl", {
|
|
|
638
640
|
variants: {
|
|
639
641
|
variant: {
|
|
640
642
|
default: "bg-white shadow-natural",
|
|
641
|
-
muted: "bg-
|
|
643
|
+
muted: "bg-ground-50",
|
|
642
644
|
ghost: "bg-transparent"
|
|
643
645
|
}
|
|
644
646
|
},
|
|
@@ -676,7 +678,7 @@ var CardTitle = React15.forwardRef(
|
|
|
676
678
|
{
|
|
677
679
|
ref,
|
|
678
680
|
"data-slot": "card-title",
|
|
679
|
-
className: cn("subheading text-
|
|
681
|
+
className: cn("subheading text-ground-900", className),
|
|
680
682
|
...props
|
|
681
683
|
}
|
|
682
684
|
)
|
|
@@ -688,7 +690,7 @@ var CardDescription = React15.forwardRef(
|
|
|
688
690
|
{
|
|
689
691
|
ref,
|
|
690
692
|
"data-slot": "card-description",
|
|
691
|
-
className: cn("caption text-
|
|
693
|
+
className: cn("caption text-ground-500", className),
|
|
692
694
|
...props
|
|
693
695
|
}
|
|
694
696
|
)
|
|
@@ -891,18 +893,18 @@ function CarouselNext({
|
|
|
891
893
|
);
|
|
892
894
|
}
|
|
893
895
|
var CHART_COLORS = {
|
|
894
|
-
primary:
|
|
895
|
-
//
|
|
896
|
-
secondary:
|
|
897
|
-
//
|
|
898
|
-
tertiary:
|
|
899
|
-
//
|
|
900
|
-
muted:
|
|
901
|
-
//
|
|
902
|
-
subtle:
|
|
903
|
-
//
|
|
904
|
-
dark:
|
|
905
|
-
//
|
|
896
|
+
primary: tokens.brand.primary,
|
|
897
|
+
// "#C100F1" — vivid purple
|
|
898
|
+
secondary: tokens.semantic.light.success,
|
|
899
|
+
// "#CDEA19" — lime
|
|
900
|
+
tertiary: tokens.brand.secondary,
|
|
901
|
+
// "#FFF5BF" — pale lemon
|
|
902
|
+
muted: tokens.ground[400],
|
|
903
|
+
// "#a8978a"
|
|
904
|
+
subtle: tokens.ground[200],
|
|
905
|
+
// "#e3dcd4"
|
|
906
|
+
dark: tokens.ground[900]
|
|
907
|
+
// "#26181a"
|
|
906
908
|
};
|
|
907
909
|
function ChartContainer({ children, className, height = 300 }) {
|
|
908
910
|
return /* @__PURE__ */ jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children }) });
|
|
@@ -910,8 +912,8 @@ function ChartContainer({ children, className, height = 300 }) {
|
|
|
910
912
|
ChartContainer.displayName = "ChartContainer";
|
|
911
913
|
function ChartTooltip({ active, payload, label, labelClassName }) {
|
|
912
914
|
if (!active || !payload?.length) return null;
|
|
913
|
-
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-
|
|
914
|
-
label && /* @__PURE__ */ jsx("p", { className: cn("mb-1 label text-
|
|
915
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-ground-100 bg-white px-3 py-2 shadow-elevated", children: [
|
|
916
|
+
label && /* @__PURE__ */ jsx("p", { className: cn("mb-1 label text-ground-400", labelClassName), children: label }),
|
|
915
917
|
payload.map((entry, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
916
918
|
/* @__PURE__ */ jsx(
|
|
917
919
|
"span",
|
|
@@ -920,11 +922,11 @@ function ChartTooltip({ active, payload, label, labelClassName }) {
|
|
|
920
922
|
style: { backgroundColor: entry.color }
|
|
921
923
|
}
|
|
922
924
|
),
|
|
923
|
-
/* @__PURE__ */ jsxs("span", { className: "caption text-
|
|
925
|
+
/* @__PURE__ */ jsxs("span", { className: "caption text-ground-500", children: [
|
|
924
926
|
entry.name,
|
|
925
927
|
":"
|
|
926
928
|
] }),
|
|
927
|
-
/* @__PURE__ */ jsx("span", { className: "caption font-medium text-
|
|
929
|
+
/* @__PURE__ */ jsx("span", { className: "caption font-medium text-ground-900", children: entry.value })
|
|
928
930
|
] }, i))
|
|
929
931
|
] });
|
|
930
932
|
}
|
|
@@ -934,7 +936,7 @@ var CheckboxRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
934
936
|
{
|
|
935
937
|
ref,
|
|
936
938
|
className: cn(
|
|
937
|
-
"peer size-4 shrink-0 rounded border border-
|
|
939
|
+
"peer size-4 shrink-0 rounded border border-ground-300 bg-white transition-colors",
|
|
938
940
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
939
941
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
940
942
|
"data-[state=checked]:bg-brand-primary data-[state=checked]:border-brand-primary",
|
|
@@ -975,8 +977,8 @@ function ColorPicker({
|
|
|
975
977
|
disabled,
|
|
976
978
|
"aria-label": ariaLabel,
|
|
977
979
|
className: cn(
|
|
978
|
-
"inline-flex h-8 w-8 items-center justify-center rounded-md border border-
|
|
979
|
-
"transition-colors hover:border-
|
|
980
|
+
"inline-flex h-8 w-8 items-center justify-center rounded-md border border-ground-200 bg-white",
|
|
981
|
+
"transition-colors hover:border-ground-300",
|
|
980
982
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/20 focus-visible:border-brand-primary",
|
|
981
983
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
982
984
|
className
|
|
@@ -1007,11 +1009,11 @@ function ColorPicker({
|
|
|
1007
1009
|
setHex(e.target.value);
|
|
1008
1010
|
onChange(e.target.value);
|
|
1009
1011
|
},
|
|
1010
|
-
className: "h-10 w-full cursor-pointer rounded-md border border-
|
|
1012
|
+
className: "h-10 w-full cursor-pointer rounded-md border border-ground-200 bg-white p-0.5"
|
|
1011
1013
|
}
|
|
1012
1014
|
),
|
|
1013
1015
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
1014
|
-
/* @__PURE__ */ jsx("span", { className: "caption text-
|
|
1016
|
+
/* @__PURE__ */ jsx("span", { className: "caption text-ground-500", children: "Hex" }),
|
|
1015
1017
|
/* @__PURE__ */ jsx(
|
|
1016
1018
|
"input",
|
|
1017
1019
|
{
|
|
@@ -1022,7 +1024,7 @@ function ColorPicker({
|
|
|
1022
1024
|
onKeyDown: (e) => {
|
|
1023
1025
|
if (e.key === "Enter") commit(e.target.value);
|
|
1024
1026
|
},
|
|
1025
|
-
className: "flex-1 h-7 rounded-md border border-
|
|
1027
|
+
className: "flex-1 h-7 rounded-md border border-ground-200 bg-white px-2 caption text-ground-900 focus:outline-none focus:border-brand-primary"
|
|
1026
1028
|
}
|
|
1027
1029
|
)
|
|
1028
1030
|
] }),
|
|
@@ -1063,7 +1065,7 @@ function ColorInput({
|
|
|
1063
1065
|
"div",
|
|
1064
1066
|
{
|
|
1065
1067
|
className: cn(
|
|
1066
|
-
"inline-flex h-8 items-stretch gap-0 rounded-md border border-
|
|
1068
|
+
"inline-flex h-8 items-stretch gap-0 rounded-md border border-ground-200 bg-white overflow-hidden",
|
|
1067
1069
|
"focus-within:ring-2 focus-within:ring-brand-primary/20 focus-within:border-brand-primary",
|
|
1068
1070
|
disabled && "opacity-50 pointer-events-none",
|
|
1069
1071
|
className
|
|
@@ -1074,8 +1076,8 @@ function ColorInput({
|
|
|
1074
1076
|
{
|
|
1075
1077
|
value,
|
|
1076
1078
|
onChange,
|
|
1077
|
-
presets,
|
|
1078
|
-
disabled,
|
|
1079
|
+
...presets !== void 0 && { presets },
|
|
1080
|
+
...disabled !== void 0 && { disabled },
|
|
1079
1081
|
className: "h-full w-8 border-0 rounded-none focus-visible:ring-0"
|
|
1080
1082
|
}
|
|
1081
1083
|
),
|
|
@@ -1091,10 +1093,10 @@ function ColorInput({
|
|
|
1091
1093
|
commitHex("#" + e.target.value.replace(/^#/, ""));
|
|
1092
1094
|
},
|
|
1093
1095
|
spellCheck: false,
|
|
1094
|
-
className: "w-[5.5rem] caption text-
|
|
1096
|
+
className: "w-[5.5rem] caption text-ground-900 px-2 bg-transparent border-l border-ground-100 focus:outline-none uppercase"
|
|
1095
1097
|
}
|
|
1096
1098
|
),
|
|
1097
|
-
typeof opacity === "number" && onOpacityChange && /* @__PURE__ */ jsxs("div", { className: "relative flex items-center border-l border-
|
|
1099
|
+
typeof opacity === "number" && onOpacityChange && /* @__PURE__ */ jsxs("div", { className: "relative flex items-center border-l border-ground-100", children: [
|
|
1098
1100
|
/* @__PURE__ */ jsx(
|
|
1099
1101
|
"input",
|
|
1100
1102
|
{
|
|
@@ -1103,10 +1105,10 @@ function ColorInput({
|
|
|
1103
1105
|
max: 100,
|
|
1104
1106
|
value: Math.round(opacity),
|
|
1105
1107
|
onChange: (e) => onOpacityChange(Number(e.target.value)),
|
|
1106
|
-
className: "w-12 caption text-
|
|
1108
|
+
className: "w-12 caption text-ground-900 px-2 bg-transparent focus:outline-none text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
|
|
1107
1109
|
}
|
|
1108
1110
|
),
|
|
1109
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "caption-xs text-
|
|
1111
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "caption-xs text-ground-400 pr-2", children: "%" })
|
|
1110
1112
|
] })
|
|
1111
1113
|
]
|
|
1112
1114
|
}
|
|
@@ -1152,7 +1154,7 @@ function Combobox({
|
|
|
1152
1154
|
}, [open]);
|
|
1153
1155
|
return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: cn("relative", className), children: [
|
|
1154
1156
|
/* @__PURE__ */ jsxs("div", { className: "relative flex items-center", children: [
|
|
1155
|
-
selectedOption?.avatar && !open && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute left-2.5 flex size-5 items-center justify-center rounded-full bg-
|
|
1157
|
+
selectedOption?.avatar && !open && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute left-2.5 flex size-5 items-center justify-center rounded-full bg-ground-200 caption-xs font-semibold text-ground-700 shrink-0", children: selectedOption.avatar }),
|
|
1156
1158
|
selectedOption?.statusColor && !open && /* @__PURE__ */ jsx(
|
|
1157
1159
|
"div",
|
|
1158
1160
|
{
|
|
@@ -1168,9 +1170,9 @@ function Combobox({
|
|
|
1168
1170
|
role: "combobox",
|
|
1169
1171
|
"aria-expanded": open,
|
|
1170
1172
|
className: cn(
|
|
1171
|
-
"flex h-9 w-full rounded-lg border border-
|
|
1172
|
-
"placeholder:text-
|
|
1173
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
1173
|
+
"flex h-9 w-full rounded-lg border border-ground-200 bg-white pr-8 body text-ground-900",
|
|
1174
|
+
"placeholder:text-ground-400",
|
|
1175
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-400/30 focus-visible:border-ground-400",
|
|
1174
1176
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1175
1177
|
selectedOption?.avatar && !open ? "pl-8" : selectedOption?.statusColor && !open ? "pl-7" : "pl-3"
|
|
1176
1178
|
),
|
|
@@ -1191,7 +1193,7 @@ function Combobox({
|
|
|
1191
1193
|
{
|
|
1192
1194
|
type: "button",
|
|
1193
1195
|
tabIndex: -1,
|
|
1194
|
-
className: "absolute inset-y-0 right-0 flex items-center px-2 text-
|
|
1196
|
+
className: "absolute inset-y-0 right-0 flex items-center px-2 text-ground-400 hover:text-ground-700 transition-colors",
|
|
1195
1197
|
onClick: () => {
|
|
1196
1198
|
if (open) {
|
|
1197
1199
|
setOpen(false);
|
|
@@ -1205,7 +1207,7 @@ function Combobox({
|
|
|
1205
1207
|
}
|
|
1206
1208
|
)
|
|
1207
1209
|
] }),
|
|
1208
|
-
open && /* @__PURE__ */ jsx("div", { className: "absolute z-50 mt-1 w-full overflow-hidden rounded-lg border border-
|
|
1210
|
+
open && /* @__PURE__ */ jsx("div", { className: "absolute z-50 mt-1 w-full overflow-hidden rounded-lg border border-ground-200 bg-white shadow-elevated", children: /* @__PURE__ */ jsx("ul", { role: "listbox", className: "max-h-60 overflow-auto py-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx("li", { className: "px-3 py-2 body text-ground-400", children: emptyText }) : filtered.map((option) => {
|
|
1209
1211
|
const isSelected = option.value === value;
|
|
1210
1212
|
return /* @__PURE__ */ jsxs(
|
|
1211
1213
|
"li",
|
|
@@ -1214,7 +1216,7 @@ function Combobox({
|
|
|
1214
1216
|
"aria-selected": isSelected,
|
|
1215
1217
|
className: cn(
|
|
1216
1218
|
"flex cursor-pointer select-none items-center gap-2.5 px-3 py-2 body transition-colors",
|
|
1217
|
-
isSelected ? "bg-brand-primary text-white" : "text-
|
|
1219
|
+
isSelected ? "bg-brand-primary text-white" : "text-ground-900 hover:bg-ground-50"
|
|
1218
1220
|
),
|
|
1219
1221
|
onMouseDown: (e) => e.preventDefault(),
|
|
1220
1222
|
onClick: () => {
|
|
@@ -1228,7 +1230,7 @@ function Combobox({
|
|
|
1228
1230
|
{
|
|
1229
1231
|
className: cn(
|
|
1230
1232
|
"flex size-6 shrink-0 items-center justify-center rounded-full caption-xs font-semibold",
|
|
1231
|
-
isSelected ? "bg-white/20 text-white" : "bg-
|
|
1233
|
+
isSelected ? "bg-white/20 text-white" : "bg-ground-200 text-ground-700"
|
|
1232
1234
|
),
|
|
1233
1235
|
children: option.avatar
|
|
1234
1236
|
}
|
|
@@ -1247,7 +1249,7 @@ function Combobox({
|
|
|
1247
1249
|
{
|
|
1248
1250
|
className: cn(
|
|
1249
1251
|
"caption truncate",
|
|
1250
|
-
isSelected ? "text-white/70" : "text-
|
|
1252
|
+
isSelected ? "text-white/70" : "text-ground-400"
|
|
1251
1253
|
),
|
|
1252
1254
|
children: option.description
|
|
1253
1255
|
}
|
|
@@ -1295,7 +1297,7 @@ var DialogContent = React15.forwardRef(({ className, children, ...props }, ref)
|
|
|
1295
1297
|
...props,
|
|
1296
1298
|
children: [
|
|
1297
1299
|
children,
|
|
1298
|
-
/* @__PURE__ */ jsxs(Dialog.Close, { className: "absolute right-4 top-4 rounded-md p-1 text-
|
|
1300
|
+
/* @__PURE__ */ jsxs(Dialog.Close, { className: "absolute right-4 top-4 rounded-md p-1 text-ground-400 opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ground-900/20", children: [
|
|
1299
1301
|
/* @__PURE__ */ jsx(X, { size: 16 }),
|
|
1300
1302
|
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1301
1303
|
] })
|
|
@@ -1316,12 +1318,12 @@ var DialogTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1316
1318
|
Dialog.Title,
|
|
1317
1319
|
{
|
|
1318
1320
|
ref,
|
|
1319
|
-
className: cn("body-lg font-semibold text-
|
|
1321
|
+
className: cn("body-lg font-semibold text-ground-900", className),
|
|
1320
1322
|
...props
|
|
1321
1323
|
}
|
|
1322
1324
|
));
|
|
1323
1325
|
DialogTitle.displayName = "DialogTitle";
|
|
1324
|
-
var DialogDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog.Description, { ref, className: cn("body text-
|
|
1326
|
+
var DialogDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog.Description, { ref, className: cn("body text-ground-500", className), ...props }));
|
|
1325
1327
|
DialogDescription.displayName = "DialogDescription";
|
|
1326
1328
|
function CommandPalette({
|
|
1327
1329
|
open,
|
|
@@ -1357,14 +1359,14 @@ function CommandPalette({
|
|
|
1357
1359
|
onClose();
|
|
1358
1360
|
}
|
|
1359
1361
|
return /* @__PURE__ */ jsx(DialogRoot, { open, onOpenChange: (v) => !v && onClose(), children: /* @__PURE__ */ jsxs(DialogContent, { className: "gap-0 overflow-hidden p-0 sm:max-w-xl", children: [
|
|
1360
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b border-
|
|
1361
|
-
/* @__PURE__ */ jsx(Search, { size: 16, className: "shrink-0 text-
|
|
1362
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b border-ground-100 px-4", children: [
|
|
1363
|
+
/* @__PURE__ */ jsx(Search, { size: 16, className: "shrink-0 text-ground-400" }),
|
|
1362
1364
|
/* @__PURE__ */ jsx(
|
|
1363
1365
|
"input",
|
|
1364
1366
|
{
|
|
1365
1367
|
ref: inputRef,
|
|
1366
1368
|
type: "text",
|
|
1367
|
-
className: "h-12 flex-1 bg-transparent body text-
|
|
1369
|
+
className: "h-12 flex-1 bg-transparent body text-ground-900 placeholder:text-ground-400 focus:outline-none",
|
|
1368
1370
|
placeholder,
|
|
1369
1371
|
value: query,
|
|
1370
1372
|
onChange: (e) => setQuery(e.target.value),
|
|
@@ -1374,23 +1376,23 @@ function CommandPalette({
|
|
|
1374
1376
|
}
|
|
1375
1377
|
}
|
|
1376
1378
|
),
|
|
1377
|
-
/* @__PURE__ */ jsx("kbd", { className: "hidden items-center gap-0.5 sm:flex", children: /* @__PURE__ */ jsx("span", { className: "caption-xs font-medium text-
|
|
1379
|
+
/* @__PURE__ */ jsx("kbd", { className: "hidden items-center gap-0.5 sm:flex", children: /* @__PURE__ */ jsx("span", { className: "caption-xs font-medium text-ground-400 rounded border border-ground-200 px-1.5 py-0.5", children: "esc" }) })
|
|
1378
1380
|
] }),
|
|
1379
|
-
/* @__PURE__ */ jsx("div", { className: "max-h-80 overflow-y-auto", children: filtered.length === 0 ? /* @__PURE__ */ jsx("p", { className: "px-4 py-8 text-center body text-
|
|
1380
|
-
cat && /* @__PURE__ */ jsx("p", { className: "label px-4 py-2 text-
|
|
1381
|
+
/* @__PURE__ */ jsx("div", { className: "max-h-80 overflow-y-auto", children: filtered.length === 0 ? /* @__PURE__ */ jsx("p", { className: "px-4 py-8 text-center body text-ground-400", children: emptyText }) : /* @__PURE__ */ jsx("ul", { role: "list", className: "py-2", children: categories.map((cat) => /* @__PURE__ */ jsxs("li", { children: [
|
|
1382
|
+
cat && /* @__PURE__ */ jsx("p", { className: "label px-4 py-2 text-ground-400", children: cat }),
|
|
1381
1383
|
grouped[cat].map((item, i) => /* @__PURE__ */ jsxs(
|
|
1382
1384
|
"button",
|
|
1383
1385
|
{
|
|
1384
1386
|
type: "button",
|
|
1385
|
-
className: "flex w-full items-center gap-3 px-4 py-2.5 body text-left transition-colors hover:bg-
|
|
1387
|
+
className: "flex w-full items-center gap-3 px-4 py-2.5 body text-left transition-colors hover:bg-ground-50 focus-visible:bg-ground-50 focus-visible:outline-none",
|
|
1386
1388
|
onClick: () => handleSelect(item),
|
|
1387
1389
|
children: [
|
|
1388
|
-
item.icon && /* @__PURE__ */ jsx("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-lg border border-
|
|
1390
|
+
item.icon && /* @__PURE__ */ jsx("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-lg border border-ground-200 bg-white text-ground-500", children: item.icon }),
|
|
1389
1391
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
1390
|
-
/* @__PURE__ */ jsx("p", { className: "font-medium text-
|
|
1391
|
-
item.description && /* @__PURE__ */ jsx("p", { className: "caption text-
|
|
1392
|
+
/* @__PURE__ */ jsx("p", { className: "font-medium text-ground-900 truncate", children: item.label }),
|
|
1393
|
+
item.description && /* @__PURE__ */ jsx("p", { className: "caption text-ground-400 truncate", children: item.description })
|
|
1392
1394
|
] }),
|
|
1393
|
-
/* @__PURE__ */ jsx(ArrowRight, { size: 13, className: "shrink-0 text-
|
|
1395
|
+
/* @__PURE__ */ jsx(ArrowRight, { size: 13, className: "shrink-0 text-ground-300" })
|
|
1394
1396
|
]
|
|
1395
1397
|
},
|
|
1396
1398
|
item.id ?? i
|
|
@@ -1420,11 +1422,11 @@ function Command({ className, children, onSelect, ...props }) {
|
|
|
1420
1422
|
setVisibleCount(visibleIds.current.size);
|
|
1421
1423
|
}
|
|
1422
1424
|
}, []);
|
|
1423
|
-
return /* @__PURE__ */ jsx(CommandCtx.Provider, { value: { query, setQuery, onSelect, reportVisible }, children: /* @__PURE__ */ jsx(CommandVisibleCtx.Provider, { value: visibleCount, children: /* @__PURE__ */ jsx(
|
|
1425
|
+
return /* @__PURE__ */ jsx(CommandCtx.Provider, { value: { query, setQuery, ...onSelect !== void 0 && { onSelect }, reportVisible }, children: /* @__PURE__ */ jsx(CommandVisibleCtx.Provider, { value: visibleCount, children: /* @__PURE__ */ jsx(
|
|
1424
1426
|
"div",
|
|
1425
1427
|
{
|
|
1426
1428
|
className: cn(
|
|
1427
|
-
"flex flex-col overflow-hidden rounded-xl border border-
|
|
1429
|
+
"flex flex-col overflow-hidden rounded-xl border border-ground-200 bg-white",
|
|
1428
1430
|
className
|
|
1429
1431
|
),
|
|
1430
1432
|
...props,
|
|
@@ -1434,8 +1436,8 @@ function Command({ className, children, onSelect, ...props }) {
|
|
|
1434
1436
|
}
|
|
1435
1437
|
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => {
|
|
1436
1438
|
const { query, setQuery } = React15.useContext(CommandCtx);
|
|
1437
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-b border-
|
|
1438
|
-
/* @__PURE__ */ jsx(Search, { size: 14, className: "shrink-0 text-
|
|
1439
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-b border-ground-100 px-3", children: [
|
|
1440
|
+
/* @__PURE__ */ jsx(Search, { size: 14, className: "shrink-0 text-ground-400" }),
|
|
1439
1441
|
/* @__PURE__ */ jsx(
|
|
1440
1442
|
"input",
|
|
1441
1443
|
{
|
|
@@ -1445,8 +1447,8 @@ var CommandInput = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
1445
1447
|
autoCorrect: "off",
|
|
1446
1448
|
spellCheck: false,
|
|
1447
1449
|
className: cn(
|
|
1448
|
-
"flex h-10 w-full bg-transparent body text-
|
|
1449
|
-
"placeholder:text-
|
|
1450
|
+
"flex h-10 w-full bg-transparent body text-ground-900",
|
|
1451
|
+
"placeholder:text-ground-400 focus:outline-none",
|
|
1450
1452
|
className
|
|
1451
1453
|
),
|
|
1452
1454
|
value: query,
|
|
@@ -1503,7 +1505,7 @@ var CommandEmpty = React15.forwardRef(
|
|
|
1503
1505
|
"div",
|
|
1504
1506
|
{
|
|
1505
1507
|
ref,
|
|
1506
|
-
className: cn("py-6 text-center caption text-
|
|
1508
|
+
className: cn("py-6 text-center caption text-ground-400", className),
|
|
1507
1509
|
...props,
|
|
1508
1510
|
children
|
|
1509
1511
|
}
|
|
@@ -1513,7 +1515,7 @@ var CommandEmpty = React15.forwardRef(
|
|
|
1513
1515
|
CommandEmpty.displayName = "CommandEmpty";
|
|
1514
1516
|
var CommandGroup = React15.forwardRef(
|
|
1515
1517
|
({ className, heading, children, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, role: "group", className: cn("py-1", className), ...props, children: [
|
|
1516
|
-
heading && /* @__PURE__ */ jsx("p", { className: "px-3 pb-1 pt-0.5 label text-
|
|
1518
|
+
heading && /* @__PURE__ */ jsx("p", { className: "px-3 pb-1 pt-0.5 label text-ground-400", children: heading }),
|
|
1517
1519
|
children
|
|
1518
1520
|
] })
|
|
1519
1521
|
);
|
|
@@ -1545,9 +1547,9 @@ var CommandItem = React15.forwardRef(
|
|
|
1545
1547
|
tabIndex: disabled ? void 0 : 0,
|
|
1546
1548
|
className: cn(
|
|
1547
1549
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5 mx-1",
|
|
1548
|
-
"body text-
|
|
1549
|
-
"hover:bg-
|
|
1550
|
-
"focus:bg-
|
|
1550
|
+
"body text-ground-700 outline-none transition-colors",
|
|
1551
|
+
"hover:bg-ground-50 hover:text-ground-900",
|
|
1552
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
1551
1553
|
disabled && "pointer-events-none opacity-40",
|
|
1552
1554
|
className
|
|
1553
1555
|
),
|
|
@@ -1566,14 +1568,14 @@ var CommandItem = React15.forwardRef(
|
|
|
1566
1568
|
);
|
|
1567
1569
|
CommandItem.displayName = "CommandItem";
|
|
1568
1570
|
var CommandSeparator = React15.forwardRef(
|
|
1569
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("my-1 h-px bg-
|
|
1571
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("my-1 h-px bg-ground-100", className), ...props })
|
|
1570
1572
|
);
|
|
1571
1573
|
CommandSeparator.displayName = "CommandSeparator";
|
|
1572
1574
|
function CommandShortcut({ className, ...props }) {
|
|
1573
1575
|
return /* @__PURE__ */ jsx(
|
|
1574
1576
|
"span",
|
|
1575
1577
|
{
|
|
1576
|
-
className: cn("ml-auto caption text-
|
|
1578
|
+
className: cn("ml-auto caption text-ground-300 tracking-widest font-medium", className),
|
|
1577
1579
|
...props
|
|
1578
1580
|
}
|
|
1579
1581
|
);
|
|
@@ -1609,7 +1611,7 @@ var ContextMenuItem = React15.forwardRef(({ className, inset, destructive, ...pr
|
|
|
1609
1611
|
className: cn(
|
|
1610
1612
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
1611
1613
|
"body outline-none transition-colors",
|
|
1612
|
-
destructive ? "text-red-600 focus:bg-red-50 focus:text-red-700" : "text-
|
|
1614
|
+
destructive ? "text-red-600 focus:bg-red-50 focus:text-red-700" : "text-ground-700 focus:bg-ground-50 focus:text-ground-900",
|
|
1613
1615
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1614
1616
|
inset && "pl-8",
|
|
1615
1617
|
className
|
|
@@ -1618,21 +1620,20 @@ var ContextMenuItem = React15.forwardRef(({ className, inset, destructive, ...pr
|
|
|
1618
1620
|
}
|
|
1619
1621
|
));
|
|
1620
1622
|
ContextMenuItem.displayName = "ContextMenuItem";
|
|
1621
|
-
var ContextMenuCheckboxItem = React15.forwardRef(({ className, children,
|
|
1623
|
+
var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1622
1624
|
ContextMenu.CheckboxItem,
|
|
1623
1625
|
{
|
|
1624
1626
|
ref,
|
|
1625
1627
|
className: cn(
|
|
1626
1628
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
1627
|
-
"body text-
|
|
1628
|
-
"focus:bg-
|
|
1629
|
+
"body text-ground-700 outline-none transition-colors",
|
|
1630
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
1629
1631
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1630
1632
|
className
|
|
1631
1633
|
),
|
|
1632
|
-
checked,
|
|
1633
1634
|
...props,
|
|
1634
1635
|
children: [
|
|
1635
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-
|
|
1636
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-ground-900" }) }) }),
|
|
1636
1637
|
children
|
|
1637
1638
|
]
|
|
1638
1639
|
}
|
|
@@ -1644,14 +1645,14 @@ var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }
|
|
|
1644
1645
|
ref,
|
|
1645
1646
|
className: cn(
|
|
1646
1647
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
1647
|
-
"body text-
|
|
1648
|
-
"focus:bg-
|
|
1648
|
+
"body text-ground-700 outline-none transition-colors",
|
|
1649
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
1649
1650
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1650
1651
|
className
|
|
1651
1652
|
),
|
|
1652
1653
|
...props,
|
|
1653
1654
|
children: [
|
|
1654
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-
|
|
1655
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-ground-900 text-ground-900" }) }) }),
|
|
1655
1656
|
children
|
|
1656
1657
|
]
|
|
1657
1658
|
}
|
|
@@ -1661,7 +1662,7 @@ var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1661
1662
|
ContextMenu.Label,
|
|
1662
1663
|
{
|
|
1663
1664
|
ref,
|
|
1664
|
-
className: cn("px-2.5 py-1 label text-
|
|
1665
|
+
className: cn("px-2.5 py-1 label text-ground-400", inset && "pl-8", className),
|
|
1665
1666
|
...props
|
|
1666
1667
|
}
|
|
1667
1668
|
));
|
|
@@ -1670,7 +1671,7 @@ var ContextMenuSeparator = React15.forwardRef(({ className, ...props }, ref) =>
|
|
|
1670
1671
|
ContextMenu.Separator,
|
|
1671
1672
|
{
|
|
1672
1673
|
ref,
|
|
1673
|
-
className: cn("mx-1 my-1 h-px bg-
|
|
1674
|
+
className: cn("mx-1 my-1 h-px bg-ground-100", className),
|
|
1674
1675
|
...props
|
|
1675
1676
|
}
|
|
1676
1677
|
));
|
|
@@ -1681,15 +1682,15 @@ var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ..
|
|
|
1681
1682
|
ref,
|
|
1682
1683
|
className: cn(
|
|
1683
1684
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
1684
|
-
"body text-
|
|
1685
|
-
"focus:bg-
|
|
1685
|
+
"body text-ground-700 outline-none transition-colors",
|
|
1686
|
+
"focus:bg-ground-50 focus:text-ground-900 data-[state=open]:bg-ground-50",
|
|
1686
1687
|
inset && "pl-8",
|
|
1687
1688
|
className
|
|
1688
1689
|
),
|
|
1689
1690
|
...props,
|
|
1690
1691
|
children: [
|
|
1691
1692
|
children,
|
|
1692
|
-
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-
|
|
1693
|
+
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-ground-400" })
|
|
1693
1694
|
]
|
|
1694
1695
|
}
|
|
1695
1696
|
));
|
|
@@ -1699,7 +1700,7 @@ var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =>
|
|
|
1699
1700
|
{
|
|
1700
1701
|
ref,
|
|
1701
1702
|
className: cn(
|
|
1702
|
-
"z-50 min-w-[8rem] bg-white rounded-xl border border-
|
|
1703
|
+
"z-50 min-w-[8rem] bg-white rounded-xl border border-ground-100 shadow-natural p-1",
|
|
1703
1704
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
1704
1705
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1705
1706
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -1711,32 +1712,32 @@ var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =>
|
|
|
1711
1712
|
));
|
|
1712
1713
|
ContextMenuSubContent.displayName = "ContextMenuSubContent";
|
|
1713
1714
|
function ContextMenuShortcut({ className, ...props }) {
|
|
1714
|
-
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-
|
|
1715
|
+
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-ground-400", className), ...props });
|
|
1715
1716
|
}
|
|
1716
1717
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
1717
1718
|
var Table = React15.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1718
1719
|
"div",
|
|
1719
1720
|
{
|
|
1720
1721
|
className: cn(
|
|
1721
|
-
"w-full overflow-hidden rounded-xl border border-
|
|
1722
|
+
"w-full overflow-hidden rounded-xl border border-ground-100 bg-white",
|
|
1722
1723
|
containerClassName
|
|
1723
1724
|
),
|
|
1724
1725
|
children: /* @__PURE__ */ jsx(
|
|
1725
1726
|
"table",
|
|
1726
1727
|
{
|
|
1727
1728
|
ref,
|
|
1728
|
-
className: cn("min-w-full caption-bottom divide-y divide-
|
|
1729
|
+
className: cn("min-w-full caption-bottom divide-y divide-ground-200", className),
|
|
1729
1730
|
...props
|
|
1730
1731
|
}
|
|
1731
1732
|
)
|
|
1732
1733
|
}
|
|
1733
1734
|
));
|
|
1734
1735
|
Table.displayName = "Table";
|
|
1735
|
-
var TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("bg-
|
|
1736
|
+
var TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("bg-ground-50", className), ...props }));
|
|
1736
1737
|
TableHeader.displayName = "TableHeader";
|
|
1737
|
-
var TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tbody", { ref, className: cn("divide-y divide-
|
|
1738
|
+
var TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tbody", { ref, className: cn("divide-y divide-ground-100 bg-white", className), ...props }));
|
|
1738
1739
|
TableBody.displayName = "TableBody";
|
|
1739
|
-
var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tfoot", { ref, className: cn("bg-
|
|
1740
|
+
var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tfoot", { ref, className: cn("bg-ground-50 font-medium", className), ...props }));
|
|
1740
1741
|
TableFooter.displayName = "TableFooter";
|
|
1741
1742
|
var TableRow = React15.forwardRef(
|
|
1742
1743
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
@@ -1744,7 +1745,7 @@ var TableRow = React15.forwardRef(
|
|
|
1744
1745
|
{
|
|
1745
1746
|
ref,
|
|
1746
1747
|
className: cn(
|
|
1747
|
-
"transition-colors hover:bg-
|
|
1748
|
+
"transition-colors hover:bg-ground-50/50 data-[state=selected]:bg-ground-50",
|
|
1748
1749
|
className
|
|
1749
1750
|
),
|
|
1750
1751
|
...props
|
|
@@ -1757,7 +1758,7 @@ var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1757
1758
|
{
|
|
1758
1759
|
ref,
|
|
1759
1760
|
className: cn(
|
|
1760
|
-
"px-6 py-3 text-left align-middle label text-
|
|
1761
|
+
"px-6 py-3 text-left align-middle label text-ground-400",
|
|
1761
1762
|
"[&:has([role=checkbox])]:pr-0",
|
|
1762
1763
|
className
|
|
1763
1764
|
),
|
|
@@ -1770,7 +1771,7 @@ var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1770
1771
|
{
|
|
1771
1772
|
ref,
|
|
1772
1773
|
className: cn(
|
|
1773
|
-
"px-6 py-4 align-middle body text-
|
|
1774
|
+
"px-6 py-4 align-middle body text-ground-500",
|
|
1774
1775
|
"[&:has([role=checkbox])]:pr-0",
|
|
1775
1776
|
className
|
|
1776
1777
|
),
|
|
@@ -1778,7 +1779,7 @@ var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1778
1779
|
}
|
|
1779
1780
|
));
|
|
1780
1781
|
TableCell.displayName = "TableCell";
|
|
1781
|
-
var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("caption", { ref, className: cn("mt-4 caption text-
|
|
1782
|
+
var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("caption", { ref, className: cn("mt-4 caption text-ground-400", className), ...props }));
|
|
1782
1783
|
TableCaption.displayName = "TableCaption";
|
|
1783
1784
|
function Input({ className, type, ...props }) {
|
|
1784
1785
|
return /* @__PURE__ */ jsx(
|
|
@@ -1787,18 +1788,19 @@ function Input({ className, type, ...props }) {
|
|
|
1787
1788
|
type,
|
|
1788
1789
|
"data-slot": "input",
|
|
1789
1790
|
className: cn(
|
|
1790
|
-
"flex h-9 w-full rounded-md border border-
|
|
1791
|
-
"body text-
|
|
1791
|
+
"flex h-9 w-full rounded-md border border-ground-200 bg-white px-3 py-1",
|
|
1792
|
+
"body text-ground-900 placeholder:text-ground-400",
|
|
1792
1793
|
"transition-colors duration-150",
|
|
1793
1794
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/20 focus-visible:border-brand-primary",
|
|
1794
|
-
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-
|
|
1795
|
-
"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-
|
|
1795
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-ground-50",
|
|
1796
|
+
"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-ground-900",
|
|
1796
1797
|
className
|
|
1797
1798
|
),
|
|
1798
1799
|
...props
|
|
1799
1800
|
}
|
|
1800
1801
|
);
|
|
1801
1802
|
}
|
|
1803
|
+
Input.displayName = "Input";
|
|
1802
1804
|
function DataTable({
|
|
1803
1805
|
columns,
|
|
1804
1806
|
data,
|
|
@@ -1836,26 +1838,26 @@ function DataTable({
|
|
|
1836
1838
|
"button",
|
|
1837
1839
|
{
|
|
1838
1840
|
className: cn(
|
|
1839
|
-
"flex items-center gap-1 transition-colors hover:text-
|
|
1840
|
-
header.column.getIsSorted() && "text-
|
|
1841
|
+
"flex items-center gap-1 transition-colors hover:text-ground-700",
|
|
1842
|
+
header.column.getIsSorted() && "text-ground-900"
|
|
1841
1843
|
),
|
|
1842
1844
|
onClick: header.column.getToggleSortingHandler(),
|
|
1843
1845
|
children: [
|
|
1844
1846
|
flexRender(header.column.columnDef.header, header.getContext()),
|
|
1845
|
-
header.column.getIsSorted() === "asc" ? /* @__PURE__ */ jsx(ChevronUp, { size: 12, className: "text-brand-primary" }) : header.column.getIsSorted() === "desc" ? /* @__PURE__ */ jsx(ChevronDown, { size: 12, className: "text-brand-primary" }) : /* @__PURE__ */ jsx(ChevronsUpDown, { size: 12, className: "text-
|
|
1847
|
+
header.column.getIsSorted() === "asc" ? /* @__PURE__ */ jsx(ChevronUp, { size: 12, className: "text-brand-primary" }) : header.column.getIsSorted() === "desc" ? /* @__PURE__ */ jsx(ChevronDown, { size: 12, className: "text-brand-primary" }) : /* @__PURE__ */ jsx(ChevronsUpDown, { size: 12, className: "text-ground-300" })
|
|
1846
1848
|
]
|
|
1847
1849
|
}
|
|
1848
1850
|
) : flexRender(header.column.columnDef.header, header.getContext()) }, header.id)) }, headerGroup.id)) }),
|
|
1849
|
-
/* @__PURE__ */ jsx(TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, { colSpan: columns.length, className: "h-24 text-center text-
|
|
1851
|
+
/* @__PURE__ */ jsx(TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, { colSpan: columns.length, className: "h-24 text-center text-ground-400", children: "No results." }) }) })
|
|
1850
1852
|
] }),
|
|
1851
1853
|
showPagination && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1852
|
-
/* @__PURE__ */ jsxs("p", { className: "caption text-
|
|
1854
|
+
/* @__PURE__ */ jsxs("p", { className: "caption text-ground-400", children: [
|
|
1853
1855
|
table.getFilteredRowModel().rows.length,
|
|
1854
1856
|
" result",
|
|
1855
1857
|
table.getFilteredRowModel().rows.length !== 1 ? "s" : ""
|
|
1856
1858
|
] }),
|
|
1857
1859
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1858
|
-
/* @__PURE__ */ jsxs("span", { className: "caption text-
|
|
1860
|
+
/* @__PURE__ */ jsxs("span", { className: "caption text-ground-400", children: [
|
|
1859
1861
|
"Page ",
|
|
1860
1862
|
table.getState().pagination.pageIndex + 1,
|
|
1861
1863
|
" of ",
|
|
@@ -1926,17 +1928,25 @@ function DatePicker({
|
|
|
1926
1928
|
variant: "outline",
|
|
1927
1929
|
className: cn(
|
|
1928
1930
|
"w-[240px] justify-start gap-2 text-left font-normal",
|
|
1929
|
-
!value && "text-
|
|
1931
|
+
!value && "text-ground-400",
|
|
1930
1932
|
className
|
|
1931
1933
|
),
|
|
1932
1934
|
disabled,
|
|
1933
1935
|
children: [
|
|
1934
|
-
/* @__PURE__ */ jsx(CalendarIcon, { size: 14, className: "text-
|
|
1936
|
+
/* @__PURE__ */ jsx(CalendarIcon, { size: 14, className: "text-ground-400 shrink-0" }),
|
|
1935
1937
|
value ? formatDate(value) : /* @__PURE__ */ jsx("span", { children: placeholder })
|
|
1936
1938
|
]
|
|
1937
1939
|
}
|
|
1938
1940
|
) }),
|
|
1939
|
-
/* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0 shadow-elevated", align: "start", children: /* @__PURE__ */ jsx(
|
|
1941
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0 shadow-elevated", align: "start", children: /* @__PURE__ */ jsx(
|
|
1942
|
+
Calendar,
|
|
1943
|
+
{
|
|
1944
|
+
mode: "single",
|
|
1945
|
+
...value !== void 0 && { selected: value },
|
|
1946
|
+
...onChange !== void 0 && { onSelect: onChange },
|
|
1947
|
+
autoFocus: true
|
|
1948
|
+
}
|
|
1949
|
+
) })
|
|
1940
1950
|
] });
|
|
1941
1951
|
}
|
|
1942
1952
|
DatePicker.displayName = "DatePicker";
|
|
@@ -1950,21 +1960,21 @@ function DescriptionList({
|
|
|
1950
1960
|
}) {
|
|
1951
1961
|
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
1952
1962
|
(title || description) && /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
1953
|
-
title && /* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
1954
|
-
description && /* @__PURE__ */ jsx("p", { className: "mt-1 caption text-
|
|
1963
|
+
title && /* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900", children: title }),
|
|
1964
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-1 caption text-ground-400", children: description })
|
|
1955
1965
|
] }),
|
|
1956
|
-
/* @__PURE__ */ jsx("dl", { className: cn("border-t border-
|
|
1966
|
+
/* @__PURE__ */ jsx("dl", { className: cn("border-t border-ground-100", columns === 2 && "sm:grid sm:grid-cols-2"), children: items.map((item, i) => /* @__PURE__ */ jsxs(
|
|
1957
1967
|
"div",
|
|
1958
1968
|
{
|
|
1959
1969
|
className: cn(
|
|
1960
1970
|
"py-3.5",
|
|
1961
|
-
columns === 1 ? "grid grid-cols-3 gap-4 items-baseline" : "flex flex-col gap-1 border-b border-
|
|
1962
|
-
columns === 1 && i !== items.length - 1 && "border-b border-
|
|
1963
|
-
striped && i % 2 === 0 && "bg-
|
|
1971
|
+
columns === 1 ? "grid grid-cols-3 gap-4 items-baseline" : "flex flex-col gap-1 border-b border-ground-100",
|
|
1972
|
+
columns === 1 && i !== items.length - 1 && "border-b border-ground-100",
|
|
1973
|
+
striped && i % 2 === 0 && "bg-ground-50 -mx-4 px-4 rounded"
|
|
1964
1974
|
),
|
|
1965
1975
|
children: [
|
|
1966
|
-
/* @__PURE__ */ jsx("dt", { className: "caption font-semibold text-
|
|
1967
|
-
/* @__PURE__ */ jsx("dd", { className: cn("body text-
|
|
1976
|
+
/* @__PURE__ */ jsx("dt", { className: "caption font-semibold text-ground-500 uppercase tracking-wide", children: item.term }),
|
|
1977
|
+
/* @__PURE__ */ jsx("dd", { className: cn("body text-ground-900", columns === 1 ? "col-span-2" : ""), children: item.action ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1968
1978
|
/* @__PURE__ */ jsx("span", { children: item.details }),
|
|
1969
1979
|
item.action
|
|
1970
1980
|
] }) : item.details })
|
|
@@ -1982,7 +1992,7 @@ var DrawerOverlay = React15.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1982
1992
|
Drawer.Overlay,
|
|
1983
1993
|
{
|
|
1984
1994
|
ref,
|
|
1985
|
-
className: cn("fixed inset-0 z-50 bg-
|
|
1995
|
+
className: cn("fixed inset-0 z-50 bg-ground-950/40 backdrop-blur-[1px]", className),
|
|
1986
1996
|
...props
|
|
1987
1997
|
}
|
|
1988
1998
|
));
|
|
@@ -1994,12 +2004,12 @@ var DrawerContent = React15.forwardRef(({ className, children, ...props }, ref)
|
|
|
1994
2004
|
{
|
|
1995
2005
|
ref,
|
|
1996
2006
|
className: cn(
|
|
1997
|
-
"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-2xl border border-
|
|
2007
|
+
"fixed inset-x-0 bottom-0 z-50 flex flex-col rounded-t-2xl border border-ground-100 bg-white",
|
|
1998
2008
|
className
|
|
1999
2009
|
),
|
|
2000
2010
|
...props,
|
|
2001
2011
|
children: [
|
|
2002
|
-
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-1 w-12 rounded-full bg-
|
|
2012
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-1 w-12 rounded-full bg-ground-200" }),
|
|
2003
2013
|
children
|
|
2004
2014
|
]
|
|
2005
2015
|
}
|
|
@@ -2014,7 +2024,7 @@ var DrawerTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2014
2024
|
Drawer.Title,
|
|
2015
2025
|
{
|
|
2016
2026
|
ref,
|
|
2017
|
-
className: cn("subheading text-
|
|
2027
|
+
className: cn("subheading text-ground-900", className),
|
|
2018
2028
|
...props
|
|
2019
2029
|
}
|
|
2020
2030
|
));
|
|
@@ -2023,7 +2033,7 @@ var DrawerDescription = React15.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2023
2033
|
Drawer.Description,
|
|
2024
2034
|
{
|
|
2025
2035
|
ref,
|
|
2026
|
-
className: cn("body text-
|
|
2036
|
+
className: cn("body text-ground-500", className),
|
|
2027
2037
|
...props
|
|
2028
2038
|
}
|
|
2029
2039
|
));
|
|
@@ -2059,7 +2069,7 @@ var DropdownMenuItem = React15.forwardRef(({ className, inset, destructive, ...p
|
|
|
2059
2069
|
className: cn(
|
|
2060
2070
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
2061
2071
|
"body outline-none transition-colors",
|
|
2062
|
-
destructive ? "text-red-600 focus:bg-red-50 focus:text-red-700" : "text-
|
|
2072
|
+
destructive ? "text-red-600 focus:bg-red-50 focus:text-red-700" : "text-ground-700 focus:bg-ground-50 focus:text-ground-900",
|
|
2063
2073
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2064
2074
|
inset && "pl-8",
|
|
2065
2075
|
className
|
|
@@ -2068,21 +2078,20 @@ var DropdownMenuItem = React15.forwardRef(({ className, inset, destructive, ...p
|
|
|
2068
2078
|
}
|
|
2069
2079
|
));
|
|
2070
2080
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
2071
|
-
var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children,
|
|
2081
|
+
var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2072
2082
|
DropdownMenu.CheckboxItem,
|
|
2073
2083
|
{
|
|
2074
2084
|
ref,
|
|
2075
2085
|
className: cn(
|
|
2076
2086
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
2077
|
-
"body text-
|
|
2078
|
-
"focus:bg-
|
|
2087
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2088
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
2079
2089
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2080
2090
|
className
|
|
2081
2091
|
),
|
|
2082
|
-
checked,
|
|
2083
2092
|
...props,
|
|
2084
2093
|
children: [
|
|
2085
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-
|
|
2094
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-ground-900" }) }) }),
|
|
2086
2095
|
children
|
|
2087
2096
|
]
|
|
2088
2097
|
}
|
|
@@ -2094,14 +2103,14 @@ var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props
|
|
|
2094
2103
|
ref,
|
|
2095
2104
|
className: cn(
|
|
2096
2105
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
2097
|
-
"body text-
|
|
2098
|
-
"focus:bg-
|
|
2106
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2107
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
2099
2108
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2100
2109
|
className
|
|
2101
2110
|
),
|
|
2102
2111
|
...props,
|
|
2103
2112
|
children: [
|
|
2104
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-
|
|
2113
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-ground-900 text-ground-900" }) }) }),
|
|
2105
2114
|
children
|
|
2106
2115
|
]
|
|
2107
2116
|
}
|
|
@@ -2111,7 +2120,7 @@ var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2111
2120
|
DropdownMenu.Label,
|
|
2112
2121
|
{
|
|
2113
2122
|
ref,
|
|
2114
|
-
className: cn("px-2.5 py-1 label text-
|
|
2123
|
+
className: cn("px-2.5 py-1 label text-ground-400", inset && "pl-8", className),
|
|
2115
2124
|
...props
|
|
2116
2125
|
}
|
|
2117
2126
|
));
|
|
@@ -2120,7 +2129,7 @@ var DropdownMenuSeparator = React15.forwardRef(({ className, ...props }, ref) =>
|
|
|
2120
2129
|
DropdownMenu.Separator,
|
|
2121
2130
|
{
|
|
2122
2131
|
ref,
|
|
2123
|
-
className: cn("mx-1 my-1 h-px bg-
|
|
2132
|
+
className: cn("mx-1 my-1 h-px bg-ground-100", className),
|
|
2124
2133
|
...props
|
|
2125
2134
|
}
|
|
2126
2135
|
));
|
|
@@ -2131,15 +2140,15 @@ var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, .
|
|
|
2131
2140
|
ref,
|
|
2132
2141
|
className: cn(
|
|
2133
2142
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
2134
|
-
"body text-
|
|
2135
|
-
"focus:bg-
|
|
2143
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2144
|
+
"focus:bg-ground-50 focus:text-ground-900 data-[state=open]:bg-ground-50",
|
|
2136
2145
|
inset && "pl-8",
|
|
2137
2146
|
className
|
|
2138
2147
|
),
|
|
2139
2148
|
...props,
|
|
2140
2149
|
children: [
|
|
2141
2150
|
children,
|
|
2142
|
-
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-
|
|
2151
|
+
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-ground-400" })
|
|
2143
2152
|
]
|
|
2144
2153
|
}
|
|
2145
2154
|
));
|
|
@@ -2149,7 +2158,7 @@ var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =
|
|
|
2149
2158
|
{
|
|
2150
2159
|
ref,
|
|
2151
2160
|
className: cn(
|
|
2152
|
-
"z-50 min-w-[8rem] bg-white rounded-xl border border-
|
|
2161
|
+
"z-50 min-w-[8rem] bg-white rounded-xl border border-ground-100 shadow-natural p-1",
|
|
2153
2162
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2154
2163
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2155
2164
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -2161,15 +2170,15 @@ var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =
|
|
|
2161
2170
|
));
|
|
2162
2171
|
DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
|
|
2163
2172
|
function DropdownMenuShortcut({ className, ...props }) {
|
|
2164
|
-
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-
|
|
2173
|
+
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-ground-400", className), ...props });
|
|
2165
2174
|
}
|
|
2166
2175
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2167
2176
|
function EmptyState({ icon, title, description, action, className }) {
|
|
2168
2177
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-4 px-6 py-14 text-center", className), children: [
|
|
2169
|
-
icon && /* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-xl bg-brand-secondary/20 text-
|
|
2178
|
+
icon && /* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-xl bg-brand-secondary/20 text-ground-700", children: icon }),
|
|
2170
2179
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
2171
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
2172
|
-
description && /* @__PURE__ */ jsx("p", { className: "body max-w-xs text-
|
|
2180
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900", children: title }),
|
|
2181
|
+
description && /* @__PURE__ */ jsx("p", { className: "body max-w-xs text-ground-400", children: description })
|
|
2173
2182
|
] }),
|
|
2174
2183
|
action && (action.href ? /* @__PURE__ */ jsx(Button, { size: "sm", asChild: true, children: /* @__PURE__ */ jsx("a", { href: action.href, children: action.label }) }) : /* @__PURE__ */ jsx(Button, { size: "sm", onClick: action.onClick, children: action.label }))
|
|
2175
2184
|
] });
|
|
@@ -2179,7 +2188,7 @@ var Label = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
2179
2188
|
{
|
|
2180
2189
|
ref,
|
|
2181
2190
|
className: cn(
|
|
2182
|
-
"body font-medium leading-none text-
|
|
2191
|
+
"body font-medium leading-none text-ground-700",
|
|
2183
2192
|
"peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
2184
2193
|
className
|
|
2185
2194
|
),
|
|
@@ -2195,20 +2204,23 @@ function Field({
|
|
|
2195
2204
|
required,
|
|
2196
2205
|
cornerHint,
|
|
2197
2206
|
className,
|
|
2198
|
-
children
|
|
2207
|
+
children,
|
|
2208
|
+
ref
|
|
2199
2209
|
}) {
|
|
2200
|
-
|
|
2210
|
+
const descriptionId = htmlFor ? `${htmlFor}-description` : void 0;
|
|
2211
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-1.5", className), children: [
|
|
2201
2212
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2202
|
-
/* @__PURE__ */ jsxs(Label, { htmlFor, children: [
|
|
2213
|
+
/* @__PURE__ */ jsxs(Label, { htmlFor, "aria-required": required, children: [
|
|
2203
2214
|
label,
|
|
2204
|
-
required && /* @__PURE__ */ jsx("span", { className: "ml-0.5 text-red-600", children: "*" })
|
|
2215
|
+
required && /* @__PURE__ */ jsx("span", { className: "ml-0.5 text-red-600", "aria-hidden": "true", children: "*" })
|
|
2205
2216
|
] }),
|
|
2206
|
-
cornerHint && /* @__PURE__ */ jsx("span", { className: "caption text-
|
|
2217
|
+
cornerHint && /* @__PURE__ */ jsx("span", { className: "caption text-ground-400", children: cornerHint })
|
|
2207
2218
|
] }),
|
|
2208
2219
|
children,
|
|
2209
|
-
error ? /* @__PURE__ */ jsx("p", { className: "caption text-red-600", children: error }) : hint ? /* @__PURE__ */ jsx("p", { className: "caption text-
|
|
2220
|
+
error ? /* @__PURE__ */ jsx("p", { id: descriptionId, role: "alert", className: "caption text-red-600", children: error }) : hint ? /* @__PURE__ */ jsx("p", { id: descriptionId, className: "caption text-ground-400", children: hint }) : null
|
|
2210
2221
|
] });
|
|
2211
2222
|
}
|
|
2223
|
+
Field.displayName = "Field";
|
|
2212
2224
|
var colMap = {
|
|
2213
2225
|
2: "grid-cols-1 sm:grid-cols-2",
|
|
2214
2226
|
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
@@ -2235,17 +2247,17 @@ function GridListCard({
|
|
|
2235
2247
|
"div",
|
|
2236
2248
|
{
|
|
2237
2249
|
className: cn(
|
|
2238
|
-
"flex h-full flex-col gap-1 rounded-xl border border-
|
|
2250
|
+
"flex h-full flex-col gap-1 rounded-xl border border-ground-100 bg-white p-4 shadow-natural transition-shadow",
|
|
2239
2251
|
href && "hover:shadow-elevated",
|
|
2240
2252
|
className
|
|
2241
2253
|
),
|
|
2242
2254
|
children: [
|
|
2243
2255
|
accent && /* @__PURE__ */ jsx("div", { className: "mb-2", children: accent }),
|
|
2244
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
2245
|
-
description && /* @__PURE__ */ jsx("p", { className: "caption text-
|
|
2256
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900", children: title }),
|
|
2257
|
+
description && /* @__PURE__ */ jsx("p", { className: "caption text-ground-400", children: description }),
|
|
2246
2258
|
(meta || trailing) && /* @__PURE__ */ jsxs("div", { className: "mt-auto flex items-center justify-between pt-3", children: [
|
|
2247
|
-
meta && /* @__PURE__ */ jsx("span", { className: "caption text-
|
|
2248
|
-
trailing && /* @__PURE__ */ jsx("span", { className: "caption text-
|
|
2259
|
+
meta && /* @__PURE__ */ jsx("span", { className: "caption text-ground-400", children: meta }),
|
|
2260
|
+
trailing && /* @__PURE__ */ jsx("span", { className: "caption text-ground-400", children: trailing })
|
|
2249
2261
|
] })
|
|
2250
2262
|
]
|
|
2251
2263
|
}
|
|
@@ -2254,7 +2266,7 @@ function GridListCard({
|
|
|
2254
2266
|
"a",
|
|
2255
2267
|
{
|
|
2256
2268
|
href,
|
|
2257
|
-
className: "block h-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
2269
|
+
className: "block h-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-400/40 rounded-xl",
|
|
2258
2270
|
children: inner
|
|
2259
2271
|
}
|
|
2260
2272
|
) : inner });
|
|
@@ -2263,7 +2275,7 @@ function GridListAccentCard({
|
|
|
2263
2275
|
title,
|
|
2264
2276
|
meta,
|
|
2265
2277
|
href,
|
|
2266
|
-
accentClass = "bg-
|
|
2278
|
+
accentClass = "bg-ground-900",
|
|
2267
2279
|
initials,
|
|
2268
2280
|
trailing,
|
|
2269
2281
|
className
|
|
@@ -2272,7 +2284,7 @@ function GridListAccentCard({
|
|
|
2272
2284
|
"div",
|
|
2273
2285
|
{
|
|
2274
2286
|
className: cn(
|
|
2275
|
-
"flex overflow-hidden rounded-xl border border-
|
|
2287
|
+
"flex overflow-hidden rounded-xl border border-ground-100 bg-white shadow-natural transition-shadow",
|
|
2276
2288
|
href && "hover:shadow-elevated",
|
|
2277
2289
|
className
|
|
2278
2290
|
),
|
|
@@ -2287,10 +2299,10 @@ function GridListAccentCard({
|
|
|
2287
2299
|
children: initials
|
|
2288
2300
|
}
|
|
2289
2301
|
),
|
|
2290
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center justify-between truncate border-l border-
|
|
2302
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center justify-between truncate border-l border-ground-100 px-4 py-3", children: [
|
|
2291
2303
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
2292
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
2293
|
-
meta && /* @__PURE__ */ jsx("p", { className: "caption text-
|
|
2304
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900 truncate", children: title }),
|
|
2305
|
+
meta && /* @__PURE__ */ jsx("p", { className: "caption text-ground-400", children: meta })
|
|
2294
2306
|
] }),
|
|
2295
2307
|
trailing && /* @__PURE__ */ jsx("div", { className: "shrink-0 pl-2", children: trailing })
|
|
2296
2308
|
] })
|
|
@@ -2301,7 +2313,7 @@ function GridListAccentCard({
|
|
|
2301
2313
|
"a",
|
|
2302
2314
|
{
|
|
2303
2315
|
href,
|
|
2304
|
-
className: "block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
2316
|
+
className: "block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-400/40 rounded-xl",
|
|
2305
2317
|
children: inner
|
|
2306
2318
|
}
|
|
2307
2319
|
) : inner });
|
|
@@ -2315,7 +2327,7 @@ var HoverCardContent = React15.forwardRef(({ className, align = "center", sideOf
|
|
|
2315
2327
|
align,
|
|
2316
2328
|
sideOffset,
|
|
2317
2329
|
className: cn(
|
|
2318
|
-
"z-50 w-64 rounded-xl border border-
|
|
2330
|
+
"z-50 w-64 rounded-xl border border-ground-100 bg-white p-4 shadow-elevated outline-none",
|
|
2319
2331
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2320
2332
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2321
2333
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -2344,9 +2356,9 @@ var InputGroup = React15.forwardRef(
|
|
|
2344
2356
|
const hasLeading = leadingAddon || leadingIcon;
|
|
2345
2357
|
const hasTrailing = trailingAddon || trailingIcon || trailingButton || error;
|
|
2346
2358
|
const baseInput = cn(
|
|
2347
|
-
"flex h-9 w-full border bg-white body text-
|
|
2359
|
+
"flex h-9 w-full border bg-white body text-ground-900 placeholder:text-ground-400",
|
|
2348
2360
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:disabled:cursor-not-allowed disabled:opacity-50",
|
|
2349
|
-
error ? "border-red-400 focus-visible:ring-red-200 focus-visible:border-red-500" : "border-
|
|
2361
|
+
error ? "border-red-400 focus-visible:ring-red-200 focus-visible:border-red-500" : "border-ground-200 focus-visible:ring-brand-primary/20 focus-visible:border-brand-primary"
|
|
2350
2362
|
);
|
|
2351
2363
|
if (!hasLeading && !hasTrailing) {
|
|
2352
2364
|
return /* @__PURE__ */ jsx("input", { ref, className: cn(baseInput, radius, "px-3", className), ...props });
|
|
@@ -2356,15 +2368,15 @@ var InputGroup = React15.forwardRef(
|
|
|
2356
2368
|
"span",
|
|
2357
2369
|
{
|
|
2358
2370
|
className: cn(
|
|
2359
|
-
"inline-flex items-center border border-r-0 bg-
|
|
2360
|
-
error ? "border-red-400" : "border-
|
|
2371
|
+
"inline-flex items-center border border-r-0 bg-ground-50 px-3 body text-ground-500 select-none",
|
|
2372
|
+
error ? "border-red-400" : "border-ground-200",
|
|
2361
2373
|
pill ? "rounded-l-full" : "rounded-l-lg"
|
|
2362
2374
|
),
|
|
2363
2375
|
children: leadingAddon
|
|
2364
2376
|
}
|
|
2365
2377
|
),
|
|
2366
2378
|
/* @__PURE__ */ jsxs("div", { className: "relative flex-1", children: [
|
|
2367
|
-
leadingIcon && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-
|
|
2379
|
+
leadingIcon && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-ground-400", children: leadingIcon }),
|
|
2368
2380
|
/* @__PURE__ */ jsx(
|
|
2369
2381
|
"input",
|
|
2370
2382
|
{
|
|
@@ -2378,14 +2390,14 @@ var InputGroup = React15.forwardRef(
|
|
|
2378
2390
|
...props
|
|
2379
2391
|
}
|
|
2380
2392
|
),
|
|
2381
|
-
(trailingIcon || error) && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3", children: error ? /* @__PURE__ */ jsx(AlertCircle, { size: 15, className: "text-red-500" }) : /* @__PURE__ */ jsx("span", { className: "text-
|
|
2393
|
+
(trailingIcon || error) && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3", children: error ? /* @__PURE__ */ jsx(AlertCircle, { size: 15, className: "text-red-500" }) : /* @__PURE__ */ jsx("span", { className: "text-ground-400", children: trailingIcon }) })
|
|
2382
2394
|
] }),
|
|
2383
2395
|
trailingAddon && /* @__PURE__ */ jsx(
|
|
2384
2396
|
"span",
|
|
2385
2397
|
{
|
|
2386
2398
|
className: cn(
|
|
2387
|
-
"inline-flex items-center border border-l-0 bg-
|
|
2388
|
-
error ? "border-red-400" : "border-
|
|
2399
|
+
"inline-flex items-center border border-l-0 bg-ground-50 px-3 body text-ground-500 select-none",
|
|
2400
|
+
error ? "border-red-400" : "border-ground-200",
|
|
2389
2401
|
pill ? "rounded-r-full" : "rounded-r-lg"
|
|
2390
2402
|
),
|
|
2391
2403
|
children: trailingAddon
|
|
@@ -2445,7 +2457,7 @@ var InputNumber = React15.forwardRef(
|
|
|
2445
2457
|
"div",
|
|
2446
2458
|
{
|
|
2447
2459
|
className: cn(
|
|
2448
|
-
"inline-flex h-8 items-stretch rounded-md border border-
|
|
2460
|
+
"inline-flex h-8 items-stretch rounded-md border border-ground-200 bg-white overflow-hidden",
|
|
2449
2461
|
"focus-within:ring-2 focus-within:ring-brand-primary/20 focus-within:border-brand-primary",
|
|
2450
2462
|
disabled && "opacity-50 pointer-events-none",
|
|
2451
2463
|
className
|
|
@@ -2463,12 +2475,12 @@ var InputNumber = React15.forwardRef(
|
|
|
2463
2475
|
onBlur: (e) => commit(e.target.value),
|
|
2464
2476
|
onKeyDown,
|
|
2465
2477
|
disabled,
|
|
2466
|
-
className: "w-full caption text-
|
|
2478
|
+
className: "w-full caption text-ground-900 px-2 bg-transparent focus:outline-none [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none text-right",
|
|
2467
2479
|
...rest
|
|
2468
2480
|
}
|
|
2469
2481
|
),
|
|
2470
|
-
unit && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "caption-xs text-
|
|
2471
|
-
!hideSteppers && /* @__PURE__ */ jsxs("div", { className: "flex flex-col border-l border-
|
|
2482
|
+
unit && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "caption-xs text-ground-400 self-center pr-1.5 select-none", children: unit }),
|
|
2483
|
+
!hideSteppers && /* @__PURE__ */ jsxs("div", { className: "flex flex-col border-l border-ground-100", children: [
|
|
2472
2484
|
/* @__PURE__ */ jsx(
|
|
2473
2485
|
"button",
|
|
2474
2486
|
{
|
|
@@ -2476,11 +2488,11 @@ var InputNumber = React15.forwardRef(
|
|
|
2476
2488
|
tabIndex: -1,
|
|
2477
2489
|
onClick: () => bump(step),
|
|
2478
2490
|
"aria-label": "Increment",
|
|
2479
|
-
className: "flex-1 px-1 hover:bg-
|
|
2491
|
+
className: "flex-1 px-1 hover:bg-ground-50 active:bg-ground-100 transition-colors text-ground-500",
|
|
2480
2492
|
children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 8 5", width: "8", height: "5", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M0 5 L4 0 L8 5 Z" }) })
|
|
2481
2493
|
}
|
|
2482
2494
|
),
|
|
2483
|
-
/* @__PURE__ */ jsx("div", { className: "border-t border-
|
|
2495
|
+
/* @__PURE__ */ jsx("div", { className: "border-t border-ground-100" }),
|
|
2484
2496
|
/* @__PURE__ */ jsx(
|
|
2485
2497
|
"button",
|
|
2486
2498
|
{
|
|
@@ -2488,7 +2500,7 @@ var InputNumber = React15.forwardRef(
|
|
|
2488
2500
|
tabIndex: -1,
|
|
2489
2501
|
onClick: () => bump(-step),
|
|
2490
2502
|
"aria-label": "Decrement",
|
|
2491
|
-
className: "flex-1 px-1 hover:bg-
|
|
2503
|
+
className: "flex-1 px-1 hover:bg-ground-50 active:bg-ground-100 transition-colors text-ground-500",
|
|
2492
2504
|
children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 8 5", width: "8", height: "5", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M0 0 L4 5 L8 0 Z" }) })
|
|
2493
2505
|
}
|
|
2494
2506
|
)
|
|
@@ -2522,7 +2534,7 @@ var InputOTPSlot = React15.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
2522
2534
|
ref,
|
|
2523
2535
|
className: cn(
|
|
2524
2536
|
"relative flex h-12 w-11 items-center justify-center",
|
|
2525
|
-
"border-y border-r border-
|
|
2537
|
+
"border-y border-r border-ground-200 body font-medium text-ground-900",
|
|
2526
2538
|
"first:rounded-l-xl first:border-l last:rounded-r-xl",
|
|
2527
2539
|
"transition-all",
|
|
2528
2540
|
isActive && "z-10 ring-2 ring-brand-primary/40 border-brand-primary",
|
|
@@ -2531,14 +2543,14 @@ var InputOTPSlot = React15.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
2531
2543
|
...props,
|
|
2532
2544
|
children: [
|
|
2533
2545
|
char,
|
|
2534
|
-
hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-px animate-caret-blink bg-
|
|
2546
|
+
hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-px animate-caret-blink bg-ground-900 duration-1000" }) })
|
|
2535
2547
|
]
|
|
2536
2548
|
}
|
|
2537
2549
|
);
|
|
2538
2550
|
});
|
|
2539
2551
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
2540
2552
|
var InputOTPSeparator = React15.forwardRef(
|
|
2541
|
-
({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(Minus, { size: 14, className: "text-
|
|
2553
|
+
({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(Minus, { size: 14, className: "text-ground-300" }) })
|
|
2542
2554
|
);
|
|
2543
2555
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
2544
2556
|
var Kbd = React15.forwardRef(
|
|
@@ -2547,7 +2559,7 @@ var Kbd = React15.forwardRef(
|
|
|
2547
2559
|
{
|
|
2548
2560
|
ref,
|
|
2549
2561
|
className: cn(
|
|
2550
|
-
"inline-flex h-5 min-w-5 items-center justify-center rounded border border-
|
|
2562
|
+
"inline-flex h-5 min-w-5 items-center justify-center rounded border border-ground-200 bg-ground-50 px-1.5 font-mono caption-xs font-medium text-ground-500",
|
|
2551
2563
|
className
|
|
2552
2564
|
),
|
|
2553
2565
|
...props
|
|
@@ -2595,7 +2607,7 @@ var MenubarRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2595
2607
|
{
|
|
2596
2608
|
ref,
|
|
2597
2609
|
className: cn(
|
|
2598
|
-
"flex h-9 items-center gap-0.5 rounded-lg border border-
|
|
2610
|
+
"flex h-9 items-center gap-0.5 rounded-lg border border-ground-100 bg-white px-1",
|
|
2599
2611
|
className
|
|
2600
2612
|
),
|
|
2601
2613
|
...props
|
|
@@ -2611,10 +2623,10 @@ var MenubarTrigger = React15.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
2611
2623
|
{
|
|
2612
2624
|
ref,
|
|
2613
2625
|
className: cn(
|
|
2614
|
-
"flex cursor-default items-center rounded-md px-3 py-1 body font-medium text-
|
|
2615
|
-
"hover:bg-
|
|
2616
|
-
"data-[state=open]:bg-
|
|
2617
|
-
"focus:bg-
|
|
2626
|
+
"flex cursor-default items-center rounded-md px-3 py-1 body font-medium text-ground-700 select-none outline-none",
|
|
2627
|
+
"hover:bg-ground-50",
|
|
2628
|
+
"data-[state=open]:bg-ground-100 data-[state=open]:text-ground-900",
|
|
2629
|
+
"focus:bg-ground-50",
|
|
2618
2630
|
className
|
|
2619
2631
|
),
|
|
2620
2632
|
...props
|
|
@@ -2647,8 +2659,8 @@ var MenubarItem = React15.forwardRef(({ className, inset, ...props }, ref) => /*
|
|
|
2647
2659
|
ref,
|
|
2648
2660
|
className: cn(
|
|
2649
2661
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
2650
|
-
"body text-
|
|
2651
|
-
"focus:bg-
|
|
2662
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2663
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
2652
2664
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2653
2665
|
inset && "pl-8",
|
|
2654
2666
|
className
|
|
@@ -2657,21 +2669,20 @@ var MenubarItem = React15.forwardRef(({ className, inset, ...props }, ref) => /*
|
|
|
2657
2669
|
}
|
|
2658
2670
|
));
|
|
2659
2671
|
MenubarItem.displayName = "MenubarItem";
|
|
2660
|
-
var MenubarCheckboxItem = React15.forwardRef(({ className, children,
|
|
2672
|
+
var MenubarCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2661
2673
|
Menubar.CheckboxItem,
|
|
2662
2674
|
{
|
|
2663
2675
|
ref,
|
|
2664
2676
|
className: cn(
|
|
2665
2677
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
2666
|
-
"body text-
|
|
2667
|
-
"focus:bg-
|
|
2678
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2679
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
2668
2680
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2669
2681
|
className
|
|
2670
2682
|
),
|
|
2671
|
-
checked,
|
|
2672
2683
|
...props,
|
|
2673
2684
|
children: [
|
|
2674
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-
|
|
2685
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-ground-900" }) }) }),
|
|
2675
2686
|
children
|
|
2676
2687
|
]
|
|
2677
2688
|
}
|
|
@@ -2683,14 +2694,14 @@ var MenubarRadioItem = React15.forwardRef(({ className, children, ...props }, re
|
|
|
2683
2694
|
ref,
|
|
2684
2695
|
className: cn(
|
|
2685
2696
|
"relative flex cursor-default select-none items-center gap-2 rounded-md pl-8 pr-2.5 py-1.5",
|
|
2686
|
-
"body text-
|
|
2687
|
-
"focus:bg-
|
|
2697
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2698
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
2688
2699
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2689
2700
|
className
|
|
2690
2701
|
),
|
|
2691
2702
|
...props,
|
|
2692
2703
|
children: [
|
|
2693
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-
|
|
2704
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, className: "fill-ground-900 text-ground-900" }) }) }),
|
|
2694
2705
|
children
|
|
2695
2706
|
]
|
|
2696
2707
|
}
|
|
@@ -2700,7 +2711,7 @@ var MenubarLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /
|
|
|
2700
2711
|
Menubar.Label,
|
|
2701
2712
|
{
|
|
2702
2713
|
ref,
|
|
2703
|
-
className: cn("px-2.5 py-1 label text-
|
|
2714
|
+
className: cn("px-2.5 py-1 label text-ground-400", inset && "pl-8", className),
|
|
2704
2715
|
...props
|
|
2705
2716
|
}
|
|
2706
2717
|
));
|
|
@@ -2709,7 +2720,7 @@ var MenubarSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
2709
2720
|
Menubar.Separator,
|
|
2710
2721
|
{
|
|
2711
2722
|
ref,
|
|
2712
|
-
className: cn("mx-1 my-1 h-px bg-
|
|
2723
|
+
className: cn("mx-1 my-1 h-px bg-ground-100", className),
|
|
2713
2724
|
...props
|
|
2714
2725
|
}
|
|
2715
2726
|
));
|
|
@@ -2720,15 +2731,15 @@ var MenubarSubTrigger = React15.forwardRef(({ className, inset, children, ...pro
|
|
|
2720
2731
|
ref,
|
|
2721
2732
|
className: cn(
|
|
2722
2733
|
"relative flex cursor-default select-none items-center gap-2 rounded-md px-2.5 py-1.5",
|
|
2723
|
-
"body text-
|
|
2724
|
-
"focus:bg-
|
|
2734
|
+
"body text-ground-700 outline-none transition-colors",
|
|
2735
|
+
"focus:bg-ground-50 focus:text-ground-900 data-[state=open]:bg-ground-50",
|
|
2725
2736
|
inset && "pl-8",
|
|
2726
2737
|
className
|
|
2727
2738
|
),
|
|
2728
2739
|
...props,
|
|
2729
2740
|
children: [
|
|
2730
2741
|
children,
|
|
2731
|
-
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-
|
|
2742
|
+
/* @__PURE__ */ jsx(ChevronRight, { size: 14, className: "ml-auto text-ground-400" })
|
|
2732
2743
|
]
|
|
2733
2744
|
}
|
|
2734
2745
|
));
|
|
@@ -2738,7 +2749,7 @@ var MenubarSubContent = React15.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2738
2749
|
{
|
|
2739
2750
|
ref,
|
|
2740
2751
|
className: cn(
|
|
2741
|
-
"z-50 min-w-[8rem] bg-white rounded-xl border border-
|
|
2752
|
+
"z-50 min-w-[8rem] bg-white rounded-xl border border-ground-100 shadow-natural p-1",
|
|
2742
2753
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2743
2754
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2744
2755
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -2750,7 +2761,7 @@ var MenubarSubContent = React15.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2750
2761
|
));
|
|
2751
2762
|
MenubarSubContent.displayName = "MenubarSubContent";
|
|
2752
2763
|
function MenubarShortcut({ className, ...props }) {
|
|
2753
|
-
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-
|
|
2764
|
+
return /* @__PURE__ */ jsx("span", { className: cn("ml-auto caption text-ground-400", className), ...props });
|
|
2754
2765
|
}
|
|
2755
2766
|
MenubarShortcut.displayName = "MenubarShortcut";
|
|
2756
2767
|
var NativeSelect = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
@@ -2759,9 +2770,9 @@ var NativeSelect = React15.forwardRef(({ className, children, ...props }, ref) =
|
|
|
2759
2770
|
{
|
|
2760
2771
|
ref,
|
|
2761
2772
|
className: cn(
|
|
2762
|
-
"peer h-9 w-full appearance-none rounded-lg border border-
|
|
2763
|
-
"body text-
|
|
2764
|
-
"focus:outline-none focus:ring-2 focus:ring-
|
|
2773
|
+
"peer h-9 w-full appearance-none rounded-lg border border-ground-200 bg-white pl-3 pr-8",
|
|
2774
|
+
"body text-ground-900",
|
|
2775
|
+
"focus:outline-none focus:ring-2 focus:ring-ground-400/30 focus:border-ground-400",
|
|
2765
2776
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
2766
2777
|
"aria-[invalid=true]:border-red-500 aria-[invalid=true]:focus:ring-red-500/20",
|
|
2767
2778
|
className
|
|
@@ -2774,7 +2785,7 @@ var NativeSelect = React15.forwardRef(({ className, children, ...props }, ref) =
|
|
|
2774
2785
|
ChevronDown,
|
|
2775
2786
|
{
|
|
2776
2787
|
size: 14,
|
|
2777
|
-
className: "pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 text-
|
|
2788
|
+
className: "pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 text-ground-400 peer-disabled:opacity-50"
|
|
2778
2789
|
}
|
|
2779
2790
|
)
|
|
2780
2791
|
] }));
|
|
@@ -2809,9 +2820,9 @@ var NavigationMenuTrigger = React15.forwardRef(({ className, children, ...props
|
|
|
2809
2820
|
ref,
|
|
2810
2821
|
className: cn(
|
|
2811
2822
|
"group inline-flex h-9 w-max items-center justify-center gap-1 rounded-md px-3 py-2",
|
|
2812
|
-
"body font-medium text-
|
|
2813
|
-
"hover:bg-
|
|
2814
|
-
"data-[active]:bg-
|
|
2823
|
+
"body font-medium text-ground-700",
|
|
2824
|
+
"hover:bg-ground-100 hover:text-ground-900",
|
|
2825
|
+
"data-[active]:bg-ground-100 data-[state=open]:bg-ground-100",
|
|
2815
2826
|
"outline-none transition-colors",
|
|
2816
2827
|
className
|
|
2817
2828
|
),
|
|
@@ -2852,8 +2863,8 @@ var NavigationMenuLink = React15.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2852
2863
|
{
|
|
2853
2864
|
ref,
|
|
2854
2865
|
className: cn(
|
|
2855
|
-
"block select-none rounded-md px-3 py-2 body text-
|
|
2856
|
-
"hover:bg-
|
|
2866
|
+
"block select-none rounded-md px-3 py-2 body text-ground-700",
|
|
2867
|
+
"hover:bg-ground-50 hover:text-ground-900",
|
|
2857
2868
|
"outline-none transition-colors",
|
|
2858
2869
|
className
|
|
2859
2870
|
),
|
|
@@ -2866,7 +2877,7 @@ var NavigationMenuViewport = React15.forwardRef(({ className, ...props }, ref) =
|
|
|
2866
2877
|
{
|
|
2867
2878
|
ref,
|
|
2868
2879
|
className: cn(
|
|
2869
|
-
"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-xl border border-
|
|
2880
|
+
"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-xl border border-ground-100 bg-white shadow-elevated",
|
|
2870
2881
|
"md:w-[var(--radix-navigation-menu-viewport-width)]",
|
|
2871
2882
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2872
2883
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90",
|
|
@@ -2887,31 +2898,31 @@ var NavigationMenuIndicator = React15.forwardRef(({ className, ...props }, ref)
|
|
|
2887
2898
|
className
|
|
2888
2899
|
),
|
|
2889
2900
|
...props,
|
|
2890
|
-
children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-
|
|
2901
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-ground-100 shadow-elevated" })
|
|
2891
2902
|
}
|
|
2892
2903
|
));
|
|
2893
2904
|
NavigationMenuIndicator.displayName = "NavigationMenuIndicator";
|
|
2894
2905
|
function navigationMenuTriggerStyle() {
|
|
2895
2906
|
return cn(
|
|
2896
2907
|
"group inline-flex h-9 w-max items-center justify-center gap-1 rounded-md px-3 py-2",
|
|
2897
|
-
"body font-medium text-
|
|
2898
|
-
"hover:bg-
|
|
2899
|
-
"data-[active]:bg-
|
|
2908
|
+
"body font-medium text-ground-700",
|
|
2909
|
+
"hover:bg-ground-100 hover:text-ground-900",
|
|
2910
|
+
"data-[active]:bg-ground-100 data-[state=open]:bg-ground-100",
|
|
2900
2911
|
"outline-none transition-colors"
|
|
2901
2912
|
);
|
|
2902
2913
|
}
|
|
2903
2914
|
var variantConfig = {
|
|
2904
|
-
default: { icon: null, iconClass: "text-
|
|
2915
|
+
default: { icon: null, iconClass: "text-ground-400" },
|
|
2905
2916
|
success: {
|
|
2906
2917
|
icon: CheckCircle,
|
|
2907
|
-
iconClass: "bg-brand-secondary/25 text-
|
|
2918
|
+
iconClass: "bg-brand-secondary/25 text-ground-700 rounded-full p-1"
|
|
2908
2919
|
},
|
|
2909
2920
|
error: { icon: AlertCircle, iconClass: "text-red-500" },
|
|
2910
2921
|
warning: {
|
|
2911
2922
|
icon: AlertTriangle,
|
|
2912
|
-
iconClass: "bg-brand-secondary/80 text-
|
|
2923
|
+
iconClass: "bg-brand-secondary/80 text-ground-700 rounded-full p-1"
|
|
2913
2924
|
},
|
|
2914
|
-
info: { icon: Info, iconClass: "text-
|
|
2925
|
+
info: { icon: Info, iconClass: "text-ground-400" }
|
|
2915
2926
|
};
|
|
2916
2927
|
function Notification({
|
|
2917
2928
|
title,
|
|
@@ -2929,14 +2940,14 @@ function Notification({
|
|
|
2929
2940
|
"div",
|
|
2930
2941
|
{
|
|
2931
2942
|
className: cn(
|
|
2932
|
-
"pointer-events-auto w-full max-w-sm overflow-hidden rounded-xl border border-
|
|
2943
|
+
"pointer-events-auto w-full max-w-sm overflow-hidden rounded-xl border border-ground-100 bg-white shadow-elevated",
|
|
2933
2944
|
className
|
|
2934
2945
|
),
|
|
2935
2946
|
children: /* @__PURE__ */ jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
|
|
2936
2947
|
resolvedIcon && /* @__PURE__ */ jsx("div", { className: cn("shrink-0 mt-0.5", config.iconClass), children: resolvedIcon }),
|
|
2937
2948
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2938
|
-
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-
|
|
2939
|
-
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 body text-
|
|
2949
|
+
/* @__PURE__ */ jsx("p", { className: "body font-semibold text-ground-900", children: title }),
|
|
2950
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 body text-ground-500", children: description }),
|
|
2940
2951
|
actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-3 flex gap-3", children: actions.map((action, i) => /* @__PURE__ */ jsx(
|
|
2941
2952
|
"button",
|
|
2942
2953
|
{
|
|
@@ -2944,7 +2955,7 @@ function Notification({
|
|
|
2944
2955
|
onClick: action.onClick,
|
|
2945
2956
|
className: cn(
|
|
2946
2957
|
"body font-semibold transition-colors",
|
|
2947
|
-
action.variant === "ghost" ? "text-
|
|
2958
|
+
action.variant === "ghost" ? "text-ground-400 hover:text-ground-700" : "text-ground-900 hover:text-ground-600"
|
|
2948
2959
|
),
|
|
2949
2960
|
children: action.label
|
|
2950
2961
|
},
|
|
@@ -2956,7 +2967,7 @@ function Notification({
|
|
|
2956
2967
|
{
|
|
2957
2968
|
type: "button",
|
|
2958
2969
|
onClick: onClose,
|
|
2959
|
-
className: "rounded-md text-
|
|
2970
|
+
className: "rounded-md text-ground-400 hover:text-ground-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-400/40",
|
|
2960
2971
|
children: [
|
|
2961
2972
|
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }),
|
|
2962
2973
|
/* @__PURE__ */ jsx(X, { size: 16 })
|
|
@@ -2976,27 +2987,27 @@ function PageHeading({
|
|
|
2976
2987
|
badge,
|
|
2977
2988
|
className
|
|
2978
2989
|
}) {
|
|
2979
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("border-b border-
|
|
2990
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("border-b border-ground-100 pb-6", className), children: [
|
|
2980
2991
|
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ jsx("nav", { className: "mb-3 flex items-center gap-1.5", "aria-label": "Breadcrumb", children: breadcrumbs.map((crumb, i) => /* @__PURE__ */ jsxs(React15.Fragment, { children: [
|
|
2981
|
-
i > 0 && /* @__PURE__ */ jsx(ChevronRight, { size: 12, className: "text-
|
|
2992
|
+
i > 0 && /* @__PURE__ */ jsx(ChevronRight, { size: 12, className: "text-ground-300 shrink-0" }),
|
|
2982
2993
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
2983
2994
|
"a",
|
|
2984
2995
|
{
|
|
2985
2996
|
href: crumb.href,
|
|
2986
|
-
className: "caption text-
|
|
2997
|
+
className: "caption text-ground-400 hover:text-ground-700 transition-colors",
|
|
2987
2998
|
children: crumb.label
|
|
2988
2999
|
}
|
|
2989
|
-
) : /* @__PURE__ */ jsx("span", { className: "caption font-semibold text-
|
|
3000
|
+
) : /* @__PURE__ */ jsx("span", { className: "caption font-semibold text-ground-700", children: crumb.label })
|
|
2990
3001
|
] }, i)) }),
|
|
2991
3002
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-start justify-between gap-4", children: [
|
|
2992
3003
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2993
3004
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
2994
|
-
/* @__PURE__ */ jsx("h1", { className: "display text-
|
|
3005
|
+
/* @__PURE__ */ jsx("h1", { className: "display text-ground-900 truncate", children: title }),
|
|
2995
3006
|
badge && (typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: badge }) : /* @__PURE__ */ jsx(Badge, { variant: badge.variant ?? "secondary", children: badge.label }))
|
|
2996
3007
|
] }),
|
|
2997
|
-
description && /* @__PURE__ */ jsx("p", { className: "mt-1.5 body text-
|
|
2998
|
-
meta && meta.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-3 flex flex-wrap items-center gap-4", children: meta.map((m, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 caption text-
|
|
2999
|
-
m.icon && /* @__PURE__ */ jsx("span", { className: "text-
|
|
3008
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-1.5 body text-ground-400 max-w-2xl", children: description }),
|
|
3009
|
+
meta && meta.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-3 flex flex-wrap items-center gap-4", children: meta.map((m, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 caption text-ground-400", children: [
|
|
3010
|
+
m.icon && /* @__PURE__ */ jsx("span", { className: "text-ground-400", children: m.icon }),
|
|
3000
3011
|
/* @__PURE__ */ jsx("span", { children: m.text })
|
|
3001
3012
|
] }, i)) })
|
|
3002
3013
|
] }),
|
|
@@ -3088,7 +3099,7 @@ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
3088
3099
|
"span",
|
|
3089
3100
|
{
|
|
3090
3101
|
"aria-hidden": true,
|
|
3091
|
-
className: cn("flex size-8 items-center justify-center text-
|
|
3102
|
+
className: cn("flex size-8 items-center justify-center text-ground-400", className),
|
|
3092
3103
|
...props,
|
|
3093
3104
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { size: 14 })
|
|
3094
3105
|
}
|
|
@@ -3098,7 +3109,7 @@ var ProgressRoot = React15.forwardRef(({ className, value, ...props }, ref) => /
|
|
|
3098
3109
|
Progress.Root,
|
|
3099
3110
|
{
|
|
3100
3111
|
ref,
|
|
3101
|
-
className: cn("relative h-2 w-full overflow-hidden rounded-full bg-
|
|
3112
|
+
className: cn("relative h-2 w-full overflow-hidden rounded-full bg-ground-100", className),
|
|
3102
3113
|
value,
|
|
3103
3114
|
...props,
|
|
3104
3115
|
children: /* @__PURE__ */ jsx(
|
|
@@ -3132,7 +3143,7 @@ function PropertyRow({
|
|
|
3132
3143
|
label !== void 0 && /* @__PURE__ */ jsx(
|
|
3133
3144
|
"div",
|
|
3134
3145
|
{
|
|
3135
|
-
className: "caption text-
|
|
3146
|
+
className: "caption text-ground-500 shrink-0 select-none",
|
|
3136
3147
|
style: { width: typeof labelWidth === "number" ? `${labelWidth}px` : labelWidth },
|
|
3137
3148
|
children: label
|
|
3138
3149
|
}
|
|
@@ -3163,7 +3174,7 @@ function RadioCards({ options, value, onValueChange, columns = 3, className }) {
|
|
|
3163
3174
|
"relative flex cursor-pointer flex-col gap-1 rounded-xl border p-4 text-left transition-all",
|
|
3164
3175
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
3165
3176
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
3166
|
-
isSelected ? "border-brand-primary bg-white shadow-natural" : "border-
|
|
3177
|
+
isSelected ? "border-brand-primary bg-white shadow-natural" : "border-ground-200 bg-white hover:border-ground-400"
|
|
3167
3178
|
),
|
|
3168
3179
|
children: [
|
|
3169
3180
|
isSelected && /* @__PURE__ */ jsx(
|
|
@@ -3175,25 +3186,25 @@ function RadioCards({ options, value, onValueChange, columns = 3, className }) {
|
|
|
3175
3186
|
),
|
|
3176
3187
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
3177
3188
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3178
|
-
option.icon && /* @__PURE__ */ jsx("div", { className: "mb-2 text-
|
|
3189
|
+
option.icon && /* @__PURE__ */ jsx("div", { className: "mb-2 text-ground-500", children: option.icon }),
|
|
3179
3190
|
/* @__PURE__ */ jsx(
|
|
3180
3191
|
"p",
|
|
3181
3192
|
{
|
|
3182
3193
|
className: cn(
|
|
3183
3194
|
"body font-semibold",
|
|
3184
|
-
isSelected ? "text-
|
|
3195
|
+
isSelected ? "text-ground-900" : "text-ground-800"
|
|
3185
3196
|
),
|
|
3186
3197
|
children: option.label
|
|
3187
3198
|
}
|
|
3188
3199
|
),
|
|
3189
|
-
option.description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 caption text-
|
|
3200
|
+
option.description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 caption text-ground-400", children: option.description })
|
|
3190
3201
|
] }),
|
|
3191
3202
|
/* @__PURE__ */ jsx(
|
|
3192
3203
|
"div",
|
|
3193
3204
|
{
|
|
3194
3205
|
className: cn(
|
|
3195
3206
|
"flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
3196
|
-
isSelected ? "border-brand-primary bg-brand-primary" : "border-
|
|
3207
|
+
isSelected ? "border-brand-primary bg-brand-primary" : "border-ground-300 bg-white"
|
|
3197
3208
|
),
|
|
3198
3209
|
children: isSelected && /* @__PURE__ */ jsx(Check, { size: 10, className: "text-white", strokeWidth: 3 })
|
|
3199
3210
|
}
|
|
@@ -3204,7 +3215,7 @@ function RadioCards({ options, value, onValueChange, columns = 3, className }) {
|
|
|
3204
3215
|
{
|
|
3205
3216
|
className: cn(
|
|
3206
3217
|
"caption font-semibold mt-2",
|
|
3207
|
-
isSelected ? "text-
|
|
3218
|
+
isSelected ? "text-ground-900" : "text-ground-400"
|
|
3208
3219
|
),
|
|
3209
3220
|
children: option.meta
|
|
3210
3221
|
}
|
|
@@ -3222,11 +3233,11 @@ var RadioGroupItem = React15.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
3222
3233
|
{
|
|
3223
3234
|
ref,
|
|
3224
3235
|
className: cn(
|
|
3225
|
-
"aspect-square size-4 rounded-full border border-
|
|
3236
|
+
"aspect-square size-4 rounded-full border border-ground-300 text-ground-900",
|
|
3226
3237
|
"shadow-none transition-colors",
|
|
3227
|
-
"focus:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
3238
|
+
"focus:outline-none focus-visible:ring-2 focus-visible:ring-ground-900/20",
|
|
3228
3239
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
3229
|
-
"data-[state=checked]:bg-
|
|
3240
|
+
"data-[state=checked]:bg-ground-900 data-[state=checked]:border-ground-900",
|
|
3230
3241
|
className
|
|
3231
3242
|
),
|
|
3232
3243
|
...props,
|
|
@@ -3261,7 +3272,7 @@ function ResizableHandle({ className, withHandle = true, ...props }) {
|
|
|
3261
3272
|
Separator$1,
|
|
3262
3273
|
{
|
|
3263
3274
|
className: cn(
|
|
3264
|
-
"relative flex shrink-0 items-center justify-center bg-
|
|
3275
|
+
"relative flex shrink-0 items-center justify-center bg-ground-100",
|
|
3265
3276
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-brand-primary/50",
|
|
3266
3277
|
// Horizontal (default): vertical bar
|
|
3267
3278
|
"[&:not([aria-orientation=vertical])]:h-full [&:not([aria-orientation=vertical])]:w-px",
|
|
@@ -3275,7 +3286,7 @@ function ResizableHandle({ className, withHandle = true, ...props }) {
|
|
|
3275
3286
|
className
|
|
3276
3287
|
),
|
|
3277
3288
|
...props,
|
|
3278
|
-
children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-5 w-3 items-center justify-center rounded-sm border border-
|
|
3289
|
+
children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-5 w-3 items-center justify-center rounded-sm border border-ground-100 bg-white shadow-natural", children: /* @__PURE__ */ jsx(GripVertical, { size: 10, className: "text-ground-400" }) })
|
|
3279
3290
|
}
|
|
3280
3291
|
);
|
|
3281
3292
|
}
|
|
@@ -3299,7 +3310,7 @@ var ScrollAreaScrollbar = React15.forwardRef(({ className, orientation = "vertic
|
|
|
3299
3310
|
className
|
|
3300
3311
|
),
|
|
3301
3312
|
...props,
|
|
3302
|
-
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-
|
|
3313
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-ground-200 hover:bg-ground-300 transition-colors" })
|
|
3303
3314
|
}
|
|
3304
3315
|
));
|
|
3305
3316
|
ScrollAreaScrollbar.displayName = "ScrollAreaScrollbar";
|
|
@@ -3315,13 +3326,13 @@ function SectionHeading({
|
|
|
3315
3326
|
{
|
|
3316
3327
|
className: cn(
|
|
3317
3328
|
"flex flex-col gap-1 pb-4 sm:flex-row sm:items-start sm:justify-between",
|
|
3318
|
-
border && "border-b border-
|
|
3329
|
+
border && "border-b border-ground-100",
|
|
3319
3330
|
className
|
|
3320
3331
|
),
|
|
3321
3332
|
children: [
|
|
3322
3333
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3323
|
-
/* @__PURE__ */ jsx("h2", { className: "heading text-
|
|
3324
|
-
description && /* @__PURE__ */ jsx("p", { className: "mt-1 body text-
|
|
3334
|
+
/* @__PURE__ */ jsx("h2", { className: "heading text-ground-900 truncate", children: title }),
|
|
3335
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-1 body text-ground-400", children: description })
|
|
3325
3336
|
] }),
|
|
3326
3337
|
actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2 pt-1", children: actions.map(
|
|
3327
3338
|
(action, i) => action.href ? /* @__PURE__ */ jsx(Button, { size: "sm", variant: action.variant ?? "default", asChild: true, children: /* @__PURE__ */ jsx("a", { href: action.href, children: action.label }) }, i) : /* @__PURE__ */ jsx(
|
|
@@ -3348,17 +3359,17 @@ var SelectTrigger = React15.forwardRef(({ className, children, ...props }, ref)
|
|
|
3348
3359
|
ref,
|
|
3349
3360
|
className: cn(
|
|
3350
3361
|
"flex h-9 w-full items-center justify-between rounded-xl bg-white px-3 py-2",
|
|
3351
|
-
"body text-
|
|
3352
|
-
"focus:outline-none focus:ring-2 focus:ring-
|
|
3362
|
+
"body text-ground-900 shadow-natural",
|
|
3363
|
+
"focus:outline-none focus:ring-2 focus:ring-ground-900/15",
|
|
3353
3364
|
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3354
|
-
"data-[placeholder]:text-
|
|
3365
|
+
"data-[placeholder]:text-ground-400",
|
|
3355
3366
|
"[&>span]:line-clamp-1",
|
|
3356
3367
|
className
|
|
3357
3368
|
),
|
|
3358
3369
|
...props,
|
|
3359
3370
|
children: [
|
|
3360
3371
|
children,
|
|
3361
|
-
/* @__PURE__ */ jsx(Select.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { size: 15, className: "text-
|
|
3372
|
+
/* @__PURE__ */ jsx(Select.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { size: 15, className: "text-ground-400 shrink-0" }) })
|
|
3362
3373
|
]
|
|
3363
3374
|
}
|
|
3364
3375
|
));
|
|
@@ -3380,7 +3391,7 @@ var SelectContent = React15.forwardRef(({ className, children, position = "poppe
|
|
|
3380
3391
|
position,
|
|
3381
3392
|
...props,
|
|
3382
3393
|
children: [
|
|
3383
|
-
/* @__PURE__ */ jsx(Select.ScrollUpButton, { className: "flex cursor-default items-center justify-center py-1", children: /* @__PURE__ */ jsx(ChevronUp, { size: 14, className: "text-
|
|
3394
|
+
/* @__PURE__ */ jsx(Select.ScrollUpButton, { className: "flex cursor-default items-center justify-center py-1", children: /* @__PURE__ */ jsx(ChevronUp, { size: 14, className: "text-ground-400" }) }),
|
|
3384
3395
|
/* @__PURE__ */ jsx(
|
|
3385
3396
|
Select.Viewport,
|
|
3386
3397
|
{
|
|
@@ -3390,7 +3401,7 @@ var SelectContent = React15.forwardRef(({ className, children, position = "poppe
|
|
|
3390
3401
|
children
|
|
3391
3402
|
}
|
|
3392
3403
|
),
|
|
3393
|
-
/* @__PURE__ */ jsx(Select.ScrollDownButton, { className: "flex cursor-default items-center justify-center py-1", children: /* @__PURE__ */ jsx(ChevronDown, { size: 14, className: "text-
|
|
3404
|
+
/* @__PURE__ */ jsx(Select.ScrollDownButton, { className: "flex cursor-default items-center justify-center py-1", children: /* @__PURE__ */ jsx(ChevronDown, { size: 14, className: "text-ground-400" }) })
|
|
3394
3405
|
]
|
|
3395
3406
|
}
|
|
3396
3407
|
) }));
|
|
@@ -3401,14 +3412,14 @@ var SelectItem = React15.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
3401
3412
|
ref,
|
|
3402
3413
|
className: cn(
|
|
3403
3414
|
"relative flex w-full cursor-default select-none items-center rounded-md px-2.5 py-1.5",
|
|
3404
|
-
"body text-
|
|
3405
|
-
"focus:bg-
|
|
3415
|
+
"body text-ground-700 outline-none",
|
|
3416
|
+
"focus:bg-ground-50 focus:text-ground-900",
|
|
3406
3417
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
3407
3418
|
className
|
|
3408
3419
|
),
|
|
3409
3420
|
...props,
|
|
3410
3421
|
children: [
|
|
3411
|
-
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Select.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-
|
|
3422
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Select.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: 13, className: "text-ground-900" }) }) }),
|
|
3412
3423
|
/* @__PURE__ */ jsx(Select.ItemText, { children })
|
|
3413
3424
|
]
|
|
3414
3425
|
}
|
|
@@ -3418,12 +3429,12 @@ var SelectLabel = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3418
3429
|
Select.Label,
|
|
3419
3430
|
{
|
|
3420
3431
|
ref,
|
|
3421
|
-
className: cn("px-2.5 py-1 label text-
|
|
3432
|
+
className: cn("px-2.5 py-1 label text-ground-400", className),
|
|
3422
3433
|
...props
|
|
3423
3434
|
}
|
|
3424
3435
|
));
|
|
3425
3436
|
SelectLabel.displayName = "SelectLabel";
|
|
3426
|
-
var SelectSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Select.Separator, { ref, className: cn("mx-1 my-1 h-px bg-
|
|
3437
|
+
var SelectSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Select.Separator, { ref, className: cn("mx-1 my-1 h-px bg-ground-100", className), ...props }));
|
|
3427
3438
|
SelectSeparator.displayName = "SelectSeparator";
|
|
3428
3439
|
var Separator2 = React15.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3429
3440
|
Separator.Root,
|
|
@@ -3432,7 +3443,7 @@ var Separator2 = React15.forwardRef(({ className, orientation = "horizontal", de
|
|
|
3432
3443
|
decorative,
|
|
3433
3444
|
orientation,
|
|
3434
3445
|
className: cn(
|
|
3435
|
-
"shrink-0 bg-
|
|
3446
|
+
"shrink-0 bg-ground-100",
|
|
3436
3447
|
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
3437
3448
|
className
|
|
3438
3449
|
),
|
|
@@ -3488,7 +3499,7 @@ var SheetContent = React15.forwardRef(
|
|
|
3488
3499
|
...props,
|
|
3489
3500
|
children: [
|
|
3490
3501
|
children,
|
|
3491
|
-
/* @__PURE__ */ jsxs(Dialog.Close, { className: "absolute right-4 top-4 rounded-md p-1 text-
|
|
3502
|
+
/* @__PURE__ */ jsxs(Dialog.Close, { className: "absolute right-4 top-4 rounded-md p-1 text-ground-400 opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ground-900/20", children: [
|
|
3492
3503
|
/* @__PURE__ */ jsx(X, { size: 16 }),
|
|
3493
3504
|
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
3494
3505
|
] })
|
|
@@ -3510,12 +3521,12 @@ var SheetTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3510
3521
|
Dialog.Title,
|
|
3511
3522
|
{
|
|
3512
3523
|
ref,
|
|
3513
|
-
className: cn("body-lg font-semibold text-
|
|
3524
|
+
className: cn("body-lg font-semibold text-ground-900", className),
|
|
3514
3525
|
...props
|
|
3515
3526
|
}
|
|
3516
3527
|
));
|
|
3517
3528
|
SheetTitle.displayName = "SheetTitle";
|
|
3518
|
-
var SheetDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog.Description, { ref, className: cn("body text-
|
|
3529
|
+
var SheetDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog.Description, { ref, className: cn("body text-ground-500", className), ...props }));
|
|
3519
3530
|
SheetDescription.displayName = "SheetDescription";
|
|
3520
3531
|
function TooltipProvider({
|
|
3521
3532
|
children,
|
|
@@ -3531,7 +3542,7 @@ var TooltipContent = React15.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
3531
3542
|
ref,
|
|
3532
3543
|
sideOffset,
|
|
3533
3544
|
className: cn(
|
|
3534
|
-
"z-50 rounded-lg bg-
|
|
3545
|
+
"z-50 rounded-lg bg-ground-900 px-2.5 py-1.5 caption text-white",
|
|
3535
3546
|
"animate-in fade-in-0 zoom-in-95",
|
|
3536
3547
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
3537
3548
|
"data-[side=bottom]:slide-in-from-top-1 data-[side=top]:slide-in-from-bottom-1",
|
|
@@ -3614,7 +3625,7 @@ function Sidebar({
|
|
|
3614
3625
|
"data-variant": variant,
|
|
3615
3626
|
"data-collapsible": "none",
|
|
3616
3627
|
className: cn(
|
|
3617
|
-
"flex flex-col h-svh bg-white border-r border-
|
|
3628
|
+
"flex flex-col h-svh bg-white border-r border-ground-100 w-[--sidebar-width]",
|
|
3618
3629
|
side === "right" && "border-r-0 border-l",
|
|
3619
3630
|
className
|
|
3620
3631
|
),
|
|
@@ -3632,7 +3643,7 @@ function Sidebar({
|
|
|
3632
3643
|
"data-variant": variant,
|
|
3633
3644
|
"data-collapsible": "offcanvas",
|
|
3634
3645
|
className: cn(
|
|
3635
|
-
"group peer flex flex-col h-svh bg-white border-r border-
|
|
3646
|
+
"group peer flex flex-col h-svh bg-white border-r border-ground-100",
|
|
3636
3647
|
"transition-[width,transform] duration-200 ease-linear",
|
|
3637
3648
|
"data-[state=expanded]:w-[--sidebar-width] data-[state=collapsed]:w-0 data-[state=collapsed]:-translate-x-full",
|
|
3638
3649
|
side === "right" && "border-r-0 border-l data-[state=collapsed]:translate-x-full",
|
|
@@ -3651,7 +3662,7 @@ function Sidebar({
|
|
|
3651
3662
|
"data-variant": variant,
|
|
3652
3663
|
"data-collapsible": "icon",
|
|
3653
3664
|
className: cn(
|
|
3654
|
-
"group peer hidden md:flex flex-col h-svh bg-white border-r border-
|
|
3665
|
+
"group peer hidden md:flex flex-col h-svh bg-white border-r border-ground-100",
|
|
3655
3666
|
"transition-[width] duration-200 ease-linear overflow-hidden",
|
|
3656
3667
|
"data-[state=expanded]:w-[--sidebar-width] data-[state=collapsed]:w-[--sidebar-width-icon]",
|
|
3657
3668
|
side === "right" && "border-r-0 border-l",
|
|
@@ -3722,7 +3733,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
3722
3733
|
"div",
|
|
3723
3734
|
{
|
|
3724
3735
|
"data-sidebar": "header",
|
|
3725
|
-
className: cn("flex flex-col gap-2 p-3 border-b border-
|
|
3736
|
+
className: cn("flex flex-col gap-2 p-3 border-b border-ground-100", className),
|
|
3726
3737
|
...props
|
|
3727
3738
|
}
|
|
3728
3739
|
);
|
|
@@ -3742,7 +3753,7 @@ function SidebarFooter({ className, ...props }) {
|
|
|
3742
3753
|
"div",
|
|
3743
3754
|
{
|
|
3744
3755
|
"data-sidebar": "footer",
|
|
3745
|
-
className: cn("flex flex-col gap-2 p-3 border-t border-
|
|
3756
|
+
className: cn("flex flex-col gap-2 p-3 border-t border-ground-100", className),
|
|
3746
3757
|
...props
|
|
3747
3758
|
}
|
|
3748
3759
|
);
|
|
@@ -3752,7 +3763,7 @@ function SidebarSeparator({ className, ...props }) {
|
|
|
3752
3763
|
Separator2,
|
|
3753
3764
|
{
|
|
3754
3765
|
"data-sidebar": "separator",
|
|
3755
|
-
className: cn("mx-2 my-1 bg-
|
|
3766
|
+
className: cn("mx-2 my-1 bg-ground-100", className),
|
|
3756
3767
|
...props
|
|
3757
3768
|
}
|
|
3758
3769
|
);
|
|
@@ -3778,8 +3789,8 @@ function SidebarGroupLabel({
|
|
|
3778
3789
|
{
|
|
3779
3790
|
"data-sidebar": "group-label",
|
|
3780
3791
|
className: cn(
|
|
3781
|
-
"flex h-8 shrink-0 items-center rounded-md px-2 label text-
|
|
3782
|
-
"outline-none ring-
|
|
3792
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 label text-ground-400",
|
|
3793
|
+
"outline-none ring-ground-900 transition-[margin,opacity] duration-200 ease-linear",
|
|
3783
3794
|
"group-data-[state=collapsed]/sidebar-wrapper:opacity-0",
|
|
3784
3795
|
"group-data-[state=collapsed]/sidebar-wrapper:h-0",
|
|
3785
3796
|
"group-data-[state=collapsed]/sidebar-wrapper:m-0",
|
|
@@ -3806,7 +3817,7 @@ function SidebarGroupAction({
|
|
|
3806
3817
|
"data-sidebar": "group-action",
|
|
3807
3818
|
className: cn(
|
|
3808
3819
|
"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center",
|
|
3809
|
-
"rounded-md text-
|
|
3820
|
+
"rounded-md text-ground-400 hover:bg-ground-100 hover:text-ground-900",
|
|
3810
3821
|
"outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
3811
3822
|
className
|
|
3812
3823
|
),
|
|
@@ -3846,11 +3857,11 @@ function SidebarMenuButton({
|
|
|
3846
3857
|
className: cn(
|
|
3847
3858
|
// Base
|
|
3848
3859
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 body text-left",
|
|
3849
|
-
"outline-none ring-
|
|
3860
|
+
"outline-none ring-ground-900",
|
|
3850
3861
|
"transition-[width,height,padding] duration-150",
|
|
3851
|
-
"hover:bg-
|
|
3862
|
+
"hover:bg-ground-100 hover:text-ground-900",
|
|
3852
3863
|
"focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
3853
|
-
"active:bg-
|
|
3864
|
+
"active:bg-ground-100",
|
|
3854
3865
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
3855
3866
|
"[&>svg]:size-4 [&>svg]:shrink-0",
|
|
3856
3867
|
// Size variants
|
|
@@ -3902,7 +3913,7 @@ function SidebarMenuAction({
|
|
|
3902
3913
|
"data-sidebar": "menu-action",
|
|
3903
3914
|
className: cn(
|
|
3904
3915
|
"absolute right-1 top-1/2 -translate-y-1/2 flex aspect-square w-5 items-center justify-center",
|
|
3905
|
-
"rounded-md text-
|
|
3916
|
+
"rounded-md text-ground-400 hover:bg-ground-100 hover:text-ground-900",
|
|
3906
3917
|
"outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
3907
3918
|
showOnHover && [
|
|
3908
3919
|
"opacity-0 transition-opacity",
|
|
@@ -3923,7 +3934,7 @@ function SidebarMenuBadge({ className, ...props }) {
|
|
|
3923
3934
|
"data-sidebar": "menu-badge",
|
|
3924
3935
|
className: cn(
|
|
3925
3936
|
"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-full",
|
|
3926
|
-
"caption font-medium bg-
|
|
3937
|
+
"caption font-medium bg-ground-100 text-ground-700 px-1",
|
|
3927
3938
|
"group-data-[state=collapsed]/sidebar-wrapper:hidden",
|
|
3928
3939
|
className
|
|
3929
3940
|
),
|
|
@@ -3946,11 +3957,11 @@ function SidebarMenuSkeleton({
|
|
|
3946
3957
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
3947
3958
|
...props,
|
|
3948
3959
|
children: [
|
|
3949
|
-
showIcon && /* @__PURE__ */ jsx("div", { className: "size-4 shrink-0 rounded-md bg-
|
|
3960
|
+
showIcon && /* @__PURE__ */ jsx("div", { className: "size-4 shrink-0 rounded-md bg-ground-200 animate-pulse" }),
|
|
3950
3961
|
/* @__PURE__ */ jsx(
|
|
3951
3962
|
"div",
|
|
3952
3963
|
{
|
|
3953
|
-
className: "h-4 max-w-[--skeleton-width] flex-1 rounded-md bg-
|
|
3964
|
+
className: "h-4 max-w-[--skeleton-width] flex-1 rounded-md bg-ground-200 animate-pulse",
|
|
3954
3965
|
style: { "--skeleton-width": width }
|
|
3955
3966
|
}
|
|
3956
3967
|
)
|
|
@@ -3964,7 +3975,7 @@ function SidebarMenuSub({ className, ...props }) {
|
|
|
3964
3975
|
{
|
|
3965
3976
|
"data-sidebar": "menu-sub",
|
|
3966
3977
|
className: cn(
|
|
3967
|
-
"mx-3.5 flex min-w-0 flex-col gap-1 border-l border-
|
|
3978
|
+
"mx-3.5 flex min-w-0 flex-col gap-1 border-l border-ground-100 pl-3",
|
|
3968
3979
|
"group-data-[state=collapsed]/sidebar-wrapper:hidden",
|
|
3969
3980
|
className
|
|
3970
3981
|
),
|
|
@@ -3996,9 +4007,9 @@ function SidebarMenuSubButton({
|
|
|
3996
4007
|
"data-active": isActive,
|
|
3997
4008
|
className: cn(
|
|
3998
4009
|
"flex h-7 min-w-0 items-center gap-2 overflow-hidden rounded-md px-2",
|
|
3999
|
-
"body text-
|
|
4010
|
+
"body text-ground-500 outline-none",
|
|
4000
4011
|
"transition-colors duration-150",
|
|
4001
|
-
"hover:text-
|
|
4012
|
+
"hover:text-ground-900 hover:bg-ground-100",
|
|
4002
4013
|
"focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
4003
4014
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
4004
4015
|
"[&>svg]:size-3.5 [&>svg]:shrink-0",
|
|
@@ -4014,7 +4025,7 @@ function Skeleton({ className, ...props }) {
|
|
|
4014
4025
|
"div",
|
|
4015
4026
|
{
|
|
4016
4027
|
"data-slot": "skeleton",
|
|
4017
|
-
className: cn("animate-pulse rounded-md bg-
|
|
4028
|
+
className: cn("animate-pulse rounded-md bg-ground-100", className),
|
|
4018
4029
|
...props
|
|
4019
4030
|
}
|
|
4020
4031
|
);
|
|
@@ -4026,7 +4037,7 @@ var SliderRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
4026
4037
|
className: cn("relative flex w-full touch-none select-none items-center", className),
|
|
4027
4038
|
...props,
|
|
4028
4039
|
children: [
|
|
4029
|
-
/* @__PURE__ */ jsx(Slider.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-
|
|
4040
|
+
/* @__PURE__ */ jsx(Slider.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-ground-100", children: /* @__PURE__ */ jsx(Slider.Range, { className: "absolute h-full bg-brand-primary" }) }),
|
|
4030
4041
|
/* @__PURE__ */ jsx(Slider.Thumb, { className: "block size-4 rounded-full border-2 border-brand-primary bg-white shadow-natural transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30 disabled:pointer-events-none disabled:opacity-50" })
|
|
4031
4042
|
]
|
|
4032
4043
|
}
|
|
@@ -4040,14 +4051,14 @@ function Toaster({ ...props }) {
|
|
|
4040
4051
|
className: "toaster group",
|
|
4041
4052
|
toastOptions: {
|
|
4042
4053
|
classNames: {
|
|
4043
|
-
toast: "group toast font-sans text-sm group-[.toaster]:bg-white group-[.toaster]:text-
|
|
4044
|
-
description: "group-[.toast]:text-
|
|
4054
|
+
toast: "group toast font-sans text-sm group-[.toaster]:bg-white group-[.toaster]:text-ground-900 group-[.toaster]:border group-[.toaster]:border-ground-100 group-[.toaster]:shadow-elevated group-[.toaster]:rounded-xl",
|
|
4055
|
+
description: "group-[.toast]:text-ground-500 group-[.toast]:text-xs",
|
|
4045
4056
|
actionButton: "group-[.toast]:bg-brand-primary group-[.toast]:text-white group-[.toast]:rounded-md group-[.toast]:text-xs group-[.toast]:font-medium",
|
|
4046
|
-
cancelButton: "group-[.toast]:bg-
|
|
4047
|
-
success: "group-[.toaster]:border-brand-secondary/40 group-[.toaster]:text-
|
|
4057
|
+
cancelButton: "group-[.toast]:bg-ground-100 group-[.toast]:text-ground-600 group-[.toast]:rounded-md group-[.toast]:text-xs group-[.toast]:font-medium",
|
|
4058
|
+
success: "group-[.toaster]:border-brand-secondary/40 group-[.toaster]:text-ground-900",
|
|
4048
4059
|
error: "group-[.toaster]:bg-red-50 group-[.toaster]:text-red-700 group-[.toaster]:border-red-200",
|
|
4049
4060
|
warning: "group-[.toaster]:bg-yellow-50 group-[.toaster]:text-yellow-800 group-[.toaster]:border-yellow-200",
|
|
4050
|
-
info: "group-[.toaster]:border-
|
|
4061
|
+
info: "group-[.toaster]:border-ground-200"
|
|
4051
4062
|
}
|
|
4052
4063
|
},
|
|
4053
4064
|
...props
|
|
@@ -4089,8 +4100,8 @@ function StackedList({ children, divided = true, bordered = true, className }) {
|
|
|
4089
4100
|
role: "list",
|
|
4090
4101
|
className: cn(
|
|
4091
4102
|
"overflow-hidden rounded-xl bg-white",
|
|
4092
|
-
bordered && "border border-
|
|
4093
|
-
divided && "divide-y divide-
|
|
4103
|
+
bordered && "border border-ground-100 shadow-natural",
|
|
4104
|
+
divided && "divide-y divide-ground-100",
|
|
4094
4105
|
className
|
|
4095
4106
|
),
|
|
4096
4107
|
children
|
|
@@ -4100,14 +4111,14 @@ function StackedList({ children, divided = true, bordered = true, className }) {
|
|
|
4100
4111
|
function StackedListItem({ children, href, onClick, className }) {
|
|
4101
4112
|
const inner = /* @__PURE__ */ jsx("div", { className: cn("px-4 py-3.5", className), children });
|
|
4102
4113
|
if (href) {
|
|
4103
|
-
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href, className: "block hover:bg-
|
|
4114
|
+
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href, className: "block hover:bg-ground-50 transition-colors", children: inner }) });
|
|
4104
4115
|
}
|
|
4105
4116
|
if (onClick) {
|
|
4106
4117
|
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
4107
4118
|
"button",
|
|
4108
4119
|
{
|
|
4109
4120
|
type: "button",
|
|
4110
|
-
className: "w-full text-left hover:bg-
|
|
4121
|
+
className: "w-full text-left hover:bg-ground-50 transition-colors",
|
|
4111
4122
|
onClick,
|
|
4112
4123
|
children: inner
|
|
4113
4124
|
}
|
|
@@ -4117,21 +4128,21 @@ function StackedListItem({ children, href, onClick, className }) {
|
|
|
4117
4128
|
}
|
|
4118
4129
|
function StatCard({ label, value, trend, icon, className }) {
|
|
4119
4130
|
const trendColor = {
|
|
4120
|
-
up: "text-
|
|
4131
|
+
up: "text-ground-800 bg-brand-secondary/30 rounded-full px-2 py-0.5 w-fit",
|
|
4121
4132
|
down: "text-red-600",
|
|
4122
|
-
neutral: "text-
|
|
4133
|
+
neutral: "text-ground-400"
|
|
4123
4134
|
};
|
|
4124
4135
|
const TrendIcon = {
|
|
4125
4136
|
up: TrendingUp,
|
|
4126
4137
|
down: TrendingDown,
|
|
4127
4138
|
neutral: Minus
|
|
4128
4139
|
};
|
|
4129
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("rounded-xl border border-
|
|
4140
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("rounded-xl border border-ground-100 bg-white p-5", className), children: [
|
|
4130
4141
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
4131
|
-
/* @__PURE__ */ jsx("p", { className: "label text-
|
|
4132
|
-
icon && /* @__PURE__ */ jsx("div", { className: "flex size-8 shrink-0 items-center justify-center rounded-lg bg-
|
|
4142
|
+
/* @__PURE__ */ jsx("p", { className: "label text-ground-400", children: label }),
|
|
4143
|
+
icon && /* @__PURE__ */ jsx("div", { className: "flex size-8 shrink-0 items-center justify-center rounded-lg bg-ground-50 text-ground-400", children: icon })
|
|
4133
4144
|
] }),
|
|
4134
|
-
/* @__PURE__ */ jsx("p", { className: "heading-xl mt-2 text-
|
|
4145
|
+
/* @__PURE__ */ jsx("p", { className: "heading-xl mt-2 text-ground-900", children: value }),
|
|
4135
4146
|
trend && (() => {
|
|
4136
4147
|
const Icon = TrendIcon[trend.direction];
|
|
4137
4148
|
return /* @__PURE__ */ jsxs("div", { className: cn("mt-2 flex items-center gap-1", trendColor[trend.direction]), children: [
|
|
@@ -4150,7 +4161,7 @@ function CirclesSteps({ steps, className }) {
|
|
|
4150
4161
|
{
|
|
4151
4162
|
className: cn(
|
|
4152
4163
|
"h-full",
|
|
4153
|
-
step.status === "complete" ? "bg-brand-primary" : "bg-
|
|
4164
|
+
step.status === "complete" ? "bg-brand-primary" : "bg-ground-200"
|
|
4154
4165
|
)
|
|
4155
4166
|
}
|
|
4156
4167
|
) }),
|
|
@@ -4168,9 +4179,9 @@ function CirclesSteps({ steps, className }) {
|
|
|
4168
4179
|
"relative z-10 flex size-8 items-center justify-center rounded-full transition-colors",
|
|
4169
4180
|
step.status === "complete" && "bg-brand-primary group-hover:bg-brand-primary/80",
|
|
4170
4181
|
step.status === "current" && "border-2 border-brand-primary bg-white",
|
|
4171
|
-
step.status === "upcoming" && "border-2 border-
|
|
4182
|
+
step.status === "upcoming" && "border-2 border-ground-300 bg-white group-hover:border-ground-400"
|
|
4172
4183
|
),
|
|
4173
|
-
children: step.status === "complete" ? /* @__PURE__ */ jsx(Check, { size: 14, className: "text-white", strokeWidth: 2.5 }) : step.status === "current" ? /* @__PURE__ */ jsx("span", { className: "size-2.5 rounded-full bg-brand-primary" }) : /* @__PURE__ */ jsx("span", { className: "size-2.5 rounded-full bg-transparent group-hover:bg-
|
|
4184
|
+
children: step.status === "complete" ? /* @__PURE__ */ jsx(Check, { size: 14, className: "text-white", strokeWidth: 2.5 }) : step.status === "current" ? /* @__PURE__ */ jsx("span", { className: "size-2.5 rounded-full bg-brand-primary" }) : /* @__PURE__ */ jsx("span", { className: "size-2.5 rounded-full bg-transparent group-hover:bg-ground-300" })
|
|
4174
4185
|
}
|
|
4175
4186
|
),
|
|
4176
4187
|
/* @__PURE__ */ jsxs("span", { className: "flex flex-col items-center", children: [
|
|
@@ -4179,12 +4190,12 @@ function CirclesSteps({ steps, className }) {
|
|
|
4179
4190
|
{
|
|
4180
4191
|
className: cn(
|
|
4181
4192
|
"caption font-semibold",
|
|
4182
|
-
step.status === "upcoming" ? "text-
|
|
4193
|
+
step.status === "upcoming" ? "text-ground-400" : "text-ground-900"
|
|
4183
4194
|
),
|
|
4184
4195
|
children: step.name
|
|
4185
4196
|
}
|
|
4186
4197
|
),
|
|
4187
|
-
step.description && /* @__PURE__ */ jsx("span", { className: "caption text-
|
|
4198
|
+
step.description && /* @__PURE__ */ jsx("span", { className: "caption text-ground-400", children: step.description })
|
|
4188
4199
|
] })
|
|
4189
4200
|
]
|
|
4190
4201
|
}
|
|
@@ -4195,7 +4206,7 @@ function CirclesSteps({ steps, className }) {
|
|
|
4195
4206
|
function BulletsSteps({ steps, className }) {
|
|
4196
4207
|
const currentIdx = steps.findIndex((s) => s.status === "current");
|
|
4197
4208
|
return /* @__PURE__ */ jsxs("nav", { className: cn("flex items-center gap-4", className), "aria-label": "Progress", children: [
|
|
4198
|
-
/* @__PURE__ */ jsxs("p", { className: "body font-medium text-
|
|
4209
|
+
/* @__PURE__ */ jsxs("p", { className: "body font-medium text-ground-700", children: [
|
|
4199
4210
|
"Step ",
|
|
4200
4211
|
currentIdx + 1,
|
|
4201
4212
|
" of ",
|
|
@@ -4227,7 +4238,7 @@ function BulletsSteps({ steps, className }) {
|
|
|
4227
4238
|
) : /* @__PURE__ */ jsx(
|
|
4228
4239
|
"span",
|
|
4229
4240
|
{
|
|
4230
|
-
className: "block size-2.5 rounded-full bg-
|
|
4241
|
+
className: "block size-2.5 rounded-full bg-ground-200 hover:bg-ground-300 transition-colors",
|
|
4231
4242
|
title: step.name
|
|
4232
4243
|
}
|
|
4233
4244
|
)
|
|
@@ -4240,7 +4251,7 @@ function ProgressSteps({ steps, className }) {
|
|
|
4240
4251
|
const currentIdx = steps.findIndex((s) => s.status === "current");
|
|
4241
4252
|
const progress = (completeCount + (currentIdx >= 0 ? 0.5 : 0)) / steps.length * 100;
|
|
4242
4253
|
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
|
|
4243
|
-
/* @__PURE__ */ jsx("div", { className: "h-1.5 w-full overflow-hidden rounded-full bg-
|
|
4254
|
+
/* @__PURE__ */ jsx("div", { className: "h-1.5 w-full overflow-hidden rounded-full bg-ground-100", children: /* @__PURE__ */ jsx(
|
|
4244
4255
|
"div",
|
|
4245
4256
|
{
|
|
4246
4257
|
className: "h-full rounded-full bg-brand-primary transition-all duration-500",
|
|
@@ -4255,7 +4266,7 @@ function ProgressSteps({ steps, className }) {
|
|
|
4255
4266
|
className: cn(
|
|
4256
4267
|
"caption font-medium",
|
|
4257
4268
|
i === 0 ? "text-left" : isLast ? "text-right" : "text-center",
|
|
4258
|
-
step.status === "upcoming" ? "text-
|
|
4269
|
+
step.status === "upcoming" ? "text-ground-400" : "text-ground-900"
|
|
4259
4270
|
),
|
|
4260
4271
|
children: step.name
|
|
4261
4272
|
},
|
|
@@ -4265,9 +4276,10 @@ function ProgressSteps({ steps, className }) {
|
|
|
4265
4276
|
] });
|
|
4266
4277
|
}
|
|
4267
4278
|
function Steps({ steps, variant = "circles", className }) {
|
|
4268
|
-
|
|
4269
|
-
if (variant === "
|
|
4270
|
-
return /* @__PURE__ */ jsx(
|
|
4279
|
+
const classNameProp = className !== void 0 ? { className } : {};
|
|
4280
|
+
if (variant === "bullets") return /* @__PURE__ */ jsx(BulletsSteps, { steps, ...classNameProp });
|
|
4281
|
+
if (variant === "progress") return /* @__PURE__ */ jsx(ProgressSteps, { steps, ...classNameProp });
|
|
4282
|
+
return /* @__PURE__ */ jsx(CirclesSteps, { steps, ...classNameProp });
|
|
4271
4283
|
}
|
|
4272
4284
|
var SwitchRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4273
4285
|
Switch.Root,
|
|
@@ -4278,7 +4290,7 @@ var SwitchRoot = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
4278
4290
|
"border-2 border-transparent transition-colors",
|
|
4279
4291
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-primary/30",
|
|
4280
4292
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
4281
|
-
"data-[state=unchecked]:bg-
|
|
4293
|
+
"data-[state=unchecked]:bg-ground-200 data-[state=checked]:bg-brand-primary",
|
|
4282
4294
|
className
|
|
4283
4295
|
),
|
|
4284
4296
|
...props,
|
|
@@ -4300,7 +4312,7 @@ var TabsList = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
4300
4312
|
Tabs.List,
|
|
4301
4313
|
{
|
|
4302
4314
|
ref,
|
|
4303
|
-
className: cn("inline-flex items-center gap-1 border-b border-
|
|
4315
|
+
className: cn("inline-flex items-center gap-1 border-b border-ground-100 w-full", className),
|
|
4304
4316
|
...props
|
|
4305
4317
|
}
|
|
4306
4318
|
));
|
|
@@ -4310,7 +4322,7 @@ var TabsTrigger = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
4310
4322
|
{
|
|
4311
4323
|
ref,
|
|
4312
4324
|
className: cn(
|
|
4313
|
-
"px-0 pb-2.5 body font-medium text-
|
|
4325
|
+
"px-0 pb-2.5 body font-medium text-ground-400",
|
|
4314
4326
|
"border-b-2 border-transparent -mb-px",
|
|
4315
4327
|
"transition-colors cursor-pointer",
|
|
4316
4328
|
"data-[state=active]:text-brand-primary data-[state=active]:border-brand-primary",
|
|
@@ -4330,11 +4342,11 @@ function Textarea({ className, ...props }) {
|
|
|
4330
4342
|
{
|
|
4331
4343
|
"data-slot": "textarea",
|
|
4332
4344
|
className: cn(
|
|
4333
|
-
"flex min-h-[80px] w-full rounded-md border border-
|
|
4334
|
-
"body text-
|
|
4345
|
+
"flex min-h-[80px] w-full rounded-md border border-ground-200 bg-white px-3 py-2",
|
|
4346
|
+
"body text-ground-900 placeholder:text-ground-400",
|
|
4335
4347
|
"resize-none transition-colors duration-150",
|
|
4336
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
4337
|
-
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-
|
|
4348
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ground-900/15 focus-visible:border-ground-400",
|
|
4349
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-ground-50",
|
|
4338
4350
|
className
|
|
4339
4351
|
),
|
|
4340
4352
|
...props
|
|
@@ -4354,18 +4366,18 @@ var toggleVariants = cva(
|
|
|
4354
4366
|
variants: {
|
|
4355
4367
|
variant: {
|
|
4356
4368
|
default: [
|
|
4357
|
-
"bg-transparent text-
|
|
4358
|
-
"hover:bg-
|
|
4359
|
-
"data-[state=on]:bg-
|
|
4369
|
+
"bg-transparent text-ground-600",
|
|
4370
|
+
"hover:bg-ground-100 hover:text-ground-900",
|
|
4371
|
+
"data-[state=on]:bg-ground-100 data-[state=on]:text-ground-900"
|
|
4360
4372
|
],
|
|
4361
4373
|
outline: [
|
|
4362
|
-
"border border-
|
|
4363
|
-
"hover:bg-
|
|
4364
|
-
"data-[state=on]:bg-
|
|
4374
|
+
"border border-ground-200 bg-white text-ground-600 shadow-natural",
|
|
4375
|
+
"hover:bg-ground-50 hover:text-ground-900",
|
|
4376
|
+
"data-[state=on]:bg-ground-100 data-[state=on]:text-ground-900 data-[state=on]:border-ground-300"
|
|
4365
4377
|
],
|
|
4366
4378
|
brand: [
|
|
4367
|
-
"bg-transparent text-
|
|
4368
|
-
"hover:bg-
|
|
4379
|
+
"bg-transparent text-ground-600",
|
|
4380
|
+
"hover:bg-ground-100 hover:text-ground-900",
|
|
4369
4381
|
"data-[state=on]:bg-brand-primary data-[state=on]:text-white"
|
|
4370
4382
|
]
|
|
4371
4383
|
},
|