@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.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 = {
|
|
@@ -590,6 +627,12 @@ var Button = (0, import_react.forwardRef)(
|
|
|
590
627
|
disabled: disabled || isLoading,
|
|
591
628
|
className: cn(
|
|
592
629
|
"inline-flex items-center justify-center font-medium transition-colors duration-pg-fast ease-pg-standard",
|
|
630
|
+
// A button's label never wraps. Without this, a narrow button breaks
|
|
631
|
+
// the line between an icon and its text — and an icon passed as a
|
|
632
|
+
// child rather than through `leftIcon` sits inside the same span, so
|
|
633
|
+
// it wraps with the words. Pass `whitespace-normal` in `className`
|
|
634
|
+
// for the rare button that really should wrap.
|
|
635
|
+
"whitespace-nowrap",
|
|
593
636
|
variant !== "link" && "disabled:cursor-not-allowed disabled:opacity-50",
|
|
594
637
|
variant === "link" && "justify-center",
|
|
595
638
|
variant !== "link" && "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
@@ -718,11 +761,11 @@ var SplitButton = (0, import_react2.forwardRef)(
|
|
|
718
761
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
719
762
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
720
763
|
// Match variant styling
|
|
721
|
-
variant === "primary" &&
|
|
722
|
-
variant === "secondary" &&
|
|
723
|
-
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`,
|
|
724
767
|
variant === "ghost" && "bg-transparent text-foreground border border-transparent hover:bg-muted border-l-0",
|
|
725
|
-
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`,
|
|
726
769
|
// Size heights to match Button
|
|
727
770
|
size === "sm" && "h-9 min-h-9 rounded-lg",
|
|
728
771
|
size === "md" && "h-10 min-h-10 rounded-lg",
|
|
@@ -746,7 +789,8 @@ var SplitButton = (0, import_react2.forwardRef)(
|
|
|
746
789
|
role: "menu",
|
|
747
790
|
className: cn(
|
|
748
791
|
"absolute right-0 top-full mt-1 z-50",
|
|
749
|
-
"bg-card border border-border rounded-lg
|
|
792
|
+
"bg-card border border-border rounded-lg py-1 min-w-32",
|
|
793
|
+
elevation.popover
|
|
750
794
|
),
|
|
751
795
|
children
|
|
752
796
|
}
|
|
@@ -790,7 +834,8 @@ var Input = React2.forwardRef(
|
|
|
790
834
|
{
|
|
791
835
|
type,
|
|
792
836
|
className: cn(
|
|
793
|
-
"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,
|
|
794
839
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
|
|
795
840
|
"placeholder:text-muted-foreground",
|
|
796
841
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
@@ -924,7 +969,8 @@ function OtpInput({
|
|
|
924
969
|
onKeyDown: (e) => handleKeyDown(i, e),
|
|
925
970
|
onPaste: handlePaste,
|
|
926
971
|
className: cn(
|
|
927
|
-
"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,
|
|
928
974
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 focus-visible:border-primary",
|
|
929
975
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
930
976
|
invalid ? "border-destructive ring-destructive/20" : "border-input"
|
|
@@ -1028,7 +1074,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1028
1074
|
"aria-expanded": open,
|
|
1029
1075
|
"aria-haspopup": "listbox",
|
|
1030
1076
|
className: cn(
|
|
1031
|
-
"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,
|
|
1032
1079
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1033
1080
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1034
1081
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1056,7 +1103,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1056
1103
|
sideOffset: 6,
|
|
1057
1104
|
collisionPadding: 8,
|
|
1058
1105
|
className: cn(
|
|
1059
|
-
"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,
|
|
1060
1108
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
1061
1109
|
),
|
|
1062
1110
|
children: [
|
|
@@ -1071,7 +1119,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1071
1119
|
placeholder: searchPlaceholder,
|
|
1072
1120
|
"aria-label": searchPlaceholder,
|
|
1073
1121
|
className: cn(
|
|
1074
|
-
"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,
|
|
1075
1124
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1076
1125
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
1077
1126
|
)
|
|
@@ -1125,7 +1174,8 @@ var CheckboxSelect = React6.forwardRef(
|
|
|
1125
1174
|
onCheckedChange: () => !option.disabled && handleToggle(option.value),
|
|
1126
1175
|
onClick: (e) => e.stopPropagation(),
|
|
1127
1176
|
className: cn(
|
|
1128
|
-
"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,
|
|
1129
1179
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1130
1180
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1131
1181
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1213,7 +1263,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1213
1263
|
"aria-haspopup": "listbox",
|
|
1214
1264
|
"aria-invalid": invalid || void 0,
|
|
1215
1265
|
className: cn(
|
|
1216
|
-
"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,
|
|
1217
1268
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1218
1269
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1219
1270
|
"aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/25 dark:aria-invalid:ring-destructive/40",
|
|
@@ -1245,7 +1296,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1245
1296
|
sideOffset: 6,
|
|
1246
1297
|
collisionPadding: 8,
|
|
1247
1298
|
className: cn(
|
|
1248
|
-
"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,
|
|
1249
1301
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
1250
1302
|
),
|
|
1251
1303
|
children: [
|
|
@@ -1260,7 +1312,8 @@ var SingleSelect = React7.forwardRef(
|
|
|
1260
1312
|
placeholder: searchPlaceholder,
|
|
1261
1313
|
"aria-label": searchPlaceholder,
|
|
1262
1314
|
className: cn(
|
|
1263
|
-
"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,
|
|
1264
1317
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1265
1318
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35"
|
|
1266
1319
|
)
|
|
@@ -1329,7 +1382,8 @@ var Textarea = React8.forwardRef(
|
|
|
1329
1382
|
"textarea",
|
|
1330
1383
|
{
|
|
1331
1384
|
className: cn(
|
|
1332
|
-
"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,
|
|
1333
1387
|
"placeholder:text-muted-foreground",
|
|
1334
1388
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
1335
1389
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1375,7 +1429,8 @@ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) =>
|
|
|
1375
1429
|
{
|
|
1376
1430
|
ref,
|
|
1377
1431
|
className: cn(
|
|
1378
|
-
"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,
|
|
1379
1434
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1380
1435
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1381
1436
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary",
|
|
@@ -1407,7 +1462,8 @@ var RadioGroupItem = React11.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1407
1462
|
{
|
|
1408
1463
|
ref,
|
|
1409
1464
|
className: cn(
|
|
1410
|
-
"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,
|
|
1411
1467
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
1412
1468
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
1413
1469
|
"data-[state=checked]:border-primary",
|
|
@@ -1449,7 +1505,8 @@ var switchRootVariants = (0, import_class_variance_authority2.cva)(
|
|
|
1449
1505
|
);
|
|
1450
1506
|
var switchThumbVariants = (0, import_class_variance_authority2.cva)(
|
|
1451
1507
|
[
|
|
1452
|
-
"pointer-events-none block rounded-full bg-white
|
|
1508
|
+
"pointer-events-none block rounded-full bg-white",
|
|
1509
|
+
elevation.control,
|
|
1453
1510
|
"transition-transform duration-pg-fast ease-pg-standard",
|
|
1454
1511
|
"ring-0"
|
|
1455
1512
|
],
|
|
@@ -1490,7 +1547,10 @@ var Slider = React13.forwardRef(
|
|
|
1490
1547
|
...props,
|
|
1491
1548
|
children: [
|
|
1492
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" }) }),
|
|
1493
|
-
/* @__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
|
+
) })
|
|
1494
1554
|
]
|
|
1495
1555
|
}
|
|
1496
1556
|
)
|
|
@@ -1828,7 +1888,8 @@ function InputGroup({ className, ...props }) {
|
|
|
1828
1888
|
"data-slot": "input-group",
|
|
1829
1889
|
role: "group",
|
|
1830
1890
|
className: cn(
|
|
1831
|
-
"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,
|
|
1832
1893
|
"min-h-11 h-11 has-[>textarea]:h-auto",
|
|
1833
1894
|
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
1834
1895
|
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
@@ -2012,17 +2073,20 @@ function CurrencyAmountInput({
|
|
|
2012
2073
|
// src/card.tsx
|
|
2013
2074
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
2014
2075
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2015
|
-
var cardVariants = (0, import_class_variance_authority5.cva)(
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
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"
|
|
2020
2087
|
}
|
|
2021
|
-
},
|
|
2022
|
-
defaultVariants: {
|
|
2023
|
-
size: "default"
|
|
2024
2088
|
}
|
|
2025
|
-
|
|
2089
|
+
);
|
|
2026
2090
|
function Card({
|
|
2027
2091
|
className,
|
|
2028
2092
|
size,
|
|
@@ -2415,7 +2479,7 @@ var PaginationLink = (0, import_react4.forwardRef)(
|
|
|
2415
2479
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
2416
2480
|
"cursor-pointer select-none",
|
|
2417
2481
|
// active
|
|
2418
|
-
isActive ?
|
|
2482
|
+
isActive ? `bg-primary text-primary-foreground border-primary ${elevation.control}` : "text-muted-foreground border-border hover:bg-muted hover:text-foreground",
|
|
2419
2483
|
className
|
|
2420
2484
|
),
|
|
2421
2485
|
...props
|
|
@@ -2967,7 +3031,7 @@ var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
|
2967
3031
|
var SpotlightCard = React25.forwardRef(
|
|
2968
3032
|
({ title, body, image, currentStep, totalSteps, onNext, onBack, onDismiss, nextLabel, className }, ref) => {
|
|
2969
3033
|
const isLast = currentStep !== void 0 && totalSteps !== void 0 && currentStep >= totalSteps - 1;
|
|
2970
|
-
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: [
|
|
2971
3035
|
onDismiss && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2972
3036
|
"button",
|
|
2973
3037
|
{
|
|
@@ -3097,7 +3161,8 @@ function DialogContent({
|
|
|
3097
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",
|
|
3098
3162
|
// Default padding reserves space for the close button.
|
|
3099
3163
|
// Pass p-0 in className to opt out (manage padding per section).
|
|
3100
|
-
"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,
|
|
3101
3166
|
"max-h-[min(90vh,720px)] overflow-y-auto",
|
|
3102
3167
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 data-[state=open]:scale-100 data-[state=closed]:scale-[0.98]",
|
|
3103
3168
|
"transition-[opacity,transform] duration-200 ease-out",
|
|
@@ -3165,7 +3230,7 @@ var DrawerContent = React26.forwardRef(({ className, children, ...props }, ref)
|
|
|
3165
3230
|
DialogPrimitive2.Content,
|
|
3166
3231
|
{
|
|
3167
3232
|
ref,
|
|
3168
|
-
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),
|
|
3169
3234
|
...props,
|
|
3170
3235
|
children: [
|
|
3171
3236
|
children,
|
|
@@ -3207,7 +3272,8 @@ var PopoverContent = React27.forwardRef(({ className, align = "center", sideOffs
|
|
|
3207
3272
|
sideOffset,
|
|
3208
3273
|
collisionPadding,
|
|
3209
3274
|
className: cn(
|
|
3210
|
-
"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,
|
|
3211
3277
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3212
3278
|
className
|
|
3213
3279
|
),
|
|
@@ -3229,7 +3295,8 @@ var TooltipContent = React28.forwardRef(({ className, sideOffset = 6, ...props }
|
|
|
3229
3295
|
ref,
|
|
3230
3296
|
sideOffset,
|
|
3231
3297
|
className: cn(
|
|
3232
|
-
"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,
|
|
3233
3300
|
className
|
|
3234
3301
|
),
|
|
3235
3302
|
...props
|
|
@@ -3360,7 +3427,8 @@ var DropdownMenuSubContent = React29.forwardRef(({ className, ...props }, ref) =
|
|
|
3360
3427
|
{
|
|
3361
3428
|
ref,
|
|
3362
3429
|
className: cn(
|
|
3363
|
-
"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,
|
|
3364
3432
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3365
3433
|
className
|
|
3366
3434
|
),
|
|
@@ -3374,7 +3442,8 @@ var DropdownMenuContent = React29.forwardRef(({ className, sideOffset = 8, ...pr
|
|
|
3374
3442
|
ref,
|
|
3375
3443
|
sideOffset,
|
|
3376
3444
|
className: cn(
|
|
3377
|
-
"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,
|
|
3378
3447
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3379
3448
|
className
|
|
3380
3449
|
),
|
|
@@ -3470,7 +3539,8 @@ var SelectTrigger = React30.forwardRef(({ className, children, size = "md", ...p
|
|
|
3470
3539
|
{
|
|
3471
3540
|
ref,
|
|
3472
3541
|
className: cn(
|
|
3473
|
-
"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,
|
|
3474
3544
|
selectTriggerSizes[size],
|
|
3475
3545
|
"ring-ring/50 focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3476
3546
|
"[&>span]:line-clamp-1",
|
|
@@ -3509,7 +3579,8 @@ var SelectContent = React30.forwardRef(({ className, children, position = "poppe
|
|
|
3509
3579
|
{
|
|
3510
3580
|
ref,
|
|
3511
3581
|
className: cn(
|
|
3512
|
-
"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,
|
|
3513
3584
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150",
|
|
3514
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",
|
|
3515
3586
|
className
|
|
@@ -3559,7 +3630,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3559
3630
|
var React31 = __toESM(require("react"), 1);
|
|
3560
3631
|
var import_lucide_react18 = require("lucide-react");
|
|
3561
3632
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3562
|
-
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 }));
|
|
3563
3634
|
Command.displayName = "Command";
|
|
3564
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: [
|
|
3565
3636
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react18.Search, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": true }),
|
|
@@ -3816,7 +3887,7 @@ var Alert = React34.forwardRef(
|
|
|
3816
3887
|
{
|
|
3817
3888
|
ref,
|
|
3818
3889
|
role: "alert",
|
|
3819
|
-
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),
|
|
3820
3891
|
...props,
|
|
3821
3892
|
children: [
|
|
3822
3893
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon2, { className: "mt-0.5 size-4 shrink-0", "aria-hidden": true }),
|
|
@@ -3962,7 +4033,8 @@ var SectionMessage = React36.forwardRef(
|
|
|
3962
4033
|
ref,
|
|
3963
4034
|
role: "region",
|
|
3964
4035
|
className: cn(
|
|
3965
|
-
"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,
|
|
3966
4038
|
config.border,
|
|
3967
4039
|
config.bg,
|
|
3968
4040
|
className
|
|
@@ -4124,14 +4196,23 @@ function Shimmer({ className, rounded = "md" }) {
|
|
|
4124
4196
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: cn("shimmer", r, className) });
|
|
4125
4197
|
}
|
|
4126
4198
|
function StatCardSkeleton() {
|
|
4127
|
-
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
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
|
+
);
|
|
4135
4216
|
}
|
|
4136
4217
|
function TableRowSkeleton({
|
|
4137
4218
|
cols = 6,
|
|
@@ -4665,7 +4746,8 @@ function DataTable({
|
|
|
4665
4746
|
type: "button",
|
|
4666
4747
|
onClick: () => rowCta?.onClick?.(row),
|
|
4667
4748
|
className: cn(
|
|
4668
|
-
"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,
|
|
4669
4751
|
compact ? "px-2.5 py-1 text-[11px]" : "px-3 py-1.5 text-[12px]"
|
|
4670
4752
|
),
|
|
4671
4753
|
children: rowCta?.label
|
|
@@ -4740,7 +4822,7 @@ function DataTable({
|
|
|
4740
4822
|
}
|
|
4741
4823
|
var PAGE_BUTTON = "w-7 h-7 rounded-md flex items-center justify-center text-[12px] font-medium tabular-nums transition-colors";
|
|
4742
4824
|
var PAGE_BUTTON_IDLE = "text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed";
|
|
4743
|
-
var PAGE_BUTTON_ACTIVE =
|
|
4825
|
+
var PAGE_BUTTON_ACTIVE = `bg-primary text-primary-foreground ${elevation.control}`;
|
|
4744
4826
|
function DataTableFooter({
|
|
4745
4827
|
pad: pad3,
|
|
4746
4828
|
summary,
|
|
@@ -5977,7 +6059,8 @@ function navButtonClasses(variant) {
|
|
|
5977
6059
|
case "outline":
|
|
5978
6060
|
return cn(
|
|
5979
6061
|
base,
|
|
5980
|
-
|
|
6062
|
+
elevation.control,
|
|
6063
|
+
"border-border bg-card text-foreground hover:bg-muted"
|
|
5981
6064
|
);
|
|
5982
6065
|
case "ghost":
|
|
5983
6066
|
default:
|
|
@@ -6049,7 +6132,8 @@ function Calendar({
|
|
|
6049
6132
|
defaultClassNames.dropdowns
|
|
6050
6133
|
),
|
|
6051
6134
|
dropdown_root: cn(
|
|
6052
|
-
"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,
|
|
6053
6137
|
defaultClassNames.dropdown_root
|
|
6054
6138
|
),
|
|
6055
6139
|
dropdown: cn("absolute inset-0 cursor-pointer opacity-0", defaultClassNames.dropdown),
|
|
@@ -6476,7 +6560,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6476
6560
|
animate: { opacity: 1, y: 0 },
|
|
6477
6561
|
exit: { opacity: 0, y: -4 },
|
|
6478
6562
|
transition: { duration: 0.12 },
|
|
6479
|
-
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}`,
|
|
6480
6564
|
children: MONTHS.map((mn, mi) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6481
6565
|
"button",
|
|
6482
6566
|
{
|
|
@@ -6517,7 +6601,7 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6517
6601
|
animate: { opacity: 1, y: 0 },
|
|
6518
6602
|
exit: { opacity: 0, y: -4 },
|
|
6519
6603
|
transition: { duration: 0.12 },
|
|
6520
|
-
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}`,
|
|
6521
6605
|
children: years.map((yr) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6522
6606
|
"button",
|
|
6523
6607
|
{
|
|
@@ -6637,7 +6721,10 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6637
6721
|
animate: { opacity: 1, scale: 1, y: 0 },
|
|
6638
6722
|
exit: { opacity: 0, scale: 0.97, y: -6 },
|
|
6639
6723
|
transition: { duration: 0.16, ease: [0.16, 1, 0.3, 1] },
|
|
6640
|
-
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
|
+
),
|
|
6641
6728
|
style: {
|
|
6642
6729
|
position: "fixed",
|
|
6643
6730
|
top: panelPos.top,
|
|
@@ -6668,7 +6755,8 @@ function DatePicker({ value, onChange, placeholder = "Select date", className, m
|
|
|
6668
6755
|
type: "button",
|
|
6669
6756
|
onClick: () => open ? closePanel() : openPanel(),
|
|
6670
6757
|
className: cn(
|
|
6671
|
-
"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,
|
|
6672
6760
|
open ? "border-ring ring-2 ring-ring/20" : "hover:border-muted-foreground/45"
|
|
6673
6761
|
),
|
|
6674
6762
|
children: [
|
|
@@ -6950,7 +7038,8 @@ function MetricSparklineCard({
|
|
|
6950
7038
|
"div",
|
|
6951
7039
|
{
|
|
6952
7040
|
className: cn(
|
|
6953
|
-
"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,
|
|
6954
7043
|
className
|
|
6955
7044
|
),
|
|
6956
7045
|
children: [
|
|
@@ -7013,7 +7102,7 @@ function DashboardAreaChartTemplate({
|
|
|
7013
7102
|
className
|
|
7014
7103
|
}) {
|
|
7015
7104
|
const areaGid = React44.useId().replace(/:/g, "");
|
|
7016
|
-
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: [
|
|
7017
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: [
|
|
7018
7107
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7019
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)(
|
|
@@ -7110,7 +7199,7 @@ function GroupedBarChartTemplate({
|
|
|
7110
7199
|
formatYAxis = (v) => v >= 1e6 ? `${(v / 1e6).toFixed(1)}M` : v >= 1e3 ? `${(v / 1e3).toFixed(0)}K` : `${v}`,
|
|
7111
7200
|
className
|
|
7112
7201
|
}) {
|
|
7113
|
-
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: [
|
|
7114
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: [
|
|
7115
7204
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
|
|
7116
7205
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -7158,7 +7247,7 @@ function RankedBarListTemplate({
|
|
|
7158
7247
|
barTo = "var(--chart-3)",
|
|
7159
7248
|
className
|
|
7160
7249
|
}) {
|
|
7161
|
-
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: [
|
|
7162
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: [
|
|
7163
7252
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
|
|
7164
7253
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -7195,7 +7284,7 @@ function CategoryBarChartTemplate({
|
|
|
7195
7284
|
className
|
|
7196
7285
|
}) {
|
|
7197
7286
|
const chartData = data.map((d) => ({ name: d.category, v: d.value }));
|
|
7198
|
-
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: [
|
|
7199
7288
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "mb-3", children: [
|
|
7200
7289
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7201
7290
|
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: subtitle }) : null
|
|
@@ -7241,7 +7330,7 @@ function MiniSparklineChartCard({
|
|
|
7241
7330
|
}) {
|
|
7242
7331
|
const gid = React44.useId().replace(/:/g, "");
|
|
7243
7332
|
const hasCompare = data.some((d) => d.compare != null);
|
|
7244
|
-
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: [
|
|
7245
7334
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7246
7335
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mt-2 text-2xl font-semibold tabular-nums", children: value }),
|
|
7247
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: [
|
|
@@ -7278,7 +7367,7 @@ var toneCls = {
|
|
|
7278
7367
|
danger: "text-red-600 dark:text-red-400"
|
|
7279
7368
|
};
|
|
7280
7369
|
function AttentionListTemplate({ title, items, className }) {
|
|
7281
|
-
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: [
|
|
7282
7371
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
7283
7372
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("ul", { className: "mt-4 space-y-4", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
7284
7373
|
"li",
|
|
@@ -7329,7 +7418,7 @@ function Toaster({ theme, ...props }) {
|
|
|
7329
7418
|
position: "bottom-right",
|
|
7330
7419
|
toastOptions: {
|
|
7331
7420
|
classNames: {
|
|
7332
|
-
toast:
|
|
7421
|
+
toast: `bg-[var(--popover)] text-[var(--popover-foreground)] border-[var(--border)] ${elevation.popover} rounded-[10px] text-[13px]`,
|
|
7333
7422
|
description: "text-[var(--muted-foreground)]"
|
|
7334
7423
|
}
|
|
7335
7424
|
},
|
|
@@ -7408,7 +7497,8 @@ var InlineEdit = React45.forwardRef(
|
|
|
7408
7497
|
setEditing(true);
|
|
7409
7498
|
};
|
|
7410
7499
|
const sharedInputClass = cn(
|
|
7411
|
-
"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,
|
|
7412
7502
|
"placeholder:text-muted-foreground",
|
|
7413
7503
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
7414
7504
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
@@ -7575,7 +7665,8 @@ var InlineDialogContent = React46.forwardRef(
|
|
|
7575
7665
|
className: cn(
|
|
7576
7666
|
// Base card
|
|
7577
7667
|
"relative z-[120] max-w-xs overflow-visible",
|
|
7578
|
-
"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,
|
|
7579
7670
|
// Animation
|
|
7580
7671
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0",
|
|
7581
7672
|
"transition-opacity duration-pg-fast ease-pg-standard",
|
|
@@ -7698,7 +7789,8 @@ var Flag = React47.forwardRef(
|
|
|
7698
7789
|
onMouseEnter: handleMouseEnter,
|
|
7699
7790
|
onMouseLeave: handleMouseLeave,
|
|
7700
7791
|
className: cn(
|
|
7701
|
-
"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,
|
|
7702
7794
|
"border-l-4",
|
|
7703
7795
|
variantBorder[variant],
|
|
7704
7796
|
className
|
|
@@ -8039,7 +8131,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
8039
8131
|
"aria-expanded": open,
|
|
8040
8132
|
"aria-haspopup": "listbox",
|
|
8041
8133
|
className: cn(
|
|
8042
|
-
"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,
|
|
8043
8136
|
"transition-colors duration-pg-fast ease-pg-standard",
|
|
8044
8137
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
8045
8138
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -8071,7 +8164,8 @@ var CountrySelect = React49.forwardRef(
|
|
|
8071
8164
|
align: "start",
|
|
8072
8165
|
sideOffset: 6,
|
|
8073
8166
|
className: cn(
|
|
8074
|
-
"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,
|
|
8075
8169
|
"data-[state=open]:opacity-100 data-[state=closed]:opacity-0 transition-opacity duration-150"
|
|
8076
8170
|
),
|
|
8077
8171
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
@@ -8160,11 +8254,11 @@ var import_lucide_react40 = require("lucide-react");
|
|
|
8160
8254
|
var import_react16 = require("react");
|
|
8161
8255
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
8162
8256
|
var variantClasses4 = {
|
|
8163
|
-
primary:
|
|
8164
|
-
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`,
|
|
8165
8259
|
ghost: "bg-transparent text-foreground border border-transparent hover:bg-muted focus-visible:bg-muted/80 active:bg-muted/90",
|
|
8166
|
-
outline:
|
|
8167
|
-
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`
|
|
8168
8262
|
};
|
|
8169
8263
|
var sizeClasses5 = {
|
|
8170
8264
|
xs: "size-7 min-w-7",
|
|
@@ -8456,7 +8550,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8456
8550
|
{
|
|
8457
8551
|
ref: panelRef,
|
|
8458
8552
|
className: cn(
|
|
8459
|
-
"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,
|
|
8460
8555
|
"flex flex-col gap-0"
|
|
8461
8556
|
),
|
|
8462
8557
|
style: {
|
|
@@ -8541,7 +8636,8 @@ var TimePicker = React50.forwardRef(
|
|
|
8541
8636
|
disabled,
|
|
8542
8637
|
onClick: () => open ? setOpen(false) : openPanel(),
|
|
8543
8638
|
className: cn(
|
|
8544
|
-
"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,
|
|
8545
8641
|
"transition-colors duration-150",
|
|
8546
8642
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35",
|
|
8547
8643
|
open && "border-ring ring-2 ring-ring/35",
|
|
@@ -10410,6 +10506,7 @@ function CalendarDateFilterChip({
|
|
|
10410
10506
|
applyColumnPreferences,
|
|
10411
10507
|
cn,
|
|
10412
10508
|
defaultOptionFilter,
|
|
10509
|
+
elevation,
|
|
10413
10510
|
formatDateOnly,
|
|
10414
10511
|
formatDateStamp,
|
|
10415
10512
|
formatDateTime,
|