@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
@@ -1250,7 +1250,7 @@ var init_Button = __esm({
1250
1250
  };
1251
1251
  iconSizeStyles = {
1252
1252
  sm: "h-3.5 w-3.5",
1253
- md: "h-4 w-4",
1253
+ md: "h-icon-default w-icon-default",
1254
1254
  lg: "h-5 w-5"
1255
1255
  };
1256
1256
  Button = React78__default.forwardRef(
@@ -1303,7 +1303,7 @@ var init_Button = __esm({
1303
1303
  ...props,
1304
1304
  "data-testid": props["data-testid"] ?? (action ? `action-${action}` : void 0),
1305
1305
  children: [
1306
- isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : resolvedLeftIcon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: resolvedLeftIcon }),
1306
+ isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "h-icon-default w-icon-default animate-spin" }) : resolvedLeftIcon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: resolvedLeftIcon }),
1307
1307
  children || label,
1308
1308
  resolvedRightIcon && !isLoading && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: resolvedRightIcon })
1309
1309
  ]
@@ -1336,7 +1336,7 @@ var init_Input = __esm({
1336
1336
  ...props
1337
1337
  }, ref) => {
1338
1338
  const type = inputType || htmlType || "text";
1339
- const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "h-4 w-4" });
1339
+ const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "h-icon-default w-icon-default" });
1340
1340
  const showClearButton = clearable && value && String(value).length > 0;
1341
1341
  const baseClassName = cn(
1342
1342
  "block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
@@ -1368,7 +1368,7 @@ var init_Input = __esm({
1368
1368
  ]
1369
1369
  }
1370
1370
  ),
1371
- /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none text-muted-foreground", children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" }) })
1371
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none text-muted-foreground", children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-icon-default w-icon-default" }) })
1372
1372
  ] });
1373
1373
  }
1374
1374
  if (type === "textarea") {
@@ -1422,7 +1422,7 @@ var init_Input = __esm({
1422
1422
  type: "button",
1423
1423
  onClick: onClear,
1424
1424
  className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground hover:text-foreground",
1425
- children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
1425
+ children: /* @__PURE__ */ jsx(X, { className: "h-icon-default w-icon-default" })
1426
1426
  }
1427
1427
  ),
1428
1428
  rightIcon && !showClearButton && /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground", children: rightIcon })
@@ -1522,7 +1522,7 @@ var init_Select = __esm({
1522
1522
  ]
1523
1523
  }
1524
1524
  ),
1525
- /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none", children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 text-foreground" }) })
1525
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none", children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-icon-default w-icon-default text-foreground" }) })
1526
1526
  ] });
1527
1527
  }
1528
1528
  );
@@ -1575,23 +1575,23 @@ var init_Card = __esm({
1575
1575
  default: [
1576
1576
  "bg-card",
1577
1577
  "border-[length:var(--border-width)] border-border",
1578
- "shadow-sm",
1578
+ "shadow-elevation-card",
1579
1579
  "transition-all duration-[var(--transition-normal)]",
1580
- "hover:shadow-lg hover:-translate-y-0.5"
1580
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
1581
1581
  ].join(" "),
1582
1582
  bordered: [
1583
1583
  "bg-card",
1584
1584
  "border-[length:var(--border-width)] border-border",
1585
- "shadow-sm",
1585
+ "shadow-elevation-card",
1586
1586
  "transition-all duration-[var(--transition-normal)]",
1587
- "hover:shadow-lg hover:-translate-y-0.5"
1587
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
1588
1588
  ].join(" "),
1589
1589
  elevated: [
1590
1590
  "bg-card",
1591
1591
  "border-[length:var(--border-width)] border-border",
1592
1592
  "shadow",
1593
1593
  "transition-all duration-[var(--transition-normal)]",
1594
- "hover:shadow-lg hover:-translate-y-0.5"
1594
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
1595
1595
  ].join(" "),
1596
1596
  // Interactive variant with theme-specific hover effects
1597
1597
  interactive: [
@@ -1600,20 +1600,20 @@ var init_Card = __esm({
1600
1600
  "shadow",
1601
1601
  "cursor-pointer",
1602
1602
  "transition-all duration-[var(--transition-normal)]",
1603
- "hover:shadow-lg"
1603
+ "hover:shadow-elevation-dialog"
1604
1604
  ].join(" ")
1605
1605
  };
1606
1606
  paddingStyles = {
1607
1607
  none: "",
1608
- sm: "p-3",
1609
- md: "p-4",
1610
- lg: "p-6"
1608
+ sm: "p-card-sm",
1609
+ md: "p-card-md",
1610
+ lg: "p-card-lg"
1611
1611
  };
1612
1612
  shadowStyles = {
1613
1613
  none: "shadow-none",
1614
- sm: "shadow-sm",
1614
+ sm: "shadow-elevation-card",
1615
1615
  md: "shadow",
1616
- lg: "shadow-lg"
1616
+ lg: "shadow-elevation-dialog"
1617
1617
  };
1618
1618
  Card = React78__default.forwardRef(
1619
1619
  ({
@@ -1631,7 +1631,7 @@ var init_Card = __esm({
1631
1631
  {
1632
1632
  ref,
1633
1633
  className: cn(
1634
- "rounded-md",
1634
+ "rounded-container",
1635
1635
  "transition-all duration-[var(--transition-normal)]",
1636
1636
  variantStyles2[variant],
1637
1637
  paddingStyles[padding],
@@ -1850,7 +1850,7 @@ var init_FilterPill = __esm({
1850
1850
  {
1851
1851
  ref,
1852
1852
  className: cn(
1853
- "inline-flex items-center gap-1 font-bold rounded-full",
1853
+ "inline-flex items-center gap-1 font-bold rounded-pill",
1854
1854
  variantStyles4[variant],
1855
1855
  sizeStyles3[size],
1856
1856
  (onClick || clickEvent) && "cursor-pointer",
@@ -1951,8 +1951,8 @@ var init_Avatar = __esm({
1951
1951
  busy: "bg-error"
1952
1952
  };
1953
1953
  badgeSizeClasses = {
1954
- xs: "w-3 h-3 text-[8px]",
1955
- sm: "w-4 h-4 text-[10px]",
1954
+ xs: "w-3 h-3 text-xs",
1955
+ sm: "w-4 h-4 text-xs",
1956
1956
  md: "w-5 h-5 text-xs",
1957
1957
  lg: "w-6 h-6 text-sm",
1958
1958
  xl: "w-7 h-7 text-base"
@@ -2418,7 +2418,7 @@ var init_ProgressBar = __esm({
2418
2418
  "div",
2419
2419
  {
2420
2420
  className: cn(
2421
- "h-full transition-all duration-300 ease-out",
2421
+ "h-full transition-all duration-normal ease-emphasized",
2422
2422
  colorClasses[effectiveColor]
2423
2423
  ),
2424
2424
  style: { width: `${percentage}%` },
@@ -2474,7 +2474,7 @@ var init_ProgressBar = __esm({
2474
2474
  strokeDashoffset: offset,
2475
2475
  strokeLinecap: "round",
2476
2476
  className: cn(
2477
- "transition-all duration-300 ease-out",
2477
+ "transition-all duration-normal ease-emphasized",
2478
2478
  colorClasses[effectiveColor]
2479
2479
  )
2480
2480
  }
@@ -2513,7 +2513,7 @@ var init_ProgressBar = __esm({
2513
2513
  "div",
2514
2514
  {
2515
2515
  className: cn(
2516
- "h-full transition-all duration-300 ease-out",
2516
+ "h-full transition-all duration-normal ease-emphasized",
2517
2517
  (isActive || isPartial) && colorClasses[effectiveColor]
2518
2518
  ),
2519
2519
  style: {
@@ -3259,6 +3259,37 @@ var init_ThemeContext = __esm({
3259
3259
  displayName: "Copper",
3260
3260
  hasLightMode: true,
3261
3261
  hasDarkMode: true
3262
+ },
3263
+ // Layer 1 skin axes — truly-unique themes (compact tech / editorial / brutalist dense / display-heavy / touch-first)
3264
+ {
3265
+ name: "prism",
3266
+ displayName: "Prism",
3267
+ hasLightMode: true,
3268
+ hasDarkMode: true
3269
+ },
3270
+ {
3271
+ name: "gazette",
3272
+ displayName: "Gazette",
3273
+ hasLightMode: true,
3274
+ hasDarkMode: true
3275
+ },
3276
+ {
3277
+ name: "terminal",
3278
+ displayName: "Terminal",
3279
+ hasLightMode: true,
3280
+ hasDarkMode: true
3281
+ },
3282
+ {
3283
+ name: "atelier",
3284
+ displayName: "Atelier",
3285
+ hasLightMode: true,
3286
+ hasDarkMode: true
3287
+ },
3288
+ {
3289
+ name: "kiosk",
3290
+ displayName: "Kiosk",
3291
+ hasLightMode: true,
3292
+ hasDarkMode: true
3262
3293
  }
3263
3294
  ];
3264
3295
  ThemeContext = createContext(void 0);
@@ -3297,7 +3328,7 @@ var init_ThemeToggle = __esm({
3297
3328
  "text-foreground",
3298
3329
  "hover:bg-muted border-[length:var(--border-width)] border-transparent hover:border-border",
3299
3330
  "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
3300
- "transition-colors duration-200",
3331
+ "transition-colors duration-fast",
3301
3332
  sizeClasses3[size],
3302
3333
  className
3303
3334
  ),
@@ -3523,7 +3554,7 @@ var init_FlipContainer = __esm({
3523
3554
  children: /* @__PURE__ */ jsx(
3524
3555
  Box,
3525
3556
  {
3526
- className: "relative w-full h-full transition-transform duration-500",
3557
+ className: "relative w-full h-full transition-transform duration-slow",
3527
3558
  style: {
3528
3559
  transformStyle: "preserve-3d",
3529
3560
  transform: flipped ? "rotateY(180deg)" : "rotateY(0deg)"
@@ -3607,7 +3638,7 @@ var init_ConditionalWrapper = __esm({
3607
3638
  Box,
3608
3639
  {
3609
3640
  overflow: "hidden",
3610
- className: `transition-all duration-200 ${isVisible ? "opacity-100 max-h-[1000px]" : "opacity-0 max-h-0"}`,
3641
+ className: `transition-all duration-fast ${isVisible ? "opacity-100 max-h-[1000px]" : "opacity-0 max-h-0"}`,
3611
3642
  children: isVisible ? children : fallback
3612
3643
  }
3613
3644
  );
@@ -5510,7 +5541,7 @@ var init_Modal = __esm({
5510
5541
  // Reset browser-default dialog chrome — we own styling.
5511
5542
  "m-0 p-0 border-0 bg-transparent",
5512
5543
  // Pre-existing dialog frame
5513
- "pointer-events-auto w-full flex flex-col bg-surface border shadow-lg rounded-md",
5544
+ "pointer-events-auto w-full flex flex-col bg-surface border shadow-elevation-dialog rounded-container",
5514
5545
  // Desktop sizing + viewport-aware floor.
5515
5546
  sizeClasses5[size],
5516
5547
  minWidthClasses[size],
@@ -5847,7 +5878,7 @@ var init_Toast = __esm({
5847
5878
  // `min-w-[300px]` only kicks in at `sm:` and above so a phone
5848
5879
  // viewport doesn't get a toast wider than the screen near the
5849
5880
  // edge. `max-w-[calc(100vw-2rem)]` clamps to viewport too.
5850
- "border-l-4 p-4 shadow min-w-0 sm:min-w-[300px] max-w-md max-w-[calc(100vw-2rem)]",
5881
+ "border-l-4 p-4 shadow-elevation-toast min-w-0 sm:min-w-[300px] max-w-md max-w-[calc(100vw-2rem)]",
5851
5882
  "rounded-sm",
5852
5883
  variantClasses[variant],
5853
5884
  className
@@ -6443,7 +6474,7 @@ var init_InstallBox = __esm({
6443
6474
  /* @__PURE__ */ jsx(
6444
6475
  Box,
6445
6476
  {
6446
- className: "bg-surface rounded-md border-[length:var(--border-width)] border-border",
6477
+ className: "bg-surface rounded-container border-[length:var(--border-width)] border-border",
6447
6478
  padding: "md",
6448
6479
  children: /* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-3", children: [
6449
6480
  /* @__PURE__ */ jsx(
@@ -7168,7 +7199,7 @@ var init_Tooltip = __esm({
7168
7199
  className: cn(
7169
7200
  "fixed z-50 px-3 py-2 max-w-xs",
7170
7201
  "bg-primary text-primary-foreground",
7171
- "shadow-sm rounded-sm",
7202
+ "shadow-elevation-popover rounded-sm",
7172
7203
  "text-sm pointer-events-none",
7173
7204
  "break-words whitespace-normal",
7174
7205
  "h-auto min-h-fit",
@@ -7323,7 +7354,7 @@ var init_Popover = __esm({
7323
7354
  ref: popoverRef,
7324
7355
  className: cn(
7325
7356
  "fixed z-50 p-4",
7326
- "bg-card border-2 border-border shadow-lg",
7357
+ "bg-card border-2 border-border shadow-elevation-popover",
7327
7358
  positionClasses2[position],
7328
7359
  className
7329
7360
  ),
@@ -7437,7 +7468,7 @@ var init_Menu = __esm({
7437
7468
  const menuContainerStyles = cn(
7438
7469
  "bg-card",
7439
7470
  "border-[length:var(--border-width)] border-border",
7440
- "shadow",
7471
+ "shadow-elevation-popover",
7441
7472
  "rounded-sm",
7442
7473
  "min-w-0 sm:min-w-[200px] max-w-[calc(100vw-1rem)] py-1"
7443
7474
  );
@@ -7605,7 +7636,7 @@ var init_Accordion = __esm({
7605
7636
  "w-full flex items-center justify-between px-4 py-3",
7606
7637
  "bg-card",
7607
7638
  "hover:bg-muted",
7608
- "transition-colors duration-200",
7639
+ "transition-colors duration-fast",
7609
7640
  "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-inset",
7610
7641
  "disabled:opacity-50 disabled:cursor-not-allowed",
7611
7642
  isOpen && "bg-muted font-bold"
@@ -7620,7 +7651,7 @@ var init_Accordion = __esm({
7620
7651
  icon: ChevronDown,
7621
7652
  size: "sm",
7622
7653
  className: cn(
7623
- "transition-transform duration-200",
7654
+ "transition-transform duration-fast",
7624
7655
  isOpen && "transform rotate-180"
7625
7656
  )
7626
7657
  }
@@ -7750,7 +7781,7 @@ var init_FloatingActionButton = __esm({
7750
7781
  {
7751
7782
  align: "center",
7752
7783
  gap: "sm",
7753
- className: "transition-all duration-200",
7784
+ className: "transition-all duration-fast",
7754
7785
  style: {
7755
7786
  opacity: isExpanded ? 1 : 0,
7756
7787
  transform: isExpanded ? "translateY(0)" : "translateY(10px)",
@@ -7788,7 +7819,7 @@ var init_FloatingActionButton = __esm({
7788
7819
  size: "lg",
7789
7820
  icon: isExpanded ? X : Plus,
7790
7821
  onClick: handleMainClick,
7791
- className: "rounded-full shadow-lg transition-all duration-300",
7822
+ className: "rounded-full shadow-lg transition-all duration-normal",
7792
7823
  "aria-label": isExpanded ? "Close actions" : "Open actions",
7793
7824
  "aria-expanded": isExpanded,
7794
7825
  children: /* @__PURE__ */ jsx(Typography, { as: "span", className: "sr-only", children: isExpanded ? t("common.close") : t("common.open") })
@@ -12043,8 +12074,8 @@ function Card2({
12043
12074
  className: `
12044
12075
  bg-card
12045
12076
  border border-border
12046
- rounded-md shadow-sm
12047
- ${isClickable ? "cursor-pointer hover:shadow-lg transition-shadow" : ""}
12077
+ rounded-container shadow-elevation-card
12078
+ ${isClickable ? "cursor-pointer hover:shadow-elevation-dialog transition-shadow" : ""}
12048
12079
  ${className}
12049
12080
  `,
12050
12081
  onClick: isClickable ? handleClick : void 0,
@@ -14849,7 +14880,7 @@ var init_BranchingLogicBuilder = __esm({
14849
14880
  const height = PADDING * 2 + items.length * (NODE_HEIGHT + NODE_GAP_Y);
14850
14881
  return { items, positions, width, height };
14851
14882
  }, [questions]);
14852
- return /* @__PURE__ */ jsx(Box, { className: "overflow-auto rounded-md border border-border bg-card p-2", children: /* @__PURE__ */ jsxs(
14883
+ return /* @__PURE__ */ jsx(Box, { className: "overflow-auto rounded-container border border-border bg-card p-2", children: /* @__PURE__ */ jsxs(
14853
14884
  "svg",
14854
14885
  {
14855
14886
  width: layout.width,
@@ -17747,7 +17778,7 @@ var init_Carousel = __esm({
17747
17778
  Box,
17748
17779
  {
17749
17780
  className: cn(
17750
- "rounded-full cursor-pointer transition-all duration-200"
17781
+ "rounded-full cursor-pointer transition-all duration-fast"
17751
17782
  ),
17752
17783
  style: {
17753
17784
  width: isActive ? 10 : 8,
@@ -18885,7 +18916,7 @@ var init_CodeExample = __esm({
18885
18916
  {
18886
18917
  className: cn(
18887
18918
  "bg-foreground",
18888
- "rounded-md",
18919
+ "rounded-container",
18889
18920
  "border-[length:var(--border-width)] border-border",
18890
18921
  "overflow-hidden",
18891
18922
  className
@@ -21451,7 +21482,7 @@ function DataGrid({
21451
21482
  className: cn(
21452
21483
  "bg-card rounded-lg",
21453
21484
  "border border-border",
21454
- "shadow-sm hover:shadow-lg",
21485
+ "shadow-elevation-card hover:shadow-elevation-dialog",
21455
21486
  "hover:border-primary transition-all",
21456
21487
  "flex flex-col",
21457
21488
  isSelected && "ring-2 ring-primary border-primary"
@@ -21825,7 +21856,7 @@ function DataList({
21825
21856
  {
21826
21857
  variant: "caption",
21827
21858
  className: cn(
21828
- "mt-1 text-[0.65rem]",
21859
+ "mt-1 text-xs",
21829
21860
  isSent ? "opacity-70" : "text-muted-foreground"
21830
21861
  ),
21831
21862
  children: formatDate3(timestamp)
@@ -21890,7 +21921,7 @@ function DataList({
21890
21921
  Box,
21891
21922
  {
21892
21923
  className: cn(
21893
- "group flex items-center gap-4 transition-all duration-200",
21924
+ "group flex items-center gap-4 transition-all duration-fast",
21894
21925
  isCompact ? "px-4 py-2" : "px-6 py-4",
21895
21926
  "hover:bg-muted/80",
21896
21927
  !isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
@@ -21977,7 +22008,7 @@ function DataList({
21977
22008
  Box,
21978
22009
  {
21979
22010
  className: cn(
21980
- isCard && "bg-card rounded-xl border border-border shadow-lg overflow-hidden",
22011
+ isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
21981
22012
  !isCard && gapClass,
21982
22013
  className
21983
22014
  ),
@@ -22119,7 +22150,7 @@ var init_FileTree = __esm({
22119
22150
  Typography,
22120
22151
  {
22121
22152
  variant: "caption",
22122
- className: `truncate font-mono text-[11px] !text-inherit ${isSelected ? "font-semibold" : ""}`,
22153
+ className: `truncate font-mono text-xs !text-inherit ${isSelected ? "font-semibold" : ""}`,
22123
22154
  children: node.name
22124
22155
  }
22125
22156
  ),
@@ -22577,7 +22608,7 @@ var init_FilterGroup = __esm({
22577
22608
  "div",
22578
22609
  {
22579
22610
  className: cn(
22580
- "p-4 rounded-md",
22611
+ "p-4 rounded-container",
22581
22612
  "bg-card",
22582
22613
  "border-[length:var(--border-width)] border-border",
22583
22614
  className
@@ -23259,7 +23290,7 @@ var init_SidePanel = __esm({
23259
23290
  "border-l-2 border-border",
23260
23291
  position === "left" && "border-l-0 border-r-2",
23261
23292
  "flex flex-col",
23262
- "transition-transform duration-300 ease-in-out",
23293
+ "transition-transform duration-normal ease-standard",
23263
23294
  width,
23264
23295
  position === "right" ? "right-0" : "left-0",
23265
23296
  className
@@ -23661,7 +23692,7 @@ var init_ViolationAlert = __esm({
23661
23692
  Box,
23662
23693
  {
23663
23694
  className: cn(
23664
- "px-3 py-2 rounded-md border",
23695
+ "px-3 py-2 rounded-container border",
23665
23696
  bgColor,
23666
23697
  className
23667
23698
  ),
@@ -23922,7 +23953,7 @@ var init_FlipCard = __esm({
23922
23953
  /* @__PURE__ */ jsx(
23923
23954
  Box,
23924
23955
  {
23925
- className: "absolute inset-0 w-full h-full rounded-lg shadow-lg flex items-center justify-center p-6",
23956
+ className: "absolute inset-0 w-full h-full rounded-lg shadow-elevation-dialog flex items-center justify-center p-6",
23926
23957
  style: { backfaceVisibility: "hidden", transform: "rotateY(0deg)" },
23927
23958
  children: front
23928
23959
  }
@@ -23930,7 +23961,7 @@ var init_FlipCard = __esm({
23930
23961
  /* @__PURE__ */ jsx(
23931
23962
  Box,
23932
23963
  {
23933
- className: "absolute inset-0 w-full h-full rounded-lg shadow-lg flex items-center justify-center p-6",
23964
+ className: "absolute inset-0 w-full h-full rounded-lg shadow-elevation-dialog flex items-center justify-center p-6",
23934
23965
  style: { backfaceVisibility: "hidden", transform: "rotateY(180deg)" },
23935
23966
  children: back
23936
23967
  }
@@ -24275,7 +24306,7 @@ var init_ProgressDots = __esm({
24275
24306
  Box,
24276
24307
  {
24277
24308
  className: cn(
24278
- "rounded-full transition-all duration-200",
24309
+ "rounded-full transition-all duration-fast",
24279
24310
  onDotClick && "cursor-pointer"
24280
24311
  ),
24281
24312
  style: {
@@ -27580,7 +27611,7 @@ var init_Meter = __esm({
27580
27611
  strokeDasharray: circumference,
27581
27612
  strokeDashoffset: offset,
27582
27613
  strokeLinecap: "round",
27583
- className: "transition-all duration-500 ease-out"
27614
+ className: "transition-all duration-slow ease-emphasized"
27584
27615
  }
27585
27616
  )
27586
27617
  ]
@@ -27623,7 +27654,7 @@ var init_Meter = __esm({
27623
27654
  Box,
27624
27655
  {
27625
27656
  className: cn(
27626
- "h-2 flex-1 rounded-sm transition-all duration-300",
27657
+ "h-2 flex-1 rounded-sm transition-all duration-normal",
27627
27658
  !isActive && "bg-muted"
27628
27659
  ),
27629
27660
  style: isActive ? { backgroundColor: segColor } : void 0
@@ -27642,7 +27673,7 @@ var init_Meter = __esm({
27642
27673
  /* @__PURE__ */ jsx(Box, { className: "w-full h-3 bg-muted rounded-full overflow-hidden", children: /* @__PURE__ */ jsx(
27643
27674
  Box,
27644
27675
  {
27645
- className: "h-full rounded-full transition-all duration-500 ease-out",
27676
+ className: "h-full rounded-full transition-all duration-slow ease-emphasized",
27646
27677
  style: {
27647
27678
  width: `${percentage}%`,
27648
27679
  backgroundColor: activeColor
@@ -28168,7 +28199,7 @@ var init_PullToRefresh = __esm({
28168
28199
  className: cn(
28169
28200
  "top-0 left-0 right-0 z-10",
28170
28201
  "items-center justify-center",
28171
- "transition-opacity duration-200",
28202
+ "transition-opacity duration-fast",
28172
28203
  showIndicator ? "opacity-100" : "opacity-0"
28173
28204
  ),
28174
28205
  style: {
@@ -28354,7 +28385,7 @@ var init_PricingCard = __esm({
28354
28385
  "hover:-translate-y-1 transition-all",
28355
28386
  highlighted && [
28356
28387
  "border-[length:2px] border-primary",
28357
- "shadow-lg",
28388
+ "shadow-elevation-dialog",
28358
28389
  "scale-[1.05]",
28359
28390
  "ring-2 ring-primary"
28360
28391
  ],
@@ -30411,7 +30442,7 @@ var init_PositionedCanvas = __esm({
30411
30442
  {
30412
30443
  ref: containerRef,
30413
30444
  "data-testid": "positioned-canvas",
30414
- className: "relative bg-background border border-border rounded-md overflow-hidden",
30445
+ className: "relative bg-background border border-border rounded-container overflow-hidden",
30415
30446
  style: { width, height },
30416
30447
  onClick: handleContainerClick,
30417
30448
  children: items.map((item) => {
@@ -30612,7 +30643,7 @@ function BlockMenu({ block, readOnly, onDelete, onDuplicate, onChangeType }) {
30612
30643
  role: "menu",
30613
30644
  className: cn(
30614
30645
  "absolute right-0 z-10 mt-1 w-44",
30615
- "rounded-md border border-border bg-popover shadow-md",
30646
+ "rounded-container border border-border bg-popover shadow-elevation-popover",
30616
30647
  "py-1 text-sm"
30617
30648
  ),
30618
30649
  children: [
@@ -31888,7 +31919,7 @@ function DocCodeBlock({
31888
31919
  Box,
31889
31920
  {
31890
31921
  className: cn(
31891
- "rounded-md border border-border overflow-hidden",
31922
+ "rounded-container border border-border overflow-hidden",
31892
31923
  className
31893
31924
  ),
31894
31925
  position: "relative",
@@ -32047,11 +32078,11 @@ var init_DocPagination = __esm({
32047
32078
  init_Typography();
32048
32079
  linkCardStyles = [
32049
32080
  "border border-border",
32050
- "rounded-md",
32081
+ "rounded-container",
32051
32082
  "p-4",
32052
32083
  "transition-all",
32053
32084
  "hover:border-primary",
32054
- "hover:shadow-lg",
32085
+ "hover:shadow-elevation-dialog",
32055
32086
  "no-underline",
32056
32087
  "flex-1",
32057
32088
  "min-w-0",
@@ -32188,7 +32219,7 @@ function DocSearch({
32188
32219
  Box,
32189
32220
  {
32190
32221
  position: "absolute",
32191
- 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",
32222
+ 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",
32192
32223
  children: /* @__PURE__ */ jsx(VStack, { gap: "none", children: results.map((result, index) => /* @__PURE__ */ jsx(
32193
32224
  Box,
32194
32225
  {
@@ -35324,10 +35355,11 @@ var init_Form = __esm({
35324
35355
  type: f3.type,
35325
35356
  required: f3.required,
35326
35357
  defaultValue: f3.default,
35327
- values: f3.values,
35358
+ // EntityField is a discriminated union — `values` lives on Scalar/Enum, `relation` lives on Relation.
35359
+ values: "values" in f3 ? f3.values : void 0,
35328
35360
  min: f3.min,
35329
35361
  max: f3.max,
35330
- relation: f3.relation ? { entity: f3.relation.entity } : void 0
35362
+ relation: "relation" in f3 ? { entity: f3.relation.entity } : void 0
35331
35363
  })
35332
35364
  );
35333
35365
  }, [entity, fields]);
@@ -35555,10 +35587,11 @@ var init_Form = __esm({
35555
35587
  type: entityField.type,
35556
35588
  required: entityField.required,
35557
35589
  defaultValue: entityField.default,
35558
- values: entityField.values,
35590
+ // EntityField is a discriminated union — `values` lives on Scalar/Enum, `relation` lives on Relation.
35591
+ values: "values" in entityField ? entityField.values : void 0,
35559
35592
  min: entityField.min,
35560
35593
  max: entityField.max,
35561
- relation: entityField.relation ? { entity: entityField.relation.entity } : void 0
35594
+ relation: "relation" in entityField ? { entity: entityField.relation.entity } : void 0
35562
35595
  };
35563
35596
  }
35564
35597
  return { name: field, type: "string" };