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