@flyingrobots/bijou 4.4.1 → 7.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/README.md +71 -1
- package/dist/adapters/test/index.d.ts.map +1 -1
- package/dist/adapters/test/index.js +1 -3
- package/dist/adapters/test/index.js.map +1 -1
- package/dist/adapters/test/runtime.d.ts.map +1 -1
- package/dist/adapters/test/runtime.js +4 -3
- package/dist/adapters/test/runtime.js.map +1 -1
- package/dist/context-theme.d.ts +25 -0
- package/dist/context-theme.d.ts.map +1 -1
- package/dist/context-theme.js +19 -0
- package/dist/context-theme.js.map +1 -1
- package/dist/context.d.ts +13 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +24 -3
- package/dist/context.js.map +1 -1
- package/dist/core/active-binding-collection.d.ts +49 -0
- package/dist/core/active-binding-collection.d.ts.map +1 -0
- package/dist/core/active-binding-collection.js +264 -0
- package/dist/core/active-binding-collection.js.map +1 -0
- package/dist/core/app-shell-composition.d.ts +44 -0
- package/dist/core/app-shell-composition.d.ts.map +1 -0
- package/dist/core/app-shell-composition.js +123 -0
- package/dist/core/app-shell-composition.js.map +1 -0
- package/dist/core/binding-frame-update.d.ts +18 -0
- package/dist/core/binding-frame-update.d.ts.map +1 -0
- package/dist/core/binding-frame-update.js +133 -0
- package/dist/core/binding-frame-update.js.map +1 -0
- package/dist/core/binding-lifecycle.d.ts +65 -0
- package/dist/core/binding-lifecycle.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.js +357 -0
- package/dist/core/binding-lifecycle.js.map +1 -0
- package/dist/core/binding.d.ts +192 -0
- package/dist/core/binding.d.ts.map +1 -0
- package/dist/core/binding.js +587 -0
- package/dist/core/binding.js.map +1 -0
- package/dist/core/block-metadata.d.ts +113 -0
- package/dist/core/block-metadata.d.ts.map +1 -0
- package/dist/core/block-metadata.js +376 -0
- package/dist/core/block-metadata.js.map +1 -0
- package/dist/core/block-tree-render.d.ts +17 -0
- package/dist/core/block-tree-render.d.ts.map +1 -0
- package/dist/core/block-tree-render.js +186 -0
- package/dist/core/block-tree-render.js.map +1 -0
- package/dist/core/component-metadata.d.ts +63 -0
- package/dist/core/component-metadata.d.ts.map +1 -0
- package/dist/core/component-metadata.js +158 -0
- package/dist/core/component-metadata.js.map +1 -0
- package/dist/core/components/alert-v3.d.ts.map +1 -1
- package/dist/core/components/alert-v3.js +5 -4
- package/dist/core/components/alert-v3.js.map +1 -1
- package/dist/core/components/alert.d.ts.map +1 -1
- package/dist/core/components/alert.js +7 -8
- package/dist/core/components/alert.js.map +1 -1
- package/dist/core/components/badge.d.ts.map +1 -1
- package/dist/core/components/badge.js +19 -18
- package/dist/core/components/badge.js.map +1 -1
- package/dist/core/components/box-v3.d.ts.map +1 -1
- package/dist/core/components/box-v3.js +29 -29
- package/dist/core/components/box-v3.js.map +1 -1
- package/dist/core/components/dag-edges.d.ts +28 -5
- package/dist/core/components/dag-edges.d.ts.map +1 -1
- package/dist/core/components/dag-edges.js +116 -22
- package/dist/core/components/dag-edges.js.map +1 -1
- package/dist/core/components/dag-layout.d.ts +3 -4
- package/dist/core/components/dag-layout.d.ts.map +1 -1
- package/dist/core/components/dag-layout.js +42 -9
- package/dist/core/components/dag-layout.js.map +1 -1
- package/dist/core/components/dag-render.d.ts +4 -3
- package/dist/core/components/dag-render.d.ts.map +1 -1
- package/dist/core/components/dag-render.js +209 -105
- package/dist/core/components/dag-render.js.map +1 -1
- package/dist/core/components/dag-source.d.ts +4 -0
- package/dist/core/components/dag-source.d.ts.map +1 -1
- package/dist/core/components/dag-source.js +10 -0
- package/dist/core/components/dag-source.js.map +1 -1
- package/dist/core/components/dag.d.ts +20 -4
- package/dist/core/components/dag.d.ts.map +1 -1
- package/dist/core/components/dag.js.map +1 -1
- package/dist/core/components/explainability.d.ts.map +1 -1
- package/dist/core/components/explainability.js +30 -87
- package/dist/core/components/explainability.js.map +1 -1
- package/dist/core/components/guided-flow.d.ts +32 -0
- package/dist/core/components/guided-flow.d.ts.map +1 -0
- package/dist/core/components/guided-flow.js +131 -0
- package/dist/core/components/guided-flow.js.map +1 -0
- package/dist/core/components/hyperlink.d.ts.map +1 -1
- package/dist/core/components/hyperlink.js +7 -4
- package/dist/core/components/hyperlink.js.map +1 -1
- package/dist/core/components/index.d.ts +5 -3
- package/dist/core/components/index.d.ts.map +1 -1
- package/dist/core/components/index.js +1 -0
- package/dist/core/components/index.js.map +1 -1
- package/dist/core/components/markdown-parse.d.ts +4 -0
- package/dist/core/components/markdown-parse.d.ts.map +1 -1
- package/dist/core/components/markdown-parse.js +66 -2
- package/dist/core/components/markdown-parse.js.map +1 -1
- package/dist/core/components/markdown-render.d.ts.map +1 -1
- package/dist/core/components/markdown-render.js +220 -14
- package/dist/core/components/markdown-render.js.map +1 -1
- package/dist/core/components/markdown.d.ts +4 -3
- package/dist/core/components/markdown.d.ts.map +1 -1
- package/dist/core/components/markdown.js +6 -5
- package/dist/core/components/markdown.js.map +1 -1
- package/dist/core/components/paginator.d.ts.map +1 -1
- package/dist/core/components/paginator.js +5 -3
- package/dist/core/components/paginator.js.map +1 -1
- package/dist/core/components/perf-overlay.d.ts.map +1 -1
- package/dist/core/components/perf-overlay.js +3 -2
- package/dist/core/components/perf-overlay.js.map +1 -1
- package/dist/core/components/preference-list.d.ts.map +1 -1
- package/dist/core/components/preference-list.js +75 -37
- package/dist/core/components/preference-list.js.map +1 -1
- package/dist/core/components/progress.d.ts.map +1 -1
- package/dist/core/components/progress.js +4 -3
- package/dist/core/components/progress.js.map +1 -1
- package/dist/core/components/separator-v3.d.ts.map +1 -1
- package/dist/core/components/separator-v3.js +11 -11
- package/dist/core/components/separator-v3.js.map +1 -1
- package/dist/core/components/separator.d.ts.map +1 -1
- package/dist/core/components/separator.js +4 -1
- package/dist/core/components/separator.js.map +1 -1
- package/dist/core/components/skeleton.d.ts.map +1 -1
- package/dist/core/components/skeleton.js +3 -2
- package/dist/core/components/skeleton.js.map +1 -1
- package/dist/core/components/surface-text.d.ts +7 -0
- package/dist/core/components/surface-text.d.ts.map +1 -1
- package/dist/core/components/surface-text.js +33 -25
- package/dist/core/components/surface-text.js.map +1 -1
- package/dist/core/components/table-v3.d.ts +5 -2
- package/dist/core/components/table-v3.d.ts.map +1 -1
- package/dist/core/components/table-v3.js +162 -37
- package/dist/core/components/table-v3.js.map +1 -1
- package/dist/core/components/table.d.ts +51 -7
- package/dist/core/components/table.d.ts.map +1 -1
- package/dist/core/components/table.js +655 -81
- package/dist/core/components/table.js.map +1 -1
- package/dist/core/fixture-promotion.d.ts +33 -0
- package/dist/core/fixture-promotion.d.ts.map +1 -0
- package/dist/core/fixture-promotion.js +62 -0
- package/dist/core/fixture-promotion.js.map +1 -0
- package/dist/core/forms/filter-interactive.d.ts.map +1 -1
- package/dist/core/forms/filter-interactive.js +2 -4
- package/dist/core/forms/filter-interactive.js.map +1 -1
- package/dist/core/forms/multiselect.d.ts.map +1 -1
- package/dist/core/forms/multiselect.js +2 -4
- package/dist/core/forms/multiselect.js.map +1 -1
- package/dist/core/forms/note.d.ts.map +1 -1
- package/dist/core/forms/note.js +2 -1
- package/dist/core/forms/note.js.map +1 -1
- package/dist/core/forms/select.d.ts.map +1 -1
- package/dist/core/forms/select.js +2 -4
- package/dist/core/forms/select.js.map +1 -1
- package/dist/core/forms/textarea-editor.d.ts.map +1 -1
- package/dist/core/forms/textarea-editor.js +7 -5
- package/dist/core/forms/textarea-editor.js.map +1 -1
- package/dist/core/layout/envelope.d.ts +174 -0
- package/dist/core/layout/envelope.d.ts.map +1 -0
- package/dist/core/layout/envelope.js +336 -0
- package/dist/core/layout/envelope.js.map +1 -0
- package/dist/core/layout/geometry.d.ts +39 -0
- package/dist/core/layout/geometry.d.ts.map +1 -0
- package/dist/core/layout/geometry.js +201 -0
- package/dist/core/layout/geometry.js.map +1 -0
- package/dist/core/mode-lowering.d.ts +48 -0
- package/dist/core/mode-lowering.d.ts.map +1 -0
- package/dist/core/mode-lowering.js +176 -0
- package/dist/core/mode-lowering.js.map +1 -0
- package/dist/core/numeric.d.ts +16 -0
- package/dist/core/numeric.d.ts.map +1 -0
- package/dist/core/numeric.js +37 -0
- package/dist/core/numeric.js.map +1 -0
- package/dist/core/render/differ.d.ts.map +1 -1
- package/dist/core/render/differ.js +15 -13
- package/dist/core/render/differ.js.map +1 -1
- package/dist/core/runtime-viewport.d.ts.map +1 -1
- package/dist/core/runtime-viewport.js +2 -3
- package/dist/core/runtime-viewport.js.map +1 -1
- package/dist/core/schema-block.d.ts +63 -0
- package/dist/core/schema-block.d.ts.map +1 -0
- package/dist/core/schema-block.js +361 -0
- package/dist/core/schema-block.js.map +1 -0
- package/dist/core/selection.d.ts +127 -0
- package/dist/core/selection.d.ts.map +1 -0
- package/dist/core/selection.js +350 -0
- package/dist/core/selection.js.map +1 -0
- package/dist/core/standard-blocks.d.ts +264 -0
- package/dist/core/standard-blocks.d.ts.map +1 -0
- package/dist/core/standard-blocks.js +2518 -0
- package/dist/core/standard-blocks.js.map +1 -0
- package/dist/core/story-capture.d.ts +48 -0
- package/dist/core/story-capture.d.ts.map +1 -0
- package/dist/core/story-capture.js +64 -0
- package/dist/core/story-capture.js.map +1 -0
- package/dist/core/text/grapheme.d.ts +51 -0
- package/dist/core/text/grapheme.d.ts.map +1 -1
- package/dist/core/text/grapheme.js +68 -0
- package/dist/core/text/grapheme.js.map +1 -1
- package/dist/core/text/icon-presentation.d.ts +10 -0
- package/dist/core/text/icon-presentation.d.ts.map +1 -0
- package/dist/core/text/icon-presentation.js +12 -0
- package/dist/core/text/icon-presentation.js.map +1 -0
- package/dist/core/text/index.d.ts +2 -1
- package/dist/core/text/index.d.ts.map +1 -1
- package/dist/core/text/index.js +2 -1
- package/dist/core/text/index.js.map +1 -1
- package/dist/core/text/wrap.d.ts.map +1 -1
- package/dist/core/text/wrap.js +37 -20
- package/dist/core/text/wrap.js.map +1 -1
- package/dist/core/theme/color.d.ts +32 -0
- package/dist/core/theme/color.d.ts.map +1 -1
- package/dist/core/theme/color.js +68 -0
- package/dist/core/theme/color.js.map +1 -1
- package/dist/core/theme/doctor.d.ts +37 -0
- package/dist/core/theme/doctor.d.ts.map +1 -0
- package/dist/core/theme/doctor.js +175 -0
- package/dist/core/theme/doctor.js.map +1 -0
- package/dist/core/theme/dtcg.d.ts.map +1 -1
- package/dist/core/theme/dtcg.js +10 -1
- package/dist/core/theme/dtcg.js.map +1 -1
- package/dist/core/theme/graph-types.d.ts +5 -0
- package/dist/core/theme/graph-types.d.ts.map +1 -1
- package/dist/core/theme/graph.d.ts.map +1 -1
- package/dist/core/theme/graph.js +52 -5
- package/dist/core/theme/graph.js.map +1 -1
- package/dist/core/theme/index.d.ts +4 -1
- package/dist/core/theme/index.d.ts.map +1 -1
- package/dist/core/theme/index.js +3 -1
- package/dist/core/theme/index.js.map +1 -1
- package/dist/core/theme/presets.d.ts +3 -2
- package/dist/core/theme/presets.d.ts.map +1 -1
- package/dist/core/theme/presets.js +22 -29
- package/dist/core/theme/presets.js.map +1 -1
- package/dist/core/theme/tokens.d.ts +1 -1
- package/dist/core/theme/tokens.d.ts.map +1 -1
- package/dist/factory.d.ts +3 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +4 -6
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +23 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -6
- package/dist/index.js.map +1 -1
- package/dist/ports/context.d.ts +6 -1
- package/dist/ports/context.d.ts.map +1 -1
- package/dist/ports/surface.d.ts +6 -4
- package/dist/ports/surface.d.ts.map +1 -1
- package/dist/ports/surface.js +40 -23
- package/dist/ports/surface.js.map +1 -1
- package/package.json +2 -2
package/dist/core/text/wrap.js
CHANGED
|
@@ -43,13 +43,32 @@ export function prepareWrappedText(str) {
|
|
|
43
43
|
function isResetEscape(raw) {
|
|
44
44
|
return raw === RESET_SGR;
|
|
45
45
|
}
|
|
46
|
+
const ESC = String.fromCharCode(27);
|
|
47
|
+
const BEL = String.fromCharCode(7);
|
|
48
|
+
const OSC8_PREFIX = `${ESC}]8;;`;
|
|
49
|
+
const OSC8_CLOSE = `${OSC8_PREFIX}${ESC}\\`;
|
|
50
|
+
const OSC8_CLOSE_BEL = `${OSC8_PREFIX}${BEL}`;
|
|
46
51
|
function isOsc8Escape(raw) {
|
|
47
|
-
return
|
|
52
|
+
return raw.startsWith(OSC8_PREFIX);
|
|
48
53
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
function isOsc8Close(raw) {
|
|
55
|
+
return raw === OSC8_CLOSE || raw === OSC8_CLOSE_BEL;
|
|
56
|
+
}
|
|
57
|
+
function finalizeWrappedLine(raw, activeStyle, activeOsc8) {
|
|
58
|
+
let result = raw;
|
|
59
|
+
if (activeOsc8.length > 0 && !result.endsWith(OSC8_CLOSE) && !result.endsWith(OSC8_CLOSE_BEL)) {
|
|
60
|
+
result += OSC8_CLOSE;
|
|
61
|
+
}
|
|
62
|
+
if (activeStyle.length > 0 && !result.endsWith(RESET_SGR)) {
|
|
63
|
+
result += RESET_SGR;
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
function activeAnsiPrefix(activeStyle, activeOsc8) {
|
|
68
|
+
return [
|
|
69
|
+
...tokenizeAnsiText(activeOsc8),
|
|
70
|
+
...tokenizeAnsiText(activeStyle),
|
|
71
|
+
].filter((part) => part.kind === 'ansi');
|
|
53
72
|
}
|
|
54
73
|
function isWhitespaceToken(token) {
|
|
55
74
|
return token.kind === 'grapheme' && /^\s+$/.test(token.raw);
|
|
@@ -86,12 +105,15 @@ function wrapPreparedLine(line, maxWidth) {
|
|
|
86
105
|
let currentTokens = [];
|
|
87
106
|
let currentWidth = 0;
|
|
88
107
|
let activeStyle = '';
|
|
108
|
+
let activeOsc8 = '';
|
|
89
109
|
let lastBreakIndex = -1;
|
|
90
110
|
let activeStyleAtLastBreak = '';
|
|
111
|
+
let activeOsc8AtLastBreak = '';
|
|
91
112
|
for (const token of line.tokens) {
|
|
92
113
|
if (token.kind === 'ansi') {
|
|
93
114
|
currentTokens.push(token);
|
|
94
115
|
if (isOsc8Escape(token.raw)) {
|
|
116
|
+
activeOsc8 = isOsc8Close(token.raw) ? '' : token.raw;
|
|
95
117
|
continue;
|
|
96
118
|
}
|
|
97
119
|
activeStyle = isResetEscape(token.raw) ? '' : activeStyle + token.raw;
|
|
@@ -102,6 +124,7 @@ function wrapPreparedLine(line, maxWidth) {
|
|
|
102
124
|
if (isWhitespaceToken(token)) {
|
|
103
125
|
lastBreakIndex = currentTokens.length - 1;
|
|
104
126
|
activeStyleAtLastBreak = activeStyle;
|
|
127
|
+
activeOsc8AtLastBreak = activeOsc8;
|
|
105
128
|
}
|
|
106
129
|
if (currentWidth <= maxWidth) {
|
|
107
130
|
continue;
|
|
@@ -109,35 +132,29 @@ function wrapPreparedLine(line, maxWidth) {
|
|
|
109
132
|
if (lastBreakIndex >= 0) {
|
|
110
133
|
const lineTokens = currentTokens.slice(0, lastBreakIndex);
|
|
111
134
|
if (tokensWidth(lineTokens) > 0) {
|
|
112
|
-
lines.push(finalizeWrappedLine(tokensRaw(lineTokens), activeStyleAtLastBreak));
|
|
135
|
+
lines.push(finalizeWrappedLine(tokensRaw(lineTokens), activeStyleAtLastBreak, activeOsc8AtLastBreak));
|
|
113
136
|
}
|
|
114
137
|
const remainder = trimLeadingWhitespaceTokens(currentTokens.slice(lastBreakIndex + 1));
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
: [
|
|
118
|
-
...tokenizeAnsiText(activeStyleAtLastBreak).filter((part) => part.kind === 'ansi'),
|
|
119
|
-
...remainder,
|
|
120
|
-
];
|
|
138
|
+
const prefix = activeAnsiPrefix(activeStyleAtLastBreak, activeOsc8AtLastBreak);
|
|
139
|
+
currentTokens = prefix.length === 0 ? remainder : [...prefix, ...remainder];
|
|
121
140
|
currentWidth = tokensWidth(currentTokens);
|
|
122
141
|
activeStyle = activeStyleAtLastBreak;
|
|
142
|
+
activeOsc8 = activeOsc8AtLastBreak;
|
|
123
143
|
lastBreakIndex = -1;
|
|
124
144
|
activeStyleAtLastBreak = activeStyle;
|
|
145
|
+
activeOsc8AtLastBreak = activeOsc8;
|
|
125
146
|
continue;
|
|
126
147
|
}
|
|
127
148
|
const lineTokens = currentTokens.slice(0, -1);
|
|
128
149
|
if (tokensWidth(lineTokens) > 0) {
|
|
129
|
-
lines.push(finalizeWrappedLine(tokensRaw(lineTokens), activeStyle));
|
|
150
|
+
lines.push(finalizeWrappedLine(tokensRaw(lineTokens), activeStyle, activeOsc8));
|
|
130
151
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
: [
|
|
134
|
-
...tokenizeAnsiText(activeStyle).filter((part) => part.kind === 'ansi'),
|
|
135
|
-
token,
|
|
136
|
-
];
|
|
152
|
+
const prefix = activeAnsiPrefix(activeStyle, activeOsc8);
|
|
153
|
+
currentTokens = prefix.length === 0 ? [token] : [...prefix, token];
|
|
137
154
|
currentWidth = token.width;
|
|
138
155
|
}
|
|
139
156
|
if (currentWidth > 0) {
|
|
140
|
-
lines.push(finalizeWrappedLine(tokensRaw(currentTokens), activeStyle));
|
|
157
|
+
lines.push(finalizeWrappedLine(tokensRaw(currentTokens), activeStyle, activeOsc8));
|
|
141
158
|
}
|
|
142
159
|
return lines.length > 0 ? lines : [''];
|
|
143
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/core/text/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAelG,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;IACzB,OAAO;QACL,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/core/text/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAelG,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;IACzB,OAAO;QACL,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;AACjC,MAAM,UAAU,GAAG,GAAG,WAAW,GAAG,GAAG,IAAI,CAAC;AAC5C,MAAM,cAAc,GAAG,GAAG,WAAW,GAAG,GAAG,EAAE,CAAC;AAE9C,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,cAAc,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,WAAmB,EAAE,UAAkB;IAC/E,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,UAAU,CAAC;IACvB,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,UAAkB;IAC/D,OAAO;QACL,GAAG,gBAAgB,CAAC,UAAU,CAAC;QAC/B,GAAG,gBAAgB,CAAC,WAAW,CAAC;KACjC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgD,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgB;IACzC,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,MAA4B;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA4B;IAC/D,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QACnD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,QAAQ,GAAG,KAAK,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAyB,EAAE,QAAgB;IACnE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAgB,EAAE,CAAC;IACpC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,sBAAsB,GAAG,EAAE,CAAC;IAChC,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;YACtE,SAAS;QACX,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;QAE5B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,sBAAsB,GAAG,WAAW,CAAC;YACrC,qBAAqB,GAAG,UAAU,CAAC;QACrC,CAAC;QAED,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAC1D,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAC5B,SAAS,CAAC,UAAU,CAAC,EACrB,sBAAsB,EACtB,qBAAqB,CACtB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,2BAA2B,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;YAC/E,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;YAC5E,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,WAAW,GAAG,sBAAsB,CAAC;YACrC,UAAU,GAAG,qBAAqB,CAAC;YACnC,cAAc,GAAG,CAAC,CAAC,CAAC;YACpB,sBAAsB,GAAG,WAAW,CAAC;YACrC,qBAAqB,GAAG,UAAU,CAAC;YACnC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,QAAgB;IAEhB,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,QAAgB;IACvD,OAAO,uBAAuB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -6,6 +6,31 @@
|
|
|
6
6
|
* preserve token modifiers.
|
|
7
7
|
*/
|
|
8
8
|
import type { RGB, TokenValue } from './tokens.js';
|
|
9
|
+
/** A pre-resolved color value that carries both hex and RGB forms. */
|
|
10
|
+
export interface ResolvedColor {
|
|
11
|
+
readonly kind: 'resolved-color';
|
|
12
|
+
readonly hex: string;
|
|
13
|
+
readonly rgb: RGB;
|
|
14
|
+
}
|
|
15
|
+
/** Public color input accepted by hot rendering paths. */
|
|
16
|
+
export type ColorRef = string | ResolvedColor;
|
|
17
|
+
/**
|
|
18
|
+
* Preserve a literal hex string as a lazy color reference.
|
|
19
|
+
*
|
|
20
|
+
* User code can keep calling styling APIs with `#rrggbb`; hot paths can
|
|
21
|
+
* later upgrade that reference via {@link resolveColor}.
|
|
22
|
+
*/
|
|
23
|
+
export declare function color(hex: string): ColorRef;
|
|
24
|
+
/** Narrow an unknown value to a pre-resolved color reference. */
|
|
25
|
+
export declare function isResolvedColor(value: unknown): value is ResolvedColor;
|
|
26
|
+
/** Resolve a color reference into its eager `{ hex, rgb }` form. */
|
|
27
|
+
export declare function resolveColor(ref: ColorRef): ResolvedColor;
|
|
28
|
+
/** Resolve a color reference when valid, otherwise return `undefined`. */
|
|
29
|
+
export declare function tryResolveColor(ref: ColorRef | undefined): ResolvedColor | undefined;
|
|
30
|
+
/** Return the canonical hex form for a color reference when available. */
|
|
31
|
+
export declare function colorHex(ref: ColorRef | undefined): string | undefined;
|
|
32
|
+
/** Return parsed RGB bytes for a color reference when available. */
|
|
33
|
+
export declare function colorRgb(ref: ColorRef | undefined): RGB | undefined;
|
|
9
34
|
/**
|
|
10
35
|
* Parse a hex color string to an RGB tuple. Supports `#RGB` and `#RRGGBB` (with or without `#`).
|
|
11
36
|
* @param hex - Hex color string to parse.
|
|
@@ -13,6 +38,13 @@ import type { RGB, TokenValue } from './tokens.js';
|
|
|
13
38
|
* @throws {Error} If the hex string is not a valid 3- or 6-digit hex color.
|
|
14
39
|
*/
|
|
15
40
|
export declare function hexToRgb(hex: string): RGB;
|
|
41
|
+
/**
|
|
42
|
+
* Parse a hex color string to an RGB tuple, returning `undefined` for invalid input.
|
|
43
|
+
*
|
|
44
|
+
* Use this when theme/runtime code wants to preserve invalid authored input
|
|
45
|
+
* without throwing, but still cache parsed bytes for valid colors.
|
|
46
|
+
*/
|
|
47
|
+
export declare function tryHexToRgb(hex: string): RGB | undefined;
|
|
16
48
|
/**
|
|
17
49
|
* Convert an RGB tuple to a `#rrggbb` hex string.
|
|
18
50
|
* @param rgb - RGB tuple to convert. Values are clamped to [0, 255].
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/theme/color.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/theme/color.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEnD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAE3C;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAOtE;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAQzD;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAUpF;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAEnE;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAUzC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAKzC;AAoGD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQrE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQpE;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,SAAM,GAAG,UAAU,CASzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAK3D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAMtE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAMxE"}
|
package/dist/core/theme/color.js
CHANGED
|
@@ -5,6 +5,60 @@
|
|
|
5
5
|
* (lighten, darken, mix, complementary, saturate, desaturate) that
|
|
6
6
|
* preserve token modifiers.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Preserve a literal hex string as a lazy color reference.
|
|
10
|
+
*
|
|
11
|
+
* User code can keep calling styling APIs with `#rrggbb`; hot paths can
|
|
12
|
+
* later upgrade that reference via {@link resolveColor}.
|
|
13
|
+
*/
|
|
14
|
+
export function color(hex) {
|
|
15
|
+
return hex;
|
|
16
|
+
}
|
|
17
|
+
/** Narrow an unknown value to a pre-resolved color reference. */
|
|
18
|
+
export function isResolvedColor(value) {
|
|
19
|
+
return typeof value === 'object'
|
|
20
|
+
&& value !== null
|
|
21
|
+
&& 'kind' in value
|
|
22
|
+
&& value.kind === 'resolved-color'
|
|
23
|
+
&& typeof value.hex === 'string'
|
|
24
|
+
&& Array.isArray(value.rgb);
|
|
25
|
+
}
|
|
26
|
+
/** Resolve a color reference into its eager `{ hex, rgb }` form. */
|
|
27
|
+
export function resolveColor(ref) {
|
|
28
|
+
if (isResolvedColor(ref))
|
|
29
|
+
return ref;
|
|
30
|
+
const rgb = hexToRgb(ref);
|
|
31
|
+
return {
|
|
32
|
+
kind: 'resolved-color',
|
|
33
|
+
hex: rgbToHex(rgb),
|
|
34
|
+
rgb,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Resolve a color reference when valid, otherwise return `undefined`. */
|
|
38
|
+
export function tryResolveColor(ref) {
|
|
39
|
+
if (ref == null)
|
|
40
|
+
return undefined;
|
|
41
|
+
if (isResolvedColor(ref))
|
|
42
|
+
return ref;
|
|
43
|
+
const rgb = tryHexToRgb(ref);
|
|
44
|
+
if (rgb == null)
|
|
45
|
+
return undefined;
|
|
46
|
+
return {
|
|
47
|
+
kind: 'resolved-color',
|
|
48
|
+
hex: rgbToHex(rgb),
|
|
49
|
+
rgb,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Return the canonical hex form for a color reference when available. */
|
|
53
|
+
export function colorHex(ref) {
|
|
54
|
+
if (ref == null)
|
|
55
|
+
return undefined;
|
|
56
|
+
return isResolvedColor(ref) ? ref.hex : ref;
|
|
57
|
+
}
|
|
58
|
+
/** Return parsed RGB bytes for a color reference when available. */
|
|
59
|
+
export function colorRgb(ref) {
|
|
60
|
+
return tryResolveColor(ref)?.rgb;
|
|
61
|
+
}
|
|
8
62
|
// ── Conversion ─────────────────────────────────────────────────────
|
|
9
63
|
/**
|
|
10
64
|
* Parse a hex color string to an RGB tuple. Supports `#RGB` and `#RRGGBB` (with or without `#`).
|
|
@@ -23,6 +77,20 @@ export function hexToRgb(hex) {
|
|
|
23
77
|
const n = parseInt(h, 16);
|
|
24
78
|
return [(n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff];
|
|
25
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Parse a hex color string to an RGB tuple, returning `undefined` for invalid input.
|
|
82
|
+
*
|
|
83
|
+
* Use this when theme/runtime code wants to preserve invalid authored input
|
|
84
|
+
* without throwing, but still cache parsed bytes for valid colors.
|
|
85
|
+
*/
|
|
86
|
+
export function tryHexToRgb(hex) {
|
|
87
|
+
try {
|
|
88
|
+
return hexToRgb(hex);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
26
94
|
/**
|
|
27
95
|
* Convert an RGB tuple to a `#rrggbb` hex string.
|
|
28
96
|
* @param rgb - RGB tuple to convert. Values are clamped to [0, 255].
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/core/theme/color.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/core/theme/color.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Theme } from './tokens.js';
|
|
2
|
+
export type ThemeDoctorSeverity = 'warning' | 'error';
|
|
3
|
+
export type ThemeDoctorIssueKind = 'invalid-color' | 'missing-token' | 'low-contrast' | 'color-reuse';
|
|
4
|
+
export interface ThemeContrastPair {
|
|
5
|
+
readonly foreground: string;
|
|
6
|
+
readonly background: string;
|
|
7
|
+
readonly minRatio?: number;
|
|
8
|
+
readonly label?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ThemeDoctorOptions {
|
|
11
|
+
readonly contrastPairs?: readonly ThemeContrastPair[];
|
|
12
|
+
readonly minContrastRatio?: number;
|
|
13
|
+
readonly maxColorReuse?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ThemeDoctorIssue {
|
|
16
|
+
readonly severity: ThemeDoctorSeverity;
|
|
17
|
+
readonly kind: ThemeDoctorIssueKind;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
readonly path?: string;
|
|
20
|
+
readonly color?: string;
|
|
21
|
+
readonly foregroundPath?: string;
|
|
22
|
+
readonly backgroundPath?: string;
|
|
23
|
+
readonly ratio?: number;
|
|
24
|
+
readonly minRatio?: number;
|
|
25
|
+
readonly limit?: number;
|
|
26
|
+
readonly count?: number;
|
|
27
|
+
readonly paths?: readonly string[];
|
|
28
|
+
}
|
|
29
|
+
export interface ThemeDoctorReport {
|
|
30
|
+
readonly themeName: string;
|
|
31
|
+
readonly passed: boolean;
|
|
32
|
+
readonly checkedTokenCount: number;
|
|
33
|
+
readonly issues: readonly ThemeDoctorIssue[];
|
|
34
|
+
}
|
|
35
|
+
export declare function doctorTheme(theme: Theme, options?: ThemeDoctorOptions): ThemeDoctorReport;
|
|
36
|
+
export declare function themeContrastRatio(foreground: string, background: string): number | undefined;
|
|
37
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/core/theme/doctor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,KAAK,EAAc,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,eAAe,GACf,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AA0BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CAsB7F;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU7F"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { parseHex } from '../render/packed-cell.js';
|
|
2
|
+
const DEFAULT_MIN_CONTRAST_RATIO = 4.5;
|
|
3
|
+
const RATIO_PRECISION = 100;
|
|
4
|
+
const RGB_MAX = 255;
|
|
5
|
+
const SRGB_LINEAR_BREAKPOINT = 0.03928;
|
|
6
|
+
const SRGB_LINEAR_DIVISOR = 12.92;
|
|
7
|
+
const SRGB_LINEAR_OFFSET = 0.055;
|
|
8
|
+
const SRGB_LINEAR_SCALE = 1.055;
|
|
9
|
+
const SRGB_LINEAR_EXPONENT = 2.4;
|
|
10
|
+
const RELATIVE_LUMINANCE_RED = 0.2126;
|
|
11
|
+
const RELATIVE_LUMINANCE_GREEN = 0.7152;
|
|
12
|
+
const RELATIVE_LUMINANCE_BLUE = 0.0722;
|
|
13
|
+
const CONTRAST_LUMINANCE_OFFSET = 0.05;
|
|
14
|
+
const MIN_REUSE_LIMIT = 1;
|
|
15
|
+
export function doctorTheme(theme, options = {}) {
|
|
16
|
+
const entries = collectThemeTokens(theme);
|
|
17
|
+
const tokenByPath = new Map(entries.map((entry) => [entry.path, entry.token]));
|
|
18
|
+
const issues = [];
|
|
19
|
+
const colorUses = [];
|
|
20
|
+
for (const entry of entries) {
|
|
21
|
+
inspectToken(entry, options.minContrastRatio ?? DEFAULT_MIN_CONTRAST_RATIO, issues, colorUses);
|
|
22
|
+
}
|
|
23
|
+
for (const pair of options.contrastPairs ?? []) {
|
|
24
|
+
inspectContrastPair(pair, tokenByPath, options.minContrastRatio ?? DEFAULT_MIN_CONTRAST_RATIO, issues);
|
|
25
|
+
}
|
|
26
|
+
inspectColorReuse(colorUses, options.maxColorReuse, issues);
|
|
27
|
+
return {
|
|
28
|
+
themeName: theme.name,
|
|
29
|
+
passed: issues.length === 0,
|
|
30
|
+
checkedTokenCount: entries.length,
|
|
31
|
+
issues,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function themeContrastRatio(foreground, background) {
|
|
35
|
+
const fg = parseHexColor(foreground);
|
|
36
|
+
const bg = parseHexColor(background);
|
|
37
|
+
if (fg === undefined || bg === undefined) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const lighter = Math.max(relativeLuminance(fg), relativeLuminance(bg));
|
|
41
|
+
const darker = Math.min(relativeLuminance(fg), relativeLuminance(bg));
|
|
42
|
+
return roundRatio((lighter + CONTRAST_LUMINANCE_OFFSET) / (darker + CONTRAST_LUMINANCE_OFFSET));
|
|
43
|
+
}
|
|
44
|
+
function collectThemeTokens(theme) {
|
|
45
|
+
const entries = [];
|
|
46
|
+
collectSectionTokens(entries, 'status', theme.status);
|
|
47
|
+
collectSectionTokens(entries, 'semantic', theme.semantic);
|
|
48
|
+
collectSectionTokens(entries, 'border', theme.border);
|
|
49
|
+
collectSectionTokens(entries, 'ui', theme.ui);
|
|
50
|
+
collectSectionTokens(entries, 'surface', theme.surface);
|
|
51
|
+
return entries;
|
|
52
|
+
}
|
|
53
|
+
function collectSectionTokens(entries, section, tokens) {
|
|
54
|
+
for (const [name, token] of Object.entries(tokens)) {
|
|
55
|
+
entries.push({ path: `${section}.${name}`, token });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function inspectToken(entry, minRatio, issues, colorUses) {
|
|
59
|
+
if (!isValidHexColor(entry.token.hex)) {
|
|
60
|
+
issues.push(invalidColorIssue(entry.path, entry.token.hex));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
colorUses.push({ path: entry.path, color: normalizeColor(entry.token.hex) });
|
|
64
|
+
}
|
|
65
|
+
if (entry.token.bg === undefined) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const bgPath = `${entry.path}.bg`;
|
|
69
|
+
if (!isValidHexColor(entry.token.bg)) {
|
|
70
|
+
issues.push(invalidColorIssue(bgPath, entry.token.bg));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
colorUses.push({ path: bgPath, color: normalizeColor(entry.token.bg) });
|
|
74
|
+
inspectResolvedContrast(entry.path, bgPath, entry.token.hex, entry.token.bg, minRatio, issues);
|
|
75
|
+
}
|
|
76
|
+
function inspectContrastPair(pair, tokenByPath, fallbackMinRatio, issues) {
|
|
77
|
+
const foreground = tokenByPath.get(pair.foreground);
|
|
78
|
+
const background = tokenByPath.get(pair.background);
|
|
79
|
+
if (foreground === undefined) {
|
|
80
|
+
issues.push(missingTokenIssue(pair.foreground));
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (background === undefined) {
|
|
84
|
+
issues.push(missingTokenIssue(pair.background));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
inspectResolvedContrast(pair.foreground, pair.background, foreground.hex, background.hex, pair.minRatio ?? fallbackMinRatio, issues);
|
|
88
|
+
}
|
|
89
|
+
function inspectResolvedContrast(foregroundPath, backgroundPath, foreground, background, minRatio, issues) {
|
|
90
|
+
const ratio = themeContrastRatio(foreground, background);
|
|
91
|
+
if (ratio === undefined || ratio >= minRatio) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
issues.push({
|
|
95
|
+
severity: 'warning',
|
|
96
|
+
kind: 'low-contrast',
|
|
97
|
+
foregroundPath,
|
|
98
|
+
backgroundPath,
|
|
99
|
+
ratio,
|
|
100
|
+
minRatio,
|
|
101
|
+
message: `${foregroundPath} on ${backgroundPath} contrast ${ratio} < ${minRatio}`,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function inspectColorReuse(colorUses, maxColorReuse, issues) {
|
|
105
|
+
if (maxColorReuse === undefined || maxColorReuse < MIN_REUSE_LIMIT) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const usesByColor = new Map();
|
|
109
|
+
for (const use of colorUses) {
|
|
110
|
+
const paths = usesByColor.get(use.color) ?? [];
|
|
111
|
+
paths.push(use.path);
|
|
112
|
+
usesByColor.set(use.color, paths);
|
|
113
|
+
}
|
|
114
|
+
for (const [color, paths] of usesByColor) {
|
|
115
|
+
if (paths.length <= maxColorReuse) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
issues.push({
|
|
119
|
+
severity: 'warning',
|
|
120
|
+
kind: 'color-reuse',
|
|
121
|
+
color,
|
|
122
|
+
limit: maxColorReuse,
|
|
123
|
+
count: paths.length,
|
|
124
|
+
paths,
|
|
125
|
+
message: `${color} reused by ${paths.length} tokens (limit ${maxColorReuse})`,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function invalidColorIssue(path, color) {
|
|
130
|
+
return {
|
|
131
|
+
severity: 'error',
|
|
132
|
+
kind: 'invalid-color',
|
|
133
|
+
path,
|
|
134
|
+
color,
|
|
135
|
+
message: `${path} has invalid color ${color}`,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function missingTokenIssue(path) {
|
|
139
|
+
return {
|
|
140
|
+
severity: 'error',
|
|
141
|
+
kind: 'missing-token',
|
|
142
|
+
path,
|
|
143
|
+
message: `${path} is missing`,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function isValidHexColor(color) {
|
|
147
|
+
return parseHexColor(color) !== undefined;
|
|
148
|
+
}
|
|
149
|
+
function parseHexColor(color) {
|
|
150
|
+
const parsed = parseHex(color);
|
|
151
|
+
if (parsed === undefined) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
const [red, green, blue] = parsed;
|
|
155
|
+
return [red, green, blue];
|
|
156
|
+
}
|
|
157
|
+
function normalizeColor(color) {
|
|
158
|
+
return color.toLowerCase();
|
|
159
|
+
}
|
|
160
|
+
function relativeLuminance(rgb) {
|
|
161
|
+
const [red, green, blue] = rgb;
|
|
162
|
+
return RELATIVE_LUMINANCE_RED * srgbChannelToLinear(red)
|
|
163
|
+
+ RELATIVE_LUMINANCE_GREEN * srgbChannelToLinear(green)
|
|
164
|
+
+ RELATIVE_LUMINANCE_BLUE * srgbChannelToLinear(blue);
|
|
165
|
+
}
|
|
166
|
+
function srgbChannelToLinear(channel) {
|
|
167
|
+
const normalized = channel / RGB_MAX;
|
|
168
|
+
return normalized <= SRGB_LINEAR_BREAKPOINT
|
|
169
|
+
? normalized / SRGB_LINEAR_DIVISOR
|
|
170
|
+
: ((normalized + SRGB_LINEAR_OFFSET) / SRGB_LINEAR_SCALE) ** SRGB_LINEAR_EXPONENT;
|
|
171
|
+
}
|
|
172
|
+
function roundRatio(value) {
|
|
173
|
+
return Math.round(value * RATIO_PRECISION) / RATIO_PRECISION;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/core/theme/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dtcg.d.ts","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAQN,MAAM,aAAa,CAAC;AAIrB,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,MAAM,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"dtcg.d.ts","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAQN,MAAM,aAAa,CAAC;AAIrB,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,MAAM,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AA8KD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,KAAK,CA6BjD;AAgDD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAiBjD;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAIrF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE;IAAE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;CAAE,EACzG,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAcvB"}
|
package/dist/core/theme/dtcg.js
CHANGED
|
@@ -147,7 +147,16 @@ const SEMANTIC_KEYS = ['success', 'error', 'warning', 'info', 'accent', 'muted',
|
|
|
147
147
|
/** All built-in border keys used when extracting from a DTCG document. */
|
|
148
148
|
const BORDER_KEYS = ['primary', 'secondary', 'success', 'warning', 'error', 'muted'];
|
|
149
149
|
/** All built-in UI element keys used when extracting from a DTCG document. */
|
|
150
|
-
const UI_KEYS = [
|
|
150
|
+
const UI_KEYS = [
|
|
151
|
+
'cursor',
|
|
152
|
+
'focusGutter',
|
|
153
|
+
'scrollThumb',
|
|
154
|
+
'scrollTrack',
|
|
155
|
+
'sectionHeader',
|
|
156
|
+
'logo',
|
|
157
|
+
'tableHeader',
|
|
158
|
+
'trackEmpty',
|
|
159
|
+
];
|
|
151
160
|
/** All built-in surface keys used when extracting from a DTCG document. */
|
|
152
161
|
const SURFACE_KEYS = ['primary', 'secondary', 'elevated', 'overlay', 'muted'];
|
|
153
162
|
/** All built-in gradient keys used when extracting from a DTCG document. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TokenValue, TextModifier } from './tokens.js';
|
|
2
|
+
import type { RGB } from './tokens.js';
|
|
2
3
|
/**
|
|
3
4
|
* Color transformation operations supported by the token graph.
|
|
4
5
|
*/
|
|
@@ -44,6 +45,10 @@ export interface TokenDefinition {
|
|
|
44
45
|
bg?: ColorDefinition;
|
|
45
46
|
/** Optional text style modifiers. */
|
|
46
47
|
modifiers?: TextModifier[];
|
|
48
|
+
/** Optional cached foreground RGB for direct-token imports. */
|
|
49
|
+
fgRGB?: RGB;
|
|
50
|
+
/** Optional cached background RGB for direct-token imports. */
|
|
51
|
+
bgRGB?: RGB;
|
|
47
52
|
}
|
|
48
53
|
/**
|
|
49
54
|
* Union of possible input values for a token path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../../../src/core/theme/graph-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../../../src/core/theme/graph-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,GAC7C;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,EAAE,EAAE,eAAe,CAAC;IACpB,4CAA4C;IAC5C,EAAE,CAAC,EAAE,eAAe,CAAC;IACrB,qCAAqC;IACrC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,+DAA+D;IAC/D,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC;CAC9C"}
|