@payglocal_ui/flux-ui 0.3.3 → 0.3.5
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/dist/index.cjs +178 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +53 -1
- package/dist/index.d.ts +53 -1
- package/dist/index.js +177 -81
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/alert.tsx +2 -1
- package/src/button-group.tsx +7 -5
- package/src/button.tsx +11 -4
- package/src/calendar.tsx +5 -2
- package/src/card.tsx +4 -1
- package/src/chart-templates.tsx +9 -7
- package/src/checkbox-select.tsx +9 -4
- package/src/checkbox.tsx +3 -1
- package/src/command.tsx +2 -1
- package/src/country-select.tsx +5 -2
- package/src/data-table.tsx +4 -2
- package/src/date-picker.tsx +9 -4
- package/src/dialog.tsx +3 -1
- package/src/drawer.tsx +2 -1
- package/src/dropdown-menu.tsx +5 -2
- package/src/elevation.ts +54 -0
- package/src/flag.tsx +3 -1
- package/src/icon-button.tsx +5 -4
- package/src/index.ts +1 -0
- package/src/inline-dialog.tsx +3 -1
- package/src/inline-edit.tsx +3 -1
- package/src/input-group.tsx +3 -1
- package/src/input.tsx +3 -1
- package/src/otp-input.tsx +3 -1
- package/src/pagination.tsx +2 -1
- package/src/popover.tsx +3 -1
- package/src/radio-group.tsx +3 -1
- package/src/section-message.tsx +3 -1
- package/src/select.tsx +5 -2
- package/src/single-select.tsx +7 -3
- package/src/skeleton.tsx +7 -1
- package/src/slider.tsx +5 -1
- package/src/sonner.tsx +2 -1
- package/src/spotlight.tsx +2 -1
- package/src/switch.tsx +3 -1
- package/src/textarea.tsx +3 -1
- package/src/time-picker.tsx +5 -2
- package/src/tooltip.tsx +3 -1
package/dist/index.js
CHANGED
|
@@ -7,6 +7,42 @@ function cn(...inputs) {
|
|
|
7
7
|
return twMerge(clsx(inputs));
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
// src/elevation.ts
|
|
11
|
+
var elevation = {
|
|
12
|
+
/**
|
|
13
|
+
* Flat surfaces that sit ON the page and are delineated by their border:
|
|
14
|
+
* Card, chart surfaces, DataTableCard, Alert, SectionMessage, Skeleton.
|
|
15
|
+
* This is the shadow on the mca-home revenue card, and the reference the
|
|
16
|
+
* rest of the library was pulled onto.
|
|
17
|
+
*/
|
|
18
|
+
surface: "shadow-sm",
|
|
19
|
+
/**
|
|
20
|
+
* Button-shaped things: Button, IconButton, ButtonGroup segments, the
|
|
21
|
+
* pagination page buttons, a table's row CTA. Just enough lift to read as
|
|
22
|
+
* pressable. Ghost and link variants stay flat and do not use this.
|
|
23
|
+
*/
|
|
24
|
+
control: "shadow-sm",
|
|
25
|
+
/**
|
|
26
|
+
* Anything you type into or pick from: Input, Textarea, every select
|
|
27
|
+
* trigger, the date and time pickers, OTP boxes, Checkbox, Radio.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately flat. A field is a well, not a raised object, and a form of
|
|
30
|
+
* ten shadowed controls reads as clutter. Emitted as an explicit
|
|
31
|
+
* `shadow-none` rather than by omitting the class so that a caller passing
|
|
32
|
+
* `shadow-sm` through `className` still wins under tailwind-merge.
|
|
33
|
+
*/
|
|
34
|
+
field: "shadow-none",
|
|
35
|
+
/**
|
|
36
|
+
* Things that genuinely float above the page, where depth is the signal that
|
|
37
|
+
* says "this is detached and dismissible". Kept heavier than `surface` on
|
|
38
|
+
* purpose — flattening these is what makes a dropdown look painted on.
|
|
39
|
+
*/
|
|
40
|
+
tooltip: "shadow-md",
|
|
41
|
+
popover: "shadow-lg",
|
|
42
|
+
drawer: "shadow-xl",
|
|
43
|
+
modal: "shadow-2xl"
|
|
44
|
+
};
|
|
45
|
+
|
|
10
46
|
// src/layout.tsx
|
|
11
47
|
import { jsx } from "react/jsx-runtime";
|
|
12
48
|
var gapClass = {
|
|
@@ -259,11 +295,11 @@ import { Loader2 } from "lucide-react";
|
|
|
259
295
|
import { forwardRef as forwardRef2 } from "react";
|
|
260
296
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
261
297
|
var variantClasses = {
|
|
262
|
-
primary:
|
|
263
|
-
secondary:
|
|
298
|
+
primary: `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)]`,
|
|
299
|
+
secondary: `bg-muted text-foreground border border-border ${elevation.control} hover:bg-muted/85 dark:bg-muted/35 dark:text-foreground dark:border-border dark:hover:bg-muted/55`,
|
|
264
300
|
ghost: "bg-transparent text-foreground border border-transparent hover:bg-muted focus-visible:bg-muted/80 active:bg-muted/90",
|
|
265
|
-
danger:
|
|
266
|
-
outline:
|
|
301
|
+
danger: `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700`,
|
|
302
|
+
outline: `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted`,
|
|
267
303
|
link: "h-auto min-h-0 rounded-md border border-transparent bg-transparent px-2 py-2 text-[15px] font-medium text-primary shadow-none underline-offset-4 hover:bg-primary/5 hover:underline focus-visible:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 disabled:pointer-events-none disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:no-underline"
|
|
268
304
|
};
|
|
269
305
|
var sizes = {
|
|
@@ -290,6 +326,12 @@ var Button = forwardRef2(
|
|
|
290
326
|
disabled: disabled || isLoading,
|
|
291
327
|
className: cn(
|
|
292
328
|
"inline-flex items-center justify-center font-medium transition-colors duration-pg-fast ease-pg-standard",
|
|
329
|
+
// A button's label never wraps. Without this, a narrow button breaks
|
|
330
|
+
// the line between an icon and its text — and an icon passed as a
|
|
331
|
+
// child rather than through `leftIcon` sits inside the same span, so
|
|
332
|
+
// it wraps with the words. Pass `whitespace-normal` in `className`
|
|
333
|
+
// for the rare button that really should wrap.
|
|
334
|
+
"whitespace-nowrap",
|
|
293
335
|
variant !== "link" && "disabled:cursor-not-allowed disabled:opacity-50",
|
|
294
336
|
variant === "link" && "justify-center",
|
|
295
337
|
variant !== "link" && "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
@@ -423,11 +465,11 @@ var SplitButton = forwardRef3(
|
|
|
423
465
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
424
466
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
425
467
|
// Match variant styling
|
|
426
|
-
variant === "primary" &&
|
|
427
|
-
variant === "secondary" &&
|
|
428
|
-
variant === "outline" &&
|
|
468
|
+
variant === "primary" && `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)] border-l border-l-primary-foreground/20`,
|
|
469
|
+
variant === "secondary" && `bg-muted text-foreground border border-border ${elevation.control} hover:bg-muted/85 dark:bg-muted/35 dark:hover:bg-muted/55 border-l-0`,
|
|
470
|
+
variant === "outline" && `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted border-l-0`,
|
|
429
471
|
variant === "ghost" && "bg-transparent text-foreground border border-transparent hover:bg-muted border-l-0",
|
|
430
|
-
variant === "danger" &&
|
|
472
|
+
variant === "danger" && `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700 border-l border-l-white/20`,
|
|
431
473
|
// Size heights to match Button
|
|
432
474
|
size === "sm" && "h-9 min-h-9 rounded-lg",
|
|
433
475
|
size === "md" && "h-10 min-h-10 rounded-lg",
|
|
@@ -451,7 +493,8 @@ var SplitButton = forwardRef3(
|
|
|
451
493
|
role: "menu",
|
|
452
494
|
className: cn(
|
|
453
495
|
"absolute right-0 top-full mt-1 z-50",
|
|
454
|
-
"bg-card border border-border rounded-lg
|
|
496
|
+
"bg-card border border-border rounded-lg py-1 min-w-32",
|
|
497
|
+
elevation.popover
|
|
455
498
|
),
|
|
456
499
|
children
|
|
457
500
|
}
|
|
@@ -495,7 +538,8 @@ var Input = React2.forwardRef(
|
|
|
495
538
|
{
|
|
496
539
|
type,
|
|
497
540
|
className: cn(
|
|
498
|
-
"flex h-11 min-h-11 w-full rounded-lg border border-border bg-card px-4 py-2 text-[15px] leading-tight
|
|
541
|
+
"flex h-11 min-h-11 w-full rounded-lg border border-border bg-card px-4 py-2 text-[15px] leading-tight transition-colors",
|
|
542
|
+
elevation.field,
|
|
499
543
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
|
|
500
544
|
"placeholder:text-muted-foreground",
|
|
501
545
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
@@ -629,7 +673,8 @@ function OtpInput({
|
|
|
629
673
|
onKeyDown: (e) => handleKeyDown(i, e),
|
|
630
674
|
onPaste: handlePaste,
|
|
631
675
|
className: cn(
|
|
632
|
-
"h-12 w-11 rounded-lg border bg-card text-center text-lg font-semibold text-foreground
|
|
676
|
+
"h-12 w-11 rounded-lg border bg-card text-center text-lg font-semibold text-foreground transition-colors",
|
|
677
|
+
elevation.field,
|
|
633
678
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 focus-visible:border-primary",
|
|
634
679
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
635
680
|
invalid ? "border-destructive ring-destructive/20" : "border-input"
|
|
@@ -733,7 +778,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
733
778
|
"aria-expanded": open,
|
|
734
779
|
"aria-haspopup": "listbox",
|
|
735
780
|
className: cn(
|
|
736
|
-
"flex h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 py-2 text-[15px]
|
|
781
|
+
"flex h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 py-2 text-[15px] outline-none",
|
|
782
|
+
elevation.field,
|
|
737
783
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
738
784
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
739
785
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -761,7 +807,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
761
807
|
sideOffset: 6,
|
|
762
808
|
collisionPadding: 8,
|
|
763
809
|
className: cn(
|
|
764
|
-
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground
|
|
810
|
+
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground outline-none p-1",
|
|
811
|
+
elevation.popover,
|
|
765
812
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
766
813
|
),
|
|
767
814
|
children: [
|
|
@@ -776,7 +823,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
776
823
|
placeholder: searchPlaceholder,
|
|
777
824
|
"aria-label": searchPlaceholder,
|
|
778
825
|
className: cn(
|
|
779
|
-
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm
|
|
826
|
+
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm placeholder:text-muted-foreground",
|
|
827
|
+
elevation.field,
|
|
780
828
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
781
829
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
782
830
|
)
|
|
@@ -830,7 +878,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
830
878
|
onCheckedChange: () => !option.disabled && handleToggle(option.value),
|
|
831
879
|
onClick: (e) => e.stopPropagation(),
|
|
832
880
|
className: cn(
|
|
833
|
-
"peer h-4 w-4 shrink-0 rounded-md border border-border bg-card
|
|
881
|
+
"peer h-4 w-4 shrink-0 rounded-md border border-border bg-card",
|
|
882
|
+
elevation.field,
|
|
834
883
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
835
884
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
836
885
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -918,7 +967,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
918
967
|
"aria-haspopup": "listbox",
|
|
919
968
|
"aria-invalid": invalid || void 0,
|
|
920
969
|
className: cn(
|
|
921
|
-
"flex h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 py-2 text-[15px]
|
|
970
|
+
"flex h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 py-2 text-[15px] outline-none",
|
|
971
|
+
elevation.field,
|
|
922
972
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
923
973
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
924
974
|
"aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/25 dark:aria-invalid:ring-destructive/40",
|
|
@@ -950,7 +1000,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
950
1000
|
sideOffset: 6,
|
|
951
1001
|
collisionPadding: 8,
|
|
952
1002
|
className: cn(
|
|
953
|
-
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground
|
|
1003
|
+
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground outline-none p-1",
|
|
1004
|
+
elevation.popover,
|
|
954
1005
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
955
1006
|
),
|
|
956
1007
|
children: [
|
|
@@ -965,7 +1016,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
965
1016
|
placeholder: searchPlaceholder,
|
|
966
1017
|
"aria-label": searchPlaceholder,
|
|
967
1018
|
className: cn(
|
|
968
|
-
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm
|
|
1019
|
+
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm placeholder:text-muted-foreground",
|
|
1020
|
+
elevation.field,
|
|
969
1021
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
970
1022
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
971
1023
|
)
|
|
@@ -1034,7 +1086,8 @@ var Textarea = React8.forwardRef(
|
|
|
1034
1086
|
"textarea",
|
|
1035
1087
|
{
|
|
1036
1088
|
className: cn(
|
|
1037
|
-
"flex min-h-[5.5rem] w-full rounded-lg border border-border bg-card px-4 py-3 text-[15px] leading-relaxed
|
|
1089
|
+
"flex min-h-[5.5rem] w-full rounded-lg border border-border bg-card px-4 py-3 text-[15px] leading-relaxed transition-colors",
|
|
1090
|
+
elevation.field,
|
|
1038
1091
|
"placeholder:text-muted-foreground",
|
|
1039
1092
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
1040
1093
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1080,7 +1133,8 @@ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) =>
|
|
|
1080
1133
|
{
|
|
1081
1134
|
ref,
|
|
1082
1135
|
className: cn(
|
|
1083
|
-
"peer shrink-0 border border-border bg-card
|
|
1136
|
+
"peer shrink-0 border border-border bg-card transition-colors duration-pg-fast ease-pg-standard",
|
|
1137
|
+
elevation.field,
|
|
1084
1138
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1085
1139
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1086
1140
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary",
|
|
@@ -1112,7 +1166,8 @@ var RadioGroupItem = React11.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1112
1166
|
{
|
|
1113
1167
|
ref,
|
|
1114
1168
|
className: cn(
|
|
1115
|
-
"size-4 shrink-0 rounded-full border border-border bg-card
|
|
1169
|
+
"size-4 shrink-0 rounded-full border border-border bg-card",
|
|
1170
|
+
elevation.field,
|
|
1116
1171
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1117
1172
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1118
1173
|
"data-[state=checked]:border-primary",
|
|
@@ -1154,7 +1209,8 @@ var switchRootVariants = cva2(
|
|
|
1154
1209
|
);
|
|
1155
1210
|
var switchThumbVariants = cva2(
|
|
1156
1211
|
[
|
|
1157
|
-
"pointer-events-none block rounded-full bg-white
|
|
1212
|
+
"pointer-events-none block rounded-full bg-white",
|
|
1213
|
+
elevation.control,
|
|
1158
1214
|
"transition-transform duration-pg-fast ease-pg-standard",
|
|
1159
1215
|
"ring-0"
|
|
1160
1216
|
],
|
|
@@ -1195,7 +1251,10 @@ var Slider = React13.forwardRef(
|
|
|
1195
1251
|
...props,
|
|
1196
1252
|
children: [
|
|
1197
1253
|
/* @__PURE__ */ jsx16(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted", children: /* @__PURE__ */ jsx16(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
1198
|
-
/* @__PURE__ */ jsx16(SliderPrimitive.Thumb, { className:
|
|
1254
|
+
/* @__PURE__ */ jsx16(SliderPrimitive.Thumb, { className: cn(
|
|
1255
|
+
"block h-[18px] w-[18px] rounded-full border-2 border-primary bg-card transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 disabled:pointer-events-none disabled:opacity-50",
|
|
1256
|
+
elevation.control
|
|
1257
|
+
) })
|
|
1199
1258
|
]
|
|
1200
1259
|
}
|
|
1201
1260
|
)
|
|
@@ -1533,7 +1592,8 @@ function InputGroup({ className, ...props }) {
|
|
|
1533
1592
|
"data-slot": "input-group",
|
|
1534
1593
|
role: "group",
|
|
1535
1594
|
className: cn(
|
|
1536
|
-
"group/input-group relative flex w-full items-stretch rounded-xl border border-border bg-card
|
|
1595
|
+
"group/input-group relative flex w-full items-stretch rounded-xl border border-border bg-card outline-none transition-[color,box-shadow] dark:bg-card/50",
|
|
1596
|
+
elevation.field,
|
|
1537
1597
|
"min-h-11 h-11 has-[>textarea]:h-auto",
|
|
1538
1598
|
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
1539
1599
|
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
@@ -1717,17 +1777,20 @@ function CurrencyAmountInput({
|
|
|
1717
1777
|
// src/card.tsx
|
|
1718
1778
|
import { cva as cva5 } from "class-variance-authority";
|
|
1719
1779
|
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1720
|
-
var cardVariants = cva5(
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1780
|
+
var cardVariants = cva5(
|
|
1781
|
+
cn("flex flex-col rounded-xl border border-border bg-card text-card-foreground", elevation.surface),
|
|
1782
|
+
{
|
|
1783
|
+
variants: {
|
|
1784
|
+
size: {
|
|
1785
|
+
default: "gap-10 px-10 py-10",
|
|
1786
|
+
sm: "gap-6 px-7 py-7"
|
|
1787
|
+
}
|
|
1788
|
+
},
|
|
1789
|
+
defaultVariants: {
|
|
1790
|
+
size: "default"
|
|
1725
1791
|
}
|
|
1726
|
-
},
|
|
1727
|
-
defaultVariants: {
|
|
1728
|
-
size: "default"
|
|
1729
1792
|
}
|
|
1730
|
-
|
|
1793
|
+
);
|
|
1731
1794
|
function Card({
|
|
1732
1795
|
className,
|
|
1733
1796
|
size,
|
|
@@ -2120,7 +2183,7 @@ var PaginationLink = forwardRef19(
|
|
|
2120
2183
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
2121
2184
|
"cursor-pointer select-none",
|
|
2122
2185
|
// active
|
|
2123
|
-
isActive ?
|
|
2186
|
+
isActive ? `bg-primary text-primary-foreground border-primary ${elevation.control}` : "text-muted-foreground border-border hover:bg-muted hover:text-foreground",
|
|
2124
2187
|
className
|
|
2125
2188
|
),
|
|
2126
2189
|
...props
|
|
@@ -2672,7 +2735,7 @@ import { Fragment as Fragment5, jsx as jsx33, jsxs as jsxs17 } from "react/jsx-r
|
|
|
2672
2735
|
var SpotlightCard = React25.forwardRef(
|
|
2673
2736
|
({ title, body, image, currentStep, totalSteps, onNext, onBack, onDismiss, nextLabel, className }, ref) => {
|
|
2674
2737
|
const isLast = currentStep !== void 0 && totalSteps !== void 0 && currentStep >= totalSteps - 1;
|
|
2675
|
-
return /* @__PURE__ */ jsxs17("div", { ref, className: cn("bg-card border border-border rounded-xl
|
|
2738
|
+
return /* @__PURE__ */ jsxs17("div", { ref, className: cn("bg-card border border-border rounded-xl p-5 w-72", elevation.surface, className), children: [
|
|
2676
2739
|
onDismiss && /* @__PURE__ */ jsx33(
|
|
2677
2740
|
"button",
|
|
2678
2741
|
{
|
|
@@ -2802,7 +2865,8 @@ function DialogContent({
|
|
|
2802
2865
|
"fixed left-1/2 top-1/2 z-[101] w-[calc(100%-1.5rem)] max-w-[min(100%,26rem)] -translate-x-1/2 -translate-y-1/2",
|
|
2803
2866
|
// Default padding reserves space for the close button.
|
|
2804
2867
|
// Pass p-0 in className to opt out (manage padding per section).
|
|
2805
|
-
"rounded-2xl border border-border bg-card p-6 pt-10 text-card-foreground
|
|
2868
|
+
"rounded-2xl border border-border bg-card p-6 pt-10 text-card-foreground outline-none",
|
|
2869
|
+
elevation.modal,
|
|
2806
2870
|
"max-h-[min(90vh,720px)] overflow-y-auto",
|
|
2807
2871
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 data-[state=open]:scale-100 data-[state=closed]:scale-[0.98]",
|
|
2808
2872
|
"transition-[opacity,transform] duration-200 ease-out",
|
|
@@ -2870,7 +2934,7 @@ var DrawerContent = React26.forwardRef(({ className, children, ...props }, ref)
|
|
|
2870
2934
|
DialogPrimitive2.Content,
|
|
2871
2935
|
{
|
|
2872
2936
|
ref,
|
|
2873
|
-
className: cn("fixed z-50 flex flex-col bg-card border-border
|
|
2937
|
+
className: cn(elevation.drawer, "fixed z-50 flex flex-col bg-card border-border transition-all duration-pg-normal ease-pg-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-200", sideClasses[side], className),
|
|
2874
2938
|
...props,
|
|
2875
2939
|
children: [
|
|
2876
2940
|
children,
|
|
@@ -2912,7 +2976,8 @@ var PopoverContent = React27.forwardRef(({ className, align = "center", sideOffs
|
|
|
2912
2976
|
sideOffset,
|
|
2913
2977
|
collisionPadding,
|
|
2914
2978
|
className: cn(
|
|
2915
|
-
"z-[120] w-72 rounded-xl border border-border bg-popover p-4 text-popover-foreground
|
|
2979
|
+
"z-[120] w-72 rounded-xl border border-border bg-popover p-4 text-popover-foreground outline-none",
|
|
2980
|
+
elevation.popover,
|
|
2916
2981
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
2917
2982
|
className
|
|
2918
2983
|
),
|
|
@@ -2934,7 +2999,8 @@ var TooltipContent = React28.forwardRef(({ className, sideOffset = 6, ...props }
|
|
|
2934
2999
|
ref,
|
|
2935
3000
|
sideOffset,
|
|
2936
3001
|
className: cn(
|
|
2937
|
-
"z-[130] max-w-xs overflow-hidden rounded-lg border border-border bg-popover px-3 py-2 text-sm leading-snug text-popover-foreground
|
|
3002
|
+
"z-[130] max-w-xs overflow-hidden rounded-lg border border-border bg-popover px-3 py-2 text-sm leading-snug text-popover-foreground",
|
|
3003
|
+
elevation.tooltip,
|
|
2938
3004
|
className
|
|
2939
3005
|
),
|
|
2940
3006
|
...props
|
|
@@ -3065,7 +3131,8 @@ var DropdownMenuSubContent = React29.forwardRef(({ className, ...props }, ref) =
|
|
|
3065
3131
|
{
|
|
3066
3132
|
ref,
|
|
3067
3133
|
className: cn(
|
|
3068
|
-
"z-[130] min-w-[8rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground
|
|
3134
|
+
"z-[130] min-w-[8rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground",
|
|
3135
|
+
elevation.popover,
|
|
3069
3136
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3070
3137
|
className
|
|
3071
3138
|
),
|
|
@@ -3079,7 +3146,8 @@ var DropdownMenuContent = React29.forwardRef(({ className, sideOffset = 8, ...pr
|
|
|
3079
3146
|
ref,
|
|
3080
3147
|
sideOffset,
|
|
3081
3148
|
className: cn(
|
|
3082
|
-
"z-[130] min-w-[11rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground
|
|
3149
|
+
"z-[130] min-w-[11rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground",
|
|
3150
|
+
elevation.popover,
|
|
3083
3151
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3084
3152
|
className
|
|
3085
3153
|
),
|
|
@@ -3175,7 +3243,8 @@ var SelectTrigger = React30.forwardRef(({ className, children, size = "md", ...p
|
|
|
3175
3243
|
{
|
|
3176
3244
|
ref,
|
|
3177
3245
|
className: cn(
|
|
3178
|
-
"flex w-full items-center justify-between rounded-lg border border-border bg-card text-foreground
|
|
3246
|
+
"flex w-full items-center justify-between rounded-lg border border-border bg-card text-foreground outline-none",
|
|
3247
|
+
elevation.field,
|
|
3179
3248
|
selectTriggerSizes[size],
|
|
3180
3249
|
"ring-ring/50 focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3181
3250
|
"[&>span]:line-clamp-1",
|
|
@@ -3214,7 +3283,8 @@ var SelectContent = React30.forwardRef(({ className, children, position = "poppe
|
|
|
3214
3283
|
{
|
|
3215
3284
|
ref,
|
|
3216
3285
|
className: cn(
|
|
3217
|
-
"relative z-[120] max-h-[min(24rem,var(--radix-select-content-available-height))] min-w-[var(--radix-select-trigger-width)] overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground
|
|
3286
|
+
"relative z-[120] max-h-[min(24rem,var(--radix-select-content-available-height))] min-w-[var(--radix-select-trigger-width)] overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground",
|
|
3287
|
+
elevation.popover,
|
|
3218
3288
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3219
3289
|
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",
|
|
3220
3290
|
className
|
|
@@ -3264,7 +3334,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3264
3334
|
import * as React31 from "react";
|
|
3265
3335
|
import { Search as Search3 } from "lucide-react";
|
|
3266
3336
|
import { jsx as jsx41, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3267
|
-
var Command = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41("div", { ref, className: cn("bg-card rounded-xl border border-border
|
|
3337
|
+
var Command = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41("div", { ref, className: cn("bg-card rounded-xl border border-border overflow-hidden", elevation.popover, className), ...props }));
|
|
3268
3338
|
Command.displayName = "Command";
|
|
3269
3339
|
var CommandInput = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 border-b border-border px-3 h-11", children: [
|
|
3270
3340
|
/* @__PURE__ */ jsx41(Search3, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": true }),
|
|
@@ -3521,7 +3591,7 @@ var Alert = React34.forwardRef(
|
|
|
3521
3591
|
{
|
|
3522
3592
|
ref,
|
|
3523
3593
|
role: "alert",
|
|
3524
|
-
className: cn("relative flex gap-3 rounded-xl border p-4
|
|
3594
|
+
className: cn("relative flex gap-3 rounded-xl border p-4", elevation.surface, variantStyles[variant], className),
|
|
3525
3595
|
...props,
|
|
3526
3596
|
children: [
|
|
3527
3597
|
/* @__PURE__ */ jsx45(Icon2, { className: "mt-0.5 size-4 shrink-0", "aria-hidden": true }),
|
|
@@ -3667,7 +3737,8 @@ var SectionMessage = React36.forwardRef(
|
|
|
3667
3737
|
ref,
|
|
3668
3738
|
role: "region",
|
|
3669
3739
|
className: cn(
|
|
3670
|
-
"flex w-full gap-4 rounded-xl border border-l-4 border-border p-5
|
|
3740
|
+
"flex w-full gap-4 rounded-xl border border-l-4 border-border p-5 transition-colors duration-pg-fast ease-pg-standard",
|
|
3741
|
+
elevation.surface,
|
|
3671
3742
|
config.border,
|
|
3672
3743
|
config.bg,
|
|
3673
3744
|
className
|
|
@@ -3829,14 +3900,23 @@ function Shimmer({ className, rounded = "md" }) {
|
|
|
3829
3900
|
return /* @__PURE__ */ jsx50("div", { className: cn("shimmer", r, className) });
|
|
3830
3901
|
}
|
|
3831
3902
|
function StatCardSkeleton() {
|
|
3832
|
-
return /* @__PURE__ */ jsxs30(
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3903
|
+
return /* @__PURE__ */ jsxs30(
|
|
3904
|
+
"div",
|
|
3905
|
+
{
|
|
3906
|
+
className: cn(
|
|
3907
|
+
"bg-card text-card-foreground rounded-xl p-5 flex flex-col gap-3 border border-border",
|
|
3908
|
+
elevation.surface
|
|
3909
|
+
),
|
|
3910
|
+
children: [
|
|
3911
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between", children: [
|
|
3912
|
+
/* @__PURE__ */ jsx50(Shimmer, { className: "h-3 w-28" }),
|
|
3913
|
+
/* @__PURE__ */ jsx50(Shimmer, { className: "h-10 w-10", rounded: "full" })
|
|
3914
|
+
] }),
|
|
3915
|
+
/* @__PURE__ */ jsx50(Shimmer, { className: "h-9 w-44 mt-1" }),
|
|
3916
|
+
/* @__PURE__ */ jsx50(Shimmer, { className: "h-3 w-32" })
|
|
3917
|
+
]
|
|
3918
|
+
}
|
|
3919
|
+
);
|
|
3840
3920
|
}
|
|
3841
3921
|
function TableRowSkeleton({
|
|
3842
3922
|
cols = 6,
|
|
@@ -4377,7 +4457,8 @@ function DataTable({
|
|
|
4377
4457
|
type: "button",
|
|
4378
4458
|
onClick: () => rowCta?.onClick?.(row),
|
|
4379
4459
|
className: cn(
|
|
4380
|
-
"inline-flex items-center font-medium text-foreground bg-card rounded-lg border border-border hover:border-muted-foreground/50 whitespace-nowrap
|
|
4460
|
+
"inline-flex items-center font-medium text-foreground bg-card rounded-lg border border-border hover:border-muted-foreground/50 whitespace-nowrap",
|
|
4461
|
+
elevation.control,
|
|
4381
4462
|
compact ? "px-2.5 py-1 text-[11px]" : "px-3 py-1.5 text-[12px]"
|
|
4382
4463
|
),
|
|
4383
4464
|
children: rowCta?.label
|
|
@@ -4452,7 +4533,7 @@ function DataTable({
|
|
|
4452
4533
|
}
|
|
4453
4534
|
var PAGE_BUTTON = "w-7 h-7 rounded-md flex items-center justify-center text-[12px] font-medium tabular-nums transition-colors";
|
|
4454
4535
|
var PAGE_BUTTON_IDLE = "text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed";
|
|
4455
|
-
var PAGE_BUTTON_ACTIVE =
|
|
4536
|
+
var PAGE_BUTTON_ACTIVE = `bg-primary text-primary-foreground ${elevation.control}`;
|
|
4456
4537
|
function DataTableFooter({
|
|
4457
4538
|
pad: pad3,
|
|
4458
4539
|
summary,
|
|
@@ -5705,7 +5786,8 @@ function navButtonClasses(variant) {
|
|
|
5705
5786
|
case "outline":
|
|
5706
5787
|
return cn(
|
|
5707
5788
|
base,
|
|
5708
|
-
|
|
5789
|
+
elevation.control,
|
|
5790
|
+
"border-border bg-card text-foreground hover:bg-muted"
|
|
5709
5791
|
);
|
|
5710
5792
|
case "ghost":
|
|
5711
5793
|
default:
|
|
@@ -5777,7 +5859,8 @@ function Calendar({
|
|
|
5777
5859
|
defaultClassNames.dropdowns
|
|
5778
5860
|
),
|
|
5779
5861
|
dropdown_root: cn(
|
|
5780
|
-
"relative rounded-md border border-border bg-card
|
|
5862
|
+
"relative rounded-md border border-border bg-card focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/35",
|
|
5863
|
+
elevation.field,
|
|
5781
5864
|
defaultClassNames.dropdown_root
|
|
5782
5865
|
),
|
|
5783
5866
|
dropdown: cn("absolute inset-0 cursor-pointer opacity-0", defaultClassNames.dropdown),
|
|
@@ -6204,7 +6287,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6204
6287
|
animate: { opacity: 1, y: 0 },
|
|
6205
6288
|
exit: { opacity: 0, y: -4 },
|
|
6206
6289
|
transition: { duration: 0.12 },
|
|
6207
|
-
className:
|
|
6290
|
+
className: `absolute top-full left-0 z-[10000] mt-1 max-h-[220px] min-w-[130px] overflow-y-auto rounded-xl border border-border bg-popover py-1 ${elevation.popover}`,
|
|
6208
6291
|
children: MONTHS.map((mn, mi) => /* @__PURE__ */ jsx64(
|
|
6209
6292
|
"button",
|
|
6210
6293
|
{
|
|
@@ -6245,7 +6328,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6245
6328
|
animate: { opacity: 1, y: 0 },
|
|
6246
6329
|
exit: { opacity: 0, y: -4 },
|
|
6247
6330
|
transition: { duration: 0.12 },
|
|
6248
|
-
className:
|
|
6331
|
+
className: `absolute top-full left-0 z-[10000] mt-1 max-h-[200px] min-w-[90px] overflow-y-auto rounded-xl border border-border bg-popover py-1 ${elevation.popover}`,
|
|
6249
6332
|
children: years.map((yr) => /* @__PURE__ */ jsx64(
|
|
6250
6333
|
"button",
|
|
6251
6334
|
{
|
|
@@ -6365,7 +6448,10 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6365
6448
|
animate: { opacity: 1, scale: 1, y: 0 },
|
|
6366
6449
|
exit: { opacity: 0, scale: 0.97, y: -6 },
|
|
6367
6450
|
transition: { duration: 0.16, ease: [0.16, 1, 0.3, 1] },
|
|
6368
|
-
className:
|
|
6451
|
+
className: cn(
|
|
6452
|
+
"isolate rounded-2xl border border-border bg-popover text-popover-foreground select-none dark:shadow-black/40",
|
|
6453
|
+
elevation.popover
|
|
6454
|
+
),
|
|
6369
6455
|
style: {
|
|
6370
6456
|
position: "fixed",
|
|
6371
6457
|
top: panelPos.top,
|
|
@@ -6396,7 +6482,8 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6396
6482
|
type: "button",
|
|
6397
6483
|
onClick: () => open ? closePanel() : openPanel(),
|
|
6398
6484
|
className: cn(
|
|
6399
|
-
"flex h-12 min-h-12 w-full items-center gap-3 rounded-xl border border-border bg-card px-5 text-left text-[15px]
|
|
6485
|
+
"flex h-12 min-h-12 w-full items-center gap-3 rounded-xl border border-border bg-card px-5 text-left text-[15px] transition-colors",
|
|
6486
|
+
elevation.field,
|
|
6400
6487
|
open ? "border-ring ring-2 ring-ring/20" : "hover:border-muted-foreground/45"
|
|
6401
6488
|
),
|
|
6402
6489
|
children: [
|
|
@@ -6695,7 +6782,8 @@ function MetricSparklineCard({
|
|
|
6695
6782
|
"div",
|
|
6696
6783
|
{
|
|
6697
6784
|
className: cn(
|
|
6698
|
-
"relative overflow-hidden rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
6785
|
+
"relative overflow-hidden rounded-xl border border-border bg-card p-5 text-card-foreground",
|
|
6786
|
+
elevation.surface,
|
|
6699
6787
|
className
|
|
6700
6788
|
),
|
|
6701
6789
|
children: [
|
|
@@ -6758,7 +6846,7 @@ function DashboardAreaChartTemplate({
|
|
|
6758
6846
|
className
|
|
6759
6847
|
}) {
|
|
6760
6848
|
const areaGid = React44.useId().replace(/:/g, "");
|
|
6761
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card text-card-foreground
|
|
6849
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card text-card-foreground", elevation.surface, className), children: [
|
|
6762
6850
|
/* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-4 border-b border-border px-5 pt-4 pb-3 sm:flex-row sm:items-start sm:justify-between", children: [
|
|
6763
6851
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
6764
6852
|
/* @__PURE__ */ jsx66("div", { className: "flex flex-wrap gap-1 rounded-lg border border-border bg-muted/30 p-0.5", children: tabs.map((t) => /* @__PURE__ */ jsx66(
|
|
@@ -6855,7 +6943,7 @@ function GroupedBarChartTemplate({
|
|
|
6855
6943
|
formatYAxis = (v) => v >= 1e6 ? `${(v / 1e6).toFixed(1)}M` : v >= 1e3 ? `${(v / 1e3).toFixed(0)}K` : `${v}`,
|
|
6856
6944
|
className
|
|
6857
6945
|
}) {
|
|
6858
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground
|
|
6946
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground", elevation.surface, className), children: [
|
|
6859
6947
|
/* @__PURE__ */ jsxs44("div", { className: "mb-3 flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: [
|
|
6860
6948
|
/* @__PURE__ */ jsxs44("div", { children: [
|
|
6861
6949
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -6903,7 +6991,7 @@ function RankedBarListTemplate({
|
|
|
6903
6991
|
barTo = "var(--chart-3)",
|
|
6904
6992
|
className
|
|
6905
6993
|
}) {
|
|
6906
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
6994
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
6907
6995
|
/* @__PURE__ */ jsxs44("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between", children: [
|
|
6908
6996
|
/* @__PURE__ */ jsxs44("div", { children: [
|
|
6909
6997
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -6940,7 +7028,7 @@ function CategoryBarChartTemplate({
|
|
|
6940
7028
|
className
|
|
6941
7029
|
}) {
|
|
6942
7030
|
const chartData = data.map((d) => ({ name: d.category, v: d.value }));
|
|
6943
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground
|
|
7031
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground", elevation.surface, className), children: [
|
|
6944
7032
|
/* @__PURE__ */ jsxs44("div", { className: "mb-3", children: [
|
|
6945
7033
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
6946
7034
|
subtitle ? /* @__PURE__ */ jsx66("p", { className: "mt-0.5 text-xs text-muted-foreground", children: subtitle }) : null
|
|
@@ -6986,7 +7074,7 @@ function MiniSparklineChartCard({
|
|
|
6986
7074
|
}) {
|
|
6987
7075
|
const gid = React44.useId().replace(/:/g, "");
|
|
6988
7076
|
const hasCompare = data.some((d) => d.compare != null);
|
|
6989
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7077
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
6990
7078
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
6991
7079
|
/* @__PURE__ */ jsx66("div", { className: "mt-2 text-2xl font-semibold tabular-nums", children: value }),
|
|
6992
7080
|
/* @__PURE__ */ jsx66("div", { className: "mt-2", style: { height }, children: /* @__PURE__ */ jsx66(ResponsiveContainer2, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs44(AreaChart, { data, margin: { top: 4, right: 8, left: 0, bottom: 0 }, children: [
|
|
@@ -7023,7 +7111,7 @@ var toneCls = {
|
|
|
7023
7111
|
danger: "text-red-600 dark:text-red-400"
|
|
7024
7112
|
};
|
|
7025
7113
|
function AttentionListTemplate({ title, items, className }) {
|
|
7026
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7114
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
7027
7115
|
/* @__PURE__ */ jsx66("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7028
7116
|
/* @__PURE__ */ jsx66("ul", { className: "mt-4 space-y-4", children: items.map((item) => /* @__PURE__ */ jsxs44(
|
|
7029
7117
|
"li",
|
|
@@ -7074,7 +7162,7 @@ function Toaster({ theme, ...props }) {
|
|
|
7074
7162
|
position: "bottom-right",
|
|
7075
7163
|
toastOptions: {
|
|
7076
7164
|
classNames: {
|
|
7077
|
-
toast:
|
|
7165
|
+
toast: `bg-[var(--popover)] text-[var(--popover-foreground)] border-[var(--border)] ${elevation.popover} rounded-[10px] text-[13px]`,
|
|
7078
7166
|
description: "text-[var(--muted-foreground)]"
|
|
7079
7167
|
}
|
|
7080
7168
|
},
|
|
@@ -7153,7 +7241,8 @@ var InlineEdit = React45.forwardRef(
|
|
|
7153
7241
|
setEditing(true);
|
|
7154
7242
|
};
|
|
7155
7243
|
const sharedInputClass = cn(
|
|
7156
|
-
"w-full rounded-md border border-border bg-card px-2 py-1 text-[15px] leading-tight text-foreground
|
|
7244
|
+
"w-full rounded-md border border-border bg-card px-2 py-1 text-[15px] leading-tight text-foreground",
|
|
7245
|
+
elevation.field,
|
|
7157
7246
|
"placeholder:text-muted-foreground",
|
|
7158
7247
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
7159
7248
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
@@ -7320,7 +7409,8 @@ var InlineDialogContent = React46.forwardRef(
|
|
|
7320
7409
|
className: cn(
|
|
7321
7410
|
// Base card
|
|
7322
7411
|
"relative z-[120] max-w-xs overflow-visible",
|
|
7323
|
-
"rounded-xl border border-border bg-card p-4 text-foreground
|
|
7412
|
+
"rounded-xl border border-border bg-card p-4 text-foreground",
|
|
7413
|
+
elevation.popover,
|
|
7324
7414
|
// Animation
|
|
7325
7415
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0",
|
|
7326
7416
|
"transition-opacity duration-pg-fast ease-pg-standard",
|
|
@@ -7443,7 +7533,8 @@ var Flag = React47.forwardRef(
|
|
|
7443
7533
|
onMouseEnter: handleMouseEnter,
|
|
7444
7534
|
onMouseLeave: handleMouseLeave,
|
|
7445
7535
|
className: cn(
|
|
7446
|
-
"relative w-80 overflow-hidden rounded-xl border border-border bg-card
|
|
7536
|
+
"relative w-80 overflow-hidden rounded-xl border border-border bg-card",
|
|
7537
|
+
elevation.popover,
|
|
7447
7538
|
"border-l-4",
|
|
7448
7539
|
variantBorder[variant],
|
|
7449
7540
|
className
|
|
@@ -7784,7 +7875,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
7784
7875
|
"aria-expanded": open,
|
|
7785
7876
|
"aria-haspopup": "listbox",
|
|
7786
7877
|
className: cn(
|
|
7787
|
-
"flex h-11 min-h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 text-[15px] text-foreground
|
|
7878
|
+
"flex h-11 min-h-11 w-full items-center justify-between gap-2.5 rounded-lg border border-border bg-card px-4 text-[15px] text-foreground",
|
|
7879
|
+
elevation.field,
|
|
7788
7880
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
7789
7881
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
7790
7882
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -7816,7 +7908,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
7816
7908
|
align: "start",
|
|
7817
7909
|
sideOffset: 6,
|
|
7818
7910
|
className: cn(
|
|
7819
|
-
"z-[120] w-[var(--radix-popover-trigger-width)] min-w-[260px] rounded-xl border border-border bg-popover text-popover-foreground
|
|
7911
|
+
"z-[120] w-[var(--radix-popover-trigger-width)] min-w-[260px] rounded-xl border border-border bg-popover text-popover-foreground outline-none",
|
|
7912
|
+
elevation.popover,
|
|
7820
7913
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
7821
7914
|
),
|
|
7822
7915
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
@@ -7905,11 +7998,11 @@ import { Loader2 as Loader23 } from "lucide-react";
|
|
|
7905
7998
|
import { forwardRef as forwardRef51 } from "react";
|
|
7906
7999
|
import { jsx as jsx73 } from "react/jsx-runtime";
|
|
7907
8000
|
var variantClasses4 = {
|
|
7908
|
-
primary:
|
|
7909
|
-
secondary:
|
|
8001
|
+
primary: `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)]`,
|
|
8002
|
+
secondary: `bg-muted text-foreground border border-border ${elevation.control} hover:bg-muted/85 dark:bg-muted/35 dark:text-foreground dark:border-border dark:hover:bg-muted/55`,
|
|
7910
8003
|
ghost: "bg-transparent text-foreground border border-transparent hover:bg-muted focus-visible:bg-muted/80 active:bg-muted/90",
|
|
7911
|
-
outline:
|
|
7912
|
-
danger:
|
|
8004
|
+
outline: `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted`,
|
|
8005
|
+
danger: `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700`
|
|
7913
8006
|
};
|
|
7914
8007
|
var sizeClasses5 = {
|
|
7915
8008
|
xs: "size-7 min-w-7",
|
|
@@ -8201,7 +8294,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8201
8294
|
{
|
|
8202
8295
|
ref: panelRef,
|
|
8203
8296
|
className: cn(
|
|
8204
|
-
"isolate rounded-xl border border-border bg-popover text-popover-foreground
|
|
8297
|
+
"isolate rounded-xl border border-border bg-popover text-popover-foreground",
|
|
8298
|
+
elevation.popover,
|
|
8205
8299
|
"flex flex-col gap-0"
|
|
8206
8300
|
),
|
|
8207
8301
|
style: {
|
|
@@ -8286,7 +8380,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8286
8380
|
disabled,
|
|
8287
8381
|
onClick: () => open ? setOpen(false) : openPanel(),
|
|
8288
8382
|
className: cn(
|
|
8289
|
-
"flex h-11 min-h-11 w-full items-center gap-3 rounded-lg border border-border bg-card px-4 text-left text-[15px]
|
|
8383
|
+
"flex h-11 min-h-11 w-full items-center gap-3 rounded-lg border border-border bg-card px-4 text-left text-[15px]",
|
|
8384
|
+
elevation.field,
|
|
8290
8385
|
"transition-colors duration-150",
|
|
8291
8386
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
8292
8387
|
open && "border-ring ring-2 ring-ring/35",
|
|
@@ -10172,6 +10267,7 @@ export {
|
|
|
10172
10267
|
applyColumnPreferences,
|
|
10173
10268
|
cn,
|
|
10174
10269
|
defaultOptionFilter,
|
|
10270
|
+
elevation,
|
|
10175
10271
|
formatDateOnly,
|
|
10176
10272
|
formatDateStamp,
|
|
10177
10273
|
formatDateTime,
|