@almadar/ui 6.28.0 → 6.30.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/{EntityBindingContext-C6FgxdfG.d.cts → EntityBindingContext-ChCONv2W.d.cts} +3 -39
- package/dist/{EntityBindingContext-C6FgxdfG.d.ts → EntityBindingContext-ChCONv2W.d.ts} +3 -39
- package/dist/avl/index.cjs +74 -48
- package/dist/avl/index.js +74 -48
- package/dist/components/index.cjs +54 -45
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +54 -45
- package/dist/context/index.cjs +135 -105
- package/dist/context/index.d.cts +2 -60
- package/dist/context/index.d.ts +2 -60
- package/dist/context/index.js +135 -105
- package/dist/lib/index.cjs +455 -0
- package/dist/lib/index.d.cts +42 -1
- package/dist/lib/index.d.ts +42 -1
- package/dist/lib/index.js +438 -1
- package/dist/marketing/index.cjs +4 -5
- package/dist/marketing/index.js +4 -5
- package/dist/providers/index.cjs +194 -156
- package/dist/providers/index.d.cts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +194 -156
- package/dist/runtime/index.cjs +74 -48
- package/dist/runtime/index.d.cts +16 -2
- package/dist/runtime/index.d.ts +16 -2
- package/dist/runtime/index.js +74 -48
- package/dist/themeTokens-DVRwufw8.d.cts +112 -0
- package/dist/themeTokens-DVRwufw8.d.ts +112 -0
- package/package.json +7 -6
- package/scripts/audit-tailwind-safelist.ts +4 -0
- package/tailwind-preset.cjs +155 -28
- package/themes/almadar-website.css +37 -107
- package/themes/almadar.css +37 -108
- package/themes/atelier.css +145 -240
- package/themes/bloomberg-dense.css +145 -252
- package/themes/clay.css +39 -137
- package/themes/comic.css +39 -145
- package/themes/corporate.css +39 -131
- package/themes/game-adventure.css +22 -87
- package/themes/game-rpg.css +22 -84
- package/themes/game-sci-fi.css +22 -88
- package/themes/game-ui-pack.css +22 -85
- package/themes/gazette.css +43 -135
- package/themes/glass.css +39 -148
- package/themes/kiosk.css +51 -146
- package/themes/linear-clean.css +145 -215
- package/themes/minimalist.css +39 -125
- package/themes/neon.css +39 -132
- package/themes/notion-editorial.css +145 -215
- package/themes/prism.css +37 -100
- package/themes/retro.css +39 -130
- package/themes/terminal.css +61 -152
- package/themes/trait-wars.css +121 -285
- package/themes/wireframe.css +41 -128
package/dist/lib/index.js
CHANGED
|
@@ -2492,4 +2492,441 @@ function applyOperator(input) {
|
|
|
2492
2492
|
}
|
|
2493
2493
|
}
|
|
2494
2494
|
|
|
2495
|
-
|
|
2495
|
+
// lib/themeTokens.ts
|
|
2496
|
+
function applyFlat(obj, table, vars) {
|
|
2497
|
+
if (!obj) return;
|
|
2498
|
+
for (const { cssVar, key } of table) {
|
|
2499
|
+
const value = obj[key];
|
|
2500
|
+
if (value !== void 0) vars[cssVar] = value;
|
|
2501
|
+
}
|
|
2502
|
+
}
|
|
2503
|
+
var DENSITY_SPACING_VARS = [
|
|
2504
|
+
{ cssVar: "--space-0", key: "space0" },
|
|
2505
|
+
{ cssVar: "--space-1", key: "space1" },
|
|
2506
|
+
{ cssVar: "--space-2", key: "space2" },
|
|
2507
|
+
{ cssVar: "--space-3", key: "space3" },
|
|
2508
|
+
{ cssVar: "--space-4", key: "space4" },
|
|
2509
|
+
{ cssVar: "--space-5", key: "space5" },
|
|
2510
|
+
{ cssVar: "--space-6", key: "space6" },
|
|
2511
|
+
{ cssVar: "--space-7", key: "space7" },
|
|
2512
|
+
{ cssVar: "--space-8", key: "space8" },
|
|
2513
|
+
{ cssVar: "--space-9", key: "space9" },
|
|
2514
|
+
{ cssVar: "--space-10", key: "space10" },
|
|
2515
|
+
{ cssVar: "--space-11", key: "space11" },
|
|
2516
|
+
{ cssVar: "--space-12", key: "space12" }
|
|
2517
|
+
];
|
|
2518
|
+
var DENSITY_ELEMENT_VARS = [
|
|
2519
|
+
{ cssVar: "--button-height-sm", key: "buttonHeightSm" },
|
|
2520
|
+
{ cssVar: "--button-height-md", key: "buttonHeightMd" },
|
|
2521
|
+
{ cssVar: "--button-height-lg", key: "buttonHeightLg" },
|
|
2522
|
+
{ cssVar: "--input-height-sm", key: "inputHeightSm" },
|
|
2523
|
+
{ cssVar: "--input-height-md", key: "inputHeightMd" },
|
|
2524
|
+
{ cssVar: "--input-height-lg", key: "inputHeightLg" },
|
|
2525
|
+
{ cssVar: "--row-height-compact", key: "rowHeightCompact" },
|
|
2526
|
+
{ cssVar: "--row-height-normal", key: "rowHeightNormal" },
|
|
2527
|
+
{ cssVar: "--row-height-spacious", key: "rowHeightSpacious" },
|
|
2528
|
+
{ cssVar: "--card-padding-sm", key: "cardPaddingSm" },
|
|
2529
|
+
{ cssVar: "--card-padding-md", key: "cardPaddingMd" },
|
|
2530
|
+
{ cssVar: "--card-padding-lg", key: "cardPaddingLg" },
|
|
2531
|
+
{ cssVar: "--dialog-padding", key: "dialogPadding" },
|
|
2532
|
+
{ cssVar: "--section-gap", key: "sectionGap" }
|
|
2533
|
+
];
|
|
2534
|
+
var TYPE_FAMILY_VARS = [
|
|
2535
|
+
{ cssVar: "--font-family-display", key: "displayFamily" },
|
|
2536
|
+
{ cssVar: "--font-family-body", key: "bodyFamily" },
|
|
2537
|
+
{ cssVar: "--font-family-mono", key: "monoFamily" }
|
|
2538
|
+
];
|
|
2539
|
+
var TYPE_SIZE_KEYS = [
|
|
2540
|
+
"xs",
|
|
2541
|
+
"sm",
|
|
2542
|
+
"base",
|
|
2543
|
+
"lg",
|
|
2544
|
+
"xl",
|
|
2545
|
+
"2xl",
|
|
2546
|
+
"3xl",
|
|
2547
|
+
"4xl",
|
|
2548
|
+
"display-1",
|
|
2549
|
+
"display-2"
|
|
2550
|
+
];
|
|
2551
|
+
var TYPE_INTENT_VARS = [
|
|
2552
|
+
{ key: "headingMajor", cssName: "heading-major" },
|
|
2553
|
+
{ key: "headingMinor", cssName: "heading-minor" },
|
|
2554
|
+
{ key: "bodyEmphasis", cssName: "body-emphasis" },
|
|
2555
|
+
{ key: "bodyDefault", cssName: "body-default" },
|
|
2556
|
+
{ key: "bodyQuiet", cssName: "body-quiet" },
|
|
2557
|
+
{ key: "caption", cssName: "caption" },
|
|
2558
|
+
{ key: "numeric", cssName: "numeric" }
|
|
2559
|
+
];
|
|
2560
|
+
var MOTION_DURATION_KEYS = [
|
|
2561
|
+
"instant",
|
|
2562
|
+
"fast",
|
|
2563
|
+
"normal",
|
|
2564
|
+
"slow",
|
|
2565
|
+
"dramatic"
|
|
2566
|
+
];
|
|
2567
|
+
var MOTION_EASING_KEYS = [
|
|
2568
|
+
"linear",
|
|
2569
|
+
"standard",
|
|
2570
|
+
"emphasized",
|
|
2571
|
+
"spring"
|
|
2572
|
+
];
|
|
2573
|
+
var MOTION_INTENT_VARS = [
|
|
2574
|
+
{ key: "enter", cssName: "enter" },
|
|
2575
|
+
{ key: "exit", cssName: "exit" },
|
|
2576
|
+
{ key: "hover", cssName: "hover" },
|
|
2577
|
+
{ key: "press", cssName: "press" },
|
|
2578
|
+
{ key: "expand", cssName: "expand" },
|
|
2579
|
+
{ key: "transition", cssName: "transition" }
|
|
2580
|
+
];
|
|
2581
|
+
var ICONOGRAPHY_VARS = [
|
|
2582
|
+
{ cssVar: "--icon-family", key: "family" },
|
|
2583
|
+
{ cssVar: "--icon-stroke-width", key: "strokeWidth" },
|
|
2584
|
+
{ cssVar: "--icon-default-size", key: "defaultSize" }
|
|
2585
|
+
];
|
|
2586
|
+
var ELEVATION_VARS = [
|
|
2587
|
+
{ cssVar: "--elevation-card", key: "cardElevation" },
|
|
2588
|
+
{ cssVar: "--elevation-popover", key: "popoverElevation" },
|
|
2589
|
+
{ cssVar: "--elevation-dialog", key: "dialogElevation" },
|
|
2590
|
+
{ cssVar: "--elevation-toast", key: "toastElevation" }
|
|
2591
|
+
];
|
|
2592
|
+
var GEOMETRY_VARS = [
|
|
2593
|
+
{ cssVar: "--radius-container", key: "radiusContainer" },
|
|
2594
|
+
{ cssVar: "--radius-interactive", key: "radiusInteractive" },
|
|
2595
|
+
{ cssVar: "--radius-pill", key: "radiusPill" },
|
|
2596
|
+
{ cssVar: "--border-hairline", key: "borderHairline" },
|
|
2597
|
+
{ cssVar: "--border-standard", key: "borderStandard" },
|
|
2598
|
+
{ cssVar: "--border-heavy", key: "borderHeavy" }
|
|
2599
|
+
];
|
|
2600
|
+
var LEGACY_PREFIXES = {
|
|
2601
|
+
colors: "--color-",
|
|
2602
|
+
radii: "--radius-",
|
|
2603
|
+
spacing: "--space-",
|
|
2604
|
+
shadows: "--shadow-"
|
|
2605
|
+
};
|
|
2606
|
+
function themeTokensToCssVars(tokens, mode = "light", darkVariant) {
|
|
2607
|
+
const vars = {};
|
|
2608
|
+
const isDark = mode === "dark";
|
|
2609
|
+
const pickColors = isDark && darkVariant?.colors ? darkVariant.colors : tokens.colors;
|
|
2610
|
+
if (pickColors) {
|
|
2611
|
+
for (const [key, value] of Object.entries(pickColors)) {
|
|
2612
|
+
vars[`${LEGACY_PREFIXES.colors}${key}`] = value;
|
|
2613
|
+
}
|
|
2614
|
+
if (isDark && darkVariant?.colors && tokens.colors) {
|
|
2615
|
+
for (const [key, value] of Object.entries(tokens.colors)) {
|
|
2616
|
+
const varName = `${LEGACY_PREFIXES.colors}${key}`;
|
|
2617
|
+
if (!(varName in vars)) vars[varName] = value;
|
|
2618
|
+
}
|
|
2619
|
+
}
|
|
2620
|
+
}
|
|
2621
|
+
const pickRadii = isDark && darkVariant?.radii ? darkVariant.radii : tokens.radii;
|
|
2622
|
+
if (pickRadii) {
|
|
2623
|
+
for (const [key, value] of Object.entries(pickRadii)) {
|
|
2624
|
+
vars[`${LEGACY_PREFIXES.radii}${key}`] = value;
|
|
2625
|
+
}
|
|
2626
|
+
}
|
|
2627
|
+
const pickSpacing = isDark && darkVariant?.spacing ? darkVariant.spacing : tokens.spacing;
|
|
2628
|
+
if (pickSpacing) {
|
|
2629
|
+
for (const [key, value] of Object.entries(pickSpacing)) {
|
|
2630
|
+
vars[`${LEGACY_PREFIXES.spacing}${key}`] = value;
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
const pickTypography = isDark && darkVariant?.typography ? darkVariant.typography : tokens.typography;
|
|
2634
|
+
if (pickTypography) {
|
|
2635
|
+
for (const [key, value] of Object.entries(pickTypography)) {
|
|
2636
|
+
vars[`--${key}`] = value;
|
|
2637
|
+
}
|
|
2638
|
+
}
|
|
2639
|
+
const pickShadows = isDark && darkVariant?.shadows ? darkVariant.shadows : tokens.shadows;
|
|
2640
|
+
if (pickShadows) {
|
|
2641
|
+
for (const [key, value] of Object.entries(pickShadows)) {
|
|
2642
|
+
vars[`${LEGACY_PREFIXES.shadows}${key}`] = value;
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
const pickDensity = isDark && darkVariant?.density ? darkVariant.density : tokens.density;
|
|
2646
|
+
emitDensity(pickDensity, vars);
|
|
2647
|
+
const pickTypeScale = isDark && darkVariant?.typeScale ? darkVariant.typeScale : tokens.typeScale;
|
|
2648
|
+
emitTypeScale(pickTypeScale, vars);
|
|
2649
|
+
const pickMotion = isDark && darkVariant?.motion ? darkVariant.motion : tokens.motion;
|
|
2650
|
+
emitMotion(pickMotion, vars);
|
|
2651
|
+
const pickIconography = isDark && darkVariant?.iconography ? darkVariant.iconography : tokens.iconography;
|
|
2652
|
+
emitIconography(pickIconography, vars);
|
|
2653
|
+
const pickElevation = isDark && darkVariant?.elevation ? darkVariant.elevation : tokens.elevation;
|
|
2654
|
+
emitElevation(pickElevation, vars);
|
|
2655
|
+
const pickGeometry = isDark && darkVariant?.geometry ? darkVariant.geometry : tokens.geometry;
|
|
2656
|
+
emitGeometry(pickGeometry, vars);
|
|
2657
|
+
return vars;
|
|
2658
|
+
}
|
|
2659
|
+
function emitDensity(density, vars) {
|
|
2660
|
+
if (!density) return;
|
|
2661
|
+
applyFlat(density.spacing, DENSITY_SPACING_VARS, vars);
|
|
2662
|
+
applyFlat(density, DENSITY_ELEMENT_VARS, vars);
|
|
2663
|
+
}
|
|
2664
|
+
function typeSizeKeyStr(k) {
|
|
2665
|
+
return k;
|
|
2666
|
+
}
|
|
2667
|
+
function typeWeightStr(w) {
|
|
2668
|
+
return w;
|
|
2669
|
+
}
|
|
2670
|
+
function emitTypeIntent(name, intent, vars) {
|
|
2671
|
+
const sizeKey = typeSizeKeyStr(intent.size);
|
|
2672
|
+
const weight = typeWeightStr(intent.weight);
|
|
2673
|
+
vars[`--intent-${name}-size`] = `var(--text-${sizeKey})`;
|
|
2674
|
+
vars[`--intent-${name}-weight`] = `var(--font-weight-${weight})`;
|
|
2675
|
+
vars[`--intent-${name}-leading`] = `var(--leading-${sizeKey})`;
|
|
2676
|
+
}
|
|
2677
|
+
function emitTypeScale(ts, vars) {
|
|
2678
|
+
if (!ts) return;
|
|
2679
|
+
applyFlat(ts, TYPE_FAMILY_VARS, vars);
|
|
2680
|
+
if (ts.scale) {
|
|
2681
|
+
const s = ts.scale;
|
|
2682
|
+
for (const k of TYPE_SIZE_KEYS) {
|
|
2683
|
+
const entry = s[k];
|
|
2684
|
+
if (entry !== void 0) {
|
|
2685
|
+
vars[`--text-${k}`] = entry.size;
|
|
2686
|
+
vars[`--leading-${k}`] = entry.lineHeight;
|
|
2687
|
+
}
|
|
2688
|
+
}
|
|
2689
|
+
}
|
|
2690
|
+
if (ts.intents) {
|
|
2691
|
+
const i = ts.intents;
|
|
2692
|
+
for (const { key, cssName } of TYPE_INTENT_VARS) {
|
|
2693
|
+
const intent = i[key];
|
|
2694
|
+
if (intent) emitTypeIntent(cssName, intent, vars);
|
|
2695
|
+
}
|
|
2696
|
+
}
|
|
2697
|
+
}
|
|
2698
|
+
function emitMotionIntent(name, intent, vars) {
|
|
2699
|
+
vars[`--intent-${name}-duration`] = `var(--duration-${intent.duration})`;
|
|
2700
|
+
vars[`--intent-${name}-easing`] = `var(--easing-${intent.easing})`;
|
|
2701
|
+
}
|
|
2702
|
+
function emitMotion(m, vars) {
|
|
2703
|
+
if (!m) return;
|
|
2704
|
+
if (m.durations) {
|
|
2705
|
+
const d = m.durations;
|
|
2706
|
+
for (const k of MOTION_DURATION_KEYS) {
|
|
2707
|
+
const v = d[k];
|
|
2708
|
+
if (v !== void 0) vars[`--duration-${k}`] = v;
|
|
2709
|
+
}
|
|
2710
|
+
}
|
|
2711
|
+
if (m.easings) {
|
|
2712
|
+
const e = m.easings;
|
|
2713
|
+
for (const k of MOTION_EASING_KEYS) {
|
|
2714
|
+
const v = e[k];
|
|
2715
|
+
if (v !== void 0) vars[`--easing-${k}`] = v;
|
|
2716
|
+
}
|
|
2717
|
+
}
|
|
2718
|
+
if (m.intents) {
|
|
2719
|
+
const i = m.intents;
|
|
2720
|
+
for (const { key, cssName } of MOTION_INTENT_VARS) {
|
|
2721
|
+
const intent = i[key];
|
|
2722
|
+
if (intent) emitMotionIntent(cssName, intent, vars);
|
|
2723
|
+
}
|
|
2724
|
+
}
|
|
2725
|
+
}
|
|
2726
|
+
function emitIconography(i, vars) {
|
|
2727
|
+
applyFlat(i, ICONOGRAPHY_VARS, vars);
|
|
2728
|
+
}
|
|
2729
|
+
function emitElevation(e, vars) {
|
|
2730
|
+
applyFlat(e, ELEVATION_VARS, vars);
|
|
2731
|
+
}
|
|
2732
|
+
function emitGeometry(g, vars) {
|
|
2733
|
+
applyFlat(g, GEOMETRY_VARS, vars);
|
|
2734
|
+
}
|
|
2735
|
+
function resolveThemeForRuntime(theme) {
|
|
2736
|
+
if (theme === void 0) return void 0;
|
|
2737
|
+
if (typeof theme === "string") return void 0;
|
|
2738
|
+
return theme;
|
|
2739
|
+
}
|
|
2740
|
+
|
|
2741
|
+
// lib/iconNativeMap.ts
|
|
2742
|
+
var ICON_FALLBACK = {
|
|
2743
|
+
sfSymbol: "questionmark.circle",
|
|
2744
|
+
materialSymbol: "help"
|
|
2745
|
+
};
|
|
2746
|
+
var ICON_NATIVE_MAP = {
|
|
2747
|
+
// --- navigation & chrome ---
|
|
2748
|
+
"home": { sfSymbol: "house", materialSymbol: "home" },
|
|
2749
|
+
"menu": { sfSymbol: "line.3.horizontal", materialSymbol: "menu" },
|
|
2750
|
+
"more-horizontal": { sfSymbol: "ellipsis", materialSymbol: "more_horiz" },
|
|
2751
|
+
"more-vertical": { sfSymbol: "ellipsis", materialSymbol: "more_vert" },
|
|
2752
|
+
"chevron-right": { sfSymbol: "chevron.right", materialSymbol: "chevron_right" },
|
|
2753
|
+
"chevron-left": { sfSymbol: "chevron.left", materialSymbol: "chevron_left" },
|
|
2754
|
+
"chevron-up": { sfSymbol: "chevron.up", materialSymbol: "keyboard_arrow_up" },
|
|
2755
|
+
"chevron-down": { sfSymbol: "chevron.down", materialSymbol: "keyboard_arrow_down" },
|
|
2756
|
+
"chevrons-left": { sfSymbol: "chevron.left.2", materialSymbol: "keyboard_double_arrow_left" },
|
|
2757
|
+
"chevrons-right": { sfSymbol: "chevron.right.2", materialSymbol: "keyboard_double_arrow_right" },
|
|
2758
|
+
"chevrons-up-down": { sfSymbol: "chevron.up.chevron.down", materialSymbol: "unfold_more" },
|
|
2759
|
+
"arrow-left": { sfSymbol: "arrow.left", materialSymbol: "arrow_back" },
|
|
2760
|
+
"arrow-right": { sfSymbol: "arrow.right", materialSymbol: "arrow_forward" },
|
|
2761
|
+
"arrow-up": { sfSymbol: "arrow.up", materialSymbol: "arrow_upward" },
|
|
2762
|
+
"arrow-down": { sfSymbol: "arrow.down", materialSymbol: "arrow_downward" },
|
|
2763
|
+
"arrow-up-right": { sfSymbol: "arrow.up.right", materialSymbol: "north_east" },
|
|
2764
|
+
"arrow-down-left": { sfSymbol: "arrow.down.left", materialSymbol: "south_west" },
|
|
2765
|
+
"corner-up-left": { sfSymbol: "arrow.turn.up.left", materialSymbol: "subdirectory_arrow_left" },
|
|
2766
|
+
"corner-down-right": { sfSymbol: "arrow.turn.down.right", materialSymbol: "subdirectory_arrow_right" },
|
|
2767
|
+
"external-link": { sfSymbol: "arrow.up.forward.square", materialSymbol: "open_in_new" },
|
|
2768
|
+
"log-out": { sfSymbol: "rectangle.portrait.and.arrow.right", materialSymbol: "logout" },
|
|
2769
|
+
"log-in": { sfSymbol: "arrow.right.square", materialSymbol: "login" },
|
|
2770
|
+
// `left_panel_open`/`right_panel_open` (Material Symbols) have no
|
|
2771
|
+
// `Icons.Filled.*` member in androidx `material-icons-extended` (a newer
|
|
2772
|
+
// Material-Symbols-only pair) — `first_page`/`last_page` are the closest
|
|
2773
|
+
// directional stand-ins that actually compile (verified wave C5).
|
|
2774
|
+
"panel-left": { sfSymbol: "sidebar.left", materialSymbol: "first_page" },
|
|
2775
|
+
"panel-right": { sfSymbol: "sidebar.right", materialSymbol: "last_page" },
|
|
2776
|
+
"sidebar": { sfSymbol: "sidebar.left", materialSymbol: "view_sidebar" },
|
|
2777
|
+
"layout-grid": { sfSymbol: "square.grid.2x2", materialSymbol: "grid_view" },
|
|
2778
|
+
"layout-list": { sfSymbol: "list.bullet", materialSymbol: "view_list" },
|
|
2779
|
+
"grid": { sfSymbol: "square.grid.2x2", materialSymbol: "grid_view" },
|
|
2780
|
+
"list": { sfSymbol: "list.bullet", materialSymbol: "list" },
|
|
2781
|
+
// --- actions ---
|
|
2782
|
+
"plus": { sfSymbol: "plus", materialSymbol: "add" },
|
|
2783
|
+
"plus-circle": { sfSymbol: "plus.circle", materialSymbol: "add_circle" },
|
|
2784
|
+
"minus": { sfSymbol: "minus", materialSymbol: "remove" },
|
|
2785
|
+
"minus-circle": { sfSymbol: "minus.circle", materialSymbol: "remove_circle" },
|
|
2786
|
+
"x": { sfSymbol: "xmark", materialSymbol: "close" },
|
|
2787
|
+
"close": { sfSymbol: "xmark", materialSymbol: "close" },
|
|
2788
|
+
"check": { sfSymbol: "checkmark", materialSymbol: "check" },
|
|
2789
|
+
"check-circle": { sfSymbol: "checkmark.circle", materialSymbol: "check_circle" },
|
|
2790
|
+
"check-square": { sfSymbol: "checkmark.square", materialSymbol: "check_box" },
|
|
2791
|
+
"x-circle": { sfSymbol: "xmark.circle", materialSymbol: "cancel" },
|
|
2792
|
+
"trash": { sfSymbol: "trash", materialSymbol: "delete" },
|
|
2793
|
+
"trash-2": { sfSymbol: "trash", materialSymbol: "delete" },
|
|
2794
|
+
"edit": { sfSymbol: "pencil", materialSymbol: "edit" },
|
|
2795
|
+
"edit-2": { sfSymbol: "pencil", materialSymbol: "edit" },
|
|
2796
|
+
"edit-3": { sfSymbol: "pencil", materialSymbol: "edit" },
|
|
2797
|
+
"pencil": { sfSymbol: "pencil", materialSymbol: "edit" },
|
|
2798
|
+
"copy": { sfSymbol: "doc.on.doc", materialSymbol: "content_copy" },
|
|
2799
|
+
"clipboard": { sfSymbol: "clipboard", materialSymbol: "content_paste" },
|
|
2800
|
+
"save": { sfSymbol: "square.and.arrow.down", materialSymbol: "save" },
|
|
2801
|
+
"download": { sfSymbol: "arrow.down.circle", materialSymbol: "download" },
|
|
2802
|
+
"upload": { sfSymbol: "arrow.up.circle", materialSymbol: "upload" },
|
|
2803
|
+
"share": { sfSymbol: "square.and.arrow.up", materialSymbol: "share" },
|
|
2804
|
+
"share-2": { sfSymbol: "square.and.arrow.up", materialSymbol: "share" },
|
|
2805
|
+
"refresh-cw": { sfSymbol: "arrow.clockwise", materialSymbol: "refresh" },
|
|
2806
|
+
"refresh": { sfSymbol: "arrow.clockwise", materialSymbol: "refresh" },
|
|
2807
|
+
"rotate-cw": { sfSymbol: "arrow.clockwise", materialSymbol: "rotate_right" },
|
|
2808
|
+
"rotate-ccw": { sfSymbol: "arrow.counterclockwise", materialSymbol: "rotate_left" },
|
|
2809
|
+
"undo": { sfSymbol: "arrow.uturn.backward", materialSymbol: "undo" },
|
|
2810
|
+
"redo": { sfSymbol: "arrow.uturn.forward", materialSymbol: "redo" },
|
|
2811
|
+
"filter": { sfSymbol: "line.3.horizontal.decrease.circle", materialSymbol: "filter_list" },
|
|
2812
|
+
"sliders": { sfSymbol: "slider.horizontal.3", materialSymbol: "tune" },
|
|
2813
|
+
"search": { sfSymbol: "magnifyingglass", materialSymbol: "search" },
|
|
2814
|
+
"zoom-in": { sfSymbol: "plus.magnifyingglass", materialSymbol: "zoom_in" },
|
|
2815
|
+
"zoom-out": { sfSymbol: "minus.magnifyingglass", materialSymbol: "zoom_out" },
|
|
2816
|
+
"settings": { sfSymbol: "gearshape", materialSymbol: "settings" },
|
|
2817
|
+
"lock": { sfSymbol: "lock", materialSymbol: "lock" },
|
|
2818
|
+
"unlock": { sfSymbol: "lock.open", materialSymbol: "lock_open" },
|
|
2819
|
+
"eye": { sfSymbol: "eye", materialSymbol: "visibility" },
|
|
2820
|
+
"eye-off": { sfSymbol: "eye.slash", materialSymbol: "visibility_off" },
|
|
2821
|
+
"link": { sfSymbol: "link", materialSymbol: "link" },
|
|
2822
|
+
"link-2": { sfSymbol: "link", materialSymbol: "link" },
|
|
2823
|
+
"send": { sfSymbol: "paperplane", materialSymbol: "send" },
|
|
2824
|
+
"power": { sfSymbol: "power", materialSymbol: "power_settings_new" },
|
|
2825
|
+
"scissors": { sfSymbol: "scissors", materialSymbol: "content_cut" },
|
|
2826
|
+
// `ink_eraser` has no `Icons.Filled.*` member in androidx
|
|
2827
|
+
// `material-icons-extended` (newer Material-Symbols-only) — `backspace`
|
|
2828
|
+
// is the closest "erase" glyph that actually compiles (verified wave C5).
|
|
2829
|
+
"eraser": { sfSymbol: "eraser", materialSymbol: "backspace" },
|
|
2830
|
+
"stop": { sfSymbol: "stop.fill", materialSymbol: "stop" },
|
|
2831
|
+
"sort-asc": { sfSymbol: "arrow.up", materialSymbol: "arrow_upward" },
|
|
2832
|
+
"sort-desc": { sfSymbol: "arrow.down", materialSymbol: "arrow_downward" },
|
|
2833
|
+
// --- files ---
|
|
2834
|
+
"file": { sfSymbol: "doc", materialSymbol: "description" },
|
|
2835
|
+
"file-text": { sfSymbol: "doc.text", materialSymbol: "description" },
|
|
2836
|
+
"file-plus": { sfSymbol: "doc.badge.plus", materialSymbol: "note_add" },
|
|
2837
|
+
"file-minus": { sfSymbol: "doc.badge.minus", materialSymbol: "note" },
|
|
2838
|
+
"folder": { sfSymbol: "folder", materialSymbol: "folder" },
|
|
2839
|
+
"folder-open": { sfSymbol: "folder", materialSymbol: "folder_open" },
|
|
2840
|
+
"paperclip": { sfSymbol: "paperclip", materialSymbol: "attach_file" },
|
|
2841
|
+
"image": { sfSymbol: "photo", materialSymbol: "image" },
|
|
2842
|
+
"archive": { sfSymbol: "archivebox", materialSymbol: "archive" },
|
|
2843
|
+
"printer": { sfSymbol: "printer", materialSymbol: "print" },
|
|
2844
|
+
"book": { sfSymbol: "book", materialSymbol: "menu_book" },
|
|
2845
|
+
"bookmark": { sfSymbol: "bookmark", materialSymbol: "bookmark" },
|
|
2846
|
+
// --- communication ---
|
|
2847
|
+
"mail": { sfSymbol: "envelope", materialSymbol: "mail" },
|
|
2848
|
+
"inbox": { sfSymbol: "tray", materialSymbol: "inbox" },
|
|
2849
|
+
"message-circle": { sfSymbol: "bubble.left", materialSymbol: "chat_bubble" },
|
|
2850
|
+
"message-square": { sfSymbol: "bubble.left", materialSymbol: "forum" },
|
|
2851
|
+
"phone": { sfSymbol: "phone", materialSymbol: "call" },
|
|
2852
|
+
"bell": { sfSymbol: "bell", materialSymbol: "notifications" },
|
|
2853
|
+
"bell-off": { sfSymbol: "bell.slash", materialSymbol: "notifications_off" },
|
|
2854
|
+
"user": { sfSymbol: "person", materialSymbol: "person" },
|
|
2855
|
+
"users": { sfSymbol: "person.2", materialSymbol: "group" },
|
|
2856
|
+
"user-plus": { sfSymbol: "person.badge.plus", materialSymbol: "person_add" },
|
|
2857
|
+
"user-circle": { sfSymbol: "person.crop.circle", materialSymbol: "account_circle" },
|
|
2858
|
+
// --- status ---
|
|
2859
|
+
"info": { sfSymbol: "info.circle", materialSymbol: "info" },
|
|
2860
|
+
"alert-circle": { sfSymbol: "exclamationmark.circle", materialSymbol: "error" },
|
|
2861
|
+
"alert-triangle": { sfSymbol: "exclamationmark.triangle", materialSymbol: "warning" },
|
|
2862
|
+
"help-circle": { sfSymbol: "questionmark.circle", materialSymbol: "help" },
|
|
2863
|
+
"star": { sfSymbol: "star", materialSymbol: "star" },
|
|
2864
|
+
"heart": { sfSymbol: "heart", materialSymbol: "favorite" },
|
|
2865
|
+
"flag": { sfSymbol: "flag", materialSymbol: "flag" },
|
|
2866
|
+
"tag": { sfSymbol: "tag", materialSymbol: "label" },
|
|
2867
|
+
"clock": { sfSymbol: "clock", materialSymbol: "schedule" },
|
|
2868
|
+
"calendar": { sfSymbol: "calendar", materialSymbol: "calendar_month" },
|
|
2869
|
+
// `progress_activity` has no `Icons.Filled.*` member in androidx
|
|
2870
|
+
// `material-icons-extended` (newer Material-Symbols-only) — `autorenew`
|
|
2871
|
+
// is the closest spinner/loading glyph that actually compiles (verified
|
|
2872
|
+
// wave C5).
|
|
2873
|
+
"loader": { sfSymbol: "arrow.triangle.2.circlepath", materialSymbol: "autorenew" },
|
|
2874
|
+
"loader-2": { sfSymbol: "arrow.triangle.2.circlepath", materialSymbol: "autorenew" },
|
|
2875
|
+
"activity": { sfSymbol: "waveform.path.ecg", materialSymbol: "monitor_heart" },
|
|
2876
|
+
"smile": { sfSymbol: "face.smiling", materialSymbol: "sentiment_satisfied" },
|
|
2877
|
+
// --- media ---
|
|
2878
|
+
"play": { sfSymbol: "play.fill", materialSymbol: "play_arrow" },
|
|
2879
|
+
"pause": { sfSymbol: "pause.fill", materialSymbol: "pause" },
|
|
2880
|
+
"skip-forward": { sfSymbol: "forward.fill", materialSymbol: "skip_next" },
|
|
2881
|
+
"skip-back": { sfSymbol: "backward.fill", materialSymbol: "skip_previous" },
|
|
2882
|
+
"volume-2": { sfSymbol: "speaker.wave.2", materialSymbol: "volume_up" },
|
|
2883
|
+
"volume": { sfSymbol: "speaker.wave.2", materialSymbol: "volume_up" },
|
|
2884
|
+
"volume-x": { sfSymbol: "speaker.slash", materialSymbol: "volume_off" },
|
|
2885
|
+
"volume-off": { sfSymbol: "speaker.slash", materialSymbol: "volume_off" },
|
|
2886
|
+
"camera": { sfSymbol: "camera", materialSymbol: "photo_camera" },
|
|
2887
|
+
"mic": { sfSymbol: "mic", materialSymbol: "mic" },
|
|
2888
|
+
"video": { sfSymbol: "video", materialSymbol: "videocam" },
|
|
2889
|
+
// --- editing / typography ---
|
|
2890
|
+
"type": { sfSymbol: "textformat", materialSymbol: "text_fields" },
|
|
2891
|
+
"bold": { sfSymbol: "bold", materialSymbol: "format_bold" },
|
|
2892
|
+
"italic": { sfSymbol: "italic", materialSymbol: "format_italic" },
|
|
2893
|
+
"underline": { sfSymbol: "underline", materialSymbol: "format_underlined" },
|
|
2894
|
+
"align-left": { sfSymbol: "text.alignleft", materialSymbol: "format_align_left" },
|
|
2895
|
+
"align-center": { sfSymbol: "text.aligncenter", materialSymbol: "format_align_center" },
|
|
2896
|
+
"align-right": { sfSymbol: "text.alignright", materialSymbol: "format_align_right" },
|
|
2897
|
+
"indent": { sfSymbol: "increase.indent", materialSymbol: "format_indent_increase" },
|
|
2898
|
+
// --- misc ---
|
|
2899
|
+
"shopping-cart": { sfSymbol: "cart", materialSymbol: "shopping_cart" },
|
|
2900
|
+
"credit-card": { sfSymbol: "creditcard", materialSymbol: "credit_card" },
|
|
2901
|
+
"map-pin": { sfSymbol: "mappin", materialSymbol: "location_on" },
|
|
2902
|
+
"globe": { sfSymbol: "globe", materialSymbol: "public" },
|
|
2903
|
+
"wifi": { sfSymbol: "wifi", materialSymbol: "wifi" },
|
|
2904
|
+
"battery": { sfSymbol: "battery.100", materialSymbol: "battery_full" },
|
|
2905
|
+
"moon": { sfSymbol: "moon", materialSymbol: "dark_mode" },
|
|
2906
|
+
"sun": { sfSymbol: "sun.max", materialSymbol: "light_mode" },
|
|
2907
|
+
"square": { sfSymbol: "square", materialSymbol: "crop_square" },
|
|
2908
|
+
"circle": { sfSymbol: "circle", materialSymbol: "circle" }
|
|
2909
|
+
};
|
|
2910
|
+
var ICON_ALIASES = [
|
|
2911
|
+
"close",
|
|
2912
|
+
"trash",
|
|
2913
|
+
"loader",
|
|
2914
|
+
"stop",
|
|
2915
|
+
"volume",
|
|
2916
|
+
"volume-off",
|
|
2917
|
+
"refresh",
|
|
2918
|
+
"share",
|
|
2919
|
+
"sort-asc",
|
|
2920
|
+
"sort-desc"
|
|
2921
|
+
];
|
|
2922
|
+
function resolveNativeIcon(name) {
|
|
2923
|
+
const direct = ICON_NATIVE_MAP[name];
|
|
2924
|
+
if (direct) return direct;
|
|
2925
|
+
if (ICON_ALIASES.includes(name)) {
|
|
2926
|
+
const aliased = ICON_NATIVE_MAP[name];
|
|
2927
|
+
if (aliased) return aliased;
|
|
2928
|
+
}
|
|
2929
|
+
return ICON_FALLBACK;
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
export { ApiError, DEFAULT_CONFIG, DENSITY_ELEMENT_VARS, DENSITY_SPACING_VARS, EDITOR_MOTIONS, EDITOR_OPERATORS, ELEVATION_VARS, GEOMETRY_VARS, ICONOGRAPHY_VARS, ICON_ALIASES, ICON_FALLBACK, ICON_NATIVE_MAP, INDENT_UNIT, JAZARI_COLORS, LEGACY_PREFIXES, MOTION_DURATION_KEYS, MOTION_EASING_KEYS, MOTION_INTENT_VARS, TYPE_FAMILY_VARS, TYPE_INTENT_VARS, TYPE_SIZE_KEYS, apiClient, applyMotion, applyOperator, arrowheadPath, bindCanvasCapture, bindEventBus, bindLastDrawables, bindTraitStateGetter, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, extractOutputsFromTransitions, extractStateMachine, formatDate, formatDateTime, formatGuard, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTraitSnapshots, getTransitions, getTransitionsForTrait, humanizeEnumValue, humanizeFieldName, initDebugShortcut, isDebugEnabled, isEditableTarget, isEditorMotion, isEditorOperator, keyMapCode, lockIconPath, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, motionRange, onDebugToggle, parseContentSegments, parseLessonSegments, parseMarkdownWithCodeBlocks, pipeIconPath, profilerOnRender, recordGuardEvaluation, recordServerResponse, recordTransition, registerCheck, registerTick, registerTrait, registerTraitSnapshot, renderStateMachineToDomData, renderStateMachineToSvg, resolveImageUrl, resolveKeyMapEvent, resolveNativeIcon, resolveThemeForRuntime, setDebugEnabled, setEntityProvider, setTickActive, sortRows, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, themeTokensToCssVars, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, usePerfBuffer, waitForTransition };
|
package/dist/marketing/index.cjs
CHANGED
|
@@ -4103,11 +4103,10 @@ var tagVariantMap = {
|
|
|
4103
4103
|
};
|
|
4104
4104
|
var backgroundStyles = {
|
|
4105
4105
|
dark: "bg-foreground text-background",
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
].join(" "),
|
|
4106
|
+
// A single bracket value: joining this as two array entries put a space
|
|
4107
|
+
// inside the class (Tailwind splits utilities on whitespace), so neither
|
|
4108
|
+
// half was a valid utility and the gradient rendered as nothing.
|
|
4109
|
+
gradient: "bg-[radial-gradient(ellipse_at_top,var(--color-primary)/0.08,transparent_60%),radial-gradient(ellipse_at_bottom_right,var(--color-accent)/0.06,transparent_50%)] bg-background",
|
|
4111
4110
|
subtle: "bg-muted/30"
|
|
4112
4111
|
};
|
|
4113
4112
|
var MarketingImage = ({ src, alt, className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
package/dist/marketing/index.js
CHANGED
|
@@ -4082,11 +4082,10 @@ var tagVariantMap = {
|
|
|
4082
4082
|
};
|
|
4083
4083
|
var backgroundStyles = {
|
|
4084
4084
|
dark: "bg-foreground text-background",
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
].join(" "),
|
|
4085
|
+
// A single bracket value: joining this as two array entries put a space
|
|
4086
|
+
// inside the class (Tailwind splits utilities on whitespace), so neither
|
|
4087
|
+
// half was a valid utility and the gradient rendered as nothing.
|
|
4088
|
+
gradient: "bg-[radial-gradient(ellipse_at_top,var(--color-primary)/0.08,transparent_60%),radial-gradient(ellipse_at_bottom_right,var(--color-accent)/0.06,transparent_50%)] bg-background",
|
|
4090
4089
|
subtle: "bg-muted/30"
|
|
4091
4090
|
};
|
|
4092
4091
|
var MarketingImage = ({ src, alt, className }) => /* @__PURE__ */ jsx(
|