@animus-ui/system 0.1.18 → 0.1.20

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.
@@ -1,2 +1,2 @@
1
- import { t as createClassResolver } from "./createClassResolver-CcCgar2Z.js";
1
+ import { t as createClassResolver } from "./createClassResolver-DPLExqGy.js";
2
2
  export { createClassResolver };
@@ -226,25 +226,94 @@ function warnTransformThrow(baseClassName, propName, transformName, serializedVa
226
226
  }
227
227
  }
228
228
  /**
229
+ * Whether `resolved` reads `currentVar` directly, with or without a fallback;
230
+ * a read inside another `var()`'s fallback is not direct. `var` matches in
231
+ * any case and the name with any CSS whitespace or comments around it; the
232
+ * name itself is case-sensitive. Comments and strings read nothing. The
233
+ * extractor's static path skips its `currentVar` write by the same predicate.
234
+ */
235
+ function readsCurrentVar(resolved, currentVar) {
236
+ const open = [];
237
+ for (let at = 0; at < resolved.length; at += 1) {
238
+ const char = resolved[at];
239
+ if (char === "/" && resolved[at + 1] === "*") {
240
+ const end = resolved.indexOf("*/", at + 2);
241
+ at = end === -1 ? resolved.length : end + 1;
242
+ } else if (char === "\"" || char === "'") {
243
+ at += 1;
244
+ while (at < resolved.length && resolved[at] !== char) at += resolved[at] === "\\" ? 2 : 1;
245
+ } else if (char === "(") {
246
+ const isVar = at >= 3 && resolved.slice(at - 3, at).toLowerCase() === "var";
247
+ const inFallback = open.some((frame) => frame.isVar && frame.fallback);
248
+ if (isVar && !inFallback) {
249
+ const name = skipCssSpace(resolved.slice(at + 1));
250
+ const next = name.startsWith(currentVar) ? skipCssSpace(name.slice(currentVar.length))[0] : void 0;
251
+ if (next === ")" || next === ",") return true;
252
+ }
253
+ open.push({
254
+ isVar,
255
+ fallback: false
256
+ });
257
+ } else if (char === ",") {
258
+ const top = open.at(-1);
259
+ if (top?.isVar) top.fallback = true;
260
+ } else if (char === ")") open.pop();
261
+ }
262
+ return false;
263
+ }
264
+ /** `text` after its leading CSS whitespace (space, tab, line feed, carriage
265
+ * return, form feed) and comments. */
266
+ function skipCssSpace(text) {
267
+ let rest = text;
268
+ for (;;) {
269
+ const trimmed = rest.replace(/^[ \t\n\r\f]+/, "");
270
+ if (!trimmed.startsWith("/*")) return trimmed;
271
+ const end = trimmed.indexOf("*/", 2);
272
+ rest = end === -1 ? "" : trimmed.slice(end + 2);
273
+ }
274
+ }
275
+ /**
276
+ * A value that reads the prop's own `currentVar` takes the slot that leaves
277
+ * it alone, since writing it would make the variable cyclic.
278
+ */
279
+ function slotClassFor(dc, resolved) {
280
+ return dc.currentVar !== void 0 && readsCurrentVar(resolved, dc.currentVar) ? `${dc.slotClass}--keep` : dc.slotClass;
281
+ }
282
+ /** Through an inline variable these would act on the variable itself. */
283
+ const CSS_WIDE_KEYWORDS = /* @__PURE__ */ new Set([
284
+ "initial",
285
+ "inherit",
286
+ "unset",
287
+ "revert",
288
+ "revert-layer"
289
+ ]);
290
+ /**
229
291
  * Resolution is staged so a drop is atomic: one entry that misses a strict
230
292
  * scale, or one transform that throws or returns an invalid result, leaves
231
- * `classes` and `dynStyle` untouched.
293
+ * `classes` and `dynStyle` untouched. A responsive entry that is a CSS-wide
294
+ * keyword takes the class extraction emits for it at that breakpoint.
232
295
  */
