@almadar/ui 4.57.5 → 5.0.0

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.
Files changed (41) hide show
  1. package/dist/avl/index.cjs +270 -69
  2. package/dist/avl/index.js +270 -69
  3. package/dist/components/index.cjs +101 -68
  4. package/dist/components/index.js +101 -68
  5. package/dist/context/index.cjs +199 -0
  6. package/dist/context/index.js +199 -0
  7. package/dist/context/themeTokens.d.ts +1 -1
  8. package/dist/docs/index.cjs +21 -21
  9. package/dist/docs/index.js +21 -21
  10. package/dist/marketing/index.cjs +18 -18
  11. package/dist/marketing/index.js +18 -18
  12. package/dist/providers/index.cjs +101 -68
  13. package/dist/providers/index.js +101 -68
  14. package/dist/runtime/index.cjs +270 -69
  15. package/dist/runtime/index.js +270 -69
  16. package/package.json +2 -2
  17. package/tailwind-preset.cjs +118 -3
  18. package/themes/_contract.md +198 -0
  19. package/themes/almadar-website.css +212 -0
  20. package/themes/almadar.css +210 -0
  21. package/themes/arctic.css +210 -0
  22. package/themes/atelier.css +427 -0
  23. package/themes/copper.css +210 -0
  24. package/themes/ember.css +210 -0
  25. package/themes/forest.css +210 -0
  26. package/themes/gazette.css +411 -0
  27. package/themes/index.css +7 -0
  28. package/themes/kiosk.css +412 -0
  29. package/themes/lavender.css +210 -0
  30. package/themes/midnight.css +210 -0
  31. package/themes/minimalist.css +210 -0
  32. package/themes/neon.css +210 -0
  33. package/themes/ocean.css +210 -0
  34. package/themes/prism.css +406 -0
  35. package/themes/rose.css +210 -0
  36. package/themes/sand.css +210 -0
  37. package/themes/slate.css +210 -0
  38. package/themes/sunset.css +210 -0
  39. package/themes/terminal.css +422 -0
  40. package/themes/trait-wars.css +210 -0
  41. package/themes/wireframe.css +216 -0
@@ -241,6 +241,37 @@ var init_ThemeContext = __esm({
241
241
  displayName: "Copper",
242
242
  hasLightMode: true,
243
243
  hasDarkMode: true
244
+ },
245
+ // Layer 1 skin axes — truly-unique themes (compact tech / editorial / brutalist dense / display-heavy / touch-first)
246
+ {
247
+ name: "prism",
248
+ displayName: "Prism",
249
+ hasLightMode: true,
250
+ hasDarkMode: true
251
+ },
252
+ {
253
+ name: "gazette",
254
+ displayName: "Gazette",
255
+ hasLightMode: true,
256
+ hasDarkMode: true
257
+ },
258
+ {
259
+ name: "terminal",
260
+ displayName: "Terminal",
261
+ hasLightMode: true,
262
+ hasDarkMode: true
263
+ },
264
+ {
265
+ name: "atelier",
266
+ displayName: "Atelier",
267
+ hasLightMode: true,
268
+ hasDarkMode: true
269
+ },
270
+ {
271
+ name: "kiosk",
272
+ displayName: "Kiosk",
273
+ hasLightMode: true,
274
+ hasDarkMode: true
244
275
  }
245
276
  ];
246
277
  ThemeContext = React84.createContext(void 0);
@@ -902,7 +933,7 @@ var init_Button = __esm({
902
933
  };
903
934
  iconSizeStyles = {
904
935
  sm: "h-3.5 w-3.5",
905
- md: "h-4 w-4",
936
+ md: "h-icon-default w-icon-default",
906
937
  lg: "h-5 w-5"
907
938
  };
908
939
  Button = React84__namespace.default.forwardRef(
@@ -955,7 +986,7 @@ var init_Button = __esm({
955
986
  ...props,
956
987
  "data-testid": props["data-testid"] ?? (action ? `action-${action}` : void 0),
957
988
  children: [
958
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Loader2, { className: "h-4 w-4 animate-spin" }) : resolvedLeftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: resolvedLeftIcon }),
989
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Loader2, { className: "h-icon-default w-icon-default animate-spin" }) : resolvedLeftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: resolvedLeftIcon }),
959
990
  children || label,
