zyzz 0.0.3 → 0.0.5
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 +34 -19
- package/dist/Config.d.ts +16 -167
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +7 -246
- package/dist/Config.js.map +1 -1
- package/dist/Style.d.ts +15 -12
- package/dist/Style.d.ts.map +1 -1
- package/dist/Style.js +51 -26
- package/dist/Style.js.map +1 -1
- package/dist/Vars.d.ts +114 -0
- package/dist/Vars.d.ts.map +1 -0
- package/dist/Vars.js +42 -0
- package/dist/Vars.js.map +1 -0
- package/dist/compiler/Graph.js +11 -8
- package/dist/compiler/Graph.js.map +1 -1
- package/dist/compiler/Native.d.ts +5 -5
- package/dist/compiler/Native.d.ts.map +1 -1
- package/dist/compiler/Native.js +21 -21
- package/dist/compiler/Native.js.map +1 -1
- package/dist/compiler/Source.d.ts +8 -6
- package/dist/compiler/Source.d.ts.map +1 -1
- package/dist/compiler/Source.js +47 -14
- package/dist/compiler/Source.js.map +1 -1
- package/dist/compiler/Transform.d.ts +1 -1
- package/dist/compiler/Transform.d.ts.map +1 -1
- package/dist/compiler/Transform.js +58 -22
- package/dist/compiler/Transform.js.map +1 -1
- package/dist/compiler/internal/Compositions.d.ts +5 -0
- package/dist/compiler/internal/Compositions.d.ts.map +1 -1
- package/dist/compiler/internal/Compositions.js +22 -3
- package/dist/compiler/internal/Compositions.js.map +1 -1
- package/dist/compiler/internal/Configurations.d.ts.map +1 -1
- package/dist/compiler/internal/Configurations.js +73 -12
- package/dist/compiler/internal/Configurations.js.map +1 -1
- package/dist/compiler/internal/Contract.d.ts +1 -1
- package/dist/compiler/internal/Contract.d.ts.map +1 -1
- package/dist/compiler/internal/Contract.js +155 -13
- package/dist/compiler/internal/Contract.js.map +1 -1
- package/dist/compiler/internal/Contributions.js +1 -1
- package/dist/compiler/internal/Contributions.js.map +1 -1
- package/dist/compiler/internal/Dynamic.js +1 -1
- package/dist/compiler/internal/Dynamic.js.map +1 -1
- package/dist/compiler/internal/Expression.d.ts +3 -0
- package/dist/compiler/internal/Expression.d.ts.map +1 -1
- package/dist/compiler/internal/Expression.js +21 -0
- package/dist/compiler/internal/Expression.js.map +1 -1
- package/dist/compiler/internal/Identifiers.d.ts +1 -1
- package/dist/compiler/internal/Identifiers.d.ts.map +1 -1
- package/dist/compiler/internal/Identifiers.js +2 -2
- package/dist/compiler/internal/Identifiers.js.map +1 -1
- package/dist/compiler/internal/NativeBindings.d.ts +1 -1
- package/dist/compiler/internal/NativeBindings.d.ts.map +1 -1
- package/dist/compiler/internal/NativeBindings.js +3 -3
- package/dist/compiler/internal/NativeBindings.js.map +1 -1
- package/dist/compiler/internal/PackedStyles.d.ts +1 -1
- package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
- package/dist/compiler/internal/PackedStyles.js +15 -25
- package/dist/compiler/internal/PackedStyles.js.map +1 -1
- package/dist/compiler/internal/Recipes.js +1 -1
- package/dist/compiler/internal/Recipes.js.map +1 -1
- package/dist/compiler/internal/Selectors.js +1 -1
- package/dist/compiler/internal/Selectors.js.map +1 -1
- package/dist/compiler/internal/Themes.d.ts +12 -3
- package/dist/compiler/internal/Themes.d.ts.map +1 -1
- package/dist/compiler/internal/Themes.js +192 -52
- package/dist/compiler/internal/Themes.js.map +1 -1
- package/dist/compiler/internal/{Variables.d.ts → Vars.d.ts} +1 -1
- package/dist/compiler/internal/Vars.d.ts.map +1 -0
- package/dist/compiler/internal/{Variables.js → Vars.js} +3 -3
- package/dist/compiler/internal/Vars.js.map +1 -0
- package/dist/default.d.ts +147 -2562
- package/dist/default.d.ts.map +1 -1
- package/dist/default.js +85 -80
- package/dist/default.js.map +2 -2
- package/dist/default.js.zyzz.json +1 -1
- package/dist/esbuild/index.d.ts +3 -0
- package/dist/esbuild/index.d.ts.map +1 -0
- package/dist/esbuild/index.js +5 -0
- package/dist/esbuild/index.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/Authoring.d.ts +1 -1
- package/dist/internal/Authoring.d.ts.map +1 -1
- package/dist/internal/Authoring.js +4 -4
- package/dist/internal/Authoring.js.map +1 -1
- package/dist/internal/Binding.d.ts +1 -1
- package/dist/internal/Binding.d.ts.map +1 -1
- package/dist/internal/Completion.d.ts +19 -0
- package/dist/internal/Completion.d.ts.map +1 -0
- package/dist/internal/Completion.js +2 -0
- package/dist/internal/Completion.js.map +1 -0
- package/dist/internal/Condition.d.ts +3 -1
- package/dist/internal/Condition.d.ts.map +1 -1
- package/dist/internal/Condition.js.map +1 -1
- package/dist/internal/Configuration.d.ts +248 -0
- package/dist/internal/Configuration.d.ts.map +1 -0
- package/dist/internal/Configuration.js +343 -0
- package/dist/internal/Configuration.js.map +1 -0
- package/dist/{Theme.d.ts → internal/Theme.d.ts} +15 -13
- package/dist/internal/Theme.d.ts.map +1 -0
- package/dist/{Theme.js → internal/Theme.js} +39 -12
- package/dist/internal/Theme.js.map +1 -0
- package/dist/internal/Token.d.ts +46 -16
- package/dist/internal/Token.d.ts.map +1 -1
- package/dist/internal/Token.js +89 -5
- package/dist/internal/Token.js.map +1 -1
- package/dist/internal/Typography.d.ts +13 -5
- package/dist/internal/Typography.d.ts.map +1 -1
- package/dist/internal/Typography.js +42 -6
- package/dist/internal/Typography.js.map +1 -1
- package/dist/internal/Value.d.ts +6 -1
- package/dist/internal/Value.d.ts.map +1 -1
- package/dist/internal/Value.js.map +1 -1
- package/dist/internal/VariableSets.d.ts +20 -0
- package/dist/internal/VariableSets.d.ts.map +1 -0
- package/dist/internal/VariableSets.js +317 -0
- package/dist/internal/VariableSets.js.map +1 -0
- package/dist/next/loader.js +15 -5
- package/dist/next/loader.js.map +1 -1
- package/dist/node/Host.d.ts.map +1 -1
- package/dist/node/Host.js +1 -1
- package/dist/node/Host.js.map +1 -1
- package/dist/react-native/Host.d.ts +2 -2
- package/dist/react-native/Host.d.ts.map +1 -1
- package/dist/react-native/Host.js +4 -4
- package/dist/react-native/Host.js.map +1 -1
- package/dist/react-native/StyleSheet.d.ts +9 -8
- package/dist/react-native/StyleSheet.d.ts.map +1 -1
- package/dist/react-native/StyleSheet.js +29 -23
- package/dist/react-native/StyleSheet.js.map +1 -1
- package/dist/react-native/Variants.d.ts +3 -3
- package/dist/react-native/Variants.d.ts.map +1 -1
- package/dist/react-native/Variants.js +2 -2
- package/dist/react-native/react.d.ts +1 -1
- package/dist/react-native/react.d.ts.map +1 -1
- package/dist/react-native/react.js +5 -5
- package/dist/react-native/react.js.map +1 -1
- package/dist/rollup/index.d.ts +3 -0
- package/dist/rollup/index.d.ts.map +1 -0
- package/dist/rollup/index.js +5 -0
- package/dist/rollup/index.js.map +1 -0
- package/dist/runtime/Appearance.d.ts +7 -7
- package/dist/runtime/Appearance.d.ts.map +1 -1
- package/dist/runtime/Appearance.js +15 -15
- package/dist/runtime/Appearance.js.map +1 -1
- package/dist/runtime/Dynamic.d.ts.map +1 -1
- package/dist/runtime/Dynamic.js +4 -1
- package/dist/runtime/Dynamic.js.map +1 -1
- package/dist/runtime/NativeContext.d.ts +4 -4
- package/dist/runtime/NativeContext.d.ts.map +1 -1
- package/dist/runtime/NativeContext.js +5 -5
- package/dist/runtime/NativeContext.js.map +1 -1
- package/dist/runtime/NativeDynamic.d.ts +1 -1
- package/dist/runtime/NativeDynamic.d.ts.map +1 -1
- package/dist/runtime/NativeDynamic.js.map +1 -1
- package/dist/runtime/Props.d.ts +1 -1
- package/dist/runtime/Props.js +3 -3
- package/dist/runtime/Props.js.map +1 -1
- package/dist/runtime/Selection.d.ts +14 -10
- package/dist/runtime/Selection.d.ts.map +1 -1
- package/dist/runtime/Selection.js +19 -18
- package/dist/runtime/Selection.js.map +1 -1
- package/dist/styleFunction.d.ts +14 -14
- package/dist/styleFunction.d.ts.map +1 -1
- package/dist/styleFunction.js.map +1 -1
- package/dist/unplugin/index.d.ts +20 -0
- package/dist/unplugin/index.d.ts.map +1 -0
- package/dist/unplugin/index.js +498 -0
- package/dist/unplugin/index.js.map +1 -0
- package/dist/variants.d.ts +3 -3
- package/dist/variants.d.ts.map +1 -1
- package/dist/variants.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +6 -3
- package/dist/vite/index.js.map +1 -1
- package/dist/web/Css.d.ts +4 -3
- package/dist/web/Css.d.ts.map +1 -1
- package/dist/web/Css.js +4 -4
- package/dist/web/Css.js.map +1 -1
- package/dist/web/internal/Themes.d.ts +3 -2
- package/dist/web/internal/Themes.d.ts.map +1 -1
- package/dist/web/internal/Themes.js +42 -6
- package/dist/web/internal/Themes.js.map +1 -1
- package/dist/webpack/index.d.ts +3 -0
- package/dist/webpack/index.d.ts.map +1 -0
- package/dist/webpack/index.js +5 -0
- package/dist/webpack/index.js.map +1 -0
- package/package.json +23 -2
- package/src/Config.ts +43 -685
- package/src/Style.ts +97 -34
- package/src/Vars.ts +299 -0
- package/src/compiler/Graph.ts +14 -9
- package/src/compiler/Native.ts +29 -32
- package/src/compiler/Source.ts +59 -21
- package/src/compiler/Transform.ts +73 -23
- package/src/compiler/internal/Compositions.ts +36 -3
- package/src/compiler/internal/Configurations.ts +83 -11
- package/src/compiler/internal/Contract.ts +207 -15
- package/src/compiler/internal/Contributions.ts +1 -1
- package/src/compiler/internal/Dynamic.ts +1 -1
- package/src/compiler/internal/Expression.ts +26 -0
- package/src/compiler/internal/Identifiers.ts +2 -1
- package/src/compiler/internal/NativeBindings.ts +3 -3
- package/src/compiler/internal/PackedStyles.ts +22 -26
- package/src/compiler/internal/Recipes.ts +1 -1
- package/src/compiler/internal/Selectors.ts +1 -1
- package/src/compiler/internal/Themes.ts +266 -57
- package/src/compiler/internal/{Variables.ts → Vars.ts} +2 -2
- package/src/default.ts +173 -154
- package/src/esbuild/index.ts +5 -0
- package/src/index.ts +4 -4
- package/src/internal/Authoring.ts +5 -7
- package/src/internal/Binding.ts +1 -1
- package/src/internal/Completion.ts +42 -0
- package/src/internal/Condition.ts +31 -1
- package/src/internal/Configuration.ts +970 -0
- package/src/{Theme.ts → internal/Theme.ts} +75 -20
- package/src/internal/Token.ts +258 -85
- package/src/internal/Typography.ts +71 -16
- package/src/internal/Value.ts +45 -26
- package/src/internal/VariableSets.ts +458 -0
- package/src/next/loader.ts +19 -5
- package/src/node/Host.ts +1 -2
- package/src/react-native/Host.ts +6 -6
- package/src/react-native/StyleSheet.ts +49 -42
- package/src/react-native/Variants.ts +3 -3
- package/src/react-native/react.ts +6 -6
- package/src/rollup/index.ts +5 -0
- package/src/runtime/Appearance.ts +20 -20
- package/src/runtime/Dynamic.ts +4 -1
- package/src/runtime/NativeContext.ts +8 -8
- package/src/runtime/NativeDynamic.ts +2 -4
- package/src/runtime/Props.ts +3 -3
- package/src/runtime/Selection.ts +44 -33
- package/src/styleFunction.ts +22 -19
- package/src/unplugin/index.ts +600 -0
- package/src/variants.ts +7 -5
- package/src/vite/index.ts +5 -4
- package/src/web/Css.ts +10 -7
- package/src/web/internal/Themes.ts +52 -9
- package/src/webpack/index.ts +5 -0
- package/dist/Theme.d.ts.map +0 -1
- package/dist/Theme.js.map +0 -1
- package/dist/compiler/internal/Variables.d.ts.map +0 -1
- package/dist/compiler/internal/Variables.js.map +0 -1
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes explicit configuration into isolated typed authoring contracts.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import * as Appearance from '../runtime/Appearance.js';
|
|
6
|
+
import * as Authoring from './Authoring.js';
|
|
7
|
+
import * as Html from '../runtime/CompositionHtml.js';
|
|
8
|
+
import * as Identity from './Identity.js';
|
|
9
|
+
import * as Literal from './Literal.js';
|
|
10
|
+
import { variants } from '../variants.js';
|
|
11
|
+
import * as Scheme from './Scheme.js';
|
|
12
|
+
import * as Shorthands from './Shorthands.js';
|
|
13
|
+
import * as Theme from './Theme.js';
|
|
14
|
+
import * as VariableSets from './VariableSets.js';
|
|
15
|
+
import * as Vars from '../Vars.js';
|
|
16
|
+
import * as Selection from '../runtime/Selection.js';
|
|
17
|
+
import * as Token from './Token.js';
|
|
18
|
+
export function create(options = {}) {
|
|
19
|
+
let input = record(options);
|
|
20
|
+
const variableMode = input.vars !== undefined;
|
|
21
|
+
const variableCatalog = variableMode && input.defaultVars !== undefined;
|
|
22
|
+
const variableMappings = VariableSets.mappings(input.mappings);
|
|
23
|
+
if (variableMode) {
|
|
24
|
+
if (input.theme !== undefined ||
|
|
25
|
+
input.themes !== undefined ||
|
|
26
|
+
input.defaultTheme !== undefined)
|
|
27
|
+
throw new InvalidError('Use vars without theme options.');
|
|
28
|
+
const normalize = (value) => {
|
|
29
|
+
const definition = value &&
|
|
30
|
+
(typeof value === 'object' || typeof value === 'function') &&
|
|
31
|
+
Object.getOwnPropertyDescriptor(value, Token.definition)?.value
|
|
32
|
+
? value
|
|
33
|
+
: Vars.define(value);
|
|
34
|
+
const theme = VariableSets.theme(definition, variableMappings);
|
|
35
|
+
if (variableMappings === false)
|
|
36
|
+
return theme;
|
|
37
|
+
const metadata = theme[Token.definition];
|
|
38
|
+
const names = new Map();
|
|
39
|
+
for (const path of Object.keys(metadata.values)) {
|
|
40
|
+
const [category, ...parts] = path.split('.');
|
|
41
|
+
const targets = variableMappings?.[category] ??
|
|
42
|
+
Object.keys(Literal.rules).filter((property) => Token.accepts(category, property));
|
|
43
|
+
for (const property of targets) {
|
|
44
|
+
const key = `${property}:${parts.join('.')}`;
|
|
45
|
+
if (names.has(key) &&
|
|
46
|
+
(variableMappings?.[category] ||
|
|
47
|
+
variableMappings?.[names.get(key).split('.')[0]]))
|
|
48
|
+
throw new InvalidError(`Ambiguous variable token ${parts.join('.')} for ${property}.`);
|
|
49
|
+
names.set(key, path);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return theme;
|
|
53
|
+
};
|
|
54
|
+
const { vars, defaultVars, mappings: _mappings, ...rest } = input;
|
|
55
|
+
input = variableCatalog
|
|
56
|
+
? {
|
|
57
|
+
...rest,
|
|
58
|
+
defaultTheme: defaultVars,
|
|
59
|
+
themes: Object.fromEntries(Object.entries(record(vars)).map(([name, value]) => [
|
|
60
|
+
name,
|
|
61
|
+
normalize(value),
|
|
62
|
+
])),
|
|
63
|
+
}
|
|
64
|
+
: { ...rest, theme: normalize(vars) };
|
|
65
|
+
}
|
|
66
|
+
else if (input.mappings !== undefined || input.defaultVars !== undefined) {
|
|
67
|
+
throw new InvalidError('mappings and defaultVars require vars.');
|
|
68
|
+
}
|
|
69
|
+
function finish(result) {
|
|
70
|
+
if (!variableMode)
|
|
71
|
+
return Object.freeze(result);
|
|
72
|
+
const theme = result.theme;
|
|
73
|
+
const catalog = result.themes;
|
|
74
|
+
const entries = () => catalog
|
|
75
|
+
? Object.entries(catalog).map(([name, value]) => [name, value.className])
|
|
76
|
+
: [['default', theme.className]];
|
|
77
|
+
let select;
|
|
78
|
+
const vars = (options = {}) => (select ??= Selection.create(entries(), input.output === 'html', 'set', variableCatalog ? String(input.defaultTheme) : 'default'))(options);
|
|
79
|
+
return Object.freeze({
|
|
80
|
+
appearance: result.appearance,
|
|
81
|
+
script: result.script,
|
|
82
|
+
style: result.style,
|
|
83
|
+
vars: Object.freeze(Object.defineProperties(vars, Object.getOwnPropertyDescriptors(theme.tokens))),
|
|
84
|
+
variants: result.variants,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
for (const key of Object.keys(input))
|
|
88
|
+
if (![
|
|
89
|
+
'cssOutput',
|
|
90
|
+
'id',
|
|
91
|
+
'defaultLayer',
|
|
92
|
+
'defaultTheme',
|
|
93
|
+
'layers',
|
|
94
|
+
'output',
|
|
95
|
+
'shorthands',
|
|
96
|
+
'storageKey',
|
|
97
|
+
'theme',
|
|
98
|
+
'themes',
|
|
99
|
+
].includes(key))
|
|
100
|
+
throw new InvalidError(`Unknown configuration option: ${key}`);
|
|
101
|
+
if (input.storageKey !== undefined &&
|
|
102
|
+
(typeof input.storageKey !== 'string' || !input.storageKey))
|
|
103
|
+
throw new InvalidError('storageKey must be a nonempty string.');
|
|
104
|
+
// Validated above; the record type erases the literal narrowing.
|
|
105
|
+
const storageKey = input.storageKey;
|
|
106
|
+
if (input.output !== undefined &&
|
|
107
|
+
input.output !== 'html' &&
|
|
108
|
+
input.output !== 'react')
|
|
109
|
+
throw new InvalidError('output must be html or react.');
|
|
110
|
+
if (input.cssOutput !== undefined &&
|
|
111
|
+
input.cssOutput !== 'atomic' &&
|
|
112
|
+
input.cssOutput !== 'grouped')
|
|
113
|
+
throw new InvalidError('cssOutput must be atomic or grouped.');
|
|
114
|
+
if (input.theme !== undefined && input.themes !== undefined)
|
|
115
|
+
throw new InvalidError('Use either theme or themes, not both.');
|
|
116
|
+
if (input.defaultLayer !== undefined &&
|
|
117
|
+
typeof input.defaultLayer !== 'string')
|
|
118
|
+
throw new InvalidError('defaultLayer must be a CSS layer name.');
|
|
119
|
+
if (input.layers !== undefined || input.defaultLayer !== undefined) {
|
|
120
|
+
if (input.layers !== undefined && !Array.isArray(input.layers))
|
|
121
|
+
throw new InvalidError('layers must be an array.');
|
|
122
|
+
const layers = (input.layers ?? []);
|
|
123
|
+
const seen = new Set();
|
|
124
|
+
for (const layer of [
|
|
125
|
+
...layers,
|
|
126
|
+
...(input.defaultLayer === undefined ||
|
|
127
|
+
layers.includes(input.defaultLayer)
|
|
128
|
+
? []
|
|
129
|
+
: [input.defaultLayer]),
|
|
130
|
+
]) {
|
|
131
|
+
if (typeof layer !== 'string' ||
|
|
132
|
+
!/^(?:--|-?[_a-zA-Z])[\w-]*(?:\.(?:--|-?[_a-zA-Z])[\w-]*)*$/.test(layer) ||
|
|
133
|
+
layer
|
|
134
|
+
.split('.')
|
|
135
|
+
.some((part) => [
|
|
136
|
+
'default',
|
|
137
|
+
'inherit',
|
|
138
|
+
'initial',
|
|
139
|
+
'revert',
|
|
140
|
+
'revert-layer',
|
|
141
|
+
'unset',
|
|
142
|
+
].includes(part.toLowerCase())))
|
|
143
|
+
throw new InvalidError('Layer names must be plain CSS identifiers, optionally dotted.');
|
|
144
|
+
if (seen.has(layer))
|
|
145
|
+
throw new InvalidError(`Duplicate layer: ${layer}`);
|
|
146
|
+
seen.add(layer);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const shorthands = (() => {
|
|
150
|
+
if (input.shorthands === undefined)
|
|
151
|
+
return undefined;
|
|
152
|
+
try {
|
|
153
|
+
return Shorthands.read(input.shorthands);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
throw new InvalidError(error.message);
|
|
157
|
+
}
|
|
158
|
+
})();
|
|
159
|
+
const contract = Object.freeze({
|
|
160
|
+
...(variableMode ? { variableSet: true, mappings: variableMappings } : {}),
|
|
161
|
+
...(input.defaultLayer !== undefined
|
|
162
|
+
? { defaultLayer: input.defaultLayer }
|
|
163
|
+
: {}),
|
|
164
|
+
cssOutput: input.cssOutput ?? 'atomic',
|
|
165
|
+
...(shorthands ? { shorthands } : {}),
|
|
166
|
+
...(typeof input.id === 'string'
|
|
167
|
+
? {
|
|
168
|
+
[Token.identity]: Identity.requireId(input.id, 'Config.create'),
|
|
169
|
+
[Token.complete]: true,
|
|
170
|
+
}
|
|
171
|
+
: {}),
|
|
172
|
+
});
|
|
173
|
+
function boundStyle(theme) {
|
|
174
|
+
return (styles, options = {}) => {
|
|
175
|
+
if (theme &&
|
|
176
|
+
Object.keys(theme[Token.definition].values).length &&
|
|
177
|
+
!contract[Token.identity])
|
|
178
|
+
Identity.requireId(undefined, 'Config.create');
|
|
179
|
+
return Authoring.create(styles, {
|
|
180
|
+
...options,
|
|
181
|
+
theme,
|
|
182
|
+
output: input.output,
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function boundVariants(definition, options = {}) {
|
|
187
|
+
return Authoring.variants(definition, {
|
|
188
|
+
...options,
|
|
189
|
+
output: input.output,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
function handle(theme, name) {
|
|
193
|
+
const original = Token.bind(theme, contract);
|
|
194
|
+
const className = () => `z_theme-${Identity.requireId(typeof input.id === 'string' ? input.id : undefined, 'Config.create')}-${name.replace(/[^a-zA-Z0-9-]/g, (character) => `_${character.charCodeAt(0).toString(16)}_`)}`;
|
|
195
|
+
const select = (options = {}) => {
|
|
196
|
+
const scheme = options.colorScheme;
|
|
197
|
+
const selection = scheme !== undefined && Object.hasOwn(Scheme.classes, scheme)
|
|
198
|
+
? ` ${Scheme.classes[scheme]}`
|
|
199
|
+
: '';
|
|
200
|
+
const result = {
|
|
201
|
+
className: `${className()}${selection}`,
|
|
202
|
+
...(scheme ? { style: { colorScheme: scheme } } : {}),
|
|
203
|
+
};
|
|
204
|
+
return input.output === 'html' ? Html.from(result) : result;
|
|
205
|
+
};
|
|
206
|
+
const descriptors = Object.getOwnPropertyDescriptors(original);
|
|
207
|
+
delete descriptors.className;
|
|
208
|
+
delete descriptors.style;
|
|
209
|
+
delete descriptors.variants;
|
|
210
|
+
Object.defineProperties(select, descriptors);
|
|
211
|
+
Object.defineProperty(select, 'className', {
|
|
212
|
+
get: className,
|
|
213
|
+
configurable: true,
|
|
214
|
+
});
|
|
215
|
+
Object.assign(select, {
|
|
216
|
+
style: boundStyle(original),
|
|
217
|
+
variants: boundVariants,
|
|
218
|
+
});
|
|
219
|
+
return select;
|
|
220
|
+
}
|
|
221
|
+
if (input.themes !== undefined) {
|
|
222
|
+
const catalog = record(input.themes);
|
|
223
|
+
if (typeof input.defaultTheme !== 'string' ||
|
|
224
|
+
!Object.hasOwn(catalog, input.defaultTheme))
|
|
225
|
+
throw new InvalidError('defaultTheme must name a theme in the catalog.');
|
|
226
|
+
const defaultTheme = input.defaultTheme;
|
|
227
|
+
const definitions = Object.fromEntries(Object.entries(catalog).map(([name, value]) => {
|
|
228
|
+
if (!name)
|
|
229
|
+
throw new InvalidError('Theme names must be nonempty.');
|
|
230
|
+
return [name, definition(value)];
|
|
231
|
+
}));
|
|
232
|
+
const base = definitions[input.defaultTheme];
|
|
233
|
+
const paths = Object.keys(base[Token.definition].values).sort();
|
|
234
|
+
function queries(theme) {
|
|
235
|
+
const data = theme[Token.definition].queries;
|
|
236
|
+
return JSON.stringify({
|
|
237
|
+
breakpoints: Object.keys(data?.breakpoints ?? {}).sort(),
|
|
238
|
+
containers: Object.keys(data?.containers ?? {}).sort(),
|
|
239
|
+
containerNames: [...(data?.containerNames ?? [])].sort(),
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
for (const [name, value] of Object.entries(definitions)) {
|
|
243
|
+
const candidate = Object.keys(value[Token.definition].values).sort();
|
|
244
|
+
if (queries(base) !== queries(value) ||
|
|
245
|
+
paths.length !== candidate.length ||
|
|
246
|
+
paths.some((path, index) => path !== candidate[index] ||
|
|
247
|
+
(variableMode &&
|
|
248
|
+
VariableSets.domain(base[Token.definition].values[path]) !==
|
|
249
|
+
VariableSets.domain(value[Token.definition].values[path]))))
|
|
250
|
+
throw new InvalidError(`Theme ${JSON.stringify(name)} must have the default theme's complete token paths and domains.`);
|
|
251
|
+
}
|
|
252
|
+
const bound = Object.fromEntries(Object.entries(definitions).map(([name, value]) => [
|
|
253
|
+
name,
|
|
254
|
+
handle(value, name),
|
|
255
|
+
]));
|
|
256
|
+
const select = (options) => bound[options.theme](options);
|
|
257
|
+
Object.defineProperties(select, Object.getOwnPropertyDescriptors(bound));
|
|
258
|
+
const entries = () => Object.entries(bound).map(([name, value]) => [
|
|
259
|
+
name,
|
|
260
|
+
value.className,
|
|
261
|
+
]);
|
|
262
|
+
// Class names require an identity, so the compiler's collection pass must
|
|
263
|
+
// not read them; root controls resolve their entries on first use.
|
|
264
|
+
const appearance = (() => {
|
|
265
|
+
let root;
|
|
266
|
+
const resolve = () => (root ??= Appearance.root(entries(), {
|
|
267
|
+
defaultVars: defaultTheme,
|
|
268
|
+
storageKey,
|
|
269
|
+
}));
|
|
270
|
+
return {
|
|
271
|
+
get: () => resolve().get(),
|
|
272
|
+
set: (selection) => resolve().set(selection),
|
|
273
|
+
};
|
|
274
|
+
})();
|
|
275
|
+
return finish({
|
|
276
|
+
appearance,
|
|
277
|
+
script: () => Appearance.create(entries(), { storageKey })(),
|
|
278
|
+
style: boundStyle(bound[input.defaultTheme]),
|
|
279
|
+
theme: bound[input.defaultTheme],
|
|
280
|
+
themes: Object.freeze(select),
|
|
281
|
+
variants: boundVariants,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
if (input.defaultTheme !== undefined)
|
|
285
|
+
throw new InvalidError('defaultTheme requires a named themes catalog.');
|
|
286
|
+
if (input.theme !== undefined) {
|
|
287
|
+
const theme = handle(definition(input.theme), 'theme');
|
|
288
|
+
return finish({
|
|
289
|
+
appearance: Appearance.root([], { storageKey }),
|
|
290
|
+
script: Appearance.create([], { storageKey }),
|
|
291
|
+
style: boundStyle(theme),
|
|
292
|
+
theme,
|
|
293
|
+
variants: boundVariants,
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
const theme = shorthands || input.defaultLayer !== undefined
|
|
297
|
+
? Token.bind(Theme.define({}), contract)
|
|
298
|
+
: undefined;
|
|
299
|
+
return finish({
|
|
300
|
+
appearance: Appearance.root([], { storageKey }),
|
|
301
|
+
script: Appearance.create([], { storageKey }),
|
|
302
|
+
style: boundStyle(theme),
|
|
303
|
+
variants: boundVariants,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
function definition(value) {
|
|
307
|
+
try {
|
|
308
|
+
if (value &&
|
|
309
|
+
typeof value === 'object' &&
|
|
310
|
+
Object.getOwnPropertyDescriptor(value, Token.definition)?.value)
|
|
311
|
+
return value;
|
|
312
|
+
return Theme.define(record(value));
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
if (error instanceof InvalidError)
|
|
316
|
+
throw error;
|
|
317
|
+
throw new InvalidError(error.message);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/** Invalid options or incompatible named themes. */
|
|
321
|
+
export class InvalidError extends Error {
|
|
322
|
+
/** Creates a configuration diagnostic without generating styles. */
|
|
323
|
+
constructor(message) {
|
|
324
|
+
super(message);
|
|
325
|
+
}
|
|
326
|
+
/** Stable namespaced error identifier. */
|
|
327
|
+
name = 'Config.InvalidError';
|
|
328
|
+
}
|
|
329
|
+
function record(value) {
|
|
330
|
+
if (!value ||
|
|
331
|
+
typeof value !== 'object' ||
|
|
332
|
+
Array.isArray(value) ||
|
|
333
|
+
![null, Object.prototype].includes(Object.getPrototypeOf(value)))
|
|
334
|
+
throw new InvalidError('Expected a plain configuration record.');
|
|
335
|
+
const result = Object.create(null);
|
|
336
|
+
for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(value))) {
|
|
337
|
+
if (!('value' in descriptor))
|
|
338
|
+
throw new InvalidError('Configuration records cannot contain accessors.');
|
|
339
|
+
result[key] = descriptor.value;
|
|
340
|
+
}
|
|
341
|
+
return result;
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=Configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../src/internal/Configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Defines typed token contracts and compatible immutable theme overrides.
|
|
3
3
|
* @module
|
|
4
4
|
*/
|
|
5
|
-
import { style } from '
|
|
6
|
-
import { variants } from '
|
|
7
|
-
import type * as Binding from './
|
|
8
|
-
import type * as Literal from './
|
|
9
|
-
import * as Query from './
|
|
10
|
-
import * as Token from './
|
|
11
|
-
import * as Typography from './
|
|
12
|
-
import type * as Value from './
|
|
13
|
-
import type * as Style from '
|
|
5
|
+
import { style } from '../styleFunction.js';
|
|
6
|
+
import { variants } from '../variants.js';
|
|
7
|
+
import type * as Binding from './Binding.js';
|
|
8
|
+
import type * as Literal from './Literal.js';
|
|
9
|
+
import * as Query from './Query.js';
|
|
10
|
+
import * as Token from './Token.js';
|
|
11
|
+
import * as Typography from './Typography.js';
|
|
12
|
+
import type * as Value from './Value.js';
|
|
13
|
+
import type * as Style from '../Style.js';
|
|
14
14
|
/** Complete color-scheme pair or a shared color. */
|
|
15
15
|
export type Color = Literal.Color | {
|
|
16
16
|
readonly dark: Literal.Color;
|
|
@@ -43,7 +43,7 @@ export type Definition<tokens extends Tokens = Tokens, boundStyle extends (...ar
|
|
|
43
43
|
/** Token-aware single-element recipe authoring. */
|
|
44
44
|
readonly variants: boundVariants;
|
|
45
45
|
/** Web variable references; source templates retain their identity and fallback. */
|
|
46
|
-
readonly vars: Token.
|
|
46
|
+
readonly vars: Token.Vars<References<tokens>>;
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
49
|
* Overrides existing leaves while retaining the base theme's token identities.
|
|
@@ -90,7 +90,7 @@ type ReferenceTree<tree, group extends Token.Group | 'typography'> = tree extend
|
|
|
90
90
|
readonly [key in keyof tree]: ReferenceTree<tree[key], group extends 'typography' ? key extends Typography.Property ? key : group : group>;
|
|
91
91
|
};
|
|
92
92
|
/** Supported scalar groups; composite presets and query metadata follow separately. */
|
|
93
|
-
type Scalar<group> = group extends 'spacing' | 'borderRadius' | 'margin' | 'padding' ? Literal.Length : group extends 'fontFamily' | 'fontSize' | 'fontWeight' | 'letterSpacing' | 'lineHeight' ? Exclude<NonNullable<Literal.Properties[group]>, 'initial' | 'inherit' | 'unset' | 'revert' | 'revert-layer'> : group extends 'breakpoints' | 'containers' ? Query.Length : Color;
|
|
93
|
+
type Scalar<group> = group extends 'spacing' | 'borderRadius' | 'borderWidth' | 'margin' | 'padding' ? Literal.Length : group extends 'fontFamily' | 'fontSize' | 'fontWeight' | 'letterSpacing' | 'lineHeight' ? Exclude<NonNullable<Literal.Properties[group]>, 'initial' | 'inherit' | 'unset' | 'revert' | 'revert-layer'> : group extends 'breakpoints' | 'containers' ? Query.Length : Color;
|
|
94
94
|
export type Tokens = {
|
|
95
95
|
/** Colors available to background declarations. */
|
|
96
96
|
readonly backgroundColor?: Palette<Color> | undefined;
|
|
@@ -98,6 +98,8 @@ export type Tokens = {
|
|
|
98
98
|
readonly borderColor?: Palette<Color> | undefined;
|
|
99
99
|
/** Nonnegative corner radii. */
|
|
100
100
|
readonly borderRadius?: Palette<Literal.Length> | undefined;
|
|
101
|
+
/** Nonnegative widths for physical and logical border declarations. */
|
|
102
|
+
readonly borderWidth?: Palette<Exclude<Literal.Length, `${number}%`>> | undefined;
|
|
101
103
|
/** Compile-time viewport width thresholds. */
|
|
102
104
|
readonly breakpoints?: Readonly<Record<string, Query.Length>> | undefined;
|
|
103
105
|
/** Shared colors available to every supported color property. */
|
|
@@ -139,12 +141,12 @@ type UniqueNames<names extends readonly string[], seen extends string = never> =
|
|
|
139
141
|
] ? name extends seen ? never : UniqueNames<rest, seen | name> : unknown;
|
|
140
142
|
type ContainerName<name> = name extends string ? Lowercase<name> extends 'none' | 'and' | 'not' | 'or' | 'default' | 'inherit' | 'initial' | 'unset' | 'revert' | 'revert-layer' ? never : name : name;
|
|
141
143
|
type ValidPalette<palette, group> = palette extends undefined ? undefined : {
|
|
142
|
-
[key in keyof palette]: key extends `${string}!${string}` ? never : group extends 'typography' ? key extends Typography.Property ? never : ValidTree<palette[key], group> : ValidTree<palette[key], group>;
|
|
144
|
+
[key in keyof palette]: key extends `${string}!${string}` ? never : group extends 'typography' ? key extends Typography.Property | `@${string}` ? never : ValidTree<palette[key], group> : ValidTree<palette[key], group>;
|
|
143
145
|
};
|
|
144
146
|
type WeightDigits<text extends string, digits extends unknown[] = []> = text extends '' ? digits extends [] ? false : true : digits['length'] extends 3 ? false : text extends `${infer first}${infer rest}` ? first extends '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ? WeightDigits<rest, [...digits, unknown]> : false : false;
|
|
145
147
|
type Weight<value> = value extends number ? number extends value ? value : `${value}` extends '1000' ? value : `${value}` extends `${infer whole}.${string}` ? whole extends '0' ? never : WeightDigits<whole> extends true ? value : never : `${value}` extends '0' ? never : WeightDigits<`${value}`> extends true ? value : never : value;
|
|
146
148
|
type ValidTree<tree, group> = tree extends string | number ? group extends 'typography' ? never : tree extends Scalar<group> ? group extends 'breakpoints' | 'containers' ? tree extends `-${string}` ? never : Literal.Checked<tree> : group extends keyof Literal.Properties ? Literal.Checked<tree> & Value.Checked<Record<group, tree>>[group] & (group extends 'fontWeight' ? Weight<tree> : unknown) & (tree extends string ? Lowercase<tree> extends 'inherit' | 'initial' | 'unset' | 'revert' | 'revert-layer' ? never : unknown : unknown) : Literal.Checked<tree> : never : Extract<keyof tree, group extends 'color' | 'backgroundColor' | 'borderColor' | 'textColor' ? 'dark' | 'light' : never> extends never ? {
|
|
147
|
-
[key in keyof tree]: key extends `${string}!${string}` ? never : group extends 'typography' ? key extends Typography.Property ? tree[key] extends string | number ? ValidTree<tree[key], key> : never : ValidTree<tree[key], group> : ValidTree<tree[key], group>;
|
|
149
|
+
[key in keyof tree]: key extends `${string}!${string}` ? never : group extends 'typography' ? key extends `@${string}` ? key extends Typography.Condition ? ValidTree<tree[key], group> & Record<Exclude<keyof tree[key], Typography.Property | Typography.Condition>, never> : never : key extends Typography.Property ? tree[key] extends string | number ? ValidTree<tree[key], key> : never : ValidTree<tree[key], group> : ValidTree<tree[key], group>;
|
|
148
150
|
} : group extends 'color' | 'backgroundColor' | 'borderColor' | 'textColor' ? {
|
|
149
151
|
readonly dark: Literal.Color & Literal.Checked<tree extends {
|
|
150
152
|
dark: infer value;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/internal/Theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* Defines typed token contracts and compatible immutable theme overrides.
|
|
3
3
|
* @module
|
|
4
4
|
*/
|
|
5
|
-
import { MissingTransformError, style } from '
|
|
6
|
-
import * as Authoring from './
|
|
7
|
-
import * as Identity from './
|
|
8
|
-
import { variants } from '
|
|
9
|
-
import * as Query from './
|
|
10
|
-
import * as Token from './
|
|
11
|
-
import * as Typography from './
|
|
5
|
+
import { MissingTransformError, style } from '../styleFunction.js';
|
|
6
|
+
import * as Authoring from './Authoring.js';
|
|
7
|
+
import * as Identity from './Identity.js';
|
|
8
|
+
import { variants } from '../variants.js';
|
|
9
|
+
import * as Query from './Query.js';
|
|
10
|
+
import * as Token from './Token.js';
|
|
11
|
+
import * as Typography from './Typography.js';
|
|
12
|
+
import * as Condition from './Condition.js';
|
|
12
13
|
/**
|
|
13
14
|
* Defines scalar tokens and typography sets without defaults or environment access.
|
|
14
15
|
* Colors currently use the supported literal color grammar; spacing and radius
|
|
@@ -37,7 +38,7 @@ export function extend(theme, overrides) {
|
|
|
37
38
|
?.value;
|
|
38
39
|
if (!data)
|
|
39
40
|
throw new InvalidError([], 'Expected a theme definition.');
|
|
40
|
-
return build(overrides, data.contract, data.values, data.queries);
|
|
41
|
+
return build(overrides, data.contract, data.values, data.queries, undefined, data.paths);
|
|
41
42
|
}
|
|
42
43
|
/** Invalid token data with an unambiguous authored path. */
|
|
43
44
|
export class InvalidError extends Error {
|
|
@@ -51,17 +52,21 @@ export class InvalidError extends Error {
|
|
|
51
52
|
/** Group and nested keys identifying the failure. */
|
|
52
53
|
path;
|
|
53
54
|
}
|
|
54
|
-
function build(input, contract, base, baseQueries, scope) {
|
|
55
|
+
function build(input, contract, base, baseQueries, scope, basePaths) {
|
|
55
56
|
const values = Object.assign(Object.create(null), base);
|
|
56
57
|
const queries = {
|
|
57
58
|
breakpoints: Object.assign(Object.create(null), baseQueries?.breakpoints),
|
|
58
59
|
containerNames: baseQueries?.containerNames ?? [],
|
|
59
60
|
containers: Object.assign(Object.create(null), baseQueries?.containers),
|
|
60
61
|
};
|
|
62
|
+
const paths = { ...basePaths };
|
|
63
|
+
const conditions = [];
|
|
61
64
|
let hasQueries = !!baseQueries;
|
|
62
65
|
const active = new Set();
|
|
63
66
|
function visit(value, group, path) {
|
|
64
67
|
const key = path.join('.');
|
|
68
|
+
if (path.some((part) => part.startsWith('@')))
|
|
69
|
+
paths[key] = Object.freeze([...path]);
|
|
65
70
|
const scalar = typeof value === 'string' || typeof value === 'number';
|
|
66
71
|
if (group === 'typography' && scalar)
|
|
67
72
|
throw new InvalidError(path, 'Expected a typography set or a nested set group.');
|
|
@@ -96,6 +101,16 @@ function build(input, contract, base, baseQueries, scope) {
|
|
|
96
101
|
active.add(value);
|
|
97
102
|
for (const [name, child] of entries) {
|
|
98
103
|
const next = [...path, name];
|
|
104
|
+
if (group === 'typography' && name.startsWith('@')) {
|
|
105
|
+
if (!Typography.condition(name))
|
|
106
|
+
throw new InvalidError(next, 'Typography conditions must be media or container queries.');
|
|
107
|
+
conditions.push(next);
|
|
108
|
+
}
|
|
109
|
+
if (group === 'typography' &&
|
|
110
|
+
path.some((part) => part.startsWith('@')) &&
|
|
111
|
+
!Typography.condition(name) &&
|
|
112
|
+
!Typography.properties.includes(name))
|
|
113
|
+
throw new InvalidError(next, 'Typography query blocks accept only typography fields and queries.');
|
|
99
114
|
if (base &&
|
|
100
115
|
!Object.keys(base).some((key) => key === next.join('.') || key.startsWith(`${next.join('.')}.`)))
|
|
101
116
|
throw new InvalidError(next, 'Extensions cannot add token paths.');
|
|
@@ -156,6 +171,7 @@ function build(input, contract, base, baseQueries, scope) {
|
|
|
156
171
|
'backgroundColor',
|
|
157
172
|
'borderColor',
|
|
158
173
|
'borderRadius',
|
|
174
|
+
'borderWidth',
|
|
159
175
|
'color',
|
|
160
176
|
'margin',
|
|
161
177
|
'padding',
|
|
@@ -179,14 +195,23 @@ function build(input, contract, base, baseQueries, scope) {
|
|
|
179
195
|
throw new InvalidError([group], 'Token palettes cannot be empty.');
|
|
180
196
|
for (const [name, value] of entries) {
|
|
181
197
|
if (group === 'typography' &&
|
|
182
|
-
Typography.properties.includes(name)
|
|
198
|
+
(Typography.properties.includes(name) ||
|
|
199
|
+
name.startsWith('@')))
|
|
183
200
|
throw new InvalidError([group, name], 'Typography properties require a named set.');
|
|
184
201
|
visit(value, group, [group, name]);
|
|
185
202
|
}
|
|
186
203
|
}
|
|
204
|
+
for (const path of conditions) {
|
|
205
|
+
try {
|
|
206
|
+
Condition.normalize(Query.resolve(path.at(-1), queries));
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
throw new InvalidError(path, error.message);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
187
212
|
const tokens = Object.create(null);
|
|
188
213
|
for (const [path, value] of Object.entries(values)) {
|
|
189
|
-
const parts = path.split('.');
|
|
214
|
+
const parts = paths[path] ?? path.split('.');
|
|
190
215
|
let tree = tokens;
|
|
191
216
|
for (const part of parts.slice(0, -1))
|
|
192
217
|
tree = (tree[part] ??= Object.create(null));
|
|
@@ -229,6 +254,7 @@ function build(input, contract, base, baseQueries, scope) {
|
|
|
229
254
|
}, Token.definition, {
|
|
230
255
|
value: Object.freeze({
|
|
231
256
|
contract,
|
|
257
|
+
...(Object.keys(paths).length ? { paths: Object.freeze(paths) } : {}),
|
|
232
258
|
values: Object.freeze(values),
|
|
233
259
|
...(hasQueries
|
|
234
260
|
? {
|
|
@@ -262,7 +288,8 @@ function record(value, path) {
|
|
|
262
288
|
throw new InvalidError([...path, key], 'Token keys cannot contain !; it is reserved for declaration importance.');
|
|
263
289
|
if (typeof key !== 'string' ||
|
|
264
290
|
!key ||
|
|
265
|
-
key.includes('.')
|
|
291
|
+
(key.includes('.') &&
|
|
292
|
+
!(path[0] === 'typography' && Typography.condition(key))) ||
|
|
266
293
|
!descriptor.enumerable ||
|
|
267
294
|
!('value' in descriptor))
|
|
268
295
|
throw new InvalidError(path, 'Expected nonempty keys without dots and enumerable data properties.');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/internal/Theme.ts"],"names":[],"mappings":"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"}
|