@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 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: "bg-primary text-primary-foreground border border-primary shadow-sm hover:bg-[var(--primary-hover)]",
563
- secondary: "bg-muted text-foreground border border-border shadow-sm hover:bg-muted/85 dark:bg-muted/35 dark:text-foreground dark:border-border dark:hover:bg-muted/55",
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: "bg-red-600 text-white border border-red-600 shadow-sm hover:bg-red-700",
566
- outline: "bg-card text-foreground border border-border shadow-sm hover:bg-muted",
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" && "bg-primary text-primary-foreground border border-primary shadow-sm hover:bg-[var(--primary-hover)] border-l border-l-primary-foreground/20",
722
- variant === "secondary" && "bg-muted text-foreground border border-border shadow-sm hover:bg-muted/85 dark:bg-muted/35 dark:hover:bg-muted/55 border-l-0",
723
- variant === "outline" && "bg-card text-foreground border border-border shadow-sm hover:bg-muted border-l-0",
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" && "bg-red-600 text-white border border-red-600 shadow-sm hover:bg-red-700 border-l border-l-white/20",
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 shadow-lg py-1 min-w-32"
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 shadow-sm transition-colors",
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 shadow-sm transition-colors",
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] shadow-sm outline-none",
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 shadow-lg outline-none p-1",
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 shadow-sm placeholder:text-muted-foreground",
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 shadow-sm",
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] shadow-sm outline-none",
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 shadow-lg outline-none p-1",
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 shadow-sm placeholder:text-muted-foreground",
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 shadow-sm transition-colors",
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 shadow-sm transition-colors duration-pg-fast ease-pg-standard",
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 shadow-sm",
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 shadow-sm",
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: "block h-[18px] w-[18px] rounded-full border-2 border-primary bg-card shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35 disabled:pointer-events-none disabled:opacity-50" })
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 shadow-sm outline-none transition-[color,box-shadow] dark:bg-card/50",
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)("flex flex-col rounded-xl border border-border bg-card text-card-foreground shadow-sm", {
2016
- variants: {
2017
- size: {
2018
- default: "gap-10 px-10 py-10",
2019
- sm: "gap-6 px-7 py-7"
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 ? "bg-primary text-primary-foreground border-primary shadow-sm" : "text-muted-foreground border-border hover:bg-muted hover:text-foreground",
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 shadow-xl p-5 w-72", className), children: [
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 shadow-2xl outline-none",
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 shadow-xl 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),
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 shadow-lg outline-none",
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 shadow-md",
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 shadow-lg",
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 shadow-lg",
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 shadow-sm outline-none",
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 shadow-lg",
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 shadow-lg overflow-hidden", className), ...props }));
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 shadow-sm", variantStyles[variant], className),
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 shadow-sm transition-colors duration-pg-fast ease-pg-standard",
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)("div", { className: "bg-card text-card-foreground rounded-xl p-5 flex flex-col gap-3 border border-border shadow-sm", children: [
4128
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center justify-between", children: [
4129
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-3 w-28" }),
4130
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-10 w-10", rounded: "full" })
4131
- ] }),
4132
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-9 w-44 mt-1" }),
4133
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Shimmer, { className: "h-3 w-32" })
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 shadow-sm",
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 = "bg-primary text-primary-foreground shadow-sm";
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
- "border-border bg-card text-foreground shadow-sm hover:bg-muted"
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 shadow-sm focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/35",
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: "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 shadow-lg",
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: "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 shadow-lg",
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: "isolate rounded-2xl border border-border bg-popover text-popover-foreground shadow-lg select-none dark:shadow-black/40",
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] shadow-sm transition-colors",
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 shadow-sm",
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 shadow-sm", className), children: [
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 shadow-sm", className), children: [
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 shadow-sm", className), children: [
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 shadow-sm", className), children: [
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 shadow-sm", className), children: [
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 shadow-sm", className), children: [
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: "bg-[var(--popover)] text-[var(--popover-foreground)] border-[var(--border)] shadow-lg rounded-[10px] text-[13px]",
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 shadow-sm",
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 shadow-lg",
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 shadow-lg",
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 shadow-sm",
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 shadow-lg outline-none",
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: "bg-primary text-primary-foreground border border-primary shadow-sm hover:bg-[var(--primary-hover)]",
8164
- secondary: "bg-muted text-foreground border border-border shadow-sm hover:bg-muted/85 dark:bg-muted/35 dark:text-foreground dark:border-border dark:hover:bg-muted/55",
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: "bg-card text-foreground border border-border shadow-sm hover:bg-muted",
8167
- danger: "bg-red-600 text-white border border-red-600 shadow-sm hover:bg-red-700"
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 shadow-lg",
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] shadow-sm",
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,