233
- function applyDynamicProp(classes, dynStyle, propValue, dc) {
296
+ function applyDynamicProp(classes, dynStyle, propValue, dc, literalClass) {
234
297
  const staged = [];
235
298
  if (typeof propValue === "object" && propValue !== null && !Array.isArray(propValue)) for (const [bp, bpVal] of Object.entries(propValue)) {
236
299
  if (bpVal == null) continue;
300
+ const keywordClass = CSS_WIDE_KEYWORDS.has(bpVal) ? literalClass(bp === "_" ? bpVal : { [bp]: bpVal }) : void 0;
301
+ if (keywordClass) {
302
+ staged.push([keywordClass]);
303
+ continue;
304
+ }
237
305
  const resolved = resolveEntry(bpVal, dc);
238
306
  if (typeof resolved !== "string") return "entry" in resolved ? {
239
307
  ...resolved,
240
308
  breakpoint: bp
241
309
  } : resolved;
310
+ const slotClass = slotClassFor(dc, resolved);
242
311
  staged.push(bp === "_" ? [
243
- dc.slotClass,
312
+ slotClass,
244
313
  dc.varName,
245
314
  resolved
246
315
  ] : [
247
- `${dc.slotClass}-${bp}`,
316
+ `${slotClass}-${bp}`,
248
317
  `${dc.varName}-${bp}`,
249
318
  resolved
250
319
  ]);
@@ -253,14 +322,14 @@ function applyDynamicProp(classes, dynStyle, propValue, dc) {
253
322
  const resolved = resolveEntry(propValue, dc);
254
323
  if (typeof resolved !== "string") return resolved;
255
324
  staged.push([
256
- dc.slotClass,
325
+ slotClassFor(dc, resolved),
257
326
  dc.varName,
258
327
  resolved
259
328
  ]);
260
329
  }
261
- for (const [slotClass, varName, resolved] of staged) {
262
- classes.push(slotClass);
263
- dynStyle[varName] = resolved;
330
+ for (const [cls, varName, resolved] of staged) {
331
+ classes.push(cls);
332
+ if (varName !== void 0 && resolved !== void 0) dynStyle[varName] = resolved;
264
333
  }
265
334
  return null;
266
335
  }
@@ -310,7 +379,8 @@ function resolveClasses(baseClassName, props, config, systemPropMap, dynamicProp
310
379
  const key = serializeValueKey(propValue);
311
380
  const customOwned = customPropMap?.[propName] !== void 0 || customDynamicConfig?.[propName] !== void 0;
312
381
  const [classMap, typedProps] = customOwned ? [customPropMap, config.typedCustomProps] : [systemPropMap, config.typedSystemProps];
313
- const cls = classMap?.[propName]?.[typedProps?.includes(propName) ? typedValueKey(propValue) : key];
382
+ const typed = typedProps?.includes(propName) === true;
383
+ const cls = classMap?.[propName]?.[typed ? typedValueKey(propValue) : key];
314
384
  if (cls) {
315
385
  classes.push(cls);
316
386
  recordWitness(baseClassName, propName, key, "static");
@@ -318,7 +388,7 @@ function resolveClasses(baseClassName, props, config, systemPropMap, dynamicProp
318
388
  const dc = customOwned ? customDynamicConfig?.[propName] : dynamicPropConfig?.[propName];
319
389
  if (dc) {
320
390
  const staged = dynStyle ?? {};
321
- const failure = dc.kind === "declarations" ? applyDeclarationProp(classes, staged, propValue, dc) : applyDynamicProp(classes, staged, propValue, dc);
391
+ const failure = dc.kind === "declarations" ? applyDeclarationProp(classes, staged, propValue, dc) : applyDynamicProp(classes, staged, propValue, dc, (value) => classMap?.[propName]?.[(typed ? typedValueKey : serializeValueKey)(value)]);
322
392
  if (failure === null) {
323
393
  dynStyle = staged;
324
394
  recordWitness(baseClassName, propName, key, "dynamic");
@@ -1,4 +1,4 @@
1
- import { n as resolveClasses } from "./createClassResolver-CcCgar2Z.js";
1
+ import { n as resolveClasses } from "./createClassResolver-DPLExqGy.js";
2
2
  import { t as assertRootSlot } from "./assert-root-slot-C3Lp9MNJ.js";
3
3
  import { Children, cloneElement, createElement, forwardRef, isValidElement } from "react";
4
4
  //#region src/runtime/index.ts
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
- import { t as createClassResolver } from "./createClassResolver-CcCgar2Z.js";
2
- import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-C9ShrVy6.js";
1
+ import { t as createClassResolver } from "./createClassResolver-DPLExqGy.js";
2
+ import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-C6CLAsMx.js";
3
3
  import { compose } from "./compose.js";
4
4
  import { a as borderShorthand, c as numericScale, d as createTransform, f as linkAuthoredCallable, i as gridItemRatio, l as stringScale, n as size, o as createScale, r as gridItem, s as numericOrStringScale, t as percentageOrAbsolute, u as areTransformsEqual } from "./size-ZhCTPtA-.js";
5
+ import { registeredInitialValue } from "@animus-ui/properties";
5
6
  //#region src/utils/deepMerge.ts
6
7
  const isMergeable = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
7
8
  function deepMerge(target, source) {
@@ -1189,6 +1190,154 @@ function createSystem(config) {
1189
1190
  return new SystemBuilder(void 0, void 0, void 0, includes, void 0, void 0, void 0, void 0, void 0, witnesses);
1190
1191
  }
1191
1192
  //#endregion
1193
+ //#region src/theme/property-records.ts
1194
+ const THEME_INHERITS = true;
1195
+ function createPropertyStore() {
1196
+ return {
1197
+ records: /* @__PURE__ */ new Map(),
1198
+ scaleNames: /* @__PURE__ */ new Map()
1199
+ };
1200
+ }
1201
+ function copyPropertyStore(store) {
1202
+ const records = /* @__PURE__ */ new Map();
1203
+ for (const [name, record] of store.records) records.set(name, { ...record });
1204
+ const scaleNames = /* @__PURE__ */ new Map();
1205
+ for (const [scale, names] of store.scaleNames) scaleNames.set(scale, [...names]);
1206
+ return {
1207
+ records,
1208
+ scaleNames
1209
+ };
1210
+ }
1211
+ function ensureRecord(store, name, source) {
1212
+ if (store.records.has(name)) return;
1213
+ store.records.set(name, {
1214
+ name,
1215
+ inherits: THEME_INHERITS,
1216
+ home: "theme",
1217
+ source,
1218
+ legacy: {}
1219
+ });
1220
+ }
1221
+ function isDeclared(store, name) {
1222
+ for (const names of store.scaleNames.values()) if (names.includes(name)) return true;
1223
+ return false;
1224
+ }
1225
+ /** Appends `names` to `scale`, repeats included. */
1226
+ function declareScaleNames(store, scale, names, source) {
1227
+ store.scaleNames.set(scale, [...store.scaleNames.get(scale) ?? [], ...names]);
1228
+ for (const name of names) ensureRecord(store, name, source);
1229
+ }
1230
+ /** Replaces `scale`'s names in place, dropping records left with neither a
1231
+ * scale nor a registration. */
1232
+ function replaceScaleNames(store, scale, names, source) {
1233
+ const replaced = store.scaleNames.get(scale) ?? [];
1234
+ store.scaleNames.set(scale, [...names]);
1235
+ for (const name of names) ensureRecord(store, name, source);
1236
+ for (const name of replaced) {
1237
+ const record = store.records.get(name);
1238
+ if (record && !record.legacy?.registration && !isDeclared(store, name)) store.records.delete(name);
1239
+ }
1240
+ }
1241
+ /** The fields a contextual-variable registration sets, read literally: an
1242
+ * untyped registration without a syntax keeps emitting `syntax: "undefined"`,
1243
+ * which extraction reports as an invalid registration. An all-absolute math
1244
+ * initial value is recorded as its computed value (`calc(1px / 1px)` → `1`),
1245
+ * so both spellings are one registration, and CSS tooling reads the rule. */
1246
+ function legacyFields(registration) {
1247
+ const syntax = `${registration.syntax}`;
1248
+ return {
1249
+ syntax,
1250
+ inherits: registration.inherits ?? THEME_INHERITS,
1251
+ initialValue: registration.initialValue === void 0 ? void 0 : registeredInitialValue(syntax, registration.initialValue)
1252
+ };
1253
+ }
1254
+ function legacyRegistration(store, name) {
1255
+ return store.records.get(name)?.legacy?.registration;
1256
+ }
1257
+ /** Sets a contextual variable's registration; a later one replaces it. */
1258
+ function setLegacyRegistration(store, name, registration, source) {
1259
+ const existing = store.records.get(name);
1260
+ if (existing && !existing.legacy?.registration) store.records.delete(name);
1261
+ store.records.set(name, {
1262
+ ...existing ?? {
1263
+ name,
1264
+ home: "theme",
1265
+ source
1266
+ },
1267
+ ...legacyFields(registration),
1268
+ legacy: { registration }
1269
+ });
1270
+ }
1271
+ /** The one place registration is decided. */
1272
+ function isRegistered(record) {
1273
+ return record.syntax !== void 0 || record.initialValue !== void 0 || !record.inherits;
1274
+ }
1275
+ function registrationSignature(record) {
1276
+ return {
1277
+ name: `--${record.name}`,
1278
+ syntax: record.syntax,
1279
+ inherits: record.inherits,
1280
+ initialValue: record.initialValue
1281
+ };
1282
+ }
1283
+ function sameRegistration(a, b) {
1284
+ return a.name === b.name && a.syntax === b.syntax && a.inherits === b.inherits && a.initialValue === b.initialValue;
1285
+ }
1286
+ /** The signature an incoming contextual-variable registration would have. */
1287
+ function legacySignature(name, registration) {
1288
+ return registrationSignature({
1289
+ name,
1290
+ ...legacyFields(registration)
1291
+ });
1292
+ }
1293
+ /** The names-by-scale input; `undefined` when nothing is declared. */
1294
+ function namesByScale(store) {
1295
+ if (store.scaleNames.size === 0) return void 0;
1296
+ const result = {};
1297
+ for (const [scale, names] of store.scaleNames) result[scale] = [...names];
1298
+ return result;
1299
+ }
1300
+ /** The manifest's `registrations`: authored objects, in registration order. */
1301
+ function legacyRegistrations(store) {
1302
+ const result = {};
1303
+ for (const [name, record] of store.records) {
1304
+ const registration = record.legacy?.registration;
1305
+ if (registration) result[name] = registration;
1306
+ }
1307
+ return result;
1308
+ }
1309
+ /**
1310
+ * `@property` rules for registered, declared properties, emitted as
1311
+ * `--${name}`: the name the Rust resolver maps a bare contextual variable
1312
+ * to. `''` when there are none.
1313
+ */
1314
+ function registrationCss(store) {
1315
+ const blocks = [];
1316
+ for (const record of store.records.values()) {
1317
+ if (!isRegistered(record) || !isDeclared(store, record.name)) continue;
1318
+ const signature = registrationSignature(record);
1319
+ const descriptors = [`syntax: "${signature.syntax}";`, `inherits: ${signature.inherits};`];
1320
+ if (signature.initialValue !== void 0) descriptors.push(`initial-value: ${signature.initialValue};`);
1321
+ blocks.push(`@property ${signature.name} { ${descriptors.join(" ")} }`);
1322
+ }
1323
+ return blocks.join("\n");
1324
+ }
1325
+ /** The records extraction receives, sorted by name; `undefined` when none. */
1326
+ function serializePropertyRecords(store) {
1327
+ if (store.records.size === 0) return void 0;
1328
+ const records = [...store.records.values()].sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0).map((record) => ({
1329
+ name: record.name,
1330
+ syntax: record.syntax,
1331
+ inherits: record.inherits,
1332
+ initialValue: record.initialValue,
1333
+ scales: [...store.scaleNames].filter(([, names]) => names.includes(record.name)).map(([scale]) => scale),
1334
+ home: record.home,
1335
+ registered: isRegistered(record) && isDeclared(store, record.name),
1336
+ legacy: record.legacy !== void 0
1337
+ }));
1338
+ return JSON.stringify(records);
1339
+ }
1340
+ //#endregion
1192
1341
  //#region src/theme/resolveReferences.ts
1193
1342
  /**
1194
1343
  * Runs inside QuickJS: ES built-ins only, no Node or WHATWG APIs.
@@ -1503,8 +1652,7 @@ function createState(theme) {
1503
1652
  return {
1504
1653
  theme: theme || { breakpoints: {} },
1505
1654
  emittedScales: /* @__PURE__ */ new Set(),
1506
- contextualVars: /* @__PURE__ */ new Map(),
1507
- contextualVarRegistrations: /* @__PURE__ */ new Map(),
1655
+ properties: createPropertyStore(),
1508
1656
  hasLegacyManifestSource: false,
1509
1657
  extendProvenance: /* @__PURE__ */ new Map(),
1510
1658
  extendCount: 0,
@@ -1516,11 +1664,10 @@ function createState(theme) {
1516
1664
  };
1517
1665
  }
1518
1666
  function copyState(state, nextTheme) {
1519
- const next = {
1667
+ return {
1520
1668
  theme: nextTheme,
1521
1669
  emittedScales: new Set(state.emittedScales),
1522
- contextualVars: /* @__PURE__ */ new Map(),
1523
- contextualVarRegistrations: new Map(state.contextualVarRegistrations),
1670
+ properties: copyPropertyStore(state.properties),
1524
1671
  ...state.carriedManifestV2 ? { carriedManifestV2: { ...state.carriedManifestV2 } } : {},
1525
1672
  hasLegacyManifestSource: state.hasLegacyManifestSource,
1526
1673
  extendProvenance: new Map(state.extendProvenance),
@@ -1531,8 +1678,6 @@ function copyState(state, nextTheme) {
1531
1678
  declarationScales: { ...state.declarationScales },
1532
1679
  declarationProvenance: new Map(state.declarationProvenance)
1533
1680
  };
1534
- for (const [scale, vars] of state.contextualVars) next.contextualVars.set(scale, [...vars]);
1535
- return next;
1536
1681
  }
1537
1682
  /**
1538
1683
  * Leaf-path flatten WITHOUT the `_` identity collapse, so a leaf and a branch
@@ -1591,7 +1736,7 @@ function overlayDeclarationScales(base, overlay) {
1591
1736
  * Re-seeds emitted scales, contextual vars and the manifest-v2 carry from a
1592
1737
  * source manifest — non-enumerable, so key-copy loops never see it.
1593
1738
  */
1594
- function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
1739
+ function reseedStateFromManifest(state, manifest, source, mergeExtensionState = false) {
1595
1740
  if (manifest?.emittedScales) for (const scale of manifest.emittedScales) state.emittedScales.add(scale);
1596
1741
  else if (manifest?.variableMap) {
1597
1742
  const emittedPaths = manifest.manifestVersion === 2 && manifest.tokenDefinitions ? Object.keys(manifest.variableMap).filter((tokenPath) => manifest.tokenDefinitions?.[tokenPath] !== void 0) : Object.keys(manifest.variableMap);
@@ -1601,8 +1746,8 @@ function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
1601
1746
  }
1602
1747
  }
1603
1748
  if (manifest?.contextualVars) for (const [scale, vars] of Object.entries(manifest.contextualVars)) {
1604
- const existing = mergeExtensionState ? state.contextualVars.get(scale) : void 0;
1605
- state.contextualVars.set(scale, existing ? [.../* @__PURE__ */ new Set([...existing, ...vars])] : [...vars]);
1749
+ const existing = mergeExtensionState ? state.properties.scaleNames.get(scale) : void 0;
1750
+ replaceScaleNames(state.properties, scale, existing ? [.../* @__PURE__ */ new Set([...existing, ...vars])] : vars, source);
1606
1751
  }
1607
1752
  if (manifest) {
1608
1753
  if (manifest.manifestVersion === 2) {
@@ -1616,9 +1761,9 @@ function reseedStateFromManifest(state, manifest, mergeExtensionState = false) {
1616
1761
  cssFragments: manifest.cssFragments
1617
1762
  };
1618
1763
  if (manifest.registrations) for (const [name, registration] of Object.entries(manifest.registrations)) {
1619
- const existing = state.contextualVarRegistrations.get(name);
1620
- if (mergeExtensionState && existing && (existing.syntax !== registration.syntax || existing.inherits !== registration.inherits || existing.initialValue !== registration.initialValue)) throw new Error(`extend: contextual variable '${name}' has divergent @property registrations across extended themes`);
1621
- state.contextualVarRegistrations.set(name, registration);
1764
+ const existing = legacyRegistration(state.properties, name);
1765
+ if (mergeExtensionState && existing && !sameRegistration(legacySignature(name, existing), legacySignature(name, registration))) throw new Error(`extend: contextual variable '${name}' has divergent @property registrations across extended themes`);
1766
+ setLegacyRegistration(state.properties, name, registration, source);
1622
1767
  }
1623
1768
  } else state.hasLegacyManifestSource = true;
1624
1769
  }
@@ -1647,7 +1792,7 @@ var ThemeBuilder = class ThemeBuilder {
1647
1792
  const nextTheme = merge(deepCopyPlain(this._state.theme), deepCopyPlain(raw));
1648
1793
  const next = new ThemeBuilder(copyState(this._state, nextTheme));
1649
1794
  next._state.declarationScales = overlayDeclarationScales(this._state.declarationScales, declarationScalesOf(source));
1650
- reseedStateFromManifest(next._state, source.manifest);
1795
+ reseedStateFromManifest(next._state, source.manifest, { method: "from" });
1651
1796
  return next;
1652
1797
  }
1653
1798
  /**
@@ -1705,7 +1850,10 @@ var ThemeBuilder = class ThemeBuilder {
1705
1850
  if (!isObject(modeAliases)) continue;
1706
1851
  for (const aliasPath of Object.keys(flattenToDotPaths(modeAliases))) next._state.inheritedModeAliases.add(aliasPath);
1707
1852
  }
1708
- reseedStateFromManifest(next._state, themeHalf.manifest, true);
1853
+ reseedStateFromManifest(next._state, themeHalf.manifest, {
1854
+ method: "extend",
1855
+ call: sourceIndex
1856
+ }, true);
1709
1857
  return next;
1710
1858
  }
1711
1859
  addColors(colors) {
@@ -1782,12 +1930,10 @@ var ThemeBuilder = class ThemeBuilder {
1782
1930
  declareContextualVars(vars, registrations) {
1783
1931
  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
1932
  const next = new ThemeBuilder(copyState(this._state, this._state.theme));
1785
- for (const [scale, names] of Object.entries(vars)) {
1786
- const existing = next._state.contextualVars.get(scale) || [];
1787
- next._state.contextualVars.set(scale, [...existing, ...names]);
1788
- }
1933
+ const source = { method: "declareContextualVars" };
1934
+ for (const [scale, names] of Object.entries(vars)) declareScaleNames(next._state.properties, scale, names, source);
1789
1935
  if (registrations) {
1790
- for (const [name, registration] of Object.entries(registrations)) if (registration) next._state.contextualVarRegistrations.set(name, registration);
1936
+ for (const [name, registration] of Object.entries(registrations)) if (registration) setLegacyRegistration(next._state.properties, name, registration, source);
1791
1937
  }
1792
1938
  return next;
1793
1939
  }
@@ -1798,7 +1944,6 @@ var ThemeBuilder = class ThemeBuilder {
1798
1944
  build() {
1799
1945
  const theme = deepCopyPlain(this._state.theme);
1800
1946
  const emittedScales = this._state.emittedScales;
1801
- const contextualVars = this._state.contextualVars;
1802
1947
  const systemPreference = isObject(theme.systemPreference) ? theme.systemPreference : void 0;
1803
1948
  const mergedModeNames = isObject(theme.modes) ? Object.keys(theme.modes) : [];
1804
1949
  validateReservedModeNames(mergedModeNames);
@@ -1827,12 +1972,8 @@ var ThemeBuilder = class ThemeBuilder {
1827
1972
  const breakpointEntries = Object.entries(theme.breakpoints).map(([key, value]) => [`--breakpoint-${key}`, `${value}px`]).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
1828
1973
  for (const [varName, value] of breakpointEntries) bpVariables[varName] = value;
1829
1974
  }
1830
- let contextualVarsSerialized;
1831
- if (contextualVars.size > 0) {
1832
- contextualVarsSerialized = {};
1833
- for (const [scale, vars] of contextualVars) contextualVarsSerialized[scale] = vars;
1834
- }
1835
- const propertyCss = buildPropertyRegistrationCss(contextualVars, this._state.contextualVarRegistrations);
1975
+ const contextualVarsSerialized = namesByScale(this._state.properties);
1976
+ const propertyCss = registrationCss(this._state.properties);
1836
1977
  const { emittableVariables, emittableModeVariables, omitted } = omitUnresolvedDeclarations(variables, modeVariables);
1837
1978
  if (omitted.length > 0) console.warn(`[animus] Omitted ${omitted.length} CSS declaration(s) whose token references never resolved: ${omitted.join(", ")}`);
1838
1979
  const baseVariableCss = buildVariableCss(emittableVariables, bpVariables, emittableModeVariables, {
@@ -1843,7 +1984,7 @@ var ThemeBuilder = class ThemeBuilder {
1843
1984
  const variableCss = propertyCss ? baseVariableCss ? `${propertyCss}\n\n${baseVariableCss}` : propertyCss : baseVariableCss;
1844
1985
  let manifestV2Fields = {};
1845
1986
  if (!this._state.hasLegacyManifestSource) {
1846
- const registrations = Object.fromEntries(this._state.contextualVarRegistrations);
1987
+ const registrations = legacyRegistrations(this._state.properties);
1847
1988
  const cssFragments = [];
1848
1989
  if (propertyCss) cssFragments.push({
1849
1990
  id: "registrations",
@@ -1902,13 +2043,15 @@ var ThemeBuilder = class ThemeBuilder {
1902
2043
  writable: false
1903
2044
  });
1904
2045
  const declarationScalesJson = resolvedDeclarationScales ? JSON.stringify(resolvedDeclarationScales) : void 0;
2046
+ const propertyRecordsJson = serializePropertyRecords(this._state.properties);
1905
2047
  Object.defineProperty(theme, "serialize", {
1906
2048
  value: () => ({
1907
2049
  scalesJson: JSON.stringify(manifest.tokenMap),
1908
2050
  variableMapJson: JSON.stringify(manifest.variableMap),
1909
2051
  variableCss: manifest.variableCss,
1910
2052
  contextualVarsJson: JSON.stringify(manifest.contextualVars ?? {}),
1911
- ...declarationScalesJson ? { declarationScalesJson } : {}
2053
+ ...declarationScalesJson ? { declarationScalesJson } : {},
2054
+ ...propertyRecordsJson ? { propertyRecordsJson } : {}
1912
2055
  }),
1913
2056
  enumerable: false,
1914
2057
  configurable: false,
@@ -2408,23 +2551,6 @@ function sha256HexFallback(input) {
2408
2551
  function computeContractHash(input) {
2409
2552
  return sha256Hex(JSON.stringify(canonicalize(input)));
2410
2553
  }
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
2554
  function buildVariableCss(rootVariables, breakpointVariables, modeVariables, systemEmission = {}) {
2429
2555
  const { initialMode, systemPreference, browserColorScheme } = systemEmission;
2430
2556
  const parts = [];
@@ -36,6 +36,8 @@ interface ValueDynamicPropConfig {
36
36
  strict?: boolean;
37
37
  /** The keywords a strict prop admits beside its tokens. */
38
38
  keywords?: readonly string[];
39
+ /** The custom property the prop's slot also writes. */
40
+ currentVar?: string;
39
41
  kind?: never;
40
42
  }
41
43
  interface DeclarationDynamicPropConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"resolveClasses.d.ts","sourceRoot":"","sources":["../../src/runtime/resolveClasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveClasses.d.ts","sourceRoot":"","sources":["../../src/runtime/resolveClasses.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { t as createClassResolver } from "./createClassResolver-CcCgar2Z.js";
2
- import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-C9ShrVy6.js";
1
+ import { t as createClassResolver } from "./createClassResolver-DPLExqGy.js";
2
+ import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-C6CLAsMx.js";
3
3
  export { createClassResolver, createComponent, createComposedFamily };
@@ -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
- contextualVars: Map<string, string[]>;
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":"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"}
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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"}
@@ -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.18",
3
+ "version": "0.1.20",
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.18",
79
+ "@animus-ui/properties": "0.1.20",
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"