@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.
- package/dist/class-resolver.js +1 -1
- package/dist/{createClassResolver-CcCgar2Z.js → createClassResolver-DPLExqGy.js} +80 -10
- package/dist/{createComposedFamily-C9ShrVy6.js → createComposedFamily-C6CLAsMx.js} +1 -1
- package/dist/index.js +174 -48
- package/dist/runtime/resolveClasses.d.ts +2 -0
- package/dist/runtime/resolveClasses.d.ts.map +1 -1
- package/dist/runtime-entry.js +2 -2
- 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/class-resolver.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createClassResolver } from "./createClassResolver-
|
|
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
|
-
|
|
312
|
+
slotClass,
|
|
244
313
|
dc.varName,
|
|
245
314
|
resolved
|
|
246
315
|
] : [
|
|
247
|
-
`${
|
|
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
|
|
325
|
+
slotClassFor(dc, resolved),
|
|
257
326
|
dc.varName,
|
|
258
327
|
resolved
|
|
259
328
|
]);
|
|
260
329
|
}
|
|
261
|
-
for (const [
|
|
262
|
-
classes.push(
|
|
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
|
|
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-
|
|
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-
|
|
2
|
-
import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-
|
|
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
|
-
|
|
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
|
-
|
|
1667
|
+
return {
|
|
1520
1668
|
theme: nextTheme,
|
|
1521
1669
|
emittedScales: new Set(state.emittedScales),
|
|
1522
|
-
|
|
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.
|
|
1605
|
-
state.
|
|
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.
|
|
1620
|
-
if (mergeExtensionState && existing && (
|
|
1621
|
-
state.
|
|
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,
|
|
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
|
-
|
|
1786
|
-
|
|
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.
|
|
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
|
-
|
|
1831
|
-
|
|
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 =
|
|
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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"}
|
package/dist/runtime-entry.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as createClassResolver } from "./createClassResolver-
|
|
2
|
-
import { n as createComponent, t as createComposedFamily } from "./createComposedFamily-
|
|
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
|
-
|
|
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":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/E;oEACoE;AACpE,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,8DAA8D;IAC9D,MAAM,CAAC,EAAE;QACP,uEAAuE;QACvE,YAAY,CAAC,EAAE,yBAAyB,CAAC;KAC1C,CAAC;CACH;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC;;;;OAIG;IACH,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACnC;AAID,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAQrE;AAwBD,oDAAoD;AACpD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,cAAc,GACrB,IAAI,CAMN;AAED;gCACgC;AAChC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,cAAc,GACrB,IAAI,CAUN;AAqBD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GACX,yBAAyB,GAAG,SAAS,CAEvC;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,yBAAyB,EACvC,MAAM,EAAE,cAAc,GACrB,IAAI,CAQN;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAM5D;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC,GAC5E,qBAAqB,CAOvB;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,qBAAqB,EACxB,CAAC,EAAE,qBAAqB,GACvB,OAAO,CAOT;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,yBAAyB,GACtC,qBAAqB,CAEvB;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAKtC;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,GACnB,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAe5D;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,GACnB,MAAM,GAAG,SAAS,CAkBpB"}
|
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,SAAS;CAAG;AAE7B,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,OAAO,GACP,MAAM,GACN,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,qBAAqB,GACrB,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAEzD;;;GAGG;AAEH,MAAM,WAAW,KAAM,SAAQ,SAAS;CAAG;AAE3C,MAAM,MAAM,aAAa,GACrB,IAAI,MAAM,EAAE,GACZ,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,OAAO,MAAM,GAAG,GAChB,OAAO,MAAM,GAAG,GAChB,aAAa,MAAM,GAAG,GACtB,SAAS,MAAM,GAAG,GAClB,aAAa,GACb,cAAc,GACd,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,CAAA;CAAE,GAC5E,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,GACxB,QAAQ,SAAS,MAAM,WAAW,CAAC,CAAC,CAAC,GACnC,QAAQ,GACR,KAAK,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,YAAY,CACnD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EACtC,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,KAAK,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACzD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAE3B,WAAW,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,GACtC,WAAW,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,GAAG,GACpD,KAAK,GACP,KAAK,CAAC;AAEV;+DAC+D;AAC/D,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,OAAO,GAAG,MAAM,GAAG,QAAQ,CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;QAC7B,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;KAC7B,CAAC;IACF,kBAAkB,CAAC,EAAE,OAAO,CAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAC3D,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@animus-ui/system",
|
|
3
|
-
"version": "0.1.
|
|
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.
|
|
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"
|