zyzz 0.0.2 → 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 +19 -13
- package/dist/Style.d.ts.map +1 -1
- package/dist/Style.js +73 -7
- 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 +10 -6
- package/dist/compiler/Source.d.ts.map +1 -1
- package/dist/compiler/Source.js +66 -11
- 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 +59 -21
- 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 +162 -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 +451 -1649
- package/dist/default.d.ts.map +1 -1
- package/dist/default.js +389 -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/internal/Shorthands.d.ts +1 -1
- package/dist/internal/Shorthands.d.ts.map +1 -1
- package/dist/internal/Shorthands.js +1 -0
- package/dist/internal/Shorthands.js.map +1 -1
- package/dist/{Theme.d.ts → internal/Theme.d.ts} +24 -19
- package/dist/internal/Theme.d.ts.map +1 -0
- package/dist/{Theme.js → internal/Theme.js} +57 -14
- 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 +31 -0
- package/dist/internal/Typography.d.ts.map +1 -0
- package/dist/internal/Typography.js +54 -0
- package/dist/internal/Typography.js.map +1 -0
- 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 -684
- package/src/Style.ts +167 -40
- 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 +85 -18
- package/src/compiler/Transform.ts +78 -22
- package/src/compiler/internal/Compositions.ts +36 -3
- package/src/compiler/internal/Configurations.ts +83 -11
- package/src/compiler/internal/Contract.ts +223 -17
- 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 +868 -156
- 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/internal/Shorthands.ts +2 -0
- package/src/{Theme.ts → internal/Theme.ts} +174 -48
- package/src/internal/Token.ts +258 -85
- package/src/internal/Typography.ts +106 -0
- 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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"}
|
|
@@ -10,7 +10,7 @@ export declare function read(value: unknown): Map;
|
|
|
10
10
|
export declare function signature(value: unknown): string;
|
|
11
11
|
/** Rejects duplicate targets and names reserved by the authoring surface. */
|
|
12
12
|
export type Validated<mappings extends Map> = {
|
|
13
|
-
[key in keyof mappings]: key extends string ? key extends keyof Literal.Properties | `:${string}` | `@${string}` | `${string}&${string}` | 'style' | 'theme' | 'themes' | 'script' | 'variants' | '__proto__' | '' ? never : Unique<mappings[key]> : never;
|
|
13
|
+
[key in keyof mappings]: key extends string ? key extends keyof Literal.Properties | `:${string}` | `@${string}` | `${string}&${string}` | 'style' | 'theme' | 'themes' | 'typography' | 'script' | 'variants' | '__proto__' | '' ? never : Unique<mappings[key]> : never;
|
|
14
14
|
};
|
|
15
15
|
type Unique<targets extends readonly Property[], seen extends Property = never> = targets extends readonly [
|
|
16
16
|
infer target extends Property,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shorthands.d.ts","sourceRoot":"","sources":["../../src/internal/Shorthands.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,qEAAqE;AACrE,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9E,qDAAqD;AACrD,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC,CAAA;AAEvE,kFAAkF;AAClF,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"Shorthands.d.ts","sourceRoot":"","sources":["../../src/internal/Shorthands.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,qEAAqE;AACrE,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9E,qDAAqD;AACrD,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC,CAAA;AAEvE,kFAAkF;AAClF,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAsExC;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMhD;AAED,6EAA6E;AAC7E,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,GAAG,IAAI;KAC3C,GAAG,IAAI,MAAM,QAAQ,GAAG,GAAG,SAAS,MAAM,GACvC,GAAG,SACC,MAAM,OAAO,CAAC,UAAU,GACxB,IAAI,MAAM,EAAE,GACZ,IAAI,MAAM,EAAE,GACZ,GAAG,MAAM,IAAI,MAAM,EAAE,GACrB,OAAO,GACP,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,WAAW,GACX,EAAE,GACJ,KAAK,GACL,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GACvB,KAAK;CACV,CAAA;AAED,KAAK,MAAM,CACT,OAAO,SAAS,SAAS,QAAQ,EAAE,EACnC,IAAI,SAAS,QAAQ,GAAG,KAAK,IAC3B,OAAO,SAAS,SAAS;IAC3B,MAAM,MAAM,SAAS,QAAQ;IAC7B,GAAG,MAAM,IAAI,SAAS,SAAS,QAAQ,EAAE;CAC1C,GACG,MAAM,SAAS,IAAI,GACjB,KAAK,GACL,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,GAC7B,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shorthands.js","sourceRoot":"","sources":["../../src/internal/Shorthands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Shorthands.js","sourceRoot":"","sources":["../../src/internal/Shorthands.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAOvC,kFAAkF;AAClF,MAAM,UAAU,IAAI,CAAC,KAAc;IACjC,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;YACpC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;QAEpD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAElE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvE,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE;QACjC,IACE,CAAC,IAAI;YACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;YAClC;gBACE,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,WAAW;aACZ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEhB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAA;QAEpD,MAAM,OAAO,GAAY,UAAU,CAAC,KAAK,CAAA;QACzC,IACE,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;YACxB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACvB,CAAC,OAAO,CAAC,MAAM;YAEf,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,sCAAsC,CACxD,CAAA;QAEH,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,MAAM,GAAY,MAAM,CAAC,wBAAwB,CACrD,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,CACd,EAAE,KAAK,CAAA;YACR,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrC,MAAM,CAAC,QAAQ,CAAC,MAAkB,CAAC;gBAEnC,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,uCAAuC,CACzD,CAAA;YAEH,MAAM,CAAC,IAAI,CAAC,MAAkB,CAAC,CAAA;QACjC,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CACH,EACD,IAAI,CACL,CACK,CAAA;AACV,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3B,CACF,CAAA;AACH,CAAC"}
|
|
@@ -2,14 +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
|
|
12
|
-
import type * as
|
|
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';
|
|
13
14
|
/** Complete color-scheme pair or a shared color. */
|
|
14
15
|
export type Color = Literal.Color | {
|
|
15
16
|
readonly dark: Literal.Color;
|
|
@@ -23,7 +24,7 @@ export type StyleFactory<tokens extends Tokens> = {
|
|
|
23
24
|
<const styles extends Style.Properties<tokens>>(styles: styles & NoInfer<(Style.Properties<tokens> extends styles ? unknown : Style.Accepted<styles, tokens>) & (Extract<styles, (...args: never[]) => unknown> extends never ? unknown : never)>, options?: style.DefinitionOptions): style.ReturnType;
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
|
-
* Defines scalar tokens without
|
|
27
|
+
* Defines scalar tokens and typography sets without defaults or environment access.
|
|
27
28
|
* Colors currently use the supported literal color grammar; spacing and radius
|
|
28
29
|
* values use nonnegative literal lengths or zero. Nested palettes are supported.
|
|
29
30
|
* @throws {InvalidError} If groups, paths, values, or data records are invalid.
|
|
@@ -42,7 +43,7 @@ export type Definition<tokens extends Tokens = Tokens, boundStyle extends (...ar
|
|
|
42
43
|
/** Token-aware single-element recipe authoring. */
|
|
43
44
|
readonly variants: boundVariants;
|
|
44
45
|
/** Web variable references; source templates retain their identity and fallback. */
|
|
45
|
-
readonly vars: Token.
|
|
46
|
+
readonly vars: Token.Vars<References<tokens>>;
|
|
46
47
|
};
|
|
47
48
|
/**
|
|
48
49
|
* Overrides existing leaves while retaining the base theme's token identities.
|
|
@@ -70,7 +71,7 @@ type OverrideTree<tree, group> = tree extends string | number ? Scalar<group> :
|
|
|
70
71
|
readonly dark: string;
|
|
71
72
|
readonly light: string;
|
|
72
73
|
} ? Color : {
|
|
73
|
-
readonly [key in keyof tree]?: OverrideTree<tree[key], group>;
|
|
74
|
+
readonly [key in keyof tree]?: OverrideTree<tree[key], group extends 'typography' ? key extends Typography.Property ? key : group : group>;
|
|
74
75
|
};
|
|
75
76
|
/** Nested palette or scale data. */
|
|
76
77
|
export type Palette<leaf> = {
|
|
@@ -80,16 +81,16 @@ export type Palette<leaf> = {
|
|
|
80
81
|
export type Reference<group extends Token.Group = Token.Group> = Token.Reference<group>;
|
|
81
82
|
/** The inferred tree replaces scalar values and scheme pairs with references. */
|
|
82
83
|
export type References<tokens> = {
|
|
83
|
-
readonly [group in keyof tokens as group extends Token.Group ? group : never]: ReferenceTree<tokens[group], Extract<group, Token.Group>>;
|
|
84
|
+
readonly [group in keyof tokens as group extends Token.Group | 'typography' ? group : never]: ReferenceTree<tokens[group], Extract<group, Token.Group | 'typography'>>;
|
|
84
85
|
};
|
|
85
|
-
type ReferenceTree<tree, group extends Token.Group> = tree extends string | number | {
|
|
86
|
+
type ReferenceTree<tree, group extends Token.Group | 'typography'> = tree extends string | number | {
|
|
86
87
|
readonly dark: string;
|
|
87
88
|
readonly light: string;
|
|
88
|
-
} ? Reference<group
|
|
89
|
-
readonly [key in keyof tree]: ReferenceTree<tree[key], group>;
|
|
89
|
+
} ? Reference<Extract<group, Token.Group>> : {
|
|
90
|
+
readonly [key in keyof tree]: ReferenceTree<tree[key], group extends 'typography' ? key extends Typography.Property ? key : group : group>;
|
|
90
91
|
};
|
|
91
92
|
/** Supported scalar groups; composite presets and query metadata follow separately. */
|
|
92
|
-
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;
|
|
93
94
|
export type Tokens = {
|
|
94
95
|
/** Colors available to background declarations. */
|
|
95
96
|
readonly backgroundColor?: Palette<Color> | undefined;
|
|
@@ -97,6 +98,8 @@ export type Tokens = {
|
|
|
97
98
|
readonly borderColor?: Palette<Color> | undefined;
|
|
98
99
|
/** Nonnegative corner radii. */
|
|
99
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;
|
|
100
103
|
/** Compile-time viewport width thresholds. */
|
|
101
104
|
readonly breakpoints?: Readonly<Record<string, Query.Length>> | undefined;
|
|
102
105
|
/** Shared colors available to every supported color property. */
|
|
@@ -123,6 +126,8 @@ export type Tokens = {
|
|
|
123
126
|
readonly spacing?: Palette<Literal.Length> | undefined;
|
|
124
127
|
/** Colors available to text declarations. */
|
|
125
128
|
readonly textColor?: Palette<Color> | undefined;
|
|
129
|
+
/** Named sets of font family, size, weight, letter spacing, and line height. */
|
|
130
|
+
readonly typography?: Typography.Sets | undefined;
|
|
126
131
|
};
|
|
127
132
|
type Validated<tokens> = Tokens extends tokens ? tokens : Overrides<Tokens> extends tokens ? tokens : {
|
|
128
133
|
[group in keyof tokens]: group extends keyof Tokens ? group extends 'containerNames' ? ContainerNames<tokens[group]> : ValidPalette<tokens[group], group> : never;
|
|
@@ -136,12 +141,12 @@ type UniqueNames<names extends readonly string[], seen extends string = never> =
|
|
|
136
141
|
] ? name extends seen ? never : UniqueNames<rest, seen | name> : unknown;
|
|
137
142
|
type ContainerName<name> = name extends string ? Lowercase<name> extends 'none' | 'and' | 'not' | 'or' | 'default' | 'inherit' | 'initial' | 'unset' | 'revert' | 'revert-layer' ? never : name : name;
|
|
138
143
|
type ValidPalette<palette, group> = palette extends undefined ? undefined : {
|
|
139
|
-
[key in keyof palette]: key extends `${string}!${string}` ? never : 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>;
|
|
140
145
|
};
|
|
141
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;
|
|
142
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;
|
|
143
|
-
type ValidTree<tree, group> = tree extends string | number ? 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 ? {
|
|
144
|
-
[key in keyof tree]: key extends `${string}!${string}` ? never : ValidTree<tree[key], group>;
|
|
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 ? {
|
|
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>;
|
|
145
150
|
} : group extends 'color' | 'backgroundColor' | 'borderColor' | 'textColor' ? {
|
|
146
151
|
readonly dark: Literal.Color & Literal.Checked<tree extends {
|
|
147
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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"}
|