@payglocal_ui/flux-ui 0.3.4 → 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 +172 -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 +171 -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 +5 -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.cjs
CHANGED
|
@@ -277,6 +277,7 @@ __export(index_exports, {
|
|
|
277
277
|
applyColumnPreferences: () => applyColumnPreferences,
|
|
278
278
|
cn: () => cn,
|
|
279
279
|
defaultOptionFilter: () => defaultOptionFilter,
|
|
280
|
+
elevation: () => elevation,
|
|
280
281
|
formatDateOnly: () => formatDateOnly,
|
|
281
282
|
formatDateStamp: () => formatDateStamp,
|
|
282
283
|
formatDateTime: () => formatDateTime,
|
|
@@ -307,6 +308,42 @@ function cn(...inputs) {
|
|
|
307
308
|
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
308
309
|
}
|
|
309
310
|
|
|
311
|
+
// src/elevation.ts
|
|
312
|
+
var elevation = {
|
|
313
|
+
/**
|
|
314
|
+
* Flat surfaces that sit ON the page and are delineated by their border:
|
|
315
|
+
* Card, chart surfaces, DataTableCard, Alert, SectionMessage, Skeleton.
|
|
316
|
+
* This is the shadow on the mca-home revenue card, and the reference the
|
|
317
|
+
* rest of the library was pulled onto.
|
|
318
|
+
*/
|
|
319
|
+
surface: "shadow-sm",
|
|
320
|
+
/**
|
|
321
|
+
* Button-shaped things: Button, IconButton, ButtonGroup segments, the
|
|
322
|
+
* pagination page buttons, a table's row CTA. Just enough lift to read as
|
|
323
|
+
* pressable. Ghost and link variants stay flat and do not use this.
|
|
324
|
+
*/
|
|
325
|
+
control: "shadow-sm",
|
|
326
|
+
/**
|
|
327
|
+
* Anything you type into or pick from: Input, Textarea, every select
|
|
328
|
+
* trigger, the date and time pickers, OTP boxes, Checkbox, Radio.
|
|
329
|
+
*
|
|
330
|
+
* Deliberately flat. A field is a well, not a raised object, and a form of
|
|
331
|
+
* ten shadowed controls reads as clutter. Emitted as an explicit
|
|
332
|
+
* `shadow-none` rather than by omitting the class so that a caller passing
|
|
333
|
+
* `shadow-sm` through `className` still wins under tailwind-merge.
|
|
334
|
+
*/
|
|
335
|
+
field: "shadow-none",
|
|
336
|
+
/**
|
|
337
|
+
* Things that genuinely float above the page, where depth is the signal that
|
|
338
|
+
* says "this is detached and dismissible". Kept heavier than `surface` on
|
|
339
|
+
* purpose — flattening these is what makes a dropdown look painted on.
|
|
340
|
+
*/
|
|
341
|
+
tooltip: "shadow-md",
|
|
342
|
+
popover: "shadow-lg",
|
|
343
|
+
drawer: "shadow-xl",
|
|
344
|
+
modal: "shadow-2xl"
|
|
345
|
+
};
|
|
346
|
+
|
|
310
347
|
// src/layout.tsx
|
|
311
348
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
312
349
|
var gapClass = {
|
|
@@ -559,11 +596,11 @@ var import_lucide_react = require("lucide-react");
|
|
|
559
596
|
var import_react = require("react");
|
|
560
597
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
561
598
|
var variantClasses = {
|
|
562
|
-
primary:
|
|
563
|
-
secondary:
|
|
599
|
+
primary: `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)]`,
|
|
600
|
+
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`,
|
|
564
601
|
ghost: "bg-transparent text-foreground border border-transparent hover:bg-muted focus-visible:bg-muted/80 active:bg-muted/90",
|
|
565
|
-
danger:
|
|
566
|
-
outline:
|
|
602
|
+
danger: `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700`,
|
|
603
|
+
outline: `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted`,
|
|
567
604
|
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"
|
|
568
605
|
};
|
|
569
606
|
var sizes = {
|
|
@@ -724,11 +761,11 @@ var SplitButton = (0, import_react2.forwardRef)(
|
|
|
724
761
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
725
762
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
726
763
|
// Match variant styling
|
|
727
|
-
variant === "primary" &&
|
|
728
|
-
variant === "secondary" &&
|
|
729
|
-
variant === "outline" &&
|
|
764
|
+
variant === "primary" && `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)] border-l border-l-primary-foreground/20`,
|
|
765
|
+
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`,
|
|
766
|
+
variant === "outline" && `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted border-l-0`,
|
|
730
767
|
variant === "ghost" && "bg-transparent text-foreground border border-transparent hover:bg-muted border-l-0",
|
|
731
|
-
variant === "danger" &&
|
|
768
|
+
variant === "danger" && `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700 border-l border-l-white/20`,
|
|
732
769
|
// Size heights to match Button
|
|
733
770
|
size === "sm" && "h-9 min-h-9 rounded-lg",
|
|
734
771
|
size === "md" && "h-10 min-h-10 rounded-lg",
|
|
@@ -752,7 +789,8 @@ var SplitButton = (0, import_react2.forwardRef)(
|
|
|
752
789
|
role: "menu",
|
|
753
790
|
className: cn(
|
|
754
791
|
"absolute right-0 top-full mt-1 z-50",
|
|
755
|
-
"bg-card border border-border rounded-lg
|
|
792
|
+
"bg-card border border-border rounded-lg py-1 min-w-32",
|
|
793
|
+
elevation.popover
|
|
756
794
|
),
|
|
757
795
|
children
|
|
758
796
|
}
|
|
@@ -796,7 +834,8 @@ var Input = React2.forwardRef(
|
|
|
796
834
|
{
|
|
797
835
|
type,
|
|
798
836
|
className: cn(
|
|
799
|
-
"flex h-11 min-h-11 w-full rounded-lg border border-border bg-card px-4 py-2 text-[15px] leading-tight
|
|
837
|
+
"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",
|
|
838
|
+
elevation.field,
|
|
800
839
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
|
|
801
840
|
"placeholder:text-muted-foreground",
|
|
802
841
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
@@ -930,7 +969,8 @@ function OtpInput({
|
|
|
930
969
|
onKeyDown: (e) => handleKeyDown(i, e),
|
|
931
970
|
onPaste: handlePaste,
|
|
932
971
|
className: cn(
|
|
933
|
-
"h-12 w-11 rounded-lg border bg-card text-center text-lg font-semibold text-foreground
|
|
972
|
+
"h-12 w-11 rounded-lg border bg-card text-center text-lg font-semibold text-foreground transition-colors",
|
|
973
|
+
elevation.field,
|
|
934
974
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 focus-visible:border-primary",
|
|
935
975
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
936
976
|
invalid ? "border-destructive ring-destructive/20" : "border-input"
|
|
@@ -1034,7 +1074,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1034
1074
|
"aria-expanded": open,
|
|
1035
1075
|
"aria-haspopup": "listbox",
|
|
1036
1076
|
className: cn(
|
|
1037
|
-
"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]
|
|
1077
|
+
"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",
|
|
1078
|
+
elevation.field,
|
|
1038
1079
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1039
1080
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1040
1081
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1062,7 +1103,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1062
1103
|
sideOffset: 6,
|
|
1063
1104
|
collisionPadding: 8,
|
|
1064
1105
|
className: cn(
|
|
1065
|
-
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground
|
|
1106
|
+
"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",
|
|
1107
|
+
elevation.popover,
|
|
1066
1108
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
1067
1109
|
),
|
|
1068
1110
|
children: [
|
|
@@ -1077,7 +1119,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1077
1119
|
placeholder: searchPlaceholder,
|
|
1078
1120
|
"aria-label": searchPlaceholder,
|
|
1079
1121
|
className: cn(
|
|
1080
|
-
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm
|
|
1122
|
+
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm placeholder:text-muted-foreground",
|
|
1123
|
+
elevation.field,
|
|
1081
1124
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1082
1125
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
1083
1126
|
)
|
|
@@ -1131,7 +1174,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1131
1174
|
onCheckedChange: () => !option.disabled && handleToggle(option.value),
|
|
1132
1175
|
onClick: (e) => e.stopPropagation(),
|
|
1133
1176
|
className: cn(
|
|
1134
|
-
"peer h-4 w-4 shrink-0 rounded-md border border-border bg-card
|
|
1177
|
+
"peer h-4 w-4 shrink-0 rounded-md border border-border bg-card",
|
|
1178
|
+
elevation.field,
|
|
1135
1179
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1136
1180
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1137
1181
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1219,7 +1263,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1219
1263
|
"aria-haspopup": "listbox",
|
|
1220
1264
|
"aria-invalid": invalid || void 0,
|
|
1221
1265
|
className: cn(
|
|
1222
|
-
"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]
|
|
1266
|
+
"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",
|
|
1267
|
+
elevation.field,
|
|
1223
1268
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1224
1269
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1225
1270
|
"aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/25 dark:aria-invalid:ring-destructive/40",
|
|
@@ -1251,7 +1296,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1251
1296
|
sideOffset: 6,
|
|
1252
1297
|
collisionPadding: 8,
|
|
1253
1298
|
className: cn(
|
|
1254
|
-
"z-[120] min-w-[var(--radix-popover-trigger-width)] w-full rounded-xl border border-border bg-popover text-popover-foreground
|
|
1299
|
+
"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",
|
|
1300
|
+
elevation.popover,
|
|
1255
1301
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
1256
1302
|
),
|
|
1257
1303
|
children: [
|
|
@@ -1266,7 +1312,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1266
1312
|
placeholder: searchPlaceholder,
|
|
1267
1313
|
"aria-label": searchPlaceholder,
|
|
1268
1314
|
className: cn(
|
|
1269
|
-
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm
|
|
1315
|
+
"flex h-9 w-full rounded-md border border-border bg-card pl-8 pr-3 text-sm placeholder:text-muted-foreground",
|
|
1316
|
+
elevation.field,
|
|
1270
1317
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1271
1318
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
1272
1319
|
)
|
|
@@ -1335,7 +1382,8 @@ var Textarea = React8.forwardRef(
|
|
|
1335
1382
|
"textarea",
|
|
1336
1383
|
{
|
|
1337
1384
|
className: cn(
|
|
1338
|
-
"flex min-h-[5.5rem] w-full rounded-lg border border-border bg-card px-4 py-3 text-[15px] leading-relaxed
|
|
1385
|
+
"flex min-h-[5.5rem] w-full rounded-lg border border-border bg-card px-4 py-3 text-[15px] leading-relaxed transition-colors",
|
|
1386
|
+
elevation.field,
|
|
1339
1387
|
"placeholder:text-muted-foreground",
|
|
1340
1388
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
1341
1389
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1381,7 +1429,8 @@ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) =>
|
|
|
1381
1429
|
{
|
|
1382
1430
|
ref,
|
|
1383
1431
|
className: cn(
|
|
1384
|
-
"peer shrink-0 border border-border bg-card
|
|
1432
|
+
"peer shrink-0 border border-border bg-card transition-colors duration-pg-fast ease-pg-standard",
|
|
1433
|
+
elevation.field,
|
|
1385
1434
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1386
1435
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1387
1436
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary",
|
|
@@ -1413,7 +1462,8 @@ var RadioGroupItem = React11.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1413
1462
|
{
|
|
1414
1463
|
ref,
|
|
1415
1464
|
className: cn(
|
|
1416
|
-
"size-4 shrink-0 rounded-full border border-border bg-card
|
|
1465
|
+
"size-4 shrink-0 rounded-full border border-border bg-card",
|
|
1466
|
+
elevation.field,
|
|
1417
1467
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1418
1468
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1419
1469
|
"data-[state=checked]:border-primary",
|
|
@@ -1455,7 +1505,8 @@ var switchRootVariants = (0, import_class_variance_authority2.cva)(
|
|
|
1455
1505
|
);
|
|
1456
1506
|
var switchThumbVariants = (0, import_class_variance_authority2.cva)(
|
|
1457
1507
|
[
|
|
1458
|
-
"pointer-events-none block rounded-full bg-white
|
|
1508
|
+
"pointer-events-none block rounded-full bg-white",
|
|
1509
|
+
elevation.control,
|
|
1459
1510
|
"transition-transform duration-pg-fast ease-pg-standard",
|
|
1460
1511
|
"ring-0"
|
|
1461
1512
|
],
|
|
@@ -1496,7 +1547,10 @@ var Slider = React13.forwardRef(
|
|
|
1496
1547
|
...props,
|
|
1497
1548
|
children: [
|
|
1498
1549
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
1499
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(SliderPrimitive.Thumb, { className:
|
|
1550
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(SliderPrimitive.Thumb, { className: cn(
|
|
1551
|
+
"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",
|
|
1552
|
+
elevation.control
|
|
1553
|
+
) })
|
|
1500
1554
|
]
|
|
1501
1555
|
}
|
|
1502
1556
|
)
|
|
@@ -1834,7 +1888,8 @@ function InputGroup({ className, ...props }) {
|
|
|
1834
1888
|
"data-slot": "input-group",
|
|
1835
1889
|
role: "group",
|
|
1836
1890
|
className: cn(
|
|
1837
|
-
"group/input-group relative flex w-full items-stretch rounded-xl border border-border bg-card
|
|
1891
|
+
"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",
|
|
1892
|
+
elevation.field,
|
|
1838
1893
|
"min-h-11 h-11 has-[>textarea]:h-auto",
|
|
1839
1894
|
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
1840
1895
|
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
@@ -2018,17 +2073,20 @@ function CurrencyAmountInput({
|
|
|
2018
2073
|
// src/card.tsx
|
|
2019
2074
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
2020
2075
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2021
|
-
var cardVariants = (0, import_class_variance_authority5.cva)(
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2076
|
+
var cardVariants = (0, import_class_variance_authority5.cva)(
|
|
2077
|
+
cn("flex flex-col rounded-xl border border-border bg-card text-card-foreground", elevation.surface),
|
|
2078
|
+
{
|
|
2079
|
+
variants: {
|
|
2080
|
+
size: {
|
|
2081
|
+
default: "gap-10 px-10 py-10",
|
|
2082
|
+
sm: "gap-6 px-7 py-7"
|
|
2083
|
+
}
|
|
2084
|
+
},
|
|
2085
|
+
defaultVariants: {
|
|
2086
|
+
size: "default"
|
|
2026
2087
|
}
|
|
2027
|
-
},
|
|
2028
|
-
defaultVariants: {
|
|
2029
|
-
size: "default"
|
|
2030
2088
|
}
|
|
2031
|
-
|
|
2089
|
+
);
|
|
2032
2090
|
function Card({
|
|
2033
2091
|
className,
|
|
2034
2092
|
size,
|
|
@@ -2421,7 +2479,7 @@ var PaginationLink = (0, import_react4.forwardRef)(
|
|
|
2421
2479
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
2422
2480
|
"cursor-pointer select-none",
|
|
2423
2481
|
// active
|
|
2424
|
-
isActive ?
|
|
2482
|
+
isActive ? `bg-primary text-primary-foreground border-primary ${elevation.control}` : "text-muted-foreground border-border hover:bg-muted hover:text-foreground",
|
|
2425
2483
|
className
|
|
2426
2484
|
),
|
|
2427
2485
|
...props
|
|
@@ -2973,7 +3031,7 @@ var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
|
2973
3031
|
var SpotlightCard = React25.forwardRef(
|
|
2974
3032
|
({ title, body, image, currentStep, totalSteps, onNext, onBack, onDismiss, nextLabel, className }, ref) => {
|
|
2975
3033
|
const isLast = currentStep !== void 0 && totalSteps !== void 0 && currentStep >= totalSteps - 1;
|
|
2976
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { ref, className: cn("bg-card border border-border rounded-xl
|
|
3034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { ref, className: cn("bg-card border border-border rounded-xl p-5 w-72", elevation.surface, className), children: [
|
|
2977
3035
|
onDismiss && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2978
3036
|
"button",
|
|
2979
3037
|
{
|
|
@@ -3103,7 +3161,8 @@ function DialogContent({
|
|
|
3103
3161
|
"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",
|
|
3104
3162
|
// Default padding reserves space for the close button.
|
|
3105
3163
|
// Pass p-0 in className to opt out (manage padding per section).
|
|
3106
|
-
"rounded-2xl border border-border bg-card p-6 pt-10 text-card-foreground
|
|
3164
|
+
"rounded-2xl border border-border bg-card p-6 pt-10 text-card-foreground outline-none",
|
|
3165
|
+
elevation.modal,
|
|
3107
3166
|
"max-h-[min(90vh,720px)] overflow-y-auto",
|
|
3108
3167
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 data-[state=open]:scale-100 data-[state=closed]:scale-[0.98]",
|
|
3109
3168
|
"transition-[opacity,transform] duration-200 ease-out",
|
|
@@ -3171,7 +3230,7 @@ var DrawerContent = React26.forwardRef(({ className, children, ...props }, ref)
|
|
|
3171
3230
|
DialogPrimitive2.Content,
|
|
3172
3231
|
{
|
|
3173
3232
|
ref,
|
|
3174
|
-
className: cn("fixed z-50 flex flex-col bg-card border-border
|
|
3233
|
+
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),
|
|
3175
3234
|
...props,
|
|
3176
3235
|
children: [
|
|
3177
3236
|
children,
|
|
@@ -3213,7 +3272,8 @@ var PopoverContent = React27.forwardRef(({ className, align = "center", sideOffs
|
|
|
3213
3272
|
sideOffset,
|
|
3214
3273
|
collisionPadding,
|
|
3215
3274
|
className: cn(
|
|
3216
|
-
"z-[120] w-72 rounded-xl border border-border bg-popover p-4 text-popover-foreground
|
|
3275
|
+
"z-[120] w-72 rounded-xl border border-border bg-popover p-4 text-popover-foreground outline-none",
|
|
3276
|
+
elevation.popover,
|
|
3217
3277
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3218
3278
|
className
|
|
3219
3279
|
),
|
|
@@ -3235,7 +3295,8 @@ var TooltipContent = React28.forwardRef(({ className, sideOffset = 6, ...props }
|
|
|
3235
3295
|
ref,
|
|
3236
3296
|
sideOffset,
|
|
3237
3297
|
className: cn(
|
|
3238
|
-
"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
|
|
3298
|
+
"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",
|
|
3299
|
+
elevation.tooltip,
|
|
3239
3300
|
className
|
|
3240
3301
|
),
|
|
3241
3302
|
...props
|
|
@@ -3366,7 +3427,8 @@ var DropdownMenuSubContent = React29.forwardRef(({ className, ...props }, ref) =
|
|
|
3366
3427
|
{
|
|
3367
3428
|
ref,
|
|
3368
3429
|
className: cn(
|
|
3369
|
-
"z-[130] min-w-[8rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground
|
|
3430
|
+
"z-[130] min-w-[8rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground",
|
|
3431
|
+
elevation.popover,
|
|
3370
3432
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3371
3433
|
className
|
|
3372
3434
|
),
|
|
@@ -3380,7 +3442,8 @@ var DropdownMenuContent = React29.forwardRef(({ className, sideOffset = 8, ...pr
|
|
|
3380
3442
|
ref,
|
|
3381
3443
|
sideOffset,
|
|
3382
3444
|
className: cn(
|
|
3383
|
-
"z-[130] min-w-[11rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground
|
|
3445
|
+
"z-[130] min-w-[11rem] overflow-hidden rounded-xl border border-border bg-popover p-1.5 text-popover-foreground",
|
|
3446
|
+
elevation.popover,
|
|
3384
3447
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3385
3448
|
className
|
|
3386
3449
|
),
|
|
@@ -3476,7 +3539,8 @@ var SelectTrigger = React30.forwardRef(({ className, children, size = "md", ...p
|
|
|
3476
3539
|
{
|
|
3477
3540
|
ref,
|
|
3478
3541
|
className: cn(
|
|
3479
|
-
"flex w-full items-center justify-between rounded-lg border border-border bg-card text-foreground
|
|
3542
|
+
"flex w-full items-center justify-between rounded-lg border border-border bg-card text-foreground outline-none",
|
|
3543
|
+
elevation.field,
|
|
3480
3544
|
selectTriggerSizes[size],
|
|
3481
3545
|
"ring-ring/50 focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3482
3546
|
"[&>span]:line-clamp-1",
|
|
@@ -3515,7 +3579,8 @@ var SelectContent = React30.forwardRef(({ className, children, position = "poppe
|
|
|
3515
3579
|
{
|
|
3516
3580
|
ref,
|
|
3517
3581
|
className: cn(
|
|
3518
|
-
"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
|
|
3582
|
+
"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",
|
|
3583
|
+
elevation.popover,
|
|
3519
3584
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3520
3585
|
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",
|
|
3521
3586
|
className
|
|
@@ -3565,7 +3630,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3565
3630
|
var React31 = __toESM(require("react"), 1);
|
|
3566
3631
|
var import_lucide_react18 = require("lucide-react");
|
|
3567
3632
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3568
|
-
var Command = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { ref, className: cn("bg-card rounded-xl border border-border
|
|
3633
|
+
var Command = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { ref, className: cn("bg-card rounded-xl border border-border overflow-hidden", elevation.popover, className), ...props }));
|
|
3569
3634
|
Command.displayName = "Command";
|
|
3570
3635
|
var CommandInput = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-center gap-2 border-b border-border px-3 h-11", children: [
|
|
3571
3636
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react18.Search, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": true }),
|
|
@@ -3822,7 +3887,7 @@ var Alert = React34.forwardRef(
|
|
|
3822
3887
|
{
|
|
3823
3888
|
ref,
|
|
3824
3889
|
role: "alert",
|
|
3825
|
-
className: cn("relative flex gap-3 rounded-xl border p-4
|
|
3890
|
+
className: cn("relative flex gap-3 rounded-xl border p-4", elevation.surface, variantStyles[variant], className),
|
|
3826
3891
|
...props,
|
|
3827
3892
|
children: [
|
|
3828
3893
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon2, { className: "mt-0.5 size-4 shrink-0", "aria-hidden": true }),
|
|
@@ -3968,7 +4033,8 @@ var SectionMessage = React36.forwardRef(
|
|
|
3968
4033
|
ref,
|
|
3969
4034
|
role: "region",
|
|
3970
4035
|
className: cn(
|
|
3971
|
-
"flex w-full gap-4 rounded-xl border border-l-4 border-border p-5
|
|
4036
|
+
"flex w-full gap-4 rounded-xl border border-l-4 border-border p-5 transition-colors duration-pg-fast ease-pg-standard",
|
|
4037
|
+
elevation.surface,
|
|
3972
4038
|
config.border,
|
|
3973
4039
|
config.bg,
|
|
3974
4040
|
className
|
|
@@ -4130,14 +4196,23 @@ function Shimmer({ className, rounded = "md" }) {
|
|
|
4130
4196
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: cn("shimmer", r, className) });
|
|
4131
4197
|
}
|
|
4132
4198
|
function StatCardSkeleton() {
|
|
4133
|
-
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4200
|
+
"div",
|
|
4201
|
+
{
|
|
4202
|
+
className: cn(
|
|
4203
|
+
"bg-card text-card-foreground rounded-xl p-5 flex flex-col gap-3 border border-border",
|
|
4204
|
+
elevation.surface
|
|
4205
|
+
),
|
|
4206
|
+
children: [
|
|
4207
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
4208
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-3 w-28" }),
|
|
4209
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-10 w-10", rounded: "full" })
|
|
4210
|
+
] }),
|
|
4211
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-9 w-44 mt-1" }),
|
|
4212
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-3 w-32" })
|
|
4213
|
+
]
|
|
4214
|
+
}
|
|
4215
|
+
);
|
|
4141
4216
|
}
|
|
4142
4217
|
function TableRowSkeleton({
|
|
4143
4218
|
cols = 6,
|
|
@@ -4671,7 +4746,8 @@ function DataTable({
|
|
|
4671
4746
|
type: "button",
|
|
4672
4747
|
onClick: () => rowCta?.onClick?.(row),
|
|
4673
4748
|
className: cn(
|
|
4674
|
-
"inline-flex items-center font-medium text-foreground bg-card rounded-lg border border-border hover:border-muted-foreground/50 whitespace-nowrap
|
|
4749
|
+
"inline-flex items-center font-medium text-foreground bg-card rounded-lg border border-border hover:border-muted-foreground/50 whitespace-nowrap",
|
|
4750
|
+
elevation.control,
|
|
4675
4751
|
compact ? "px-2.5 py-1 text-[11px]" : "px-3 py-1.5 text-[12px]"
|
|
4676
4752
|
),
|
|
4677
4753
|
children: rowCta?.label
|
|
@@ -4746,7 +4822,7 @@ function DataTable({
|
|
|
4746
4822
|
}
|
|
4747
4823
|
var PAGE_BUTTON = "w-7 h-7 rounded-md flex items-center justify-center text-[12px] font-medium tabular-nums transition-colors";
|
|
4748
4824
|
var PAGE_BUTTON_IDLE = "text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed";
|
|
4749
|
-
var PAGE_BUTTON_ACTIVE =
|
|
4825
|
+
var PAGE_BUTTON_ACTIVE = `bg-primary text-primary-foreground ${elevation.control}`;
|
|
4750
4826
|
function DataTableFooter({
|
|
4751
4827
|
pad: pad3,
|
|
4752
4828
|
summary,
|
|
@@ -5983,7 +6059,8 @@ function navButtonClasses(variant) {
|
|
|
5983
6059
|
case "outline":
|
|
5984
6060
|
return cn(
|
|
5985
6061
|
base,
|
|
5986
|
-
|
|
6062
|
+
elevation.control,
|
|
6063
|
+
"border-border bg-card text-foreground hover:bg-muted"
|
|
5987
6064
|
);
|
|
5988
6065
|
case "ghost":
|
|
5989
6066
|
default:
|
|
@@ -6055,7 +6132,8 @@ function Calendar({
|
|
|
6055
6132
|
defaultClassNames.dropdowns
|
|
6056
6133
|
),
|
|
6057
6134
|
dropdown_root: cn(
|
|
6058
|
-
"relative rounded-md border border-border bg-card
|
|
6135
|
+
"relative rounded-md border border-border bg-card focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/35",
|
|
6136
|
+
elevation.field,
|
|
6059
6137
|
defaultClassNames.dropdown_root
|
|
6060
6138
|
),
|
|
6061
6139
|
dropdown: cn("absolute inset-0 cursor-pointer opacity-0", defaultClassNames.dropdown),
|
|
@@ -6482,7 +6560,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6482
6560
|
animate: { opacity: 1, y: 0 },
|
|
6483
6561
|
exit: { opacity: 0, y: -4 },
|
|
6484
6562
|
transition: { duration: 0.12 },
|
|
6485
|
-
className:
|
|
6563
|
+
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}`,
|
|
6486
6564
|
children: MONTHS.map((mn, mi) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6487
6565
|
"button",
|
|
6488
6566
|
{
|
|
@@ -6523,7 +6601,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6523
6601
|
animate: { opacity: 1, y: 0 },
|
|
6524
6602
|
exit: { opacity: 0, y: -4 },
|
|
6525
6603
|
transition: { duration: 0.12 },
|
|
6526
|
-
className:
|
|
6604
|
+
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}`,
|
|
6527
6605
|
children: years.map((yr) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6528
6606
|
"button",
|
|
6529
6607
|
{
|
|
@@ -6643,7 +6721,10 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6643
6721
|
animate: { opacity: 1, scale: 1, y: 0 },
|
|
6644
6722
|
exit: { opacity: 0, scale: 0.97, y: -6 },
|
|
6645
6723
|
transition: { duration: 0.16, ease: [0.16, 1, 0.3, 1] },
|
|
6646
|
-
className:
|
|
6724
|
+
className: cn(
|
|
6725
|
+
"isolate rounded-2xl border border-border bg-popover text-popover-foreground select-none dark:shadow-black/40",
|
|
6726
|
+
elevation.popover
|
|
6727
|
+
),
|
|
6647
6728
|
style: {
|
|
6648
6729
|
position: "fixed",
|
|
6649
6730
|
top: panelPos.top,
|
|
@@ -6674,7 +6755,8 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6674
6755
|
type: "button",
|
|
6675
6756
|
onClick: () => open ? closePanel() : openPanel(),
|
|
6676
6757
|
className: cn(
|
|
6677
|
-
"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]
|
|
6758
|
+
"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",
|
|
6759
|
+
elevation.field,
|
|
6678
6760
|
open ? "border-ring ring-2 ring-ring/20" : "hover:border-muted-foreground/45"
|
|
6679
6761
|
),
|
|
6680
6762
|
children: [
|
|
@@ -6956,7 +7038,8 @@ function MetricSparklineCard({
|
|
|
6956
7038
|
"div",
|
|
6957
7039
|
{
|
|
6958
7040
|
className: cn(
|
|
6959
|
-
"relative overflow-hidden rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7041
|
+
"relative overflow-hidden rounded-xl border border-border bg-card p-5 text-card-foreground",
|
|
7042
|
+
elevation.surface,
|
|
6960
7043
|
className
|
|
6961
7044
|
),
|
|
6962
7045
|
children: [
|
|
@@ -7019,7 +7102,7 @@ function DashboardAreaChartTemplate({
|
|
|
7019
7102
|
className
|
|
7020
7103
|
}) {
|
|
7021
7104
|
const areaGid = React44.useId().replace(/:/g, "");
|
|
7022
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card text-card-foreground
|
|
7105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card text-card-foreground", elevation.surface, className), children: [
|
|
7023
7106
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("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: [
|
|
7024
7107
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7025
7108
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex flex-wrap gap-1 rounded-lg border border-border bg-muted/30 p-0.5", children: tabs.map((t) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
@@ -7116,7 +7199,7 @@ function GroupedBarChartTemplate({
|
|
|
7116
7199
|
formatYAxis = (v) => v >= 1e6 ? `${(v / 1e6).toFixed(1)}M` : v >= 1e3 ? `${(v / 1e3).toFixed(0)}K` : `${v}`,
|
|
7117
7200
|
className
|
|
7118
7201
|
}) {
|
|
7119
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground
|
|
7202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground", elevation.surface, className), children: [
|
|
7120
7203
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "mb-3 flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: [
|
|
7121
7204
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
|
|
7122
7205
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -7164,7 +7247,7 @@ function RankedBarListTemplate({
|
|
|
7164
7247
|
barTo = "var(--chart-3)",
|
|
7165
7248
|
className
|
|
7166
7249
|
}) {
|
|
7167
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7250
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
7168
7251
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between", children: [
|
|
7169
7252
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
|
|
7170
7253
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -7201,7 +7284,7 @@ function CategoryBarChartTemplate({
|
|
|
7201
7284
|
className
|
|
7202
7285
|
}) {
|
|
7203
7286
|
const chartData = data.map((d) => ({ name: d.category, v: d.value }));
|
|
7204
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground
|
|
7287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card px-5 pt-4 pb-3 text-card-foreground", elevation.surface, className), children: [
|
|
7205
7288
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "mb-3", children: [
|
|
7206
7289
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7207
7290
|
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: subtitle }) : null
|
|
@@ -7247,7 +7330,7 @@ function MiniSparklineChartCard({
|
|
|
7247
7330
|
}) {
|
|
7248
7331
|
const gid = React44.useId().replace(/:/g, "");
|
|
7249
7332
|
const hasCompare = data.some((d) => d.compare != null);
|
|
7250
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7333
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
7251
7334
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7252
7335
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mt-2 text-2xl font-semibold tabular-nums", children: value }),
|
|
7253
7336
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mt-2", style: { height }, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_recharts.AreaChart, { data, margin: { top: 4, right: 8, left: 0, bottom: 0 }, children: [
|
|
@@ -7284,7 +7367,7 @@ var toneCls = {
|
|
|
7284
7367
|
danger: "text-red-600 dark:text-red-400"
|
|
7285
7368
|
};
|
|
7286
7369
|
function AttentionListTemplate({ title, items, className }) {
|
|
7287
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground
|
|
7370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("rounded-xl border border-border bg-card p-5 text-card-foreground", elevation.surface, className), children: [
|
|
7288
7371
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7289
7372
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("ul", { className: "mt-4 space-y-4", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
7290
7373
|
"li",
|
|
@@ -7335,7 +7418,7 @@ function Toaster({ theme, ...props }) {
|
|
|
7335
7418
|
position: "bottom-right",
|
|
7336
7419
|
toastOptions: {
|
|
7337
7420
|
classNames: {
|
|
7338
|
-
toast:
|
|
7421
|
+
toast: `bg-[var(--popover)] text-[var(--popover-foreground)] border-[var(--border)] ${elevation.popover} rounded-[10px] text-[13px]`,
|
|
7339
7422
|
description: "text-[var(--muted-foreground)]"
|
|
7340
7423
|
}
|
|
7341
7424
|
},
|
|
@@ -7414,7 +7497,8 @@ var InlineEdit = React45.forwardRef(
|
|
|
7414
7497
|
setEditing(true);
|
|
7415
7498
|
};
|
|
7416
7499
|
const sharedInputClass = cn(
|
|
7417
|
-
"w-full rounded-md border border-border bg-card px-2 py-1 text-[15px] leading-tight text-foreground
|
|
7500
|
+
"w-full rounded-md border border-border bg-card px-2 py-1 text-[15px] leading-tight text-foreground",
|
|
7501
|
+
elevation.field,
|
|
7418
7502
|
"placeholder:text-muted-foreground",
|
|
7419
7503
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
7420
7504
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
@@ -7581,7 +7665,8 @@ var InlineDialogContent = React46.forwardRef(
|
|
|
7581
7665
|
className: cn(
|
|
7582
7666
|
// Base card
|
|
7583
7667
|
"relative z-[120] max-w-xs overflow-visible",
|
|
7584
|
-
"rounded-xl border border-border bg-card p-4 text-foreground
|
|
7668
|
+
"rounded-xl border border-border bg-card p-4 text-foreground",
|
|
7669
|
+
elevation.popover,
|
|
7585
7670
|
// Animation
|
|
7586
7671
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0",
|
|
7587
7672
|
"transition-opacity duration-pg-fast ease-pg-standard",
|
|
@@ -7704,7 +7789,8 @@ var Flag = React47.forwardRef(
|
|
|
7704
7789
|
onMouseEnter: handleMouseEnter,
|
|
7705
7790
|
onMouseLeave: handleMouseLeave,
|
|
7706
7791
|
className: cn(
|
|
7707
|
-
"relative w-80 overflow-hidden rounded-xl border border-border bg-card
|
|
7792
|
+
"relative w-80 overflow-hidden rounded-xl border border-border bg-card",
|
|
7793
|
+
elevation.popover,
|
|
7708
7794
|
"border-l-4",
|
|
7709
7795
|
variantBorder[variant],
|
|
7710
7796
|
className
|
|
@@ -8045,7 +8131,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
8045
8131
|
"aria-expanded": open,
|
|
8046
8132
|
"aria-haspopup": "listbox",
|
|
8047
8133
|
className: cn(
|
|
8048
|
-
"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
|
|
8134
|
+
"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",
|
|
8135
|
+
elevation.field,
|
|
8049
8136
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
8050
8137
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
8051
8138
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -8077,7 +8164,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
8077
8164
|
align: "start",
|
|
8078
8165
|
sideOffset: 6,
|
|
8079
8166
|
className: cn(
|
|
8080
|
-
"z-[120] w-[var(--radix-popover-trigger-width)] min-w-[260px] rounded-xl border border-border bg-popover text-popover-foreground
|
|
8167
|
+
"z-[120] w-[var(--radix-popover-trigger-width)] min-w-[260px] rounded-xl border border-border bg-popover text-popover-foreground outline-none",
|
|
8168
|
+
elevation.popover,
|
|
8081
8169
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
8082
8170
|
),
|
|
8083
8171
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
@@ -8166,11 +8254,11 @@ var import_lucide_react40 = require("lucide-react");
|
|
|
8166
8254
|
var import_react16 = require("react");
|
|
8167
8255
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
8168
8256
|
var variantClasses4 = {
|
|
8169
|
-
primary:
|
|
8170
|
-
secondary:
|
|
8257
|
+
primary: `bg-primary text-primary-foreground border border-primary ${elevation.control} hover:bg-[var(--primary-hover)]`,
|
|
8258
|
+
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`,
|
|
8171
8259
|
ghost: "bg-transparent text-foreground border border-transparent hover:bg-muted focus-visible:bg-muted/80 active:bg-muted/90",
|
|
8172
|
-
outline:
|
|
8173
|
-
danger:
|
|
8260
|
+
outline: `bg-card text-foreground border border-border ${elevation.control} hover:bg-muted`,
|
|
8261
|
+
danger: `bg-red-600 text-white border border-red-600 ${elevation.control} hover:bg-red-700`
|
|
8174
8262
|
};
|
|
8175
8263
|
var sizeClasses5 = {
|
|
8176
8264
|
xs: "size-7 min-w-7",
|
|
@@ -8462,7 +8550,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8462
8550
|
{
|
|
8463
8551
|
ref: panelRef,
|
|
8464
8552
|
className: cn(
|
|
8465
|
-
"isolate rounded-xl border border-border bg-popover text-popover-foreground
|
|
8553
|
+
"isolate rounded-xl border border-border bg-popover text-popover-foreground",
|
|
8554
|
+
elevation.popover,
|
|
8466
8555
|
"flex flex-col gap-0"
|
|
8467
8556
|
),
|
|
8468
8557
|
style: {
|
|
@@ -8547,7 +8636,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8547
8636
|
disabled,
|
|
8548
8637
|
onClick: () => open ? setOpen(false) : openPanel(),
|
|
8549
8638
|
className: cn(
|
|
8550
|
-
"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]
|
|
8639
|
+
"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]",
|
|
8640
|
+
elevation.field,
|
|
8551
8641
|
"transition-colors duration-150",
|
|
8552
8642
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
8553
8643
|
open && "border-ring ring-2 ring-ring/35",
|
|
@@ -10416,6 +10506,7 @@ function CalendarDateFilterChip({
|
|
|
10416
10506
|
applyColumnPreferences,
|
|
10417
10507
|
cn,
|
|
10418
10508
|
defaultOptionFilter,
|
|
10509
|
+
elevation,
|
|
10419
10510
|
formatDateOnly,
|
|
10420
10511
|
formatDateStamp,
|
|
10421
10512
|
formatDateTime,
|