@almadar/ui 4.57.4 → 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.
- package/dist/avl/index.cjs +270 -69
- package/dist/avl/index.js +270 -69
- package/dist/components/index.cjs +101 -68
- package/dist/components/index.js +101 -68
- package/dist/context/index.cjs +199 -0
- package/dist/context/index.js +199 -0
- package/dist/context/themeTokens.d.ts +1 -1
- package/dist/docs/index.cjs +21 -21
- package/dist/docs/index.js +21 -21
- package/dist/marketing/index.cjs +18 -18
- package/dist/marketing/index.js +18 -18
- package/dist/providers/index.cjs +101 -68
- package/dist/providers/index.js +101 -68
- package/dist/runtime/index.cjs +270 -69
- package/dist/runtime/index.js +270 -69
- package/package.json +2 -2
- package/tailwind-preset.cjs +118 -3
- package/themes/_contract.md +198 -0
- package/themes/almadar-website.css +212 -0
- package/themes/almadar.css +210 -0
- package/themes/arctic.css +210 -0
- package/themes/atelier.css +427 -0
- package/themes/copper.css +210 -0
- package/themes/ember.css +210 -0
- package/themes/forest.css +210 -0
- package/themes/gazette.css +411 -0
- package/themes/index.css +7 -0
- package/themes/kiosk.css +412 -0
- package/themes/lavender.css +210 -0
- package/themes/midnight.css +210 -0
- package/themes/minimalist.css +210 -0
- package/themes/neon.css +210 -0
- package/themes/ocean.css +210 -0
- package/themes/prism.css +406 -0
- package/themes/rose.css +210 -0
- package/themes/sand.css +210 -0
- package/themes/slate.css +210 -0
- package/themes/sunset.css +210 -0
- package/themes/terminal.css +422 -0
- package/themes/trait-wars.css +210 -0
- package/themes/wireframe.css +216 -0
package/dist/context/index.cjs
CHANGED
|
@@ -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;
|
package/dist/context/index.js
CHANGED
|
@@ -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
|
|
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
|
/**
|
package/dist/docs/index.cjs
CHANGED
|
@@ -3132,7 +3132,7 @@ var sizeStyles2 = {
|
|
|
3132
3132
|
};
|
|
3133
3133
|
var iconSizeStyles = {
|
|
3134
3134
|
sm: "h-3.5 w-3.5",
|
|
3135
|
-
md: "h-
|
|
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-
|
|
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-
|
|
3220
|
+
"shadow-elevation-card",
|
|
3221
3221
|
"transition-all duration-[var(--transition-normal)]",
|
|
3222
|
-
"hover:shadow-
|
|
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-
|
|
3227
|
+
"shadow-elevation-card",
|
|
3228
3228
|
"transition-all duration-[var(--transition-normal)]",
|
|
3229
|
-
"hover:shadow-
|
|
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-
|
|
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-
|
|
3245
|
+
"hover:shadow-elevation-dialog"
|
|
3246
3246
|
].join(" ")
|
|
3247
3247
|
};
|
|
3248
3248
|
var paddingStyles2 = {
|
|
3249
3249
|
none: "",
|
|
3250
|
-
sm: "p-
|
|
3251
|
-
md: "p-
|
|
3252
|
-
lg: "p-
|
|
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-
|
|
3256
|
+
sm: "shadow-elevation-card",
|
|
3257
3257
|
md: "shadow",
|
|
3258
|
-
lg: "shadow-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3801
|
+
"rounded-container",
|
|
3802
3802
|
"p-4",
|
|
3803
3803
|
"transition-all",
|
|
3804
3804
|
"hover:border-primary",
|
|
3805
|
-
"hover:shadow-
|
|
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-
|
|
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
|
{
|