960
991
  resolvedRightIcon && !isLoading && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: resolvedRightIcon })
961
992
  ]
@@ -1305,7 +1336,7 @@ var init_Modal = __esm({
1305
1336
  // Reset browser-default dialog chrome — we own styling.
1306
1337
  "m-0 p-0 border-0 bg-transparent",
1307
1338
  // Pre-existing dialog frame
1308
- "pointer-events-auto w-full flex flex-col bg-surface border shadow-lg rounded-md",
1339
+ "pointer-events-auto w-full flex flex-col bg-surface border shadow-elevation-dialog rounded-container",
1309
1340
  // Desktop sizing + viewport-aware floor.
1310
1341
  sizeClasses2[size],
1311
1342
  minWidthClasses[size],
@@ -1732,7 +1763,7 @@ var init_Toast = __esm({
1732
1763
  // `min-w-[300px]` only kicks in at `sm:` and above so a phone
1733
1764
  // viewport doesn't get a toast wider than the screen near the
1734
1765
  // edge. `max-w-[calc(100vw-2rem)]` clamps to viewport too.
1735
- "border-l-4 p-4 shadow min-w-0 sm:min-w-[300px] max-w-md max-w-[calc(100vw-2rem)]",
1766
+ "border-l-4 p-4 shadow-elevation-toast min-w-0 sm:min-w-[300px] max-w-md max-w-[calc(100vw-2rem)]",
1736
1767
  "rounded-sm",
1737
1768
  variantClasses[variant],
1738
1769
  className
@@ -2652,7 +2683,7 @@ var init_Input = __esm({
2652
2683
  ...props
2653
2684
  }, ref) => {
2654
2685
  const type = inputType || htmlType || "text";
2655
- const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-4 w-4" });
2686
+ const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
2656
2687
  const showClearButton = clearable && value && String(value).length > 0;
2657
2688
  const baseClassName = cn(
2658
2689
  "block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
@@ -2684,7 +2715,7 @@ var init_Input = __esm({
2684
2715
  ]
2685
2716
  }
2686
2717
  ),
2687
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-4 w-4" }) })
2718
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-icon-default w-icon-default" }) })
2688
2719
  ] });
2689
2720
  }
2690
2721
  if (type === "textarea") {
@@ -2738,7 +2769,7 @@ var init_Input = __esm({
2738
2769
  type: "button",
2739
2770
  onClick: onClear,
2740
2771
  className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground hover:text-foreground",
2741
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-4 w-4" })
2772
+ children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-icon-default w-icon-default" })
2742
2773
  }
2743
2774
  ),
2744
2775
  rightIcon && !showClearButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground", children: rightIcon })
@@ -2838,7 +2869,7 @@ var init_Select = __esm({
2838
2869
  ]
2839
2870
  }
2840
2871
  ),
2841
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-4 w-4 text-foreground" }) })
2872
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-icon-default w-icon-default text-foreground" }) })
2842
2873
  ] });
2843
2874
  }
2844
2875
  );
