@animus-ui/system 0.1.18 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +168 -46
- package/dist/theme/createTheme.d.ts +3 -6
- package/dist/theme/createTheme.d.ts.map +1 -1
- package/dist/theme/property-records.d.ts +79 -0
- package/dist/theme/property-records.d.ts.map +1 -0
- package/dist/types/theme.d.ts +6 -0
- package/dist/types/theme.d.ts.map +1 -1
- package/package.json +5 -3
package/dist/index.js
CHANGED
|
@@ -1189,6 +1189,151 @@ function createSystem(config) {
|
|
|
1189
1189
|
return new SystemBuilder(void 0, void 0, void 0, includes, void 0, void 0, void 0, void 0, void 0, witnesses);
|
|
1190
1190
|
}
|
|
1191
1191
|
//#endregion
|
|
1192
|
+
//#region src/theme/property-records.ts
|
|
1193
|
+
const THEME_INHERITS = true;
|
|
1194
|
+
function createPropertyStore() {
|
|
1195
|
+
return {
|
|
1196
|
+
records: /* @__PURE__ */ new Map(),
|
|
1197
|
+
scaleNames: /* @__PURE__ */ new Map()
|
|
1198
|
+
};
|
|
1199
|
+
}
|
|
1200
|
+
function copyPropertyStore(store) {
|
|
1201
|
+
const records = /* @__PURE__ */ new Map();
|
|
1202
|
+
for (const [name, record] of store.records) records.set(name, { ...record });
|
|
1203
|
+
const scaleNames = /* @__PURE__ */ new Map();
|
|
1204
|
+
for (const [scale, names] of store.scaleNames) scaleNames.set(scale, [...names]);
|
|
1205
|
+
return {
|
|
1206
|
+
records,
|
|
1207
|
+
scaleNames
|
|
1208
|
+
};
|
|
1209
|
+
}
|
|
1210
|
+
function ensureRecord(store, name, source) {
|
|
1211
|
+
if (store.records.has(name)) return;
|
|
1212
|
+
store.records.set(name, {
|
|
1213
|
+
name,
|
|
1214
|
+
inherits: THEME_INHERITS,
|
|
1215
|
+
home: "theme",
|
|
1216
|
+
source,
|
|
1217
|
+
legacy: {}
|
|
1218
|
+
});
|
|
1219
|
+
}
|
|
1220
|
+
function isDeclared(store, name) {
|
|
1221
|
+
for (const names of store.scaleNames.values()) if (names.includes(name)) return true;
|
|
1222
|
+
return false;
|
|
1223
|
+
}
|
|
1224
|
+
/** Appends `names` to `scale`, repeats included. */
|
|
1225
|
+
function declareScaleNames(store, scale, names, source) {
|
|
1226
|
+
store.scaleNames.set(scale, [...store.scaleNames.get(scale) ?? [], ...names]);
|
|
1227
|
+
for (const name of names) ensureRecord(store, name, source);
|
|
1228
|
+
}
|
|
1229
|
+
/** Replaces `scale`'s names in place, dropping records left with neither a
|
|
1230
|
+
* scale nor a registration. */
|
|
1231
|
+
function replaceScaleNames(store, scale, names, source) {
|
|
1232
|
+
const replaced = store.scaleNames.get(scale) ?? [];
|
|
1233
|
+
store.scaleNames.set(scale, [...names]);
|
|
1234
|
+
for (const name of names) ensureRecord(store, name, source);
|
|
1235
|
+
for (const name of replaced) {
|
|
1236
|
+
const record = store.records.get(name);
|
|
1237
|
+
if (record && !record.legacy?.registration && !isDeclared(store, name)) store.records.delete(name);
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
/** The fields a contextual-variable registration sets, read literally: an
|
|
1241
|
+
* untyped registration without a syntax keeps emitting `syntax: "undefined"`,
|
|
1242
|
+
* which extraction reports as an invalid registration. */
|
|
1243
|
+
function legacyFields(registration) {
|
|
1244
|
+
return {
|
|
1245
|
+
syntax: `${registration.syntax}`,
|
|
1246
|
+
inherits: registration.inherits ?? THEME_INHERITS,
|
|
1247
|
+
initialValue: registration.initialValue
|
|
1248
|
+
};
|
|
1249
|
+
}
|
|
1250
|
+
function legacyRegistration(store, name) {
|
|
1251
|
+
return store.records.get(name)?.legacy?.registration;
|
|
1252
|
+
}
|
|
1253
|
+
/** Sets a contextual variable's registration; a later one replaces it. */
|
|
1254
|
+
function setLegacyRegistration(store, name, registration, source) {
|
|
1255
|
+
const existing = store.records.get(name);
|
|
1256
|
+
if (existing && !existing.legacy?.registration) store.records.delete(name);
|
|
1257
|
+
store.records.set(name, {
|
|
1258
|
+
...existing ?? {
|
|
1259
|
+
name,
|
|
1260
|
+
home: "theme",
|
|
1261
|
+
source
|
|
1262
|
+
},
|
|
1263
|
+
...legacyFields(registration),
|
|
1264
|
+
legacy: { registration }
|
|
1265
|
+
});
|
|
1266
|
+
}
|
|
1267
|
+
/** The one place registration is decided. */
|
|
1268
|
+
function isRegistered(record) {
|
|
1269
|
+
return record.syntax !== void 0 || record.initialValue !== void 0 || !record.inherits;
|
|
1270
|
+
}
|
|
1271
|
+
function registrationSignature(record) {
|
|
1272
|
+
return {
|
|
1273
|
+
name: `--${record.name}`,
|
|
1274
|
+
syntax: record.syntax,
|
|
1275
|
+
inherits: record.inherits,
|
|
1276
|
+
initialValue: record.initialValue
|
|
1277
|
+
};
|
|
1278
|
+
}
|
|
1279
|
+
function sameRegistration(a, b) {
|
|
1280
|
+
return a.name === b.name && a.syntax === b.syntax && a.inherits === b.inherits && a.initialValue === b.initialValue;
|
|
1281
|
+
}
|
|
1282
|
+
/** The signature an incoming contextual-variable registration would have. */
|
|
1283
|
+
function legacySignature(name, registration) {
|
|
1284
|
+
return registrationSignature({
|
|
1285
|
+
name,
|
|
1286
|
+
...legacyFields(registration)
|
|
1287
|
+
});
|
|
1288
|
+
}
|
|
1289
|
+
/** The names-by-scale input; `undefined` when nothing is declared. */
|
|
1290
|
+
function namesByScale(store) {
|
|
1291
|
+
if (store.scaleNames.size === 0) return void 0;
|
|
1292
|
+
const result = {};
|
|
1293
|
+
for (const [scale, names] of store.scaleNames) result[scale] = [...names];
|
|
1294
|
+
return result;
|
|
1295
|
+
}
|
|
1296
|
+
/** The manifest's `registrations`: authored objects, in registration order. */
|
|
1297
|
+
function legacyRegistrations(store) {
|
|
1298
|
+
const result = {};
|
|
1299
|
+
for (const [name, record] of store.records) {
|
|
1300
|
+
const registration = record.legacy?.registration;
|
|
1301
|
+
if (registration) result[name] = registration;
|
|
1302
|
+
}
|
|
1303
|
+
return result;
|
|
1304
|
+
}
|
|
1305
|
+
/**
|
|
1306
|
+
* `@property` rules for registered, declared properties, emitted as
|
|
1307
|
+
* `--${name}`: the name the Rust resolver maps a bare contextual variable
|
|
1308
|
+
* to. `''` when there are none.
|
|
1309
|
+
*/
|
|
1310
|
+
function registrationCss(store) {
|
|
1311
|
+
const blocks = [];
|
|
1312
|
+
for (const record of store.records.values()) {
|
|
1313
|
+
if (!isRegistered(record) || !isDeclared(store, record.name)) continue;
|
|
1314
|
+
const signature = registrationSignature(record);
|
|
1315
|
+
const descriptors = [`syntax: "${signature.syntax}";`, `inherits: ${signature.inherits};`];
|
|
1316
|
+
if (signature.initialValue !== void 0) descriptors.push(`initial-value: ${signature.initialValue};`);
|
|
1317
|
+
blocks.push(`@property ${signature.name} { ${descriptors.join(" ")} }`);
|
|
1318
|
+
}
|
|
1319
|
+
return blocks.join("\n");
|
|
1320
|
+
}
|
|
1321
|
+
/** The records extraction receives, sorted by name; `undefined` when none. */
|
|
1322
|
+
function serializePropertyRecords(store) {
|
|
1323
|
+
if (store.records.size === 0) return void 0;
|
|
1324
|
+
const records = [...store.records.values()].sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0).map((record) => ({
|
|
1325
|
+
name: record.name,
|
|
1326
|
+
syntax: record.syntax,
|
|
1327
|
+
inherits: record.inherits,
|
|
1328
|
+
initialValue: record.initialValue,
|
|
1329
|
+
scales: [...store.scaleNames].filter(([, names]) => names.includes(record.name)).map(([scale]) => scale),
|
|
1330
|
+
home: record.home,
|
|
1331
|
+
registered: isRegistered(record) && isDeclared(store, record.name),
|
|
1332
|
+
legacy: record.legacy !== void 0
|
|
1333
|
+
}));
|
|
1334
|
+
return JSON.stringify(records);
|
|
1335
|
+
}
|
|
1336
|
+
//#endregion
|
|
1192
1337
|
//#region src/theme/resolveReferences.ts
|
|
1193
1338
|
/**
|
|
1194
1339
|
* Runs inside QuickJS: ES built-ins only, no Node or WHATWG APIs.
|
|
@@ -1503,8 +1648,7 @@ function createState(theme) {
|
|
|
1503
1648
|
return {
|
|
1504
1649
|
theme: theme || { breakpoints: {} },
|
|
1505
1650
|
emittedScales: /* @__PURE__ */ new Set(),
|
|
1506
|
-
|
|
1507
|
-
contextualVarRegistrations: /* @__PURE__ */ new Map(),
|
|
1651
|
+
properties: createPropertyStore(),
|
|
1508
1652
|
hasLegacyManifestSource: false,
|
|
1509
1653
|
extendProvenance: /* @__PURE__ */ new Map(),
|
|
1510
1654
|
extendCount: 0,
|
|
@@ -1516,11 +1660,10 @@ function createState(theme) {
|
|
|
1516
1660
|
};
|
|
1517
1661
|
}
|
|
1518
1662
|
function copyState(state, nextTheme) {
|
|
1519
|
-
|
|
1663
|
+
return {
|
|
1520
1664
|
theme: nextTheme,
|
|
1521
1665
|
emittedScales: new Set(state.emittedScales),
|
|
1522
|
-
|
|
1523
|
-
contextualVarRegistrations: new Map(state.contextualVarRegistrations),
|
|
1666
|
+
properties: copyPropertyStore(state.properties),
|
|
1524
1667
|
...state.carriedManifestV2 ? { carriedManifestV2: { ...state.carriedManifestV2 } } : {},
|
|
1525
1668
|
hasLegacyManifestSource: state.hasLegacyManifestSource,
|
|
1526
1669
|
extendProvenance: new Map(state.extendProvenance),
|
|
@@ -1531,8 +1674,6 @@ function copyState(state, nextTheme) {
|
|
|
1531
1674
|
declarationScales: { ...state.declarationScales },
|
|
1532
1675
|
declarationProvenance: new Map(state.declarationProvenance)
|
|
1533
1676
|
};
|
|
1534
|
-
for (const [scale, vars] of state.contextualVars) next.contextualVars.set(scale, [...vars]);
|
|
1535
|
-
return next;
|
|
1536
1677
|
}
|
|
1537
1678
|
/**
|
|
1538
1679
|
* Leaf-path flatten WITHOUT the `_` identity collapse, so a leaf and a branch
|
|
@@ -1591,7 +1732,7 @@ function overlayDeclarationScales(base, overlay) {
|
|
|
1591
1732
|
* Re-seeds emitted scales, contextual vars and the manifest-v2 carry from a
|
|
1592
1733
|
* source manifest — non-enumerable, so key-copy loops never see it.
|
|
1593
1734
|
*/
|
|
1594
|
-
function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
|
|
1735
|
+
function reseedStateFromManifest(state, manifest, source, mergeExtensionState = false) {
|
|
1595
1736
|
if (manifest?.emittedScales) for (const scale of manifest.emittedScales) state.emittedScales.add(scale);
|
|
1596
1737
|
else if (manifest?.variableMap) {
|
|
1597
1738
|
const emittedPaths = manifest.manifestVersion === 2 && manifest.tokenDefinitions ? Object.keys(manifest.variableMap).filter((tokenPath) => manifest.tokenDefinitions?.[tokenPath] !== void 0) : Object.keys(manifest.variableMap);
|
|
@@ -1601,8 +1742,8 @@ function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
|
|
|
1601
1742
|
}
|
|
1602
1743
|
}
|
|
1603
1744
|
if (manifest?.contextualVars) for (const [scale, vars] of Object.entries(manifest.contextualVars)) {
|
|
1604
|
-
const existing = mergeExtensionState ? state.
|
|
1605
|
-
state.
|
|
1745
|
+
const existing = mergeExtensionState ? state.properties.scaleNames.get(scale) : void 0;
|
|
1746
|
+
replaceScaleNames(state.properties, scale, existing ? [.../* @__PURE__ */ new Set([...existing, ...vars])] : vars, source);
|
|
1606
1747
|
}
|
|
1607
1748
|
if (manifest) {
|
|
1608
1749
|
if (manifest.manifestVersion === 2) {
|
|
@@ -1616,9 +1757,9 @@ function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
|
|
|
1616
1757
|
cssFragments: manifest.cssFragments
|
|
1617
1758
|
};
|
|
1618
1759
|
if (manifest.registrations) for (const [name, registration] of Object.entries(manifest.registrations)) {
|
|
1619
|
-
const existing = state.
|
|
1620
|
-
if (mergeExtensionState && existing && (
|
|
1621
|
-
state.
|
|
1760
|
+
const existing = legacyRegistration(state.properties, name);
|
|
1761
|
+
if (mergeExtensionState && existing && !sameRegistration(legacySignature(name, existing), legacySignature(name, registration))) throw new Error(`extend: contextual variable '${name}' has divergent @property registrations across extended themes`);
|
|
1762
|
+
setLegacyRegistration(state.properties, name, registration, source);
|
|
1622
1763
|
}
|
|
1623
1764
|
} else state.hasLegacyManifestSource = true;
|
|
1624
1765
|
}
|
|
@@ -1647,7 +1788,7 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1647
1788
|
const nextTheme = merge(deepCopyPlain(this._state.theme), deepCopyPlain(raw));
|
|
1648
1789
|
const next = new ThemeBuilder(copyState(this._state, nextTheme));
|
|
1649
1790
|
next._state.declarationScales = overlayDeclarationScales(this._state.declarationScales, declarationScalesOf(source));
|
|
1650
|
-
reseedStateFromManifest(next._state, source.manifest);
|
|
1791
|
+
reseedStateFromManifest(next._state, source.manifest, { method: "from" });
|
|
1651
1792
|
return next;
|
|
1652
1793
|
}
|
|
1653
1794
|
/**
|
|
@@ -1705,7 +1846,10 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1705
1846
|
if (!isObject(modeAliases)) continue;
|
|
1706
1847
|
for (const aliasPath of Object.keys(flattenToDotPaths(modeAliases))) next._state.inheritedModeAliases.add(aliasPath);
|
|
1707
1848
|
}
|
|
1708
|
-
reseedStateFromManifest(next._state, themeHalf.manifest,
|
|
1849
|
+
reseedStateFromManifest(next._state, themeHalf.manifest, {
|
|
1850
|
+
method: "extend",
|
|
1851
|
+
call: sourceIndex
|
|
1852
|
+
}, true);
|
|
1709
1853
|
return next;
|
|
1710
1854
|
}
|
|
1711
1855
|
addColors(colors) {
|
|
@@ -1782,12 +1926,10 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1782
1926
|
declareContextualVars(vars, registrations) {
|
|
1783
1927
|
for (const scale of Object.keys(vars)) if (!(scale in this._state.theme)) throw new Error(`declareContextualVars: scale '${scale}' not found — call addColors or addScale first`);
|
|
1784
1928
|
const next = new ThemeBuilder(copyState(this._state, this._state.theme));
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
next._state.contextualVars.set(scale, [...existing, ...names]);
|
|
1788
|
-
}
|
|
1929
|
+
const source = { method: "declareContextualVars" };
|
|
1930
|
+
for (const [scale, names] of Object.entries(vars)) declareScaleNames(next._state.properties, scale, names, source);
|
|
1789
1931
|
if (registrations) {
|
|
1790
|
-
for (const [name, registration] of Object.entries(registrations)) if (registration) next._state.
|
|
1932
|
+
for (const [name, registration] of Object.entries(registrations)) if (registration) setLegacyRegistration(next._state.properties, name, registration, source);
|
|
1791
1933
|
}
|
|
1792
1934
|
return next;
|
|
1793
1935
|
}
|
|
@@ -1798,7 +1940,6 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1798
1940
|
build() {
|
|
1799
1941
|
const theme = deepCopyPlain(this._state.theme);
|
|
1800
1942
|
const emittedScales = this._state.emittedScales;
|
|
1801
|
-
const contextualVars = this._state.contextualVars;
|
|
1802
1943
|
const systemPreference = isObject(theme.systemPreference) ? theme.systemPreference : void 0;
|
|
1803
1944
|
const mergedModeNames = isObject(theme.modes) ? Object.keys(theme.modes) : [];
|
|
1804
1945
|
validateReservedModeNames(mergedModeNames);
|
|
@@ -1827,12 +1968,8 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1827
1968
|
const breakpointEntries = Object.entries(theme.breakpoints).map(([key, value]) => [`--breakpoint-${key}`, `${value}px`]).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
1828
1969
|
for (const [varName, value] of breakpointEntries) bpVariables[varName] = value;
|
|
1829
1970
|
}
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
contextualVarsSerialized = {};
|
|
1833
|
-
for (const [scale, vars] of contextualVars) contextualVarsSerialized[scale] = vars;
|
|
1834
|
-
}
|
|
1835
|
-
const propertyCss = buildPropertyRegistrationCss(contextualVars, this._state.contextualVarRegistrations);
|
|
1971
|
+
const contextualVarsSerialized = namesByScale(this._state.properties);
|
|
1972
|
+
const propertyCss = registrationCss(this._state.properties);
|
|
1836
1973
|
const { emittableVariables, emittableModeVariables, omitted } = omitUnresolvedDeclarations(variables, modeVariables);
|
|
1837
1974
|
if (omitted.length > 0) console.warn(`[animus] Omitted ${omitted.length} CSS declaration(s) whose token references never resolved: ${omitted.join(", ")}`);
|
|
1838
1975
|
const baseVariableCss = buildVariableCss(emittableVariables, bpVariables, emittableModeVariables, {
|
|
@@ -1843,7 +1980,7 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1843
1980
|
const variableCss = propertyCss ? baseVariableCss ? `${propertyCss}\n\n${baseVariableCss}` : propertyCss : baseVariableCss;
|
|
1844
1981
|
let manifestV2Fields = {};
|
|
1845
1982
|
if (!this._state.hasLegacyManifestSource) {
|
|
1846
|
-
const registrations =
|
|
1983
|
+
const registrations = legacyRegistrations(this._state.properties);
|
|
1847
1984
|
const cssFragments = [];
|
|
1848
1985
|
if (propertyCss) cssFragments.push({
|
|
1849
1986
|
id: "registrations",
|
|
@@ -1902,13 +2039,15 @@ var ThemeBuilder = class ThemeBuilder {
|
|
|
1902
2039
|
writable: false
|
|
1903
2040
|
});
|
|
1904
2041
|
const declarationScalesJson = resolvedDeclarationScales ? JSON.stringify(resolvedDeclarationScales) : void 0;
|
|
2042
|
+
const propertyRecordsJson = serializePropertyRecords(this._state.properties);
|
|
1905
2043
|
Object.defineProperty(theme, "serialize", {
|
|
1906
2044
|
value: () => ({
|
|
1907
2045
|
scalesJson: JSON.stringify(manifest.tokenMap),
|
|
1908
2046
|
variableMapJson: JSON.stringify(manifest.variableMap),
|
|
1909
2047
|
variableCss: manifest.variableCss,
|
|
1910
2048
|
contextualVarsJson: JSON.stringify(manifest.contextualVars ?? {}),
|
|
1911
|
-
...declarationScalesJson ? { declarationScalesJson } : {}
|
|
2049
|
+
...declarationScalesJson ? { declarationScalesJson } : {},
|
|
2050
|
+
...propertyRecordsJson ? { propertyRecordsJson } : {}
|
|
1912
2051
|
}),
|
|
1913
2052
|
enumerable: false,
|
|
1914
2053
|
configurable: false,
|
|
@@ -2408,23 +2547,6 @@ function sha256HexFallback(input) {
|
|
|
2408
2547
|
function computeContractHash(input) {
|
|
2409
2548
|
return sha256Hex(JSON.stringify(canonicalize(input)));
|
|
2410
2549
|
}
|
|
2411
|
-
/**
|
|
2412
|
-
* `@property` rules for registered contextual vars, emitted as `--${name}` —
|
|
2413
|
-
* the name the Rust resolver maps a bare contextual var to. `''` when none.
|
|
2414
|
-
*/
|
|
2415
|
-
function buildPropertyRegistrationCss(contextualVars, registrations) {
|
|
2416
|
-
if (registrations.size === 0) return "";
|
|
2417
|
-
const declaredNames = /* @__PURE__ */ new Set();
|
|
2418
|
-
for (const names of contextualVars.values()) for (const name of names) declaredNames.add(name);
|
|
2419
|
-
const blocks = [];
|
|
2420
|
-
for (const [name, registration] of registrations) {
|
|
2421
|
-
if (!declaredNames.has(name)) continue;
|
|
2422
|
-
const descriptors = [`syntax: "${registration.syntax}";`, `inherits: ${registration.inherits};`];
|
|
2423
|
-
if (registration.initialValue !== void 0) descriptors.push(`initial-value: ${registration.initialValue};`);
|
|
2424
|
-
blocks.push(`@property --${name} { ${descriptors.join(" ")} }`);
|
|
2425
|
-
}
|
|
2426
|
-
return blocks.join("\n");
|
|
2427
|
-
}
|
|
2428
2550
|
function buildVariableCss(rootVariables, breakpointVariables, modeVariables, systemEmission = {}) {
|
|
2429
2551
|
const { initialMode, systemPreference, browserColorScheme } = systemEmission;
|
|
2430
2552
|
const parts = [];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type DeclarationScaleValues } from '../declarations';
|
|
2
2
|
import { ColorModeOptions, ContextualVarRegistration, CSSColorValue, ModeAliasDefinition, SerializedTheme, ThemeCssFragment, ThemeManifest, ThemeStructuralKey, TokenDefinition } from '../types/theme';
|
|
3
3
|
import { LiteralPaths } from './flattenScale';
|
|
4
|
+
import { type PropertyStore } from './property-records';
|
|
4
5
|
/** Identity mapping that caches the type, preventing TS2589 depth growth. */
|
|
5
6
|
export type Flatten<T> = {
|
|
6
7
|
[K in keyof T]: T[K];
|
|
@@ -41,12 +42,8 @@ interface CarriedManifestV2 {
|
|
|
41
42
|
interface BuilderState {
|
|
42
43
|
theme: Record<string, unknown>;
|
|
43
44
|
emittedScales: Set<string>;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* Keyed by contextual var NAME, not the `--` custom property. Kept out of
|
|
47
|
-
* `contextualVars` so the extractor's names-only registry keeps its shape.
|
|
48
|
-
*/
|
|
49
|
-
contextualVarRegistrations: Map<string, ContextualVarRegistration>;
|
|
45
|
+
/** One record per declared custom property, contextual variables included. */
|
|
46
|
+
properties: PropertyStore;
|
|
50
47
|
carriedManifestV2?: CarriedManifestV2;
|
|
51
48
|
/**
|
|
52
49
|
* A source manifest without the v2 discriminant: the authored graph is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTheme.d.ts","sourceRoot":"","sources":["../../src/theme/createTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAE5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"createTheme.d.ts","sourceRoot":"","sources":["../../src/theme/createTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { ContextualVarRegistration, ThemeManifest } from '../types/theme';
|
|
2
|
+
/** Where a record was first declared. Kept for diagnostics; not serialized,
|
|
3
|
+
* so an unchanged extension serializes exactly like its source. */
|
|
4
|
+
export type PropertySource = {
|
|
5
|
+
method: 'declareContextualVars';
|
|
6
|
+
} | {
|
|
7
|
+
method: 'extend';
|
|
8
|
+
call: number;
|
|
9
|
+
} | {
|
|
10
|
+
method: 'from';
|
|
11
|
+
};
|
|
12
|
+
/** One declared custom property: the record every declaration API writes. */
|
|
13
|
+
export interface PropertyRecord {
|
|
14
|
+
/** The authored name, without `--`. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Normalized: the home's default applies when nothing says otherwise. */
|
|
17
|
+
inherits: boolean;
|
|
18
|
+
syntax?: string;
|
|
19
|
+
initialValue?: string;
|
|
20
|
+
home: 'theme';
|
|
21
|
+
source: PropertySource;
|
|
22
|
+
/** Present on records the contextual-variable method made. */
|
|
23
|
+
legacy?: {
|
|
24
|
+
/** The authored registration, projected verbatim into the manifest. */
|
|
25
|
+
registration?: ContextualVarRegistration;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** What makes two registrations of one property the same `@property` rule. */
|
|
29
|
+
export interface RegistrationSignature {
|
|
30
|
+
/** The final custom-property name. */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Kept as written, so alternative order is preserved. */
|
|
33
|
+
syntax: string | undefined;
|
|
34
|
+
inherits: boolean;
|
|
35
|
+
initialValue: string | undefined;
|
|
36
|
+
}
|
|
37
|
+
export interface PropertyStore {
|
|
38
|
+
/**
|
|
39
|
+
* By authored name. A record moves to the end when it first gains a
|
|
40
|
+
* registration, so registered records keep registration order, which is
|
|
41
|
+
* the order their `@property` rules are emitted in.
|
|
42
|
+
*/
|
|
43
|
+
records: Map<string, PropertyRecord>;
|
|
44
|
+
/**
|
|
45
|
+
* Names declared on each scale, in declaration order with repeats: the
|
|
46
|
+
* names-by-scale input extraction already reads. Each record's scales are
|
|
47
|
+
* read from here.
|
|
48
|
+
*/
|
|
49
|
+
scaleNames: Map<string, string[]>;
|
|
50
|
+
}
|
|
51
|
+
export declare function createPropertyStore(): PropertyStore;
|
|
52
|
+
export declare function copyPropertyStore(store: PropertyStore): PropertyStore;
|
|
53
|
+
/** Appends `names` to `scale`, repeats included. */
|
|
54
|
+
export declare function declareScaleNames(store: PropertyStore, scale: string, names: readonly string[], source: PropertySource): void;
|
|
55
|
+
/** Replaces `scale`'s names in place, dropping records left with neither a
|
|
56
|
+
* scale nor a registration. */
|
|
57
|
+
export declare function replaceScaleNames(store: PropertyStore, scale: string, names: readonly string[], source: PropertySource): void;
|
|
58
|
+
export declare function legacyRegistration(store: PropertyStore, name: string): ContextualVarRegistration | undefined;
|
|
59
|
+
/** Sets a contextual variable's registration; a later one replaces it. */
|
|
60
|
+
export declare function setLegacyRegistration(store: PropertyStore, name: string, registration: ContextualVarRegistration, source: PropertySource): void;
|
|
61
|
+
/** The one place registration is decided. */
|
|
62
|
+
export declare function isRegistered(record: PropertyRecord): boolean;
|
|
63
|
+
export declare function registrationSignature(record: Pick<PropertyRecord, 'name' | 'syntax' | 'inherits' | 'initialValue'>): RegistrationSignature;
|
|
64
|
+
export declare function sameRegistration(a: RegistrationSignature, b: RegistrationSignature): boolean;
|
|
65
|
+
/** The signature an incoming contextual-variable registration would have. */
|
|
66
|
+
export declare function legacySignature(name: string, registration: ContextualVarRegistration): RegistrationSignature;
|
|
67
|
+
/** The names-by-scale input; `undefined` when nothing is declared. */
|
|
68
|
+
export declare function namesByScale(store: PropertyStore): Record<string, string[]> | undefined;
|
|
69
|
+
/** The manifest's `registrations`: authored objects, in registration order. */
|
|
70
|
+
export declare function legacyRegistrations(store: PropertyStore): NonNullable<ThemeManifest['registrations']>;
|
|
71
|
+
/**
|
|
72
|
+
* `@property` rules for registered, declared properties, emitted as
|
|
73
|
+
* `--${name}`: the name the Rust resolver maps a bare contextual variable
|
|
74
|
+
* to. `''` when there are none.
|
|
75
|
+
*/
|
|
76
|
+
export declare function registrationCss(store: PropertyStore): string;
|
|
77
|
+
/** The records extraction receives, sorted by name; `undefined` when none. */
|
|
78
|
+
export declare function serializePropertyRecords(store: PropertyStore): string | undefined;
|
|
79
|
+
//# sourceMappingURL=property-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-records.d.ts","sourceRoot":"","sources":["../../src/theme/property-records.ts"],"names":[],"mappings":"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"}
|
package/dist/types/theme.d.ts
CHANGED
|
@@ -62,6 +62,12 @@ export interface SerializedTheme {
|
|
|
62
62
|
* scales, so a scalar theme serializes as before.
|
|
63
63
|
*/
|
|
64
64
|
declarationScalesJson?: string;
|
|
65
|
+
/**
|
|
66
|
+
* One record per declared custom property, sorted by name: authored name,
|
|
67
|
+
* syntax, inherits, initial value, scales, home, whether it is registered,
|
|
68
|
+
* and whether the contextual-variable method made it. Absent when none.
|
|
69
|
+
*/
|
|
70
|
+
propertyRecordsJson?: string;
|
|
65
71
|
}
|
|
66
72
|
export interface TokenReference {
|
|
67
73
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@animus-ui/system",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Animus design system builder — tokens, prop groups, global styles",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"css",
|
|
@@ -76,11 +76,13 @@
|
|
|
76
76
|
"compile": "tsc --noEmit"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@animus-ui/properties": "0.1.
|
|
79
|
+
"@animus-ui/properties": "0.1.19",
|
|
80
80
|
"csstype": "^3.2.3"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"react": "^19.2.8"
|
|
83
|
+
"react": "^19.2.8",
|
|
84
|
+
"react-18": "npm:react@18.3.1",
|
|
85
|
+
"react-dom-18": "npm:react-dom@18.3.1"
|
|
84
86
|
},
|
|
85
87
|
"peerDependencies": {
|
|
86
88
|
"react": "^18.0.0 || ^19.0.0"
|