@nextlyhq/ui 0.0.2-alpha.33 → 0.0.2-alpha.34
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 +26 -17
- package/dist/index.cjs +125 -116
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -13
- package/dist/index.d.ts +13 -13
- package/dist/index.mjs +125 -116
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +2 -0
- package/dist/theme.css +745 -0
- package/docs/plugin-ui-authoring.md +178 -0
- package/package.json +13 -6
package/dist/index.cjs
CHANGED
|
@@ -73,13 +73,13 @@ var buttonVariants = classVarianceAuthority.cva(
|
|
|
73
73
|
link: "text-primary border border-transparent underline-offset-4 hover:underline"
|
|
74
74
|
},
|
|
75
75
|
size: {
|
|
76
|
-
default: "h-
|
|
77
|
-
sm: "h-
|
|
78
|
-
md: "h-
|
|
79
|
-
lg: "h-
|
|
80
|
-
icon: "h-
|
|
81
|
-
"icon-sm": "h-
|
|
82
|
-
"icon-lg": "h-
|
|
76
|
+
default: "h-[var(--control-height)] px-6 py-2",
|
|
77
|
+
sm: "h-[var(--control-height-md)] px-4 text-[13px]",
|
|
78
|
+
md: "h-[var(--control-height)] px-6 text-sm",
|
|
79
|
+
lg: "h-[var(--control-height-lg)] px-8 text-base",
|
|
80
|
+
icon: "h-[var(--control-height)] w-[var(--control-height)] p-0",
|
|
81
|
+
"icon-sm": "h-[var(--control-height-md)] w-[var(--control-height-md)] p-0",
|
|
82
|
+
"icon-lg": "h-[var(--control-height-lg)] w-[var(--control-height-lg)] p-0"
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
defaultVariants: {
|
|
@@ -116,13 +116,13 @@ var Button = React6.forwardRef(
|
|
|
116
116
|
);
|
|
117
117
|
Button.displayName = "Button";
|
|
118
118
|
var inputVariants = classVarianceAuthority.cva(
|
|
119
|
-
"file:text-foreground placeholder:text-muted-foreground placeholder:opacity-50 selection:bg-primary selection:text-primary-foreground w-full min-w-0 rounded-none border border-input bg-background text-sm transition-all duration-150 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus:ring-0 focus:ring-offset-0 focus:outline-none focus
|
|
119
|
+
"file:text-foreground placeholder:text-muted-foreground placeholder:opacity-50 selection:bg-primary selection:text-primary-foreground w-full min-w-0 rounded-none border border-input bg-background text-sm transition-all duration-150 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus:ring-0 focus:ring-offset-0 focus:outline-none focus:border-primary! focus-visible:border-primary! aria-invalid:border-destructive aria-invalid:focus:border-destructive! data-[invalid=true]:border-destructive data-[invalid=true]:focus:border-destructive!",
|
|
120
120
|
{
|
|
121
121
|
variants: {
|
|
122
122
|
size: {
|
|
123
|
-
sm: "h-
|
|
124
|
-
default: "h-
|
|
125
|
-
lg: "h-
|
|
123
|
+
sm: "h-[var(--control-height-sm)] px-2.5 py-2 text-sm",
|
|
124
|
+
default: "h-[var(--control-height)] px-3 py-2.5 text-sm",
|
|
125
|
+
lg: "h-[var(--control-height-lg)] px-4 py-3 text-base"
|
|
126
126
|
}
|
|
127
127
|
},
|
|
128
128
|
defaultVariants: {
|
|
@@ -151,8 +151,8 @@ var Textarea = React6.forwardRef(({ className, ...props }, ref) => {
|
|
|
151
151
|
{
|
|
152
152
|
"data-slot": "textarea",
|
|
153
153
|
className: cn(
|
|
154
|
-
"flex min-h-[80px] w-full rounded-none border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground placeholder:opacity-50 transition-all duration-200 focus
|
|
155
|
-
"aria-invalid:border-destructive aria-invalid:focus
|
|
154
|
+
"flex min-h-[80px] w-full rounded-none border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground placeholder:opacity-50 transition-all duration-200 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary/30 disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 resize-y",
|
|
155
|
+
"aria-invalid:border-destructive aria-invalid:focus:border-destructive!",
|
|
156
156
|
className
|
|
157
157
|
),
|
|
158
158
|
ref,
|
|
@@ -184,7 +184,7 @@ var TooltipContent = React6.forwardRef(({ className, sideOffset = 4, ...props },
|
|
|
184
184
|
sideOffset,
|
|
185
185
|
"data-slot": "tooltip-content",
|
|
186
186
|
className: cn(
|
|
187
|
-
"z-50 overflow-hidden rounded-none px-3 py-1.5 text-xs shadow-lg border border-
|
|
187
|
+
"z-50 overflow-hidden rounded-none px-3 py-1.5 text-xs shadow-lg border border-border bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
188
188
|
className
|
|
189
189
|
),
|
|
190
190
|
...props
|
|
@@ -224,7 +224,7 @@ var FormLabelWithTooltip = React6__namespace.forwardRef(
|
|
|
224
224
|
{
|
|
225
225
|
side: "right",
|
|
226
226
|
className: cn(
|
|
227
|
-
"max-w-[250px] text-[12px] break-words relative z-[100] shadow-md border border-
|
|
227
|
+
"max-w-[250px] text-[12px] break-words relative z-[100] shadow-md border border-border bg-primary text-primary-foreground px-3 py-2 rounded-none",
|
|
228
228
|
tooltipClassName
|
|
229
229
|
),
|
|
230
230
|
children: description
|
|
@@ -240,12 +240,14 @@ var badgeVariants = classVarianceAuthority.cva(
|
|
|
240
240
|
{
|
|
241
241
|
variants: {
|
|
242
242
|
variant: {
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
// Clear, legible chip in both modes (was bg-primary/5 at ~5% opacity,
|
|
244
|
+
// which was nearly invisible on dark backgrounds).
|
|
245
|
+
default: "bg-muted text-foreground",
|
|
246
|
+
primary: "bg-primary/10 text-primary dark:bg-primary/20",
|
|
245
247
|
success: "bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-100",
|
|
246
248
|
warning: "bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-100",
|
|
247
249
|
destructive: "bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-100",
|
|
248
|
-
outline: "border
|
|
250
|
+
outline: "border border-border! bg-transparent text-foreground dark:text-muted-foreground dark:border-border!"
|
|
249
251
|
}
|
|
250
252
|
},
|
|
251
253
|
defaultVariants: {
|
|
@@ -264,7 +266,7 @@ function Badge({ className, variant = "default", ...props }) {
|
|
|
264
266
|
);
|
|
265
267
|
}
|
|
266
268
|
var cardVariants = classVarianceAuthority.cva(
|
|
267
|
-
"bg-card text-foreground rounded-none border border-
|
|
269
|
+
"bg-card text-foreground rounded-none border border-border transition-all duration-200",
|
|
268
270
|
{
|
|
269
271
|
variants: {
|
|
270
272
|
variant: {
|
|
@@ -301,7 +303,7 @@ var CardHeader = React6.forwardRef(
|
|
|
301
303
|
"data-slot": "card-header",
|
|
302
304
|
className: cn(
|
|
303
305
|
"flex flex-col p-4",
|
|
304
|
-
!noBorder && "border-b border-
|
|
306
|
+
!noBorder && "border-b border-border",
|
|
305
307
|
className
|
|
306
308
|
),
|
|
307
309
|
...props
|
|
@@ -374,7 +376,7 @@ var CardFooter = React6.forwardRef(
|
|
|
374
376
|
ref,
|
|
375
377
|
"data-slot": "card-footer",
|
|
376
378
|
className: cn(
|
|
377
|
-
"flex items-center px-6 py-4 border-t border-
|
|
379
|
+
"flex items-center px-6 py-4 border-t border-border bg-primary/5",
|
|
378
380
|
className
|
|
379
381
|
),
|
|
380
382
|
...props
|
|
@@ -384,14 +386,14 @@ var CardFooter = React6.forwardRef(
|
|
|
384
386
|
);
|
|
385
387
|
CardFooter.displayName = "CardFooter";
|
|
386
388
|
var alertVariants = classVarianceAuthority.cva(
|
|
387
|
-
"relative flex items-start gap-3 rounded-none border border-
|
|
389
|
+
"relative flex items-start gap-3 rounded-none border border-border p-4 text-sm transition-colors duration-150",
|
|
388
390
|
{
|
|
389
391
|
variants: {
|
|
390
392
|
variant: {
|
|
391
|
-
info: "border-
|
|
392
|
-
success: "border-green-200 bg-green-50 text-green-900 dark:border-green-900 dark:bg-green-950 dark:text-green-100",
|
|
393
|
-
warning: "border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-900 dark:bg-amber-950 dark:text-amber-100",
|
|
394
|
-
destructive: "border-red-200 bg-red-50 text-red-900 dark:border-red-900 dark:bg-red-950 dark:text-red-100"
|
|
393
|
+
info: "border-border bg-primary/5 text-primary dark:border-primary/30 dark:bg-primary/5 dark:text-primary-foreground/90",
|
|
394
|
+
success: "border-green-200 bg-green-50 text-green-900 border-l-4 border-l-success dark:border-green-900 dark:bg-green-950 dark:text-green-100",
|
|
395
|
+
warning: "border-amber-200 bg-amber-50 text-amber-900 border-l-4 border-l-warning dark:border-amber-900 dark:bg-amber-950 dark:text-amber-100",
|
|
396
|
+
destructive: "border-red-200 bg-red-50 text-red-900 border-l-4 border-l-destructive dark:border-red-900 dark:bg-red-950 dark:text-red-100"
|
|
395
397
|
}
|
|
396
398
|
},
|
|
397
399
|
defaultVariants: {
|
|
@@ -541,7 +543,11 @@ var Checkbox = React6.forwardRef(({ className, indeterminate, ...props }, ref) =
|
|
|
541
543
|
ref,
|
|
542
544
|
"data-slot": "checkbox",
|
|
543
545
|
className: cn(
|
|
544
|
-
|
|
546
|
+
// Unchecked outline uses primary/40 (clearly visible, monochrome) instead of
|
|
547
|
+
// primary/5, which rendered at ~5% opacity and was effectively invisible.
|
|
548
|
+
// Checked and indeterminate share the filled appearance; declaring both
|
|
549
|
+
// here keeps the control self-sufficient without host overrides.
|
|
550
|
+
"peer h-4 w-4 shrink-0 rounded-none border border-primary/40 ring-offset-background focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary transition-all duration-200",
|
|
545
551
|
className
|
|
546
552
|
),
|
|
547
553
|
...props,
|
|
@@ -574,7 +580,9 @@ var RadioGroupItem = React6.forwardRef(({ className, ...props }, ref) => {
|
|
|
574
580
|
ref,
|
|
575
581
|
"data-slot": "radio-group-item",
|
|
576
582
|
className: cn(
|
|
577
|
-
|
|
583
|
+
// Unchecked outline uses primary/40 (clearly visible) instead of primary/5
|
|
584
|
+
// (~5% opacity, effectively invisible); hover strengthens above the resting state.
|
|
585
|
+
"peer h-4 w-4 shrink-0 rounded-none border border-primary/40 bg-background cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 hover:border-primary/70 data-[state=checked]:border-primary data-[state=checked]:border-[5px]",
|
|
578
586
|
className
|
|
579
587
|
),
|
|
580
588
|
...props,
|
|
@@ -589,9 +597,9 @@ function Switch({ className, ...props }) {
|
|
|
589
597
|
{
|
|
590
598
|
"data-slot": "switch",
|
|
591
599
|
className: cn(
|
|
592
|
-
"peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-none border border-
|
|
593
|
-
"data-[state=checked]:bg-primary data-[state=checked]
|
|
594
|
-
"data-[state=unchecked]:bg-input data-[state=unchecked]:border-
|
|
600
|
+
"peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-none border border-border transition-all outline-none focus-visible:border-primary aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50",
|
|
601
|
+
"data-[state=checked]:bg-primary data-[state=checked]:border-primary!",
|
|
602
|
+
"data-[state=unchecked]:bg-input data-[state=unchecked]:border-border dark:data-[state=unchecked]:bg-input/80",
|
|
595
603
|
className
|
|
596
604
|
),
|
|
597
605
|
...props,
|
|
@@ -636,7 +644,7 @@ var AccordionTrigger = React6.forwardRef(
|
|
|
636
644
|
...props,
|
|
637
645
|
children: [
|
|
638
646
|
children,
|
|
639
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150" })
|
|
647
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
|
|
640
648
|
]
|
|
641
649
|
}
|
|
642
650
|
) })
|
|
@@ -648,7 +656,7 @@ var AccordionContent = React6.forwardRef(
|
|
|
648
656
|
{
|
|
649
657
|
ref,
|
|
650
658
|
"data-slot": "accordion-content",
|
|
651
|
-
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
659
|
+
className: "overflow-hidden text-sm transition-all will-change-[height] transform-[translateZ(0)] data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
652
660
|
...props,
|
|
653
661
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pb-4 pt-0", className), children })
|
|
654
662
|
}
|
|
@@ -757,7 +765,7 @@ var TabsTrigger = React6.forwardRef(
|
|
|
757
765
|
ref,
|
|
758
766
|
"data-slot": "tabs-trigger",
|
|
759
767
|
className: cn(
|
|
760
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]
|
|
768
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]:border-b-primary! data-[state=active]:text-primary data-[state=inactive]:border-transparent data-[state=inactive]:text-muted-foreground hover:text-primary hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/20 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
|
|
761
769
|
className
|
|
762
770
|
),
|
|
763
771
|
...props
|
|
@@ -801,7 +809,7 @@ var PopoverContent = React6__namespace.forwardRef(({ className, align = "center"
|
|
|
801
809
|
sideOffset,
|
|
802
810
|
"data-slot": "popover-content",
|
|
803
811
|
className: cn(
|
|
804
|
-
"z-[100] w-72 rounded-none border border-
|
|
812
|
+
"z-[100] w-72 rounded-none border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",
|
|
805
813
|
className
|
|
806
814
|
),
|
|
807
815
|
...props
|
|
@@ -850,7 +858,7 @@ var DialogContent = React6.forwardRef(({ className, children, size, ...props },
|
|
|
850
858
|
ref,
|
|
851
859
|
"data-slot": "dialog-content",
|
|
852
860
|
className: cn(
|
|
853
|
-
"fixed left-[50%] top-[50%] z-[51] grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border border-
|
|
861
|
+
"fixed left-[50%] top-[50%] z-[51] grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-background p-6 shadow-xl rounded-none duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
|
|
854
862
|
dialogContentVariants({ size }),
|
|
855
863
|
className
|
|
856
864
|
),
|
|
@@ -947,7 +955,7 @@ var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => {
|
|
|
947
955
|
{
|
|
948
956
|
ref,
|
|
949
957
|
className: cn(
|
|
950
|
-
"fixed left-[50%] top-[50%] z-[51] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-
|
|
958
|
+
"fixed left-[50%] top-[50%] z-[51] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-background p-6 shadow-xl rounded-none duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
|
|
951
959
|
className
|
|
952
960
|
),
|
|
953
961
|
...props
|
|
@@ -1057,7 +1065,7 @@ var DropdownMenuSubContent = React6__namespace.forwardRef(({ className, ...props
|
|
|
1057
1065
|
{
|
|
1058
1066
|
ref,
|
|
1059
1067
|
className: cn(
|
|
1060
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-none border border-
|
|
1068
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-none border border-border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
1061
1069
|
className
|
|
1062
1070
|
),
|
|
1063
1071
|
...props
|
|
@@ -1072,7 +1080,7 @@ var DropdownMenuContent = React6__namespace.forwardRef(({ className, sideOffset
|
|
|
1072
1080
|
ref,
|
|
1073
1081
|
sideOffset,
|
|
1074
1082
|
className: cn(
|
|
1075
|
-
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-none border border-
|
|
1083
|
+
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-none border border-border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
1076
1084
|
className
|
|
1077
1085
|
),
|
|
1078
1086
|
...props
|
|
@@ -1173,13 +1181,13 @@ function SelectValue({
|
|
|
1173
1181
|
return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { "data-slot": "select-value", ...props });
|
|
1174
1182
|
}
|
|
1175
1183
|
var selectTriggerVariants = classVarianceAuthority.cva(
|
|
1176
|
-
"flex w-full items-center justify-between gap-2 rounded-none border border-input bg-background px-3 text-sm text-foreground cursor-pointer transition-all duration-150 focus
|
|
1184
|
+
"flex w-full items-center justify-between gap-2 rounded-none border border-input bg-background px-3 text-sm text-foreground cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary/30 disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 data-[placeholder]:text-muted-foreground aria-[invalid=true]:border-destructive aria-[invalid=true]:focus:border-destructive! [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
|
|
1177
1185
|
{
|
|
1178
1186
|
variants: {
|
|
1179
1187
|
size: {
|
|
1180
|
-
sm: "h-
|
|
1181
|
-
default: "h-
|
|
1182
|
-
lg: "h-
|
|
1188
|
+
sm: "h-[var(--control-height-sm)] text-sm",
|
|
1189
|
+
default: "h-[var(--control-height)] text-sm",
|
|
1190
|
+
lg: "h-[var(--control-height-lg)] text-base"
|
|
1183
1191
|
}
|
|
1184
1192
|
},
|
|
1185
1193
|
defaultVariants: {
|
|
@@ -1215,7 +1223,7 @@ function SelectContent({
|
|
|
1215
1223
|
{
|
|
1216
1224
|
"data-slot": "select-content",
|
|
1217
1225
|
className: cn(
|
|
1218
|
-
"bg-popover text-popover-foreground border border-
|
|
1226
|
+
"bg-popover text-popover-foreground border border-border shadow-none rounded-none z-9999 max-h-(--radix-select-content-available-height) min-w-32 overflow-hidden data-[state=open]:animate-zoom-in-95 data-[state=closed]:animate-zoom-out-95 data-[side=bottom]:animate-slide-in-from-top-2 data-[side=left]:animate-slide-in-from-right-2 data-[side=right]:animate-slide-in-from-left-2 data-[side=top]:animate-slide-in-from-bottom-2",
|
|
1219
1227
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
1220
1228
|
className
|
|
1221
1229
|
),
|
|
@@ -1342,10 +1350,10 @@ var sheetVariants = classVarianceAuthority.cva(
|
|
|
1342
1350
|
{
|
|
1343
1351
|
variants: {
|
|
1344
1352
|
side: {
|
|
1345
|
-
top: "inset-x-0 top-0 border-b border-
|
|
1346
|
-
bottom: "inset-x-0 bottom-0 border-t border-
|
|
1347
|
-
left: "inset-y-0 left-0 h-full w-3/4 border-r border-
|
|
1348
|
-
right: "inset-y-0 right-0 h-full w-3/4 border-l border-
|
|
1353
|
+
top: "inset-x-0 top-0 border-b border-border data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
1354
|
+
bottom: "inset-x-0 bottom-0 border-t border-border data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
1355
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r border-border data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
1356
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l border-border data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
1349
1357
|
}
|
|
1350
1358
|
},
|
|
1351
1359
|
defaultVariants: {
|
|
@@ -1469,7 +1477,7 @@ var CommandDialog = ({ children, ...props }) => {
|
|
|
1469
1477
|
"m-4 sm:m-0",
|
|
1470
1478
|
// 16px margin on mobile, no margin on desktop
|
|
1471
1479
|
// Visual
|
|
1472
|
-
"overflow-hidden rounded-none border border-
|
|
1480
|
+
"overflow-hidden rounded-none border border-border bg-background shadow-xl",
|
|
1473
1481
|
// Animation
|
|
1474
1482
|
"duration-200",
|
|
1475
1483
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
@@ -1485,7 +1493,7 @@ var CommandDialog = ({ children, ...props }) => {
|
|
|
1485
1493
|
var CommandInput = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1486
1494
|
"div",
|
|
1487
1495
|
{
|
|
1488
|
-
className: "flex items-center border-b border-
|
|
1496
|
+
className: "flex items-center border-b border-border px-4",
|
|
1489
1497
|
"cmdk-input-wrapper": "",
|
|
1490
1498
|
children: [
|
|
1491
1499
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
|
|
@@ -1604,7 +1612,7 @@ var CommandShortcut = React6.forwardRef(
|
|
|
1604
1612
|
"text-xs font-mono",
|
|
1605
1613
|
// Visual
|
|
1606
1614
|
"text-muted-foreground bg-primary/5",
|
|
1607
|
-
"border border-
|
|
1615
|
+
"border border-border rounded-none",
|
|
1608
1616
|
// Spacing
|
|
1609
1617
|
"px-1.5 py-0.5",
|
|
1610
1618
|
className
|
|
@@ -1647,7 +1655,7 @@ function Toaster({ theme = "system", ...props }) {
|
|
|
1647
1655
|
sonner.Toaster,
|
|
1648
1656
|
{
|
|
1649
1657
|
theme,
|
|
1650
|
-
className: "toaster group
|
|
1658
|
+
className: "toaster group bg-transparent! overflow-visible! z-[9999]!",
|
|
1651
1659
|
"data-slot": "toaster",
|
|
1652
1660
|
toastOptions: {
|
|
1653
1661
|
classNames: {
|
|
@@ -1662,9 +1670,9 @@ function Toaster({ theme = "system", ...props }) {
|
|
|
1662
1670
|
loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin" })
|
|
1663
1671
|
},
|
|
1664
1672
|
style: {
|
|
1665
|
-
"--normal-bg": "
|
|
1666
|
-
"--normal-text": "
|
|
1667
|
-
"--normal-border": "
|
|
1673
|
+
"--normal-bg": "var(--popover)",
|
|
1674
|
+
"--normal-text": "var(--popover-foreground)",
|
|
1675
|
+
"--normal-border": "var(--border)",
|
|
1668
1676
|
"--border-radius": "0px"
|
|
1669
1677
|
},
|
|
1670
1678
|
...props
|
|
@@ -1680,7 +1688,14 @@ var Table = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1680
1688
|
}
|
|
1681
1689
|
) }));
|
|
1682
1690
|
Table.displayName = "Table";
|
|
1683
|
-
var TableHeader = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1691
|
+
var TableHeader = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1692
|
+
"thead",
|
|
1693
|
+
{
|
|
1694
|
+
ref,
|
|
1695
|
+
className: cn("[&_tr]:border-b border-border", className),
|
|
1696
|
+
...props
|
|
1697
|
+
}
|
|
1698
|
+
));
|
|
1684
1699
|
TableHeader.displayName = "TableHeader";
|
|
1685
1700
|
var TableBody = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1686
1701
|
"tbody",
|
|
@@ -1695,7 +1710,10 @@ var TableFooter = React6__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1695
1710
|
"tfoot",
|
|
1696
1711
|
{
|
|
1697
1712
|
ref,
|
|
1698
|
-
className: cn(
|
|
1713
|
+
className: cn(
|
|
1714
|
+
"border-t border-border font-medium [&>tr]:last:border-b-0",
|
|
1715
|
+
className
|
|
1716
|
+
),
|
|
1699
1717
|
...props
|
|
1700
1718
|
}
|
|
1701
1719
|
));
|
|
@@ -1705,7 +1723,7 @@ var TableRow = React6__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1705
1723
|
{
|
|
1706
1724
|
ref,
|
|
1707
1725
|
className: cn(
|
|
1708
|
-
"border-b border-
|
|
1726
|
+
"border-b border-border transition-colors data-[state=selected]:bg-primary/5",
|
|
1709
1727
|
className
|
|
1710
1728
|
),
|
|
1711
1729
|
...props
|
|
@@ -1764,7 +1782,7 @@ function TableSearch({
|
|
|
1764
1782
|
value,
|
|
1765
1783
|
onChange: (e) => onChange(e.target.value),
|
|
1766
1784
|
"aria-busy": isLoading,
|
|
1767
|
-
className: "h-10 w-full rounded-none border border-
|
|
1785
|
+
className: "h-10 w-full rounded-none border border-border bg-background pl-10 pr-10 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 transition-all"
|
|
1768
1786
|
}
|
|
1769
1787
|
),
|
|
1770
1788
|
(value || isLoading) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
|
|
@@ -1803,7 +1821,7 @@ function TableEmpty({ message = "No records found" }) {
|
|
|
1803
1821
|
] });
|
|
1804
1822
|
}
|
|
1805
1823
|
function renderPageNumbers(currentPage, totalPages, maxVisiblePages, onPageChange) {
|
|
1806
|
-
const getBtnClass = (active) => `flex h-8 w-8 items-center justify-center border-y border-
|
|
1824
|
+
const getBtnClass = (active) => `flex h-8 w-8 items-center justify-center border-y border-border border-r border-border text-xs z-10 -ml-px transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring ${active ? "bg-primary! text-primary-foreground! border-primary! z-20" : "bg-background! border-border! hover-muted disabled:opacity-50"}`;
|
|
1807
1825
|
if (totalPages <= maxVisiblePages) {
|
|
1808
1826
|
return Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1809
1827
|
"button",
|
|
@@ -1838,7 +1856,7 @@ function renderPageNumbers(currentPage, totalPages, maxVisiblePages, onPageChang
|
|
|
1838
1856
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
1857
|
"span",
|
|
1840
1858
|
{
|
|
1841
|
-
className: "flex h-8 w-8 items-center justify-center border-y border-
|
|
1859
|
+
className: "flex h-8 w-8 items-center justify-center border-y border-border border-r border-border border-border! bg-background! text-muted-foreground text-xs -ml-px",
|
|
1842
1860
|
"aria-hidden": "true",
|
|
1843
1861
|
children: "..."
|
|
1844
1862
|
},
|
|
@@ -1868,7 +1886,7 @@ function renderPageNumbers(currentPage, totalPages, maxVisiblePages, onPageChang
|
|
|
1868
1886
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1869
1887
|
"span",
|
|
1870
1888
|
{
|
|
1871
|
-
className: "flex h-8 w-8 items-center justify-center border-y border-
|
|
1889
|
+
className: "flex h-8 w-8 items-center justify-center border-y border-border border-r border-border border-border! bg-background! text-muted-foreground text-xs -ml-px",
|
|
1872
1890
|
"aria-hidden": "true",
|
|
1873
1891
|
children: "..."
|
|
1874
1892
|
},
|
|
@@ -1903,7 +1921,8 @@ function TablePagination({
|
|
|
1903
1921
|
pageSizeOptions = [10, 20, 30, 50],
|
|
1904
1922
|
maxVisiblePages = 5
|
|
1905
1923
|
} = config || {};
|
|
1906
|
-
|
|
1924
|
+
const pageIndex = meta.page - 1;
|
|
1925
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row w-full items-center justify-between gap-4 text-xs sm:text-sm text-muted-foreground p-4 border-t border-border", children: [
|
|
1907
1926
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "whitespace-nowrap order-2 sm:order-1", children: [
|
|
1908
1927
|
"Showing ",
|
|
1909
1928
|
(meta.page - 1) * meta.limit + 1,
|
|
@@ -1926,7 +1945,7 @@ function TablePagination({
|
|
|
1926
1945
|
const newPageSize = Number(e.target.value);
|
|
1927
1946
|
onPageSizeChange(newPageSize);
|
|
1928
1947
|
},
|
|
1929
|
-
className: "h-8 w-[70px] appearance-none rounded-none border border-
|
|
1948
|
+
className: "h-8 w-[70px] appearance-none rounded-none border border-border bg-background px-2 py-1 text-sm font-medium focus-visible:outline-none focus:ring-1 focus:ring-ring disabled:opacity-50 hover-muted cursor-pointer",
|
|
1930
1949
|
disabled: isLoading,
|
|
1931
1950
|
children: pageSizeOptions.map((size) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: size, children: size }, size))
|
|
1932
1951
|
}
|
|
@@ -1956,8 +1975,8 @@ function TablePagination({
|
|
|
1956
1975
|
"button",
|
|
1957
1976
|
{
|
|
1958
1977
|
onClick: () => onPageChange(0),
|
|
1959
|
-
disabled:
|
|
1960
|
-
className: "hidden sm:flex h-8 w-8 items-center justify-center rounded-none border border-
|
|
1978
|
+
disabled: pageIndex === 0 || isLoading,
|
|
1979
|
+
className: "hidden sm:flex h-8 w-8 items-center justify-center rounded-none border border-border bg-background hover-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring z-10",
|
|
1961
1980
|
"aria-label": "First page",
|
|
1962
1981
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsLeft, { className: "h-4 w-4" })
|
|
1963
1982
|
}
|
|
@@ -1965,15 +1984,15 @@ function TablePagination({
|
|
|
1965
1984
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1966
1985
|
"button",
|
|
1967
1986
|
{
|
|
1968
|
-
onClick: () => onPageChange(
|
|
1969
|
-
disabled:
|
|
1970
|
-
className: "flex h-8 w-8 items-center justify-center rounded-none sm:rounded-none border border-
|
|
1987
|
+
onClick: () => onPageChange(pageIndex - 1),
|
|
1988
|
+
disabled: pageIndex === 0 || isLoading,
|
|
1989
|
+
className: "flex h-8 w-8 items-center justify-center rounded-none sm:rounded-none border border-border bg-background hover-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring z-10",
|
|
1971
1990
|
"aria-label": "Previous page",
|
|
1972
1991
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
1973
1992
|
}
|
|
1974
1993
|
),
|
|
1975
1994
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex", children: renderPageNumbers(
|
|
1976
|
-
|
|
1995
|
+
pageIndex,
|
|
1977
1996
|
meta.totalPages,
|
|
1978
1997
|
maxVisiblePages,
|
|
1979
1998
|
onPageChange
|
|
@@ -1981,9 +2000,9 @@ function TablePagination({
|
|
|
1981
2000
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1982
2001
|
"button",
|
|
1983
2002
|
{
|
|
1984
|
-
onClick: () => onPageChange(
|
|
1985
|
-
disabled:
|
|
1986
|
-
className: "flex h-8 w-8 items-center justify-center rounded-none sm:rounded-none border-y border-
|
|
2003
|
+
onClick: () => onPageChange(pageIndex + 1),
|
|
2004
|
+
disabled: pageIndex >= meta.totalPages - 1 || isLoading,
|
|
2005
|
+
className: "flex h-8 w-8 items-center justify-center rounded-none sm:rounded-none border-y border-border border-x border-border sm:border-r border-border bg-background hover-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring z-10",
|
|
1987
2006
|
"aria-label": "Next page",
|
|
1988
2007
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
1989
2008
|
}
|
|
@@ -1992,8 +2011,8 @@ function TablePagination({
|
|
|
1992
2011
|
"button",
|
|
1993
2012
|
{
|
|
1994
2013
|
onClick: () => onPageChange(meta.totalPages - 1),
|
|
1995
|
-
disabled:
|
|
1996
|
-
className: "hidden sm:flex h-8 w-8 items-center justify-center rounded-none border border-
|
|
2014
|
+
disabled: pageIndex >= meta.totalPages - 1 || isLoading,
|
|
2015
|
+
className: "hidden sm:flex h-8 w-8 items-center justify-center rounded-none border border-border bg-background hover-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring z-10",
|
|
1997
2016
|
"aria-label": "Last page",
|
|
1998
2017
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsRight, { className: "h-4 w-4" })
|
|
1999
2018
|
}
|
|
@@ -2001,7 +2020,7 @@ function TablePagination({
|
|
|
2001
2020
|
] }),
|
|
2002
2021
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "whitespace-nowrap hidden sm:block", children: [
|
|
2003
2022
|
"Page ",
|
|
2004
|
-
meta.page
|
|
2023
|
+
meta.page,
|
|
2005
2024
|
" of ",
|
|
2006
2025
|
meta.totalPages
|
|
2007
2026
|
] })
|
|
@@ -2018,7 +2037,7 @@ var TableSkeleton = ({
|
|
|
2018
2037
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2019
2038
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ jsxRuntime.jsxs(Table, { children: [
|
|
2020
2039
|
/* @__PURE__ */ jsxRuntime.jsx(TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
|
|
2021
|
-
/* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableRow, { className: "border-b border-
|
|
2040
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
2022
2041
|
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "w-9 rounded-none shrink-0" }),
|
|
2023
2042
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 flex-1", children: [
|
|
2024
2043
|
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-4 w-[120px]" }),
|
|
@@ -2026,7 +2045,7 @@ var TableSkeleton = ({
|
|
|
2026
2045
|
] })
|
|
2027
2046
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
|
|
2028
2047
|
] }) }),
|
|
2029
|
-
!hideFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-footer border-t border-
|
|
2048
|
+
!hideFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
|
|
2030
2049
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[120px]" }) }),
|
|
2031
2050
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-6", children: [
|
|
2032
2051
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -2047,7 +2066,7 @@ var TableSkeleton = ({
|
|
|
2047
2066
|
if (hideWrapper) {
|
|
2048
2067
|
return content;
|
|
2049
2068
|
}
|
|
2050
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-wrapper rounded-none border border-
|
|
2069
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
|
|
2051
2070
|
};
|
|
2052
2071
|
TableSkeleton.displayName = "TableSkeleton";
|
|
2053
2072
|
function ResponsiveTableInner({
|
|
@@ -2105,17 +2124,7 @@ function ResponsiveTableInner({
|
|
|
2105
2124
|
[handleItemClick, onRowClick]
|
|
2106
2125
|
);
|
|
2107
2126
|
if (data.length === 0) {
|
|
2108
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2109
|
-
"div",
|
|
2110
|
-
{
|
|
2111
|
-
ref,
|
|
2112
|
-
className: cn(
|
|
2113
|
-
"p-8 text-center",
|
|
2114
|
-
className
|
|
2115
|
-
),
|
|
2116
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: emptyMessage })
|
|
2117
|
-
}
|
|
2118
|
-
);
|
|
2127
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-8 text-center", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: emptyMessage }) });
|
|
2119
2128
|
}
|
|
2120
2129
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("w-full", className), children: [
|
|
2121
2130
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 md:hidden", children: data.map((item) => {
|
|
@@ -2182,11 +2191,11 @@ function ResponsiveTableInner({
|
|
|
2182
2191
|
"div",
|
|
2183
2192
|
{
|
|
2184
2193
|
className: cn(
|
|
2185
|
-
"table-wrapper hidden md:block overflow-hidden rounded-none border border-
|
|
2194
|
+
"table-wrapper hidden md:block overflow-hidden rounded-none border border-border",
|
|
2186
2195
|
tableWrapperClassName
|
|
2187
2196
|
),
|
|
2188
2197
|
children: /* @__PURE__ */ jsxRuntime.jsxs(Table, { "aria-label": ariaLabel || "Data table", children: [
|
|
2189
|
-
/* @__PURE__ */ jsxRuntime.jsx(TableHeader, { className: "bg-[
|
|
2198
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableHeader, { className: "bg-[var(--table-header-bg)]", children: /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2190
2199
|
TableHead,
|
|
2191
2200
|
{
|
|
2192
2201
|
className: column.headerClassName,
|
|
@@ -2223,7 +2232,7 @@ function ResponsiveTableInner({
|
|
|
2223
2232
|
] })
|
|
2224
2233
|
}
|
|
2225
2234
|
),
|
|
2226
|
-
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-footer border-t border-
|
|
2235
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-footer border-t border-border bg-[var(--table-header-bg)]", children: footer })
|
|
2227
2236
|
] });
|
|
2228
2237
|
}
|
|
2229
2238
|
var ResponsiveTable = React6__namespace.forwardRef(ResponsiveTableInner);
|
|
@@ -2233,46 +2242,46 @@ var uiPreset = {
|
|
|
2233
2242
|
theme: {
|
|
2234
2243
|
extend: {
|
|
2235
2244
|
colors: {
|
|
2236
|
-
border: "
|
|
2237
|
-
input: "
|
|
2238
|
-
ring: "
|
|
2239
|
-
background: "
|
|
2240
|
-
foreground: "
|
|
2245
|
+
border: "var(--border)",
|
|
2246
|
+
input: "var(--input)",
|
|
2247
|
+
ring: "var(--ring)",
|
|
2248
|
+
background: "var(--background)",
|
|
2249
|
+
foreground: "var(--foreground)",
|
|
2241
2250
|
primary: {
|
|
2242
|
-
DEFAULT: "
|
|
2243
|
-
foreground: "
|
|
2251
|
+
DEFAULT: "var(--primary)",
|
|
2252
|
+
foreground: "var(--primary-foreground)"
|
|
2244
2253
|
},
|
|
2245
2254
|
secondary: {
|
|
2246
|
-
DEFAULT: "
|
|
2247
|
-
foreground: "
|
|
2255
|
+
DEFAULT: "var(--secondary)",
|
|
2256
|
+
foreground: "var(--secondary-foreground)"
|
|
2248
2257
|
},
|
|
2249
2258
|
destructive: {
|
|
2250
|
-
DEFAULT: "
|
|
2251
|
-
foreground: "
|
|
2259
|
+
DEFAULT: "var(--destructive)",
|
|
2260
|
+
foreground: "var(--destructive-foreground)"
|
|
2252
2261
|
},
|
|
2253
2262
|
success: {
|
|
2254
|
-
DEFAULT: "
|
|
2255
|
-
foreground: "
|
|
2263
|
+
DEFAULT: "var(--success)",
|
|
2264
|
+
foreground: "var(--success-foreground)"
|
|
2256
2265
|
},
|
|
2257
2266
|
warning: {
|
|
2258
|
-
DEFAULT: "
|
|
2259
|
-
foreground: "
|
|
2267
|
+
DEFAULT: "var(--warning)",
|
|
2268
|
+
foreground: "var(--warning-foreground)"
|
|
2260
2269
|
},
|
|
2261
2270
|
muted: {
|
|
2262
|
-
DEFAULT: "
|
|
2263
|
-
foreground: "
|
|
2271
|
+
DEFAULT: "var(--muted)",
|
|
2272
|
+
foreground: "var(--muted-foreground)"
|
|
2264
2273
|
},
|
|
2265
2274
|
accent: {
|
|
2266
|
-
DEFAULT: "
|
|
2267
|
-
foreground: "
|
|
2275
|
+
DEFAULT: "var(--accent)",
|
|
2276
|
+
foreground: "var(--accent-foreground)"
|
|
2268
2277
|
},
|
|
2269
2278
|
popover: {
|
|
2270
|
-
DEFAULT: "
|
|
2271
|
-
foreground: "
|
|
2279
|
+
DEFAULT: "var(--popover)",
|
|
2280
|
+
foreground: "var(--popover-foreground)"
|
|
2272
2281
|
},
|
|
2273
2282
|
card: {
|
|
2274
|
-
DEFAULT: "
|
|
2275
|
-
foreground: "
|
|
2283
|
+
DEFAULT: "var(--card)",
|
|
2284
|
+
foreground: "var(--card-foreground)"
|
|
2276
2285
|
}
|
|
2277
2286
|
},
|
|
2278
2287
|
borderRadius: {
|