@@ -2891,23 +2922,23 @@ var init_Card = __esm({
2891
2922
  default: [
2892
2923
  "bg-card",
2893
2924
  "border-[length:var(--border-width)] border-border",
2894
- "shadow-sm",
2925
+ "shadow-elevation-card",
2895
2926
  "transition-all duration-[var(--transition-normal)]",
2896
- "hover:shadow-lg hover:-translate-y-0.5"
2927
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2897
2928
  ].join(" "),
2898
2929
  bordered: [
2899
2930
  "bg-card",
2900
2931
  "border-[length:var(--border-width)] border-border",
2901
- "shadow-sm",
2932
+ "shadow-elevation-card",
2902
2933
  "transition-all duration-[var(--transition-normal)]",
2903
- "hover:shadow-lg hover:-translate-y-0.5"
2934
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2904
2935
  ].join(" "),
2905
2936
  elevated: [
2906
2937
  "bg-card",
2907
2938
  "border-[length:var(--border-width)] border-border",
2908
2939
  "shadow",
2909
2940
  "transition-all duration-[var(--transition-normal)]",
2910
- "hover:shadow-lg hover:-translate-y-0.5"
2941
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2911
2942
  ].join(" "),
2912
2943
  // Interactive variant with theme-specific hover effects
2913
2944
  interactive: [
@@ -2916,20 +2947,20 @@ var init_Card = __esm({
2916
2947
  "shadow",
2917
2948
  "cursor-pointer",
2918
2949
  "transition-all duration-[var(--transition-normal)]",
2919
- "hover:shadow-lg"
2950
+ "hover:shadow-elevation-dialog"
2920
2951
  ].join(" ")
2921
2952
  };
2922
2953
  paddingStyles2 = {
2923
2954
  none: "",
2924
- sm: "p-3",
2925
- md: "p-4",
2926
- lg: "p-6"
2955
+ sm: "p-card-sm",
2956
+ md: "p-card-md",
2957
+ lg: "p-card-lg"
2927
2958
  };
2928
2959
  shadowStyles2 = {
2929
2960
  none: "shadow-none",
2930
- sm: "shadow-sm",
2961
+ sm: "shadow-elevation-card",
2931
2962
  md: "shadow",
2932
- lg: "shadow-lg"
2963
+ lg: "shadow-elevation-dialog"
2933
2964
  };
2934
2965
  Card = React84__namespace.default.forwardRef(
2935
2966
  ({
@@ -2947,7 +2978,7 @@ var init_Card = __esm({
2947
2978
  {
2948
2979
  ref,
2949
2980
  className: cn(
2950
- "rounded-md",
2981
+ "rounded-container",
2951
2982
  "transition-all duration-[var(--transition-normal)]",
2952
2983
  variantStyles4[variant],
2953
2984
  paddingStyles2[padding],
@@ -3076,7 +3107,7 @@ var init_FilterPill = __esm({
3076
3107
  {
3077
3108
  ref,
3078
3109
  className: cn(
3079
- "inline-flex items-center gap-1 font-bold rounded-full",
3110
+ "inline-flex items-center gap-1 font-bold rounded-pill",
3080
3111
  variantStyles5[variant],
3081
3112
  sizeStyles4[size],
3082
3113
  (onClick || clickEvent) && "cursor-pointer",
@@ -3177,8 +3208,8 @@ var init_Avatar = __esm({
3177
3208
  busy: "bg-error"
3178
3209
  };
3179
3210
  badgeSizeClasses = {
3180
- xs: "w-3 h-3 text-[8px]",
3181
- sm: "w-4 h-4 text-[10px]",
3211
+ xs: "w-3 h-3 text-xs",
3212
+ sm: "w-4 h-4 text-xs",
3182
3213
  md: "w-5 h-5 text-xs",
3183
3214
  lg: "w-6 h-6 text-sm",
3184
3215
  xl: "w-7 h-7 text-base"
@@ -3450,7 +3481,7 @@ var init_ProgressBar = __esm({
3450
3481
  "div",
3451
3482
  {
3452
3483
  className: cn(
3453
- "h-full transition-all duration-300 ease-out",
3484
+ "h-full transition-all duration-normal ease-emphasized",
3454
3485
  colorClasses[effectiveColor]
3455
3486
  ),
3456
3487
  style: { width: `${percentage}%` },
@@ -3506,7 +3537,7 @@ var init_ProgressBar = __esm({
3506
3537
  strokeDashoffset: offset,
3507
3538
  strokeLinecap: "round",
3508
3539
  className: cn(
3509
- "transition-all duration-300 ease-out",
3540
+ "transition-all duration-normal ease-emphasized",
3510
3541
  colorClasses[effectiveColor]
3511
3542
  )
3512
3543
  }
@@ -3545,7 +3576,7 @@ var init_ProgressBar = __esm({
3545
3576
  "div",
3546
3577
  {
3547
3578
  className: cn(
3548
- "h-full transition-all duration-300 ease-out",
3579
+ "h-full transition-all duration-normal ease-emphasized",
3549
3580
  (isActive || isPartial) && colorClasses[effectiveColor]
3550
3581
  ),
3551
3582
  style: {
@@ -4042,7 +4073,7 @@ var init_ThemeToggle = __esm({
4042
4073
  "text-foreground",
4043
4074
  "hover:bg-muted border-[length:var(--border-width)] border-transparent hover:border-border",
4044
4075
  "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
4045
- "transition-colors duration-200",
4076
+ "transition-colors duration-fast",
4046
4077
  sizeClasses4[size],
4047
4078
  className
4048
4079
  ),
@@ -4089,7 +4120,7 @@ var init_FlipContainer = __esm({
4089
4120
  children: /* @__PURE__ */ jsxRuntime.jsx(
4090
4121
  Box,
4091
4122
  {
4092
- className: "relative w-full h-full transition-transform duration-500",
4123
+ className: "relative w-full h-full transition-transform duration-slow",
4093
4124
  style: {
4094
4125
  transformStyle: "preserve-3d",
4095
4126
  transform: flipped ? "rotateY(180deg)" : "rotateY(0deg)"
@@ -4147,7 +4178,7 @@ var init_ConditionalWrapper = __esm({
4147
4178
  Box,
4148
4179
  {
4149
4180
  overflow: "hidden",
4150
- className: `transition-all duration-200 ${isVisible ? "opacity-100 max-h-[1000px]" : "opacity-0 max-h-0"}`,
4181
+ className: `transition-all duration-fast ${isVisible ? "opacity-100 max-h-[1000px]" : "opacity-0 max-h-0"}`,
4151
4182
  children: isVisible ? children : fallback
4152
4183
  }
4153
4184
  );
@@ -8057,7 +8088,7 @@ var init_InstallBox = __esm({
8057
8088
  /* @__PURE__ */ jsxRuntime.jsx(
8058
8089
  Box,
8059
8090
  {
8060
- className: "bg-surface rounded-md border-[length:var(--border-width)] border-border",
8091
+ className: "bg-surface rounded-container border-[length:var(--border-width)] border-border",
8061
8092
  padding: "md",
8062
8093
  children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-3", children: [
8063
8094
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -8782,7 +8813,7 @@ var init_Tooltip = __esm({
8782
8813
  className: cn(
8783
8814
  "fixed z-50 px-3 py-2 max-w-xs",
8784
8815
  "bg-primary text-primary-foreground",
8785
- "shadow-sm rounded-sm",
8816
+ "shadow-elevation-popover rounded-sm",
8786
8817
  "text-sm pointer-events-none",
8787
8818
  "break-words whitespace-normal",
8788
8819
  "h-auto min-h-fit",
@@ -8937,7 +8968,7 @@ var init_Popover = __esm({
8937
8968
  ref: popoverRef,
8938
8969
  className: cn(
8939
8970
  "fixed z-50 p-4",
8940
- "bg-card border-2 border-border shadow-lg",
8971
+ "bg-card border-2 border-border shadow-elevation-popover",
8941
8972
  positionClasses2[position],
8942
8973
  className
8943
8974
  ),
@@ -9051,7 +9082,7 @@ var init_Menu = __esm({
9051
9082
  const menuContainerStyles = cn(
9052
9083
  "bg-card",
9053
9084
  "border-[length:var(--border-width)] border-border",
9054
- "shadow",
9085
+ "shadow-elevation-popover",
9055
9086
  "rounded-sm",
9056
9087
  "min-w-0 sm:min-w-[200px] max-w-[calc(100vw-1rem)] py-1"
9057
9088
  );
@@ -9219,7 +9250,7 @@ var init_Accordion = __esm({
9219
9250
  "w-full flex items-center justify-between px-4 py-3",
9220
9251
  "bg-card",
9221
9252
  "hover:bg-muted",
9222
- "transition-colors duration-200",
9253
+ "transition-colors duration-fast",
9223
9254
  "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-inset",
9224
9255
  "disabled:opacity-50 disabled:cursor-not-allowed",
9225
9256
  isOpen && "bg-muted font-bold"
@@ -9234,7 +9265,7 @@ var init_Accordion = __esm({
9234
9265
  icon: LucideIcons.ChevronDown,
9235
9266
  size: "sm",
9236
9267
  className: cn(
9237
- "transition-transform duration-200",
9268
+ "transition-transform duration-fast",
9238
9269
  isOpen && "transform rotate-180"
9239
9270
  )
9240
9271
  }
@@ -9364,7 +9395,7 @@ var init_FloatingActionButton = __esm({
9364
9395
  {
9365
9396
  align: "center",
9366
9397
  gap: "sm",
9367
- className: "transition-all duration-200",
9398
+ className: "transition-all duration-fast",
9368
9399
  style: {
9369
9400
  opacity: isExpanded ? 1 : 0,
9370
9401
  transform: isExpanded ? "translateY(0)" : "translateY(10px)",
@@ -9402,7 +9433,7 @@ var init_FloatingActionButton = __esm({
9402
9433
  size: "lg",
9403
9434
  icon: isExpanded ? LucideIcons.X : LucideIcons.Plus,
9404
9435
  onClick: handleMainClick,
9405
- className: "rounded-full shadow-lg transition-all duration-300",
9436
+ className: "rounded-full shadow-lg transition-all duration-normal",
9406
9437
  "aria-label": isExpanded ? "Close actions" : "Open actions",
9407
9438
  "aria-expanded": isExpanded,
9408
9439
  children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { as: "span", className: "sr-only", children: isExpanded ? t("common.close") : t("common.open") })
@@ -13565,8 +13596,8 @@ function Card2({
13565
13596
  className: `
13566
13597
  bg-card
13567
13598
  border border-border
13568
- rounded-md shadow-sm
13569
- ${isClickable ? "cursor-pointer hover:shadow-lg transition-shadow" : ""}
13599
+ rounded-container shadow-elevation-card
13600
+ ${isClickable ? "cursor-pointer hover:shadow-elevation-dialog transition-shadow" : ""}
13570
13601
  ${className}
13571
13602
  `,
13572
13603
  onClick: isClickable ? handleClick : void 0,
@@ -16371,7 +16402,7 @@ var init_BranchingLogicBuilder = __esm({
16371
16402
  const height = PADDING * 2 + items.length * (NODE_HEIGHT + NODE_GAP_Y);
16372
16403
  return { items, positions, width, height };
16373
16404
  }, [questions]);
16374
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "overflow-auto rounded-md border border-border bg-card p-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
16405
+ return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "overflow-auto rounded-container border border-border bg-card p-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
16375
16406
  "svg",
16376
16407
  {
16377
16408
  width: layout.width,
@@ -19269,7 +19300,7 @@ var init_Carousel = __esm({
19269
19300
  Box,
19270
19301
  {
19271
19302
  className: cn(
19272
- "rounded-full cursor-pointer transition-all duration-200"
19303
+ "rounded-full cursor-pointer transition-all duration-fast"
19273
19304
  ),
19274
19305
  style: {
19275
19306
  width: isActive ? 10 : 8,
@@ -20361,7 +20392,7 @@ var init_CodeExample = __esm({
20361
20392
  {
20362
20393
  className: cn(
20363
20394
  "bg-foreground",
20364
- "rounded-md",
20395
+ "rounded-container",
20365
20396
  "border-[length:var(--border-width)] border-border",
20366
20397
  "overflow-hidden",
20367
20398
  className
@@ -22742,7 +22773,7 @@ function DataGrid({
22742
22773
  className: cn(
22743
22774
  "bg-card rounded-lg",
22744
22775
  "border border-border",
22745
- "shadow-sm hover:shadow-lg",
22776
+ "shadow-elevation-card hover:shadow-elevation-dialog",
22746
22777
  "hover:border-primary transition-all",
22747
22778
  "flex flex-col",
22748
22779
  isSelected && "ring-2 ring-primary border-primary"
@@ -23116,7 +23147,7 @@ function DataList({
23116
23147
  {
23117
23148
  variant: "caption",
23118
23149
  className: cn(
23119
- "mt-1 text-[0.65rem]",
23150
+ "mt-1 text-xs",
23120
23151
  isSent ? "opacity-70" : "text-muted-foreground"
23121
23152
  ),
23122
23153
  children: formatDate3(timestamp)
@@ -23181,7 +23212,7 @@ function DataList({
23181
23212
  Box,
23182
23213
  {
23183
23214
  className: cn(
23184
- "group flex items-center gap-4 transition-all duration-200",
23215
+ "group flex items-center gap-4 transition-all duration-fast",
23185
23216
  isCompact ? "px-4 py-2" : "px-6 py-4",
23186
23217
  "hover:bg-muted/80",
23187
23218
  !isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
@@ -23268,7 +23299,7 @@ function DataList({
23268
23299
  Box,
23269
23300
  {
23270
23301
  className: cn(
23271
- isCard && "bg-card rounded-xl border border-border shadow-lg overflow-hidden",
23302
+ isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
23272
23303
  !isCard && gapClass,
23273
23304
  className
23274
23305
  ),
@@ -23410,7 +23441,7 @@ var init_FileTree = __esm({
23410
23441
  Typography,
23411
23442
  {
23412
23443
  variant: "caption",
23413
- className: `truncate font-mono text-[11px] !text-inherit ${isSelected ? "font-semibold" : ""}`,
23444
+ className: `truncate font-mono text-xs !text-inherit ${isSelected ? "font-semibold" : ""}`,
23414
23445
  children: node.name
23415
23446
  }
23416
23447
  ),
@@ -23860,7 +23891,7 @@ var init_FilterGroup = __esm({
23860
23891
  "div",
23861
23892
  {
23862
23893
  className: cn(
23863
- "p-4 rounded-md",
23894
+ "p-4 rounded-container",
23864
23895
  "bg-card",
23865
23896
  "border-[length:var(--border-width)] border-border",
23866
23897
  className
@@ -24542,7 +24573,7 @@ var init_SidePanel = __esm({
24542
24573
  "border-l-2 border-border",
24543
24574
  position === "left" && "border-l-0 border-r-2",
24544
24575
  "flex flex-col",
24545
- "transition-transform duration-300 ease-in-out",
24576
+ "transition-transform duration-normal ease-standard",
24546
24577
  width,
24547
24578
  position === "right" ? "right-0" : "left-0",
24548
24579
  className
@@ -24944,7 +24975,7 @@ var init_ViolationAlert = __esm({
24944
24975
  Box,
24945
24976
  {
24946
24977
  className: cn(
24947
- "px-3 py-2 rounded-md border",
24978
+ "px-3 py-2 rounded-container border",
24948
24979
  bgColor,
24949
24980
  className
24950
24981
  ),
@@ -25205,7 +25236,7 @@ var init_FlipCard = __esm({
25205
25236
  /* @__PURE__ */ jsxRuntime.jsx(
25206
25237
  Box,
25207
25238
  {
25208
- className: "absolute inset-0 w-full h-full rounded-lg shadow-lg flex items-center justify-center p-6",
25239
+ className: "absolute inset-0 w-full h-full rounded-lg shadow-elevation-dialog flex items-center justify-center p-6",
25209
25240
  style: { backfaceVisibility: "hidden", transform: "rotateY(0deg)" },
25210
25241
  children: front
25211
25242
  }
@@ -25213,7 +25244,7 @@ var init_FlipCard = __esm({
25213
25244
  /* @__PURE__ */ jsxRuntime.jsx(
25214
25245
  Box,
25215
25246
  {
25216
- className: "absolute inset-0 w-full h-full rounded-lg shadow-lg flex items-center justify-center p-6",
25247
+ className: "absolute inset-0 w-full h-full rounded-lg shadow-elevation-dialog flex items-center justify-center p-6",
25217
25248
  style: { backfaceVisibility: "hidden", transform: "rotateY(180deg)" },
25218
25249
  children: back
25219
25250
  }
@@ -25558,7 +25589,7 @@ var init_ProgressDots = __esm({
25558
25589
  Box,
25559
25590
  {
25560
25591
  className: cn(
25561
- "rounded-full transition-all duration-200",
25592
+ "rounded-full transition-all duration-fast",
25562
25593
  onDotClick && "cursor-pointer"
25563
25594
  ),
25564
25595
  style: {
@@ -28579,7 +28610,7 @@ var init_Meter = __esm({
28579
28610
  strokeDasharray: circumference,
28580
28611
  strokeDashoffset: offset,
28581
28612
  strokeLinecap: "round",
28582
- className: "transition-all duration-500 ease-out"
28613
+ className: "transition-all duration-slow ease-emphasized"
28583
28614
  }
28584
28615
  )
28585
28616
  ]
@@ -28622,7 +28653,7 @@ var init_Meter = __esm({
28622
28653
  Box,
28623
28654
  {
28624
28655
  className: cn(
28625
- "h-2 flex-1 rounded-sm transition-all duration-300",
28656
+ "h-2 flex-1 rounded-sm transition-all duration-normal",
28626
28657
  !isActive && "bg-muted"
28627
28658
  ),
28628
28659
  style: isActive ? { backgroundColor: segColor } : void 0
@@ -28641,7 +28672,7 @@ var init_Meter = __esm({
28641
28672
  /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-3 bg-muted rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
28642
28673
  Box,
28643
28674
  {
28644
- className: "h-full rounded-full transition-all duration-500 ease-out",
28675
+ className: "h-full rounded-full transition-all duration-slow ease-emphasized",
28645
28676
  style: {
28646
28677
  width: `${percentage}%`,
28647
28678
  backgroundColor: activeColor
@@ -29167,7 +29198,7 @@ var init_PullToRefresh = __esm({
29167
29198
  className: cn(
29168
29199
  "top-0 left-0 right-0 z-10",
29169
29200
  "items-center justify-center",
29170
- "transition-opacity duration-200",
29201
+ "transition-opacity duration-fast",
29171
29202
  showIndicator ? "opacity-100" : "opacity-0"
29172
29203
  ),
29173
29204
  style: {
@@ -29353,7 +29384,7 @@ var init_PricingCard = __esm({
29353
29384
  "hover:-translate-y-1 transition-all",
29354
29385
  highlighted && [
29355
29386
  "border-[length:2px] border-primary",
29356
- "shadow-lg",
29387
+ "shadow-elevation-dialog",
29357
29388
  "scale-[1.05]",
29358
29389
  "ring-2 ring-primary"
29359
29390
  ],
@@ -31410,7 +31441,7 @@ var init_PositionedCanvas = __esm({
31410
31441
  {
31411
31442
  ref: containerRef,
31412
31443
  "data-testid": "positioned-canvas",
31413
- className: "relative bg-background border border-border rounded-md overflow-hidden",
31444
+ className: "relative bg-background border border-border rounded-container overflow-hidden",
31414
31445
  style: { width, height },
31415
31446
  onClick: handleContainerClick,
31416
31447
  children: items.map((item) => {
@@ -31611,7 +31642,7 @@ function BlockMenu({ block, readOnly, onDelete, onDuplicate, onChangeType }) {
31611
31642
  role: "menu",
31612
31643
  className: cn(
31613
31644
  "absolute right-0 z-10 mt-1 w-44",
31614
- "rounded-md border border-border bg-popover shadow-md",
31645
+ "rounded-container border border-border bg-popover shadow-elevation-popover",
31615
31646
  "py-1 text-sm"
31616
31647
  ),
31617
31648
  children: [
@@ -32887,7 +32918,7 @@ function DocCodeBlock({
32887
32918
  Box,
32888
32919
  {
32889
32920
  className: cn(
32890
- "rounded-md border border-border overflow-hidden",
32921
+ "rounded-container border border-border overflow-hidden",
32891
32922
  className
32892
32923
  ),
32893
32924
  position: "relative",
@@ -33046,11 +33077,11 @@ var init_DocPagination = __esm({
33046
33077
  init_Typography();
33047
33078
  linkCardStyles = [
33048
33079
  "border border-border",
33049
- "rounded-md",
33080
+ "rounded-container",
33050
33081
  "p-4",
33051
33082
  "transition-all",
33052
33083
  "hover:border-primary",
33053
- "hover:shadow-lg",
33084
+ "hover:shadow-elevation-dialog",
33054
33085
  "no-underline",
33055
33086
  "flex-1",
33056
33087
  "min-w-0",
@@ -33187,7 +33218,7 @@ function DocSearch({
33187
33218
  Box,
33188
33219
  {
33189
33220
  position: "absolute",
33190
- className: "top-full left-0 right-0 mt-1 z-50 bg-card border border-border rounded-md shadow-lg max-h-80 overflow-y-auto",
33221
+ className: "top-full left-0 right-0 mt-1 z-50 bg-card border border-border rounded-container shadow-elevation-popover max-h-80 overflow-y-auto",
33191
33222
  children: /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", children: results.map((result, index) => /* @__PURE__ */ jsxRuntime.jsx(
33192
33223
  Box,
33193
33224
  {
@@ -36127,10 +36158,11 @@ var init_Form = __esm({
36127
36158
  type: f3.type,
36128
36159
  required: f3.required,
36129
36160
  defaultValue: f3.default,
36130
- values: f3.values,
36161
+ // EntityField is a discriminated union — `values` lives on Scalar/Enum, `relation` lives on Relation.
36162
+ values: "values" in f3 ? f3.values : void 0,
36131
36163
  min: f3.min,
36132
36164
  max: f3.max,
36133
- relation: f3.relation ? { entity: f3.relation.entity } : void 0
36165
+ relation: "relation" in f3 ? { entity: f3.relation.entity } : void 0
36134
36166
  })
36135
36167
  );
36136
36168
  }, [entity, fields]);
@@ -36358,10 +36390,11 @@ var init_Form = __esm({
36358
36390
  type: entityField.type,
36359
36391
  required: entityField.required,
36360
36392
  defaultValue: entityField.default,
36361
- values: entityField.values,
36393
+ // EntityField is a discriminated union — `values` lives on Scalar/Enum, `relation` lives on Relation.
36394
+ values: "values" in entityField ? entityField.values : void 0,
36362
36395
  min: entityField.min,
36363
36396
  max: entityField.max,
36364
- relation: entityField.relation ? { entity: entityField.relation.entity } : void 0
36397
+ relation: "relation" in entityField ? { entity: entityField.relation.entity } : void 0
36365
36398
  };
36366
36399
  }
36367
36400
  return { name: field, type: "string" };