@vantageos/mosaic 0.3.1 → 0.5.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/CHANGELOG.md +88 -2
- package/LICENSE +110 -0
- package/README.md +193 -21
- package/dist/PipelineBoard-FucyGArR.d.cts +759 -0
- package/dist/PipelineBoard-FucyGArR.d.ts +759 -0
- package/dist/PipelineBoard.markdown-DIcvrS-2.d.cts +16 -0
- package/dist/PipelineBoard.markdown-DIcvrS-2.d.ts +16 -0
- package/dist/{StatusBadge.schema-1tOjB4Ir.d.cts → StatusBadge.schema-BEjSH2_4.d.cts} +2 -2
- package/dist/{StatusBadge.schema-1tOjB4Ir.d.ts → StatusBadge.schema-BEjSH2_4.d.ts} +2 -2
- package/dist/{Tabs.schema-BzcEyeq8.d.cts → Tabs.schema-Dqr6vwV3.d.cts} +2 -2
- package/dist/{Tabs.schema-BzcEyeq8.d.ts → Tabs.schema-Dqr6vwV3.d.ts} +2 -2
- package/dist/Timeline-Coo_3tA_.d.cts +114 -0
- package/dist/Timeline-Coo_3tA_.d.ts +114 -0
- package/dist/Timeline.markdown-C6UPDv1H.d.cts +4 -0
- package/dist/Timeline.markdown-C6UPDv1H.d.ts +4 -0
- package/dist/TransactionPreview-BzWDn8kE.d.cts +391 -0
- package/dist/TransactionPreview-BzWDn8kE.d.ts +391 -0
- package/dist/TransactionPreview.markdown-Dpb0VYgN.d.cts +7 -0
- package/dist/TransactionPreview.markdown-Dpb0VYgN.d.ts +7 -0
- package/dist/artifacts.cjs +190 -2
- package/dist/artifacts.cjs.map +1 -1
- package/dist/artifacts.js +190 -2
- package/dist/artifacts.js.map +1 -1
- package/dist/confirmation.cjs +728 -2
- package/dist/confirmation.cjs.map +1 -1
- package/dist/confirmation.d.cts +2 -1
- package/dist/confirmation.d.ts +2 -1
- package/dist/confirmation.js +726 -4
- package/dist/confirmation.js.map +1 -1
- package/dist/display.cjs +1555 -203
- package/dist/display.cjs.map +1 -1
- package/dist/display.d.cts +6 -229
- package/dist/display.d.ts +6 -229
- package/dist/display.js +1539 -206
- package/dist/display.js.map +1 -1
- package/dist/forms.cjs +139 -46
- package/dist/forms.cjs.map +1 -1
- package/dist/forms.d.cts +2 -2
- package/dist/forms.d.ts +2 -2
- package/dist/forms.js +139 -46
- package/dist/forms.js.map +1 -1
- package/dist/host.cjs +822 -0
- package/dist/host.cjs.map +1 -0
- package/dist/host.d.cts +287 -0
- package/dist/host.d.ts +287 -0
- package/dist/host.js +794 -0
- package/dist/host.js.map +1 -0
- package/dist/{index-CwXVgtGb.d.cts → index-BadRcCbm.d.cts} +28 -11
- package/dist/{index-CwXVgtGb.d.ts → index-BadRcCbm.d.ts} +28 -11
- package/dist/index.cjs +2202 -247
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -8
- package/dist/index.d.ts +42 -8
- package/dist/index.js +2167 -251
- package/dist/index.js.map +1 -1
- package/dist/input.d.cts +2 -2
- package/dist/input.d.ts +2 -2
- package/dist/media.cjs +190 -2
- package/dist/media.cjs.map +1 -1
- package/dist/media.d.cts +1 -1
- package/dist/media.d.ts +1 -1
- package/dist/media.js +190 -2
- package/dist/media.js.map +1 -1
- package/dist/preact/artifacts.js +190 -2
- package/dist/preact/artifacts.js.map +1 -1
- package/dist/preact/confirmation.d.ts +321 -1
- package/dist/preact/confirmation.js +629 -4
- package/dist/preact/confirmation.js.map +1 -1
- package/dist/preact/display.d.ts +570 -31
- package/dist/preact/display.js +1248 -126
- package/dist/preact/display.js.map +1 -1
- package/dist/preact/forms.d.ts +32 -15
- package/dist/preact/forms.js +139 -46
- package/dist/preact/forms.js.map +1 -1
- package/dist/preact/host.d.ts +307 -0
- package/dist/preact/host.js +875 -0
- package/dist/preact/host.js.map +1 -0
- package/dist/preact/media.d.ts +37 -1
- package/dist/preact/media.js +423 -0
- package/dist/preact/media.js.map +1 -1
- package/dist/preact/progress.d.ts +92 -1
- package/dist/preact/progress.js +469 -3
- package/dist/preact/progress.js.map +1 -1
- package/dist/progress.cjs +525 -2
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.d.cts +2 -1
- package/dist/progress.d.ts +2 -1
- package/dist/progress.js +522 -3
- package/dist/progress.js.map +1 -1
- package/dist/react/artifacts.cjs +190 -2
- package/dist/react/artifacts.cjs.map +1 -1
- package/dist/react/artifacts.js +190 -2
- package/dist/react/artifacts.js.map +1 -1
- package/dist/react/confirmation.cjs +630 -2
- package/dist/react/confirmation.cjs.map +1 -1
- package/dist/react/confirmation.d.cts +3 -3
- package/dist/react/confirmation.d.ts +3 -3
- package/dist/react/confirmation.js +629 -4
- package/dist/react/confirmation.js.map +1 -1
- package/dist/react/display.cjs +1137 -123
- package/dist/react/display.cjs.map +1 -1
- package/dist/react/display.d.cts +42 -14
- package/dist/react/display.d.ts +42 -14
- package/dist/react/display.js +1122 -126
- package/dist/react/display.js.map +1 -1
- package/dist/react/forms.cjs +139 -46
- package/dist/react/forms.cjs.map +1 -1
- package/dist/react/forms.d.cts +1 -1
- package/dist/react/forms.d.ts +1 -1
- package/dist/react/forms.js +139 -46
- package/dist/react/forms.js.map +1 -1
- package/dist/react/host.cjs +910 -0
- package/dist/react/host.cjs.map +1 -0
- package/dist/react/host.d.cts +24 -0
- package/dist/react/host.d.ts +24 -0
- package/dist/react/host.js +875 -0
- package/dist/react/host.js.map +1 -0
- package/dist/react/input.d.cts +1 -1
- package/dist/react/input.d.ts +1 -1
- package/dist/react/media.cjs +426 -0
- package/dist/react/media.cjs.map +1 -1
- package/dist/react/media.d.cts +19 -1
- package/dist/react/media.d.ts +19 -1
- package/dist/react/media.js +423 -0
- package/dist/react/media.js.map +1 -1
- package/dist/react/progress.cjs +471 -2
- package/dist/react/progress.cjs.map +1 -1
- package/dist/react/progress.d.cts +1 -1
- package/dist/react/progress.d.ts +1 -1
- package/dist/react/progress.js +469 -3
- package/dist/react/progress.js.map +1 -1
- package/dist/server/resource.cjs +151 -0
- package/dist/server/resource.cjs.map +1 -0
- package/dist/server/resource.d.cts +90 -0
- package/dist/server/resource.d.ts +90 -0
- package/dist/server/resource.js +147 -0
- package/dist/server/resource.js.map +1 -0
- package/dist/server.cjs +1100 -25
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +84 -5
- package/dist/server.d.ts +84 -5
- package/dist/server.js +1087 -27
- package/dist/server.js.map +1 -1
- package/dist/tokens.cjs +73 -22
- package/dist/tokens.cjs.map +1 -1
- package/dist/tokens.d.cts +23 -3
- package/dist/tokens.d.ts +23 -3
- package/dist/tokens.js +73 -22
- package/dist/tokens.js.map +1 -1
- package/package.json +250 -231
- package/registry.yaml +51 -2
- package/dist/Alert.schema-LPJE5gFP.d.cts +0 -71
- package/dist/Alert.schema-LPJE5gFP.d.ts +0 -71
- package/dist/ProgressBar.schema-CdVYx0Wq.d.cts +0 -22
- package/dist/ProgressBar.schema-CdVYx0Wq.d.ts +0 -22
- package/dist/{ConfirmDialog-B3CQQGmJ.d.cts → ConfirmDialog-BCtOcmHe.d.cts} +1 -1
- package/dist/{ConfirmDialog-B3CQQGmJ.d.ts → ConfirmDialog-BCtOcmHe.d.ts} +1 -1
package/dist/tokens.d.cts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vantageos/mosaic-tokens — design tokens (
|
|
2
|
+
* @vantageos/mosaic-tokens — design tokens (neutral generic semantic defaults).
|
|
3
|
+
*
|
|
4
|
+
* Default semantic palette: neutral shadcn-grayscale (light values below;
|
|
5
|
+
* dark values live in tokens.css [data-theme="dark"]), sourced from
|
|
6
|
+
* @vantageos/mosaic-blocks src/styles.css (canonical). The any-debate-ai
|
|
7
|
+
* design language (bright/clean light + sophisticated dark, blue accent
|
|
8
|
+
* oklch(0.7 0.15 240)) is NOT the canonical default — it is an opt-in
|
|
9
|
+
* consumer override, see examples/anydebate-override.css.
|
|
10
|
+
*
|
|
11
|
+
* The status triads below (success/warning/danger/info/neutral) still carry
|
|
12
|
+
* their original any-debate-ai-derived values — unchanged by this realign.
|
|
3
13
|
*
|
|
4
14
|
* Framework-free, OKLCH-based, mirror of the CSS custom properties in
|
|
5
15
|
* tokens.css. Consumers can opt for either the CSS surface (Tailwind v4
|
|
@@ -8,13 +18,23 @@
|
|
|
8
18
|
*
|
|
9
19
|
* Size targets (.size-limit.json): JS bundle ≤5 KB gz, CSS ≤3 KB gz.
|
|
10
20
|
*
|
|
11
|
-
* Schema invariants (enforced by mosaic-tokens-coherence-test
|
|
21
|
+
* Schema invariants (enforced by mosaic-tokens-coherence-test):
|
|
12
22
|
* - Every CSS var has a JS counterpart (and vice versa).
|
|
13
|
-
* - Color shades 50 < 500 < 700 monotonic luminance.
|
|
23
|
+
* - Color shades 50 < 500 < 700 monotonic luminance (light mode).
|
|
14
24
|
* - Spacing scale ascending, ratio 1.5x average (4 → 64 px).
|
|
15
25
|
* - Typography scale uses 1.25x ratio (12 → 38 px).
|
|
16
26
|
* - Shadow elevation 0 < 1 < 2 < 3 < 4 < 5 monotonic blur radius.
|
|
17
27
|
* - Radii strictly ascending (none → full).
|
|
28
|
+
*
|
|
29
|
+
* KEY COMPATIBILITY: all keys present in 0.2.1 are preserved unchanged.
|
|
30
|
+
* New additive keys in 0.3.0:
|
|
31
|
+
* colors: background, foreground, card, card-foreground, popover,
|
|
32
|
+
* popover-foreground, primary, primary-foreground, secondary,
|
|
33
|
+
* secondary-foreground, muted, muted-foreground, accent,
|
|
34
|
+
* accent-foreground, destructive, destructive-foreground,
|
|
35
|
+
* border, input, ring (semantic UI slots from anydebate)
|
|
36
|
+
* typography: font-sans, font-mono (font-family tokens)
|
|
37
|
+
* motion: duration-slower (500ms entrance animation)
|
|
18
38
|
*/
|
|
19
39
|
interface MosaicTokens {
|
|
20
40
|
readonly colors: Readonly<Record<string, string>>;
|
package/dist/tokens.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vantageos/mosaic-tokens — design tokens (
|
|
2
|
+
* @vantageos/mosaic-tokens — design tokens (neutral generic semantic defaults).
|
|
3
|
+
*
|
|
4
|
+
* Default semantic palette: neutral shadcn-grayscale (light values below;
|
|
5
|
+
* dark values live in tokens.css [data-theme="dark"]), sourced from
|
|
6
|
+
* @vantageos/mosaic-blocks src/styles.css (canonical). The any-debate-ai
|
|
7
|
+
* design language (bright/clean light + sophisticated dark, blue accent
|
|
8
|
+
* oklch(0.7 0.15 240)) is NOT the canonical default — it is an opt-in
|
|
9
|
+
* consumer override, see examples/anydebate-override.css.
|
|
10
|
+
*
|
|
11
|
+
* The status triads below (success/warning/danger/info/neutral) still carry
|
|
12
|
+
* their original any-debate-ai-derived values — unchanged by this realign.
|
|
3
13
|
*
|
|
4
14
|
* Framework-free, OKLCH-based, mirror of the CSS custom properties in
|
|
5
15
|
* tokens.css. Consumers can opt for either the CSS surface (Tailwind v4
|
|
@@ -8,13 +18,23 @@
|
|
|
8
18
|
*
|
|
9
19
|
* Size targets (.size-limit.json): JS bundle ≤5 KB gz, CSS ≤3 KB gz.
|
|
10
20
|
*
|
|
11
|
-
* Schema invariants (enforced by mosaic-tokens-coherence-test
|
|
21
|
+
* Schema invariants (enforced by mosaic-tokens-coherence-test):
|
|
12
22
|
* - Every CSS var has a JS counterpart (and vice versa).
|
|
13
|
-
* - Color shades 50 < 500 < 700 monotonic luminance.
|
|
23
|
+
* - Color shades 50 < 500 < 700 monotonic luminance (light mode).
|
|
14
24
|
* - Spacing scale ascending, ratio 1.5x average (4 → 64 px).
|
|
15
25
|
* - Typography scale uses 1.25x ratio (12 → 38 px).
|
|
16
26
|
* - Shadow elevation 0 < 1 < 2 < 3 < 4 < 5 monotonic blur radius.
|
|
17
27
|
* - Radii strictly ascending (none → full).
|
|
28
|
+
*
|
|
29
|
+
* KEY COMPATIBILITY: all keys present in 0.2.1 are preserved unchanged.
|
|
30
|
+
* New additive keys in 0.3.0:
|
|
31
|
+
* colors: background, foreground, card, card-foreground, popover,
|
|
32
|
+
* popover-foreground, primary, primary-foreground, secondary,
|
|
33
|
+
* secondary-foreground, muted, muted-foreground, accent,
|
|
34
|
+
* accent-foreground, destructive, destructive-foreground,
|
|
35
|
+
* border, input, ring (semantic UI slots from anydebate)
|
|
36
|
+
* typography: font-sans, font-mono (font-family tokens)
|
|
37
|
+
* motion: duration-slower (500ms entrance animation)
|
|
18
38
|
*/
|
|
19
39
|
interface MosaicTokens {
|
|
20
40
|
readonly colors: Readonly<Record<string, string>>;
|
package/dist/tokens.js
CHANGED
|
@@ -1,20 +1,61 @@
|
|
|
1
1
|
// ../mosaic-tokens/src/tokens.ts
|
|
2
2
|
var colors = Object.freeze({
|
|
3
|
+
// Status palette (preserved keys, anydebate-updated values)
|
|
3
4
|
"success-50": "oklch(0.965 0.040 145)",
|
|
4
5
|
"success-500": "oklch(0.660 0.180 145)",
|
|
5
6
|
"success-700": "oklch(0.470 0.140 145)",
|
|
6
7
|
"warning-50": "oklch(0.975 0.045 85)",
|
|
7
8
|
"warning-500": "oklch(0.770 0.170 85)",
|
|
8
9
|
"warning-700": "oklch(0.560 0.145 65)",
|
|
9
|
-
|
|
10
|
-
"danger-
|
|
11
|
-
"danger-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
"info-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
10
|
+
// anydebate destructive: oklch(0.577 0.245 27.325)
|
|
11
|
+
"danger-50": "oklch(0.965 0.035 27)",
|
|
12
|
+
"danger-500": "oklch(0.577 0.245 27)",
|
|
13
|
+
"danger-700": "oklch(0.400 0.180 27)",
|
|
14
|
+
// anydebate info/primary accent (dark mode blue): oklch(0.7 0.15 240)
|
|
15
|
+
"info-50": "oklch(0.970 0.030 240)",
|
|
16
|
+
"info-500": "oklch(0.700 0.150 240)",
|
|
17
|
+
"info-700": "oklch(0.500 0.130 240)",
|
|
18
|
+
// anydebate neutral axis — light: bg oklch(0.98 0 0), fg oklch(0.15 0 0)
|
|
19
|
+
"neutral-50": "oklch(0.980 0 0)",
|
|
20
|
+
"neutral-500": "oklch(0.450 0 0)",
|
|
21
|
+
"neutral-700": "oklch(0.150 0 0)",
|
|
22
|
+
// Additive semantic UI slots — neutral generic defaults (light mode),
|
|
23
|
+
// sourced from @vantageos/mosaic-blocks src/styles.css :root. Any-debate-ai's
|
|
24
|
+
// brand values now live only in examples/anydebate-override.css.
|
|
25
|
+
background: "oklch(1 0 0)",
|
|
26
|
+
foreground: "oklch(0.145 0 0)",
|
|
27
|
+
card: "oklch(1 0 0)",
|
|
28
|
+
"card-foreground": "oklch(0.145 0 0)",
|
|
29
|
+
popover: "oklch(1 0 0)",
|
|
30
|
+
"popover-foreground": "oklch(0.145 0 0)",
|
|
31
|
+
primary: "oklch(0.205 0 0)",
|
|
32
|
+
"primary-foreground": "oklch(0.985 0 0)",
|
|
33
|
+
secondary: "oklch(0.97 0 0)",
|
|
34
|
+
"secondary-foreground": "oklch(0.205 0 0)",
|
|
35
|
+
muted: "oklch(0.97 0 0)",
|
|
36
|
+
"muted-foreground": "oklch(0.556 0 0)",
|
|
37
|
+
accent: "oklch(0.97 0 0)",
|
|
38
|
+
"accent-foreground": "oklch(0.205 0 0)",
|
|
39
|
+
destructive: "oklch(0.577 0.245 27.325)",
|
|
40
|
+
"destructive-foreground": "oklch(0.985 0 0)",
|
|
41
|
+
border: "oklch(0.922 0 0)",
|
|
42
|
+
input: "oklch(0.922 0 0)",
|
|
43
|
+
ring: "oklch(0.708 0 0)",
|
|
44
|
+
// Sidebar (v0.3.1) — EXACTLY 4 keys, derived from real consumption on the
|
|
45
|
+
// one real consumer (mosaic-blocks). See tokens.css for the derivation
|
|
46
|
+
// command and the declared-divergence rationale for NOT shipping the
|
|
47
|
+
// other 4 of the shadcn 8-var convention.
|
|
48
|
+
sidebar: "oklch(1 0 0)",
|
|
49
|
+
"sidebar-foreground": "oklch(0.145 0 0)",
|
|
50
|
+
"sidebar-accent": "oklch(0.97 0 0)",
|
|
51
|
+
"sidebar-border": "oklch(0.922 0 0)",
|
|
52
|
+
// Chart series (v0.3.1) — declared divergence: added on request, not on
|
|
53
|
+
// measured consumer demand. See tokens.css for rationale. NO alias.
|
|
54
|
+
"chart-1": "oklch(0.650 0.200 240)",
|
|
55
|
+
"chart-2": "oklch(0.650 0.180 145)",
|
|
56
|
+
"chart-3": "oklch(0.700 0.170 85)",
|
|
57
|
+
"chart-4": "oklch(0.600 0.220 27)",
|
|
58
|
+
"chart-5": "oklch(0.550 0.180 300)"
|
|
18
59
|
});
|
|
19
60
|
var spacing = Object.freeze({
|
|
20
61
|
"1": "4px",
|
|
@@ -27,6 +68,10 @@ var spacing = Object.freeze({
|
|
|
27
68
|
"16": "64px"
|
|
28
69
|
});
|
|
29
70
|
var typography = Object.freeze({
|
|
71
|
+
// Font families (additive)
|
|
72
|
+
"font-sans": "Inter, ui-sans-serif, system-ui, sans-serif",
|
|
73
|
+
"font-mono": 'ui-monospace, "Geist Mono", "Cascadia Code", monospace',
|
|
74
|
+
// Size scale (preserved keys, values unchanged — scale invariant maintained)
|
|
30
75
|
"size-xs": "12px",
|
|
31
76
|
"size-sm": "14px",
|
|
32
77
|
"size-base": "16px",
|
|
@@ -34,9 +79,11 @@ var typography = Object.freeze({
|
|
|
34
79
|
"size-xl": "24px",
|
|
35
80
|
"size-2xl": "30px",
|
|
36
81
|
"size-3xl": "38px",
|
|
82
|
+
// Line heights (preserved)
|
|
37
83
|
"lh-tight": "1.2",
|
|
38
84
|
"lh-normal": "1.5",
|
|
39
85
|
"lh-relaxed": "1.6",
|
|
86
|
+
// Weights (preserved)
|
|
40
87
|
"weight-regular": "400",
|
|
41
88
|
"weight-medium": "500",
|
|
42
89
|
"weight-semibold": "600",
|
|
@@ -44,30 +91,34 @@ var typography = Object.freeze({
|
|
|
44
91
|
});
|
|
45
92
|
var shadows = Object.freeze({
|
|
46
93
|
"0": "none",
|
|
47
|
-
"1": "0 1px 2px 0 oklch(0.
|
|
48
|
-
"2": "0 2px 4px -1px oklch(0.
|
|
49
|
-
"3": "0 4px 8px -2px oklch(0.
|
|
50
|
-
"4": "0 8px 16px -4px oklch(0.
|
|
51
|
-
"5": "0 16px 32px -8px oklch(0.
|
|
94
|
+
"1": "0 1px 2px 0 oklch(0.040 0 0 / 0.05)",
|
|
95
|
+
"2": "0 2px 4px -1px oklch(0.040 0 0 / 0.08), 0 1px 2px -1px oklch(0.040 0 0 / 0.06)",
|
|
96
|
+
"3": "0 4px 8px -2px oklch(0.040 0 0 / 0.10), 0 2px 4px -2px oklch(0.040 0 0 / 0.06)",
|
|
97
|
+
"4": "0 8px 16px -4px oklch(0.040 0 0 / 0.12), 0 4px 8px -4px oklch(0.040 0 0 / 0.08)",
|
|
98
|
+
"5": "0 16px 32px -8px oklch(0.040 0 0 / 0.16), 0 8px 16px -8px oklch(0.040 0 0 / 0.10)"
|
|
52
99
|
});
|
|
53
100
|
var radii = Object.freeze({
|
|
54
101
|
none: "0px",
|
|
55
|
-
xs: "
|
|
56
|
-
sm: "
|
|
57
|
-
md: "
|
|
58
|
-
lg: "
|
|
59
|
-
xl: "
|
|
102
|
+
xs: "4px",
|
|
103
|
+
sm: "8px",
|
|
104
|
+
md: "10px",
|
|
105
|
+
lg: "12px",
|
|
106
|
+
xl: "16px",
|
|
60
107
|
full: "9999px"
|
|
61
108
|
});
|
|
62
109
|
var motion = Object.freeze({
|
|
63
|
-
"duration-fast": "
|
|
64
|
-
"duration-base": "
|
|
110
|
+
"duration-fast": "100ms",
|
|
111
|
+
"duration-base": "200ms",
|
|
65
112
|
"duration-slow": "300ms",
|
|
113
|
+
"duration-slower": "500ms",
|
|
66
114
|
"easing-linear": "linear",
|
|
67
115
|
"easing-ease": "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
68
116
|
"easing-in": "cubic-bezier(0.4, 0, 1, 1)",
|
|
69
117
|
"easing-out": "cubic-bezier(0, 0, 0.2, 1)",
|
|
70
|
-
"easing-in-out": "cubic-bezier(0.4, 0, 0.2, 1)"
|
|
118
|
+
"easing-in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
119
|
+
// Declared divergence (v0.3.1): no proven consumer, added per Pi
|
|
120
|
+
// arbitration. NO alias — see tokens.css for rationale.
|
|
121
|
+
"easing-out-expo": "cubic-bezier(0.16, 1, 0.3, 1)"
|
|
71
122
|
});
|
|
72
123
|
var tokens = Object.freeze({
|
|
73
124
|
colors,
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../mosaic-tokens/src/tokens.ts"],"names":[],"mappings":";AA8BO,IAAM,MAAA,GAAiC,OAAO,MAAA,CAAO;AAAA,EAC1D,YAAA,EAAc,wBAAA;AAAA,EACd,aAAA,EAAe,wBAAA;AAAA,EACf,aAAA,EAAe,wBAAA;AAAA,EACf,YAAA,EAAc,uBAAA;AAAA,EACd,aAAA,EAAe,uBAAA;AAAA,EACf,aAAA,EAAe,uBAAA;AAAA,EACf,WAAA,EAAa,uBAAA;AAAA,EACb,YAAA,EAAc,uBAAA;AAAA,EACd,YAAA,EAAc,uBAAA;AAAA,EACd,SAAA,EAAW,wBAAA;AAAA,EACX,UAAA,EAAY,wBAAA;AAAA,EACZ,UAAA,EAAY,wBAAA;AAAA,EACZ,YAAA,EAAc,wBAAA;AAAA,EACd,aAAA,EAAe,wBAAA;AAAA,EACf,aAAA,EAAe;AACjB,CAAC;AAGM,IAAM,OAAA,GAAmC,OAAO,MAAA,CAAO;AAAA,EAC5D,GAAA,EAAK,KAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AACR,CAAC;AAGM,IAAM,UAAA,GAAyC,OAAO,MAAA,CAAO;AAAA,EAClE,SAAA,EAAW,MAAA;AAAA,EACX,SAAA,EAAW,MAAA;AAAA,EACX,WAAA,EAAa,MAAA;AAAA,EACb,SAAA,EAAW,MAAA;AAAA,EACX,SAAA,EAAW,MAAA;AAAA,EACX,UAAA,EAAY,MAAA;AAAA,EACZ,UAAA,EAAY,MAAA;AAAA,EACZ,UAAA,EAAY,KAAA;AAAA,EACZ,WAAA,EAAa,KAAA;AAAA,EACb,YAAA,EAAc,KAAA;AAAA,EACd,gBAAA,EAAkB,KAAA;AAAA,EAClB,eAAA,EAAiB,KAAA;AAAA,EACjB,iBAAA,EAAmB,KAAA;AAAA,EACnB,aAAA,EAAe;AACjB,CAAC;AAGM,IAAM,OAAA,GAAmC,OAAO,MAAA,CAAO;AAAA,EAC5D,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,2CAAA;AAAA,EACL,GAAA,EAAK,4FAAA;AAAA,EACL,GAAA,EAAK,4FAAA;AAAA,EACL,GAAA,EAAK,6FAAA;AAAA,EACL,GAAA,EAAK;AACP,CAAC;AAGM,IAAM,KAAA,GAA+B,OAAO,MAAA,CAAO;AAAA,EACxD,IAAA,EAAM,KAAA;AAAA,EACN,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,IAAA,EAAM;AACR,CAAC;AAGM,IAAM,MAAA,GAAiC,OAAO,MAAA,CAAO;AAAA,EAC1D,eAAA,EAAiB,MAAA;AAAA,EACjB,eAAA,EAAiB,OAAA;AAAA,EACjB,eAAA,EAAiB,OAAA;AAAA,EACjB,eAAA,EAAiB,QAAA;AAAA,EACjB,aAAA,EAAe,8BAAA;AAAA,EACf,WAAA,EAAa,4BAAA;AAAA,EACb,YAAA,EAAc,4BAAA;AAAA,EACd,eAAA,EAAiB;AACnB,CAAC;AAEM,IAAM,MAAA,GAAuB,OAAO,MAAA,CAAO;AAAA,EAChD,MAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC;AAED,IAAO,cAAA,GAAQ","file":"tokens.js","sourcesContent":["/**\n * @vantageos/mosaic-tokens — design tokens (T3-B implementation).\n *\n * Framework-free, OKLCH-based, mirror of the CSS custom properties in\n * tokens.css. Consumers can opt for either the CSS surface (Tailwind v4\n * + @theme inline) or the JS surface (typed runtime access in JSX styles,\n * Storybook stories, Playwright assertions, snapshot tests).\n *\n * Size targets (.size-limit.json): JS bundle ≤5 KB gz, CSS ≤3 KB gz.\n *\n * Schema invariants (enforced by mosaic-tokens-coherence-test in T3-C):\n * - Every CSS var has a JS counterpart (and vice versa).\n * - Color shades 50 < 500 < 700 monotonic luminance.\n * - Spacing scale ascending, ratio 1.5x average (4 → 64 px).\n * - Typography scale uses 1.25x ratio (12 → 38 px).\n * - Shadow elevation 0 < 1 < 2 < 3 < 4 < 5 monotonic blur radius.\n * - Radii strictly ascending (none → full).\n */\n\nexport interface MosaicTokens {\n readonly colors: Readonly<Record<string, string>>;\n readonly spacing: Readonly<Record<string, string>>;\n readonly typography: Readonly<Record<string, string>>;\n readonly shadows: Readonly<Record<string, string>>;\n readonly radii: Readonly<Record<string, string>>;\n readonly motion: Readonly<Record<string, string>>;\n}\n\n// Colors — semantic statuses × 3 shades (50/500/700), OKLCH.\n// 50 = surface tint, 500 = brand body, 700 = accessible contrast on light bg.\nexport const colors: MosaicTokens[\"colors\"] = Object.freeze({\n \"success-50\": \"oklch(0.965 0.040 145)\",\n \"success-500\": \"oklch(0.660 0.180 145)\",\n \"success-700\": \"oklch(0.470 0.140 145)\",\n \"warning-50\": \"oklch(0.975 0.045 85)\",\n \"warning-500\": \"oklch(0.770 0.170 85)\",\n \"warning-700\": \"oklch(0.560 0.145 65)\",\n \"danger-50\": \"oklch(0.965 0.035 25)\",\n \"danger-500\": \"oklch(0.640 0.205 25)\",\n \"danger-700\": \"oklch(0.460 0.180 25)\",\n \"info-50\": \"oklch(0.970 0.035 250)\",\n \"info-500\": \"oklch(0.650 0.170 250)\",\n \"info-700\": \"oklch(0.460 0.150 250)\",\n \"neutral-50\": \"oklch(0.980 0.005 250)\",\n \"neutral-500\": \"oklch(0.580 0.012 250)\",\n \"neutral-700\": \"oklch(0.380 0.010 250)\",\n});\n\n// Spacing — 4 → 64 px scale.\nexport const spacing: MosaicTokens[\"spacing\"] = Object.freeze({\n \"1\": \"4px\",\n \"2\": \"8px\",\n \"3\": \"12px\",\n \"4\": \"16px\",\n \"6\": \"24px\",\n \"8\": \"32px\",\n \"12\": \"48px\",\n \"16\": \"64px\",\n});\n\n// Typography — 1.25x font-size scale + line-height + weight.\nexport const typography: MosaicTokens[\"typography\"] = Object.freeze({\n \"size-xs\": \"12px\",\n \"size-sm\": \"14px\",\n \"size-base\": \"16px\",\n \"size-lg\": \"20px\",\n \"size-xl\": \"24px\",\n \"size-2xl\": \"30px\",\n \"size-3xl\": \"38px\",\n \"lh-tight\": \"1.2\",\n \"lh-normal\": \"1.5\",\n \"lh-relaxed\": \"1.6\",\n \"weight-regular\": \"400\",\n \"weight-medium\": \"500\",\n \"weight-semibold\": \"600\",\n \"weight-bold\": \"700\",\n});\n\n// Shadows — 6 elevation steps, OKLCH neutral tint.\nexport const shadows: MosaicTokens[\"shadows\"] = Object.freeze({\n \"0\": \"none\",\n \"1\": \"0 1px 2px 0 oklch(0.200 0.010 250 / 0.05)\",\n \"2\": \"0 2px 4px -1px oklch(0.200 0.010 250 / 0.08), 0 1px 2px -1px oklch(0.200 0.010 250 / 0.06)\",\n \"3\": \"0 4px 8px -2px oklch(0.200 0.010 250 / 0.10), 0 2px 4px -2px oklch(0.200 0.010 250 / 0.06)\",\n \"4\": \"0 8px 16px -4px oklch(0.200 0.010 250 / 0.12), 0 4px 8px -4px oklch(0.200 0.010 250 / 0.08)\",\n \"5\": \"0 16px 32px -8px oklch(0.200 0.010 250 / 0.16), 0 8px 16px -8px oklch(0.200 0.010 250 / 0.10)\",\n});\n\n// Radii — strictly ascending (none → full).\nexport const radii: MosaicTokens[\"radii\"] = Object.freeze({\n none: \"0px\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"6px\",\n lg: \"8px\",\n xl: \"12px\",\n full: \"9999px\",\n});\n\n// Motion — durations + easing curves.\nexport const motion: MosaicTokens[\"motion\"] = Object.freeze({\n \"duration-fast\": \"75ms\",\n \"duration-base\": \"150ms\",\n \"duration-slow\": \"300ms\",\n \"easing-linear\": \"linear\",\n \"easing-ease\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easing-in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"easing-out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"easing-in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n});\n\nexport const tokens: MosaicTokens = Object.freeze({\n colors,\n spacing,\n typography,\n shadows,\n radii,\n motion,\n});\n\nexport default tokens;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../mosaic-tokens/src/tokens.ts"],"names":[],"mappings":"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","file":"tokens.js","sourcesContent":["/**\n * @vantageos/mosaic-tokens — design tokens (neutral generic semantic defaults).\n *\n * Default semantic palette: neutral shadcn-grayscale (light values below;\n * dark values live in tokens.css [data-theme=\"dark\"]), sourced from\n * @vantageos/mosaic-blocks src/styles.css (canonical). The any-debate-ai\n * design language (bright/clean light + sophisticated dark, blue accent\n * oklch(0.7 0.15 240)) is NOT the canonical default — it is an opt-in\n * consumer override, see examples/anydebate-override.css.\n *\n * The status triads below (success/warning/danger/info/neutral) still carry\n * their original any-debate-ai-derived values — unchanged by this realign.\n *\n * Framework-free, OKLCH-based, mirror of the CSS custom properties in\n * tokens.css. Consumers can opt for either the CSS surface (Tailwind v4\n * + @theme inline) or the JS surface (typed runtime access in JSX styles,\n * Storybook stories, Playwright assertions, snapshot tests).\n *\n * Size targets (.size-limit.json): JS bundle ≤5 KB gz, CSS ≤3 KB gz.\n *\n * Schema invariants (enforced by mosaic-tokens-coherence-test):\n * - Every CSS var has a JS counterpart (and vice versa).\n * - Color shades 50 < 500 < 700 monotonic luminance (light mode).\n * - Spacing scale ascending, ratio 1.5x average (4 → 64 px).\n * - Typography scale uses 1.25x ratio (12 → 38 px).\n * - Shadow elevation 0 < 1 < 2 < 3 < 4 < 5 monotonic blur radius.\n * - Radii strictly ascending (none → full).\n *\n * KEY COMPATIBILITY: all keys present in 0.2.1 are preserved unchanged.\n * New additive keys in 0.3.0:\n * colors: background, foreground, card, card-foreground, popover,\n * popover-foreground, primary, primary-foreground, secondary,\n * secondary-foreground, muted, muted-foreground, accent,\n * accent-foreground, destructive, destructive-foreground,\n * border, input, ring (semantic UI slots from anydebate)\n * typography: font-sans, font-mono (font-family tokens)\n * motion: duration-slower (500ms entrance animation)\n */\n\nexport interface MosaicTokens {\n readonly colors: Readonly<Record<string, string>>;\n readonly spacing: Readonly<Record<string, string>>;\n readonly typography: Readonly<Record<string, string>>;\n readonly shadows: Readonly<Record<string, string>>;\n readonly radii: Readonly<Record<string, string>>;\n readonly motion: Readonly<Record<string, string>>;\n}\n\n// ---------------------------------------------------------------------------\n// Colors — semantic statuses × 3 shades (50/500/700) OKLCH + semantic UI slots.\n// 50 = surface tint, 500 = brand body, 700 = accessible contrast on light bg.\n//\n// Status triads (danger/info/neutral) and semantic UI slots (destructive/\n// primary/etc.) are SEPARATE token families that happen to share an OKLCH\n// design system — they are not aliases of each other:\n// danger-500 (status, unchanged) = oklch(0.577 0.245 27) — close to, but\n// NOT identical to, destructive (semantic slot, now neutral-sourced) =\n// oklch(0.577 0.245 27.325). Coincidence of the neutral default, not a\n// mapping.\n// info-500 (status, unchanged, any-debate-ai blue) = oklch(0.7 0.15 240) —\n// primary (semantic slot) is now neutral oklch(0.205 0 0), NOT the blue\n// accent. An earlier version of this file conflated the two; they are\n// different tokens.\n// neutral-50/700 (status triad, unchanged) = oklch(0.98 0 0) / oklch(0.15 0 0).\n//\n// Additive semantic UI keys mirror shadcn's CSS custom property names\n// (background, foreground, card, etc.) for drop-in compatibility with\n// shadcn-based consumers (including any-debate-ai, via the opt-in override\n// in examples/anydebate-override.css).\n// ---------------------------------------------------------------------------\nexport const colors: MosaicTokens[\"colors\"] = Object.freeze({\n // Status palette (preserved keys, anydebate-updated values)\n \"success-50\": \"oklch(0.965 0.040 145)\",\n \"success-500\": \"oklch(0.660 0.180 145)\",\n \"success-700\": \"oklch(0.470 0.140 145)\",\n \"warning-50\": \"oklch(0.975 0.045 85)\",\n \"warning-500\": \"oklch(0.770 0.170 85)\",\n \"warning-700\": \"oklch(0.560 0.145 65)\",\n // anydebate destructive: oklch(0.577 0.245 27.325)\n \"danger-50\": \"oklch(0.965 0.035 27)\",\n \"danger-500\": \"oklch(0.577 0.245 27)\",\n \"danger-700\": \"oklch(0.400 0.180 27)\",\n // anydebate info/primary accent (dark mode blue): oklch(0.7 0.15 240)\n \"info-50\": \"oklch(0.970 0.030 240)\",\n \"info-500\": \"oklch(0.700 0.150 240)\",\n \"info-700\": \"oklch(0.500 0.130 240)\",\n // anydebate neutral axis — light: bg oklch(0.98 0 0), fg oklch(0.15 0 0)\n \"neutral-50\": \"oklch(0.980 0 0)\",\n \"neutral-500\": \"oklch(0.450 0 0)\",\n \"neutral-700\": \"oklch(0.150 0 0)\",\n\n // Additive semantic UI slots — neutral generic defaults (light mode),\n // sourced from @vantageos/mosaic-blocks src/styles.css :root. Any-debate-ai's\n // brand values now live only in examples/anydebate-override.css.\n background: \"oklch(1 0 0)\",\n foreground: \"oklch(0.145 0 0)\",\n card: \"oklch(1 0 0)\",\n \"card-foreground\": \"oklch(0.145 0 0)\",\n popover: \"oklch(1 0 0)\",\n \"popover-foreground\": \"oklch(0.145 0 0)\",\n primary: \"oklch(0.205 0 0)\",\n \"primary-foreground\": \"oklch(0.985 0 0)\",\n secondary: \"oklch(0.97 0 0)\",\n \"secondary-foreground\": \"oklch(0.205 0 0)\",\n muted: \"oklch(0.97 0 0)\",\n \"muted-foreground\": \"oklch(0.556 0 0)\",\n accent: \"oklch(0.97 0 0)\",\n \"accent-foreground\": \"oklch(0.205 0 0)\",\n destructive: \"oklch(0.577 0.245 27.325)\",\n \"destructive-foreground\": \"oklch(0.985 0 0)\",\n border: \"oklch(0.922 0 0)\",\n input: \"oklch(0.922 0 0)\",\n ring: \"oklch(0.708 0 0)\",\n\n // Sidebar (v0.3.1) — EXACTLY 4 keys, derived from real consumption on the\n // one real consumer (mosaic-blocks). See tokens.css for the derivation\n // command and the declared-divergence rationale for NOT shipping the\n // other 4 of the shadcn 8-var convention.\n sidebar: \"oklch(1 0 0)\",\n \"sidebar-foreground\": \"oklch(0.145 0 0)\",\n \"sidebar-accent\": \"oklch(0.97 0 0)\",\n \"sidebar-border\": \"oklch(0.922 0 0)\",\n\n // Chart series (v0.3.1) — declared divergence: added on request, not on\n // measured consumer demand. See tokens.css for rationale. NO alias.\n \"chart-1\": \"oklch(0.650 0.200 240)\",\n \"chart-2\": \"oklch(0.650 0.180 145)\",\n \"chart-3\": \"oklch(0.700 0.170 85)\",\n \"chart-4\": \"oklch(0.600 0.220 27)\",\n \"chart-5\": \"oklch(0.550 0.180 300)\",\n});\n\n// ---------------------------------------------------------------------------\n// Spacing — 4 → 64 px scale (unchanged from 0.2.1).\n// ---------------------------------------------------------------------------\nexport const spacing: MosaicTokens[\"spacing\"] = Object.freeze({\n \"1\": \"4px\",\n \"2\": \"8px\",\n \"3\": \"12px\",\n \"4\": \"16px\",\n \"6\": \"24px\",\n \"8\": \"32px\",\n \"12\": \"48px\",\n \"16\": \"64px\",\n});\n\n// ---------------------------------------------------------------------------\n// Typography — 1.25x font-size scale + line-height + weight + font families.\n// anydebate uses Inter (primary) and Geist Mono for code.\n// New additive keys: font-sans, font-mono.\n// ---------------------------------------------------------------------------\nexport const typography: MosaicTokens[\"typography\"] = Object.freeze({\n // Font families (additive)\n \"font-sans\": \"Inter, ui-sans-serif, system-ui, sans-serif\",\n \"font-mono\": 'ui-monospace, \"Geist Mono\", \"Cascadia Code\", monospace',\n // Size scale (preserved keys, values unchanged — scale invariant maintained)\n \"size-xs\": \"12px\",\n \"size-sm\": \"14px\",\n \"size-base\": \"16px\",\n \"size-lg\": \"20px\",\n \"size-xl\": \"24px\",\n \"size-2xl\": \"30px\",\n \"size-3xl\": \"38px\",\n // Line heights (preserved)\n \"lh-tight\": \"1.2\",\n \"lh-normal\": \"1.5\",\n \"lh-relaxed\": \"1.6\",\n // Weights (preserved)\n \"weight-regular\": \"400\",\n \"weight-medium\": \"500\",\n \"weight-semibold\": \"600\",\n \"weight-bold\": \"700\",\n});\n\n// ---------------------------------------------------------------------------\n// Shadows — 6 elevation steps, anydebate near-black tint (oklch(0.04 0 0)).\n// ---------------------------------------------------------------------------\nexport const shadows: MosaicTokens[\"shadows\"] = Object.freeze({\n \"0\": \"none\",\n \"1\": \"0 1px 2px 0 oklch(0.040 0 0 / 0.05)\",\n \"2\": \"0 2px 4px -1px oklch(0.040 0 0 / 0.08), 0 1px 2px -1px oklch(0.040 0 0 / 0.06)\",\n \"3\": \"0 4px 8px -2px oklch(0.040 0 0 / 0.10), 0 2px 4px -2px oklch(0.040 0 0 / 0.06)\",\n \"4\": \"0 8px 16px -4px oklch(0.040 0 0 / 0.12), 0 4px 8px -4px oklch(0.040 0 0 / 0.08)\",\n \"5\": \"0 16px 32px -8px oklch(0.040 0 0 / 0.16), 0 8px 16px -8px oklch(0.040 0 0 / 0.10)\",\n});\n\n// ---------------------------------------------------------------------------\n// Radii — anydebate base 0.75rem (12px), strictly ascending.\n// Source: --radius: 0.75rem + calc-derived scale in app/globals.css.\n// sm = 12px - 4px = 8px, md = 12px - 2px = 10px, lg = 12px, xl = 12px + 4px = 16px.\n// ---------------------------------------------------------------------------\nexport const radii: MosaicTokens[\"radii\"] = Object.freeze({\n none: \"0px\",\n xs: \"4px\",\n sm: \"8px\",\n md: \"10px\",\n lg: \"12px\",\n xl: \"16px\",\n full: \"9999px\",\n});\n\n// ---------------------------------------------------------------------------\n// Motion — durations + easing curves.\n// anydebate uses tw-animate-css; durations tuned to Tailwind defaults.\n// New additive key: duration-slower (500ms) for entrance animations.\n// ---------------------------------------------------------------------------\nexport const motion: MosaicTokens[\"motion\"] = Object.freeze({\n \"duration-fast\": \"100ms\",\n \"duration-base\": \"200ms\",\n \"duration-slow\": \"300ms\",\n \"duration-slower\": \"500ms\",\n \"easing-linear\": \"linear\",\n \"easing-ease\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easing-in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"easing-out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"easing-in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n // Declared divergence (v0.3.1): no proven consumer, added per Pi\n // arbitration. NO alias — see tokens.css for rationale.\n \"easing-out-expo\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n});\n\nexport const tokens: MosaicTokens = Object.freeze({\n colors,\n spacing,\n typography,\n shadows,\n radii,\n motion,\n});\n\nexport default tokens;\n"]}
|