@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
@@ -467,6 +467,37 @@ var BUILT_IN_THEMES = [
467
467
  displayName: "Copper",
468
468
  hasLightMode: true,
469
469
  hasDarkMode: true
470
+ },
471
+ // Layer 1 skin axes — truly-unique themes (compact tech / editorial / brutalist dense / display-heavy / touch-first)
472
+ {
473
+ name: "prism",
474
+ displayName: "Prism",
475
+ hasLightMode: true,
476
+ hasDarkMode: true
477
+ },
478
+ {
479
+ name: "gazette",
480
+ displayName: "Gazette",
481
+ hasLightMode: true,
482
+ hasDarkMode: true
483
+ },
484
+ {
485
+ name: "terminal",
486
+ displayName: "Terminal",
487
+ hasLightMode: true,
488
+ hasDarkMode: true
489
+ },
490
+ {
491
+ name: "atelier",
492
+ displayName: "Atelier",
493
+ hasLightMode: true,
494
+ hasDarkMode: true
495
+ },
496
+ {
497
+ name: "kiosk",
498
+ displayName: "Kiosk",
499
+ hasLightMode: true,
500
+ hasDarkMode: true
470
501
  }
471
502
  ];
472
503
  var ThemeContext = react.createContext(void 0);
@@ -662,8 +693,176 @@ function themeTokensToCssVars(tokens, mode = "light", darkVariant) {
662
693
  vars[`--shadow-${key}`] = value;
663
694
  }
664
695
  }
696
+ const pickDensity = isDark && darkVariant?.density ? darkVariant.density : tokens.density;
697
+ emitDensity(pickDensity, vars);
698
+ const pickTypeScale = isDark && darkVariant?.typeScale ? darkVariant.typeScale : tokens.typeScale;
699
+ emitTypeScale(pickTypeScale, vars);
700
+ const pickMotion = isDark && darkVariant?.motion ? darkVariant.motion : tokens.motion;
701
+ emitMotion(pickMotion, vars);
702
+ const pickIconography = isDark && darkVariant?.iconography ? darkVariant.iconography : tokens.iconography;
703
+ emitIconography(pickIconography, vars);
704
+ const pickElevation = isDark && darkVariant?.elevation ? darkVariant.elevation : tokens.elevation;
705
+ emitElevation(pickElevation, vars);
706
+ const pickGeometry = isDark && darkVariant?.geometry ? darkVariant.geometry : tokens.geometry;
707
+ emitGeometry(pickGeometry, vars);
665
708
  return vars;
666
709
  }
710
+ function emitDensity(density, vars) {
711
+ if (!density) return;
712
+ if (density.spacing) {
713
+ const s = density.spacing;
714
+ const pairs2 = [
715
+ ["0", s.space0],
716
+ ["1", s.space1],
717
+ ["2", s.space2],
718
+ ["3", s.space3],
719
+ ["4", s.space4],
720
+ ["5", s.space5],
721
+ ["6", s.space6],
722
+ ["7", s.space7],
723
+ ["8", s.space8],
724
+ ["9", s.space9],
725
+ ["10", s.space10],
726
+ ["11", s.space11],
727
+ ["12", s.space12]
728
+ ];
729
+ for (const [k, v] of pairs2) {
730
+ if (v !== void 0) vars[`--space-${k}`] = v;
731
+ }
732
+ }
733
+ const pairs = [
734
+ ["button-height-sm", density.buttonHeightSm],
735
+ ["button-height-md", density.buttonHeightMd],
736
+ ["button-height-lg", density.buttonHeightLg],
737
+ ["input-height-sm", density.inputHeightSm],
738
+ ["input-height-md", density.inputHeightMd],
739
+ ["input-height-lg", density.inputHeightLg],
740
+ ["row-height-compact", density.rowHeightCompact],
741
+ ["row-height-normal", density.rowHeightNormal],
742
+ ["row-height-spacious", density.rowHeightSpacious],
743
+ ["card-padding-sm", density.cardPaddingSm],
744
+ ["card-padding-md", density.cardPaddingMd],
745
+ ["card-padding-lg", density.cardPaddingLg],
746
+ ["dialog-padding", density.dialogPadding],
747
+ ["section-gap", density.sectionGap]
748
+ ];
749
+ for (const [k, v] of pairs) {
750
+ if (v !== void 0) vars[`--${k}`] = v;
751
+ }
752
+ }
753
+ function typeSizeKeyStr(k) {
754
+ return k;
755
+ }
756
+ function typeWeightStr(w) {
757
+ return w;
758
+ }
759
+ function emitTypeIntent(name, intent, vars) {
760
+ const sizeKey = typeSizeKeyStr(intent.size);
761
+ const weight = typeWeightStr(intent.weight);
762
+ vars[`--intent-${name}-size`] = `var(--text-${sizeKey})`;
763
+ vars[`--intent-${name}-weight`] = `var(--font-weight-${weight})`;
764
+ vars[`--intent-${name}-leading`] = `var(--leading-${sizeKey})`;
765
+ }
766
+ function emitTypeScale(ts, vars) {
767
+ if (!ts) return;
768
+ if (ts.displayFamily !== void 0) vars["--font-family-display"] = ts.displayFamily;
769
+ if (ts.bodyFamily !== void 0) vars["--font-family-body"] = ts.bodyFamily;
770
+ if (ts.monoFamily !== void 0) vars["--font-family-mono"] = ts.monoFamily;
771
+ if (ts.scale) {
772
+ const s = ts.scale;
773
+ const pairs = [
774
+ ["xs", s.xs],
775
+ ["sm", s.sm],
776
+ ["base", s.base],
777
+ ["lg", s.lg],
778
+ ["xl", s.xl],
779
+ ["2xl", s["2xl"]],
780
+ ["3xl", s["3xl"]],
781
+ ["4xl", s["4xl"]],
782
+ ["display-1", s["display-1"]],
783
+ ["display-2", s["display-2"]]
784
+ ];
785
+ for (const [k, entry] of pairs) {
786
+ if (entry !== void 0) {
787
+ vars[`--text-${k}`] = entry.size;
788
+ vars[`--leading-${k}`] = entry.lineHeight;
789
+ }
790
+ }
791
+ }
792
+ if (ts.intents) {
793
+ const i = ts.intents;
794
+ if (i.headingMajor) emitTypeIntent("heading-major", i.headingMajor, vars);
795
+ if (i.headingMinor) emitTypeIntent("heading-minor", i.headingMinor, vars);
796
+ if (i.bodyEmphasis) emitTypeIntent("body-emphasis", i.bodyEmphasis, vars);
797
+ if (i.bodyDefault) emitTypeIntent("body-default", i.bodyDefault, vars);
798
+ if (i.bodyQuiet) emitTypeIntent("body-quiet", i.bodyQuiet, vars);
799
+ if (i.caption) emitTypeIntent("caption", i.caption, vars);
800
+ if (i.numeric) emitTypeIntent("numeric", i.numeric, vars);
801
+ }
802
+ }
803
+ function emitMotionIntent(name, intent, vars) {
804
+ vars[`--intent-${name}-duration`] = `var(--duration-${intent.duration})`;
805
+ vars[`--intent-${name}-easing`] = `var(--easing-${intent.easing})`;
806
+ }
807
+ function emitMotion(m, vars) {
808
+ if (!m) return;
809
+ if (m.durations) {
810
+ const d = m.durations;
811
+ const pairs = [
812
+ ["instant", d.instant],
813
+ ["fast", d.fast],
814
+ ["normal", d.normal],
815
+ ["slow", d.slow],
816
+ ["dramatic", d.dramatic]
817
+ ];
818
+ for (const [k, v] of pairs) {
819
+ if (v !== void 0) vars[`--duration-${k}`] = v;
820
+ }
821
+ }
822
+ if (m.easings) {
823
+ const e = m.easings;
824
+ const pairs = [
825
+ ["linear", e.linear],
826
+ ["standard", e.standard],
827
+ ["emphasized", e.emphasized],
828
+ ["spring", e.spring]
829
+ ];
830
+ for (const [k, v] of pairs) {
831
+ if (v !== void 0) vars[`--easing-${k}`] = v;
832
+ }
833
+ }
834
+ if (m.intents) {
835
+ const i = m.intents;
836
+ if (i.enter) emitMotionIntent("enter", i.enter, vars);
837
+ if (i.exit) emitMotionIntent("exit", i.exit, vars);
838
+ if (i.hover) emitMotionIntent("hover", i.hover, vars);
839
+ if (i.press) emitMotionIntent("press", i.press, vars);
840
+ if (i.expand) emitMotionIntent("expand", i.expand, vars);
841
+ if (i.transition) emitMotionIntent("transition", i.transition, vars);
842
+ }
843
+ }
844
+ function emitIconography(i, vars) {
845
+ if (!i) return;
846
+ if (i.family !== void 0) vars["--icon-family"] = i.family;
847
+ if (i.strokeWidth !== void 0) vars["--icon-stroke-width"] = i.strokeWidth;
848
+ if (i.defaultSize !== void 0) vars["--icon-default-size"] = i.defaultSize;
849
+ }
850
+ function emitElevation(e, vars) {
851
+ if (!e) return;
852
+ if (e.cardElevation !== void 0) vars["--elevation-card"] = e.cardElevation;
853
+ if (e.popoverElevation !== void 0) vars["--elevation-popover"] = e.popoverElevation;
854
+ if (e.dialogElevation !== void 0) vars["--elevation-dialog"] = e.dialogElevation;
855
+ if (e.toastElevation !== void 0) vars["--elevation-toast"] = e.toastElevation;
856
+ }
857
+ function emitGeometry(g, vars) {
858
+ if (!g) return;
859
+ if (g.radiusContainer !== void 0) vars["--radius-container"] = g.radiusContainer;
860
+ if (g.radiusInteractive !== void 0) vars["--radius-interactive"] = g.radiusInteractive;
861
+ if (g.radiusPill !== void 0) vars["--radius-pill"] = g.radiusPill;
862
+ if (g.borderHairline !== void 0) vars["--border-hairline"] = g.borderHairline;
863
+ if (g.borderStandard !== void 0) vars["--border-standard"] = g.borderStandard;
864
+ if (g.borderHeavy !== void 0) vars["--border-heavy"] = g.borderHeavy;
865
+ }
667
866
  function resolveThemeForRuntime(theme) {
668
867
  if (theme === void 0) return void 0;
669
868
  if (typeof theme === "string") return void 0;
@@ -465,6 +465,37 @@ var BUILT_IN_THEMES = [
465
465
  displayName: "Copper",
466
466
  hasLightMode: true,
467
467
  hasDarkMode: true
468
+ },
469
+ // Layer 1 skin axes — truly-unique themes (compact tech / editorial / brutalist dense / display-heavy / touch-first)
470
+ {
471
+ name: "prism",
472
+ displayName: "Prism",
473
+ hasLightMode: true,
474
+ hasDarkMode: true
475
+ },
476
+ {
477
+ name: "gazette",
478
+ displayName: "Gazette",
479
+ hasLightMode: true,
480
+ hasDarkMode: true
481
+ },
482
+ {
483
+ name: "terminal",
484
+ displayName: "Terminal",
485
+ hasLightMode: true,
486
+ hasDarkMode: true
487
+ },
488
+ {
489
+ name: "atelier",
490
+ displayName: "Atelier",
491
+ hasLightMode: true,
492
+ hasDarkMode: true
493
+ },
494
+ {
495
+ name: "kiosk",
496
+ displayName: "Kiosk",
497
+ hasLightMode: true,
498
+ hasDarkMode: true
468
499
  }
469
500
  ];
470
501
  var ThemeContext = createContext(void 0);
@@ -660,8 +691,176 @@ function themeTokensToCssVars(tokens, mode = "light", darkVariant) {
660
691
  vars[`--shadow-${key}`] = value;
661
692
  }
662
693
  }
694
+ const pickDensity = isDark && darkVariant?.density ? darkVariant.density : tokens.density;
695
+ emitDensity(pickDensity, vars);
696
+ const pickTypeScale = isDark && darkVariant?.typeScale ? darkVariant.typeScale : tokens.typeScale;
697
+ emitTypeScale(pickTypeScale, vars);
698
+ const pickMotion = isDark && darkVariant?.motion ? darkVariant.motion : tokens.motion;
699
+ emitMotion(pickMotion, vars);
700
+ const pickIconography = isDark && darkVariant?.iconography ? darkVariant.iconography : tokens.iconography;
701
+ emitIconography(pickIconography, vars);
702
+ const pickElevation = isDark && darkVariant?.elevation ? darkVariant.elevation : tokens.elevation;
703
+ emitElevation(pickElevation, vars);
704
+ const pickGeometry = isDark && darkVariant?.geometry ? darkVariant.geometry : tokens.geometry;
705
+ emitGeometry(pickGeometry, vars);
663
706
  return vars;
664
707
  }
708
+ function emitDensity(density, vars) {
709
+ if (!density) return;
710
+ if (density.spacing) {
711
+ const s = density.spacing;
712
+ const pairs2 = [
713
+ ["0", s.space0],
714
+ ["1", s.space1],
715
+ ["2", s.space2],
716
+ ["3", s.space3],
717
+ ["4", s.space4],
718
+ ["5", s.space5],
719
+ ["6", s.space6],
720
+ ["7", s.space7],
721
+ ["8", s.space8],
722
+ ["9", s.space9],
723
+ ["10", s.space10],
724
+ ["11", s.space11],
725
+ ["12", s.space12]
726
+ ];
727
+ for (const [k, v] of pairs2) {
728
+ if (v !== void 0) vars[`--space-${k}`] = v;
729
+ }
730
+ }
731
+ const pairs = [
732
+ ["button-height-sm", density.buttonHeightSm],
733
+ ["button-height-md", density.buttonHeightMd],
734
+ ["button-height-lg", density.buttonHeightLg],
735
+ ["input-height-sm", density.inputHeightSm],
736
+ ["input-height-md", density.inputHeightMd],
737
+ ["input-height-lg", density.inputHeightLg],
738
+ ["row-height-compact", density.rowHeightCompact],
739
+ ["row-height-normal", density.rowHeightNormal],
740
+ ["row-height-spacious", density.rowHeightSpacious],
741
+ ["card-padding-sm", density.cardPaddingSm],
742
+ ["card-padding-md", density.cardPaddingMd],
743
+ ["card-padding-lg", density.cardPaddingLg],
744
+ ["dialog-padding", density.dialogPadding],
745
+ ["section-gap", density.sectionGap]
746
+ ];
747
+ for (const [k, v] of pairs) {
748
+ if (v !== void 0) vars[`--${k}`] = v;
749
+ }
750
+ }
751
+ function typeSizeKeyStr(k) {
752
+ return k;
753
+ }
754
+ function typeWeightStr(w) {
755
+ return w;
756
+ }
757
+ function emitTypeIntent(name, intent, vars) {
758
+ const sizeKey = typeSizeKeyStr(intent.size);
759
+ const weight = typeWeightStr(intent.weight);
760
+ vars[`--intent-${name}-size`] = `var(--text-${sizeKey})`;
761
+ vars[`--intent-${name}-weight`] = `var(--font-weight-${weight})`;
762
+ vars[`--intent-${name}-leading`] = `var(--leading-${sizeKey})`;
763
+ }
764
+ function emitTypeScale(ts, vars) {
765
+ if (!ts) return;
766
+ if (ts.displayFamily !== void 0) vars["--font-family-display"] = ts.displayFamily;
767
+ if (ts.bodyFamily !== void 0) vars["--font-family-body"] = ts.bodyFamily;
768
+ if (ts.monoFamily !== void 0) vars["--font-family-mono"] = ts.monoFamily;
769
+ if (ts.scale) {
770
+ const s = ts.scale;
771
+ const pairs = [
772
+ ["xs", s.xs],
773
+ ["sm", s.sm],
774
+ ["base", s.base],
775
+ ["lg", s.lg],
776
+ ["xl", s.xl],
777
+ ["2xl", s["2xl"]],
778
+ ["3xl", s["3xl"]],
779
+ ["4xl", s["4xl"]],
780
+ ["display-1", s["display-1"]],
781
+ ["display-2", s["display-2"]]
782
+ ];
783
+ for (const [k, entry] of pairs) {
784
+ if (entry !== void 0) {
785
+ vars[`--text-${k}`] = entry.size;
786
+ vars[`--leading-${k}`] = entry.lineHeight;
787
+ }
788
+ }
789
+ }
790
+ if (ts.intents) {
791
+ const i = ts.intents;
792
+ if (i.headingMajor) emitTypeIntent("heading-major", i.headingMajor, vars);
793
+ if (i.headingMinor) emitTypeIntent("heading-minor", i.headingMinor, vars);
794
+ if (i.bodyEmphasis) emitTypeIntent("body-emphasis", i.bodyEmphasis, vars);
795
+ if (i.bodyDefault) emitTypeIntent("body-default", i.bodyDefault, vars);
796
+ if (i.bodyQuiet) emitTypeIntent("body-quiet", i.bodyQuiet, vars);
797
+ if (i.caption) emitTypeIntent("caption", i.caption, vars);
798
+ if (i.numeric) emitTypeIntent("numeric", i.numeric, vars);
799
+ }
800
+ }
801
+ function emitMotionIntent(name, intent, vars) {
802
+ vars[`--intent-${name}-duration`] = `var(--duration-${intent.duration})`;
803
+ vars[`--intent-${name}-easing`] = `var(--easing-${intent.easing})`;
804
+ }
805
+ function emitMotion(m, vars) {
806
+ if (!m) return;
807
+ if (m.durations) {
808
+ const d = m.durations;
809
+ const pairs = [
810
+ ["instant", d.instant],
811
+ ["fast", d.fast],
812
+ ["normal", d.normal],
813
+ ["slow", d.slow],
814
+ ["dramatic", d.dramatic]
815
+ ];
816
+ for (const [k, v] of pairs) {
817
+ if (v !== void 0) vars[`--duration-${k}`] = v;
818
+ }
819
+ }
820
+ if (m.easings) {
821
+ const e = m.easings;
822
+ const pairs = [
823
+ ["linear", e.linear],
824
+ ["standard", e.standard],
825
+ ["emphasized", e.emphasized],
826
+ ["spring", e.spring]
827
+ ];
828
+ for (const [k, v] of pairs) {
829
+ if (v !== void 0) vars[`--easing-${k}`] = v;
830
+ }
831
+ }
832
+ if (m.intents) {
833
+ const i = m.intents;
834
+ if (i.enter) emitMotionIntent("enter", i.enter, vars);
835
+ if (i.exit) emitMotionIntent("exit", i.exit, vars);
836
+ if (i.hover) emitMotionIntent("hover", i.hover, vars);
837
+ if (i.press) emitMotionIntent("press", i.press, vars);
838
+ if (i.expand) emitMotionIntent("expand", i.expand, vars);
839
+ if (i.transition) emitMotionIntent("transition", i.transition, vars);
840
+ }
841
+ }
842
+ function emitIconography(i, vars) {
843
+ if (!i) return;
844
+ if (i.family !== void 0) vars["--icon-family"] = i.family;
845
+ if (i.strokeWidth !== void 0) vars["--icon-stroke-width"] = i.strokeWidth;
846
+ if (i.defaultSize !== void 0) vars["--icon-default-size"] = i.defaultSize;
847
+ }
848
+ function emitElevation(e, vars) {
849
+ if (!e) return;
850
+ if (e.cardElevation !== void 0) vars["--elevation-card"] = e.cardElevation;
851
+ if (e.popoverElevation !== void 0) vars["--elevation-popover"] = e.popoverElevation;
852
+ if (e.dialogElevation !== void 0) vars["--elevation-dialog"] = e.dialogElevation;
853
+ if (e.toastElevation !== void 0) vars["--elevation-toast"] = e.toastElevation;
854
+ }
855
+ function emitGeometry(g, vars) {
856
+ if (!g) return;
857
+ if (g.radiusContainer !== void 0) vars["--radius-container"] = g.radiusContainer;
858
+ if (g.radiusInteractive !== void 0) vars["--radius-interactive"] = g.radiusInteractive;
859
+ if (g.radiusPill !== void 0) vars["--radius-pill"] = g.radiusPill;
860
+ if (g.borderHairline !== void 0) vars["--border-hairline"] = g.borderHairline;
861
+ if (g.borderStandard !== void 0) vars["--border-standard"] = g.borderStandard;
862
+ if (g.borderHeavy !== void 0) vars["--border-heavy"] = g.borderHeavy;
863
+ }
665
864
  function resolveThemeForRuntime(theme) {
666
865
  if (theme === void 0) return void 0;
667
866
  if (typeof theme === "string") return void 0;
@@ -24,7 +24,7 @@
24
24
  *
25
25
  * @packageDocumentation
26
26
  */
27
- import type { ThemeDefinition, ThemeTokens, ThemeVariant, ThemeRef } from '@almadar/core';
27
+ import type { ThemeDefinition, ThemeRef, ThemeTokens, ThemeVariant } from '@almadar/core';
28
28
  /** Resolved color mode. Mirrors `ThemeContext.resolvedMode`. */
29
29
  export type ThemeMode = 'light' | 'dark';
30
30
  /**
@@ -3132,7 +3132,7 @@ var sizeStyles2 = {
3132
3132
  };
3133
3133
  var iconSizeStyles = {
3134
3134
  sm: "h-3.5 w-3.5",
3135
- md: "h-4 w-4",
3135
+ md: "h-icon-default w-icon-default",
3136
3136
  lg: "h-5 w-5"
3137
3137
  };
3138
3138
  function resolveIconProp(value, sizeClass) {
@@ -3204,7 +3204,7 @@ var Button = React5__default.default.forwardRef(
3204
3204
  ...props,
3205
3205
  "data-testid": props["data-testid"] ?? (action ? `action-${action}` : void 0),
3206
3206
  children: [
3207
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Loader2, { className: "h-4 w-4 animate-spin" }) : resolvedLeftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: resolvedLeftIcon }),
3207
+ 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 }),
3208
3208
  children || label,
3209
3209
  resolvedRightIcon && !isLoading && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: resolvedRightIcon })
3210
3210
  ]
@@ -3217,23 +3217,23 @@ var variantStyles3 = {
3217
3217
  default: [
3218
3218
  "bg-card",
3219
3219
  "border-[length:var(--border-width)] border-border",
3220
- "shadow-sm",
3220
+ "shadow-elevation-card",
3221
3221
  "transition-all duration-[var(--transition-normal)]",
3222
- "hover:shadow-lg hover:-translate-y-0.5"
3222
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3223
3223
  ].join(" "),
3224
3224
  bordered: [
3225
3225
  "bg-card",
3226
3226
  "border-[length:var(--border-width)] border-border",
3227
- "shadow-sm",
3227
+ "shadow-elevation-card",
3228
3228
  "transition-all duration-[var(--transition-normal)]",
3229
- "hover:shadow-lg hover:-translate-y-0.5"
3229
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3230
3230
  ].join(" "),
3231
3231
  elevated: [
3232
3232
  "bg-card",
3233
3233
  "border-[length:var(--border-width)] border-border",
3234
3234
  "shadow",
3235
3235
  "transition-all duration-[var(--transition-normal)]",
3236
- "hover:shadow-lg hover:-translate-y-0.5"
3236
+ "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3237
3237
  ].join(" "),
3238
3238
  // Interactive variant with theme-specific hover effects
3239
3239
  interactive: [
@@ -3242,20 +3242,20 @@ var variantStyles3 = {
3242
3242
  "shadow",
3243
3243
  "cursor-pointer",
3244
3244
  "transition-all duration-[var(--transition-normal)]",
3245
- "hover:shadow-lg"
3245
+ "hover:shadow-elevation-dialog"
3246
3246
  ].join(" ")
3247
3247
  };
3248
3248
  var paddingStyles2 = {
3249
3249
  none: "",
3250
- sm: "p-3",
3251
- md: "p-4",
3252
- lg: "p-6"
3250
+ sm: "p-card-sm",
3251
+ md: "p-card-md",
3252
+ lg: "p-card-lg"
3253
3253
  };
3254
3254
  var shadowStyles2 = {
3255
3255
  none: "shadow-none",
3256
- sm: "shadow-sm",
3256
+ sm: "shadow-elevation-card",
3257
3257
  md: "shadow",
3258
- lg: "shadow-lg"
3258
+ lg: "shadow-elevation-dialog"
3259
3259
  };
3260
3260
  var Card = React5__default.default.forwardRef(
3261
3261
  ({
@@ -3273,7 +3273,7 @@ var Card = React5__default.default.forwardRef(
3273
3273
  {
3274
3274
  ref,
3275
3275
  className: cn(
3276
- "rounded-md",
3276
+ "rounded-container",
3277
3277
  "transition-all duration-[var(--transition-normal)]",
3278
3278
  variantStyles3[variant],
3279
3279
  paddingStyles2[padding],
@@ -3409,7 +3409,7 @@ var Input = React5__default.default.forwardRef(
3409
3409
  ...props
3410
3410
  }, ref) => {
3411
3411
  const type = inputType || htmlType || "text";
3412
- const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-4 w-4" });
3412
+ const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
3413
3413
  const showClearButton = clearable && value && String(value).length > 0;
3414
3414
  const baseClassName = cn(
3415
3415
  "block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
@@ -3441,7 +3441,7 @@ var Input = React5__default.default.forwardRef(
3441
3441
  ]
3442
3442
  }
3443
3443
  ),
3444
- /* @__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" }) })
3444
+ /* @__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" }) })
3445
3445
  ] });
3446
3446
  }
3447
3447
  if (type === "textarea") {
@@ -3495,7 +3495,7 @@ var Input = React5__default.default.forwardRef(
3495
3495
  type: "button",
3496
3496
  onClick: onClear,
3497
3497
  className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground hover:text-foreground",
3498
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-4 w-4" })
3498
+ children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-icon-default w-icon-default" })
3499
3499
  }
3500
3500
  ),
3501
3501
  rightIcon && !showClearButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center text-muted-foreground", children: rightIcon })
@@ -3723,7 +3723,7 @@ function DocCodeBlock({
3723
3723
  Box,
3724
3724
  {
3725
3725
  className: cn(
3726
- "rounded-md border border-border overflow-hidden",
3726
+ "rounded-container border border-border overflow-hidden",
3727
3727
  className
3728
3728
  ),
3729
3729
  position: "relative",
@@ -3798,11 +3798,11 @@ function DocCodeBlock({
3798
3798
  }
3799
3799
  var linkCardStyles = [
3800
3800
  "border border-border",
3801
- "rounded-md",
3801
+ "rounded-container",
3802
3802
  "p-4",
3803
3803
  "transition-all",
3804
3804
  "hover:border-primary",
3805
- "hover:shadow-lg",
3805
+ "hover:shadow-elevation-dialog",
3806
3806
  "no-underline",
3807
3807
  "flex-1",
3808
3808
  "min-w-0",
@@ -4001,7 +4001,7 @@ function DocSearch({
4001
4001
  Box,
4002
4002
  {
4003
4003
  position: "absolute",
4004
- 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",
4004
+ 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",
4005
4005
  children: /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", children: results.map((result, index) => /* @__PURE__ */ jsxRuntime.jsx(
4006
4006
  Box,
4007
4007
  {