@yahoo/uds-create-cli 5.68.5 → 5.69.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahoo/uds-create-cli",
3
- "version": "5.68.5",
3
+ "version": "5.69.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -32,10 +32,10 @@
32
32
  "@modelcontextprotocol/sdk": "^1.32.2",
33
33
  "@orpc/client": "^1.13.9",
34
34
  "@orpc/contract": "^1.13.9",
35
- "@yahoo/uds-create-config": "5.68.5",
36
- "@yahoo/uds-create-loader": "5.68.5",
37
- "@yahoo/uds-create-types": "5.68.5",
38
- "@yahoo/uds-create-utils": "5.68.5",
35
+ "@yahoo/uds-create-config": "5.69.0",
36
+ "@yahoo/uds-create-loader": "5.69.0",
37
+ "@yahoo/uds-create-types": "5.69.0",
38
+ "@yahoo/uds-create-utils": "5.69.0",
39
39
  "esbuild": "^0.27.4",
40
40
  "ts-morph": "^27.0.2",
41
41
  "get-tsconfig": "^4.10.0",
@@ -52,13 +52,13 @@
52
52
  "lodash": "^4.17.23",
53
53
  "prettier": "^3.8.1"
54
54
  },
55
- "udsSchemaVersion": 20261030163028,
55
+ "udsSchemaVersion": 20261102143821,
56
56
  "optionalDependencies": {
57
- "@yahoo/uds-create-cli-darwin-arm64": "5.68.5",
58
- "@yahoo/uds-create-cli-darwin-x64": "5.68.5",
59
- "@yahoo/uds-create-cli-linux-arm64": "5.68.5",
60
- "@yahoo/uds-create-cli-linux-x64": "5.68.5",
61
- "@yahoo/uds-create-cli-linux-arm64-musl": "5.68.5",
62
- "@yahoo/uds-create-cli-linux-x64-musl": "5.68.5"
57
+ "@yahoo/uds-create-cli-darwin-arm64": "5.69.0",
58
+ "@yahoo/uds-create-cli-darwin-x64": "5.69.0",
59
+ "@yahoo/uds-create-cli-linux-arm64": "5.69.0",
60
+ "@yahoo/uds-create-cli-linux-x64": "5.69.0",
61
+ "@yahoo/uds-create-cli-linux-arm64-musl": "5.69.0",
62
+ "@yahoo/uds-create-cli-linux-x64-musl": "5.69.0"
63
63
  }
64
64
  }
@@ -31026,11 +31026,11 @@ var require_scope = __commonJS({
31026
31026
  }
31027
31027
  const {
31028
31028
  init,
31029
- unique: unique2,
31029
+ unique: unique3,
31030
31030
  kind = "var",
31031
31031
  id
31032
31032
  } = opts;
31033
- if (!init && !unique2 && (kind === "var" || kind === "let") && isAnonymousFunctionExpression(path2) && isCallExpression2(path2.parent, {
31033
+ if (!init && !unique3 && (kind === "var" || kind === "let") && isAnonymousFunctionExpression(path2) && isCallExpression2(path2.parent, {
31034
31034
  callee: path2.node
31035
31035
  }) && path2.parent.arguments.length <= path2.node.params.length && isIdentifier4(id)) {
31036
31036
  path2.pushContainer("params", id);
@@ -31043,12 +31043,12 @@ var require_scope = __commonJS({
31043
31043
  }
31044
31044
  const blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;
31045
31045
  const dataKey = `declaration:${kind}:${blockHoist}`;
31046
- let declarPath = !unique2 && path2.getData(dataKey);
31046
+ let declarPath = !unique3 && path2.getData(dataKey);
31047
31047
  if (!declarPath) {
31048
31048
  const declar = variableDeclaration(kind, []);
31049
31049
  declar._blockHoist = blockHoist;
31050
31050
  [declarPath] = path2.unshiftContainer("body", [declar]);
31051
- if (!unique2) path2.setData(dataKey, declarPath);
31051
+ if (!unique3) path2.setData(dataKey, declarPath);
31052
31052
  }
31053
31053
  const declarator = variableDeclarator(id, init);
31054
31054
  const len = declarPath.node.declarations.push(declarator);
@@ -63636,6 +63636,9 @@ function blockedBy(attempt) {
63636
63636
  throw error61;
63637
63637
  }
63638
63638
  }
63639
+ function unique(refs) {
63640
+ return [...new Set(refs)];
63641
+ }
63639
63642
  function addresses(targets) {
63640
63643
  return targets.map((target2) => {
63641
63644
  const { kind, qualifiedPath } = splitRef2(target2);
@@ -63652,13 +63655,17 @@ function planRename({ config: config2, kind, path: path2, to }) {
63652
63655
  path: path2,
63653
63656
  to
63654
63657
  }]));
63655
- const throughSource = config2.sourceDependentsOf(kind, path2);
63658
+ const moves = config2.renamedParts(kind, path2, to);
63659
+ const moving = [path2, ...moves.map((move2) => move2.from)];
63660
+ const throughSource = unique(moving.flatMap((from) => config2.sourceDependentsOf(kind, from)));
63656
63661
  const drawn = new Set(throughSource);
63662
+ const moved = new Set(moving.map((from) => `${kind}:${from}`));
63657
63663
  return {
63658
63664
  from: path2,
63659
63665
  to,
63660
- rewrites: addresses(config2.dependentsOf(kind, path2).filter((ref2) => !drawn.has(ref2))),
63666
+ rewrites: addresses(unique(moving.flatMap((from) => config2.dependentsOf(kind, from))).filter((ref2) => !drawn.has(ref2) && !moved.has(ref2))),
63661
63667
  throughSource: addresses(throughSource),
63668
+ ...moves.length > 0 ? { moves } : {},
63662
63669
  ...blocked === void 0 ? {} : { blocked }
63663
63670
  };
63664
63671
  }
@@ -65153,7 +65160,7 @@ function titleCase(kind) {
65153
65160
  return kind.split(/[-_]/).filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
65154
65161
  }
65155
65162
  function buildKind(spec2) {
65156
- const { name, prepareLinkedBody, rebaseLinkedBody, layerKeys, fields, groupFields, subEntities = {}, computed, label, labelPlural, schemas: userSchemas, derived, sourceIdentity, sourceOrigin, authoredRefs, linkable, localGroupFields, emergentGroups, singleton = false, bareMember, sourceResolution, bulkAdopts, bulkExcludes, bulkOverlay, bulkDirectives, bulkOverlayWrite, nameEdges, rewriteName, styleBags, uniqueLeaves, authoredValue: authoredValue2, mentionFields, invariants, structuralBody, authoredBody, sourceType, answeredHere } = spec2;
65163
+ const { name, prepareLinkedBody, rebaseLinkedBody, layerKeys, fields, groupFields, subEntities = {}, computed, label, labelPlural, schemas: userSchemas, derived, sourceIdentity, sourceOrigin, authoredRefs, linkable, localGroupFields, emergentGroups, singleton = false, bareMember, sourceResolution, bulkAdopts, bulkExcludes, bulkOverlay, bulkDirectives, bulkOverlayWrite, nameEdges, rewriteName, styleBags, uniqueLeaves, parts, authoredValue: authoredValue2, mentionFields, invariants, structuralBody, authoredBody, sourceType, answeredHere } = spec2;
65157
65164
  const allComputed = {
65158
65165
  sources: ({ member, config: config2 }) => sourceSlugs(member, config2),
65159
65166
  borrowedFrom: ({ config: config2, path: path2 }) => config2.borrowedFrom(name, path2),
@@ -65202,6 +65209,7 @@ function buildKind(spec2) {
65202
65209
  rewriteName,
65203
65210
  styleBags,
65204
65211
  ...uniqueLeaves ? { uniqueLeaves } : {},
65212
+ ...parts ? { parts } : {},
65205
65213
  ...authoredValue2 ? { authoredValue: authoredValue2 } : {},
65206
65214
  ...mentionFields?.length ? { mentionFields } : {},
65207
65215
  ...invariants ? { invariants } : {},
@@ -65340,6 +65348,7 @@ function defineEntity(spec2) {
65340
65348
  styleBags: spec2.styleBags,
65341
65349
  rewriteName: spec2.rewriteName,
65342
65350
  uniqueLeaves: spec2.uniqueLeaves,
65351
+ parts: spec2.parts,
65343
65352
  authoredValue: spec2.authoredValue,
65344
65353
  mentionFields: spec2.mentionFields,
65345
65354
  invariants: spec2.invariants,
@@ -70853,6 +70862,29 @@ var LintSection = defineSubEntity({
70853
70862
  singleton: true,
70854
70863
  fields: lintFields
70855
70864
  });
70865
+ var defaultColorValue = external_exports.union([external_exports.string().min(1), refTo("token")]);
70866
+ var defaultColor = external_exports.union([defaultColorValue, external_exports.strictObject({
70867
+ value: defaultColorValue,
70868
+ output: external_exports.boolean().optional()
70869
+ })]);
70870
+ var defaultsFields = external_exports.strictObject({
70871
+ background: defaultColor.meta({
70872
+ title: "Background",
70873
+ valueType: "color",
70874
+ description: "The background this system's components sit on: a CSS colour (`#ffffff`) or a token (`Token.ref('color/surface')`). The stylesheet sets it on `body`, and Create paints it behind a component's matrix cells, under the modes picked there. `{ value, output: false }` keeps it out of the stylesheet. Unset, neither paints one."
70875
+ }).optional(),
70876
+ color: defaultColor.meta({
70877
+ title: "Text color",
70878
+ valueType: "color",
70879
+ description: "The text colour this system's components inherit: a CSS colour or a token. The stylesheet sets it on `body`, and Create applies it to a component's matrix cells, under the modes picked there. `{ value, output: false }` keeps it out of the stylesheet. Unset, neither sets one."
70880
+ }).optional()
70881
+ });
70882
+ var DefaultsSection = defineSubEntity({
70883
+ name: "defaults",
70884
+ label: "Defaults",
70885
+ singleton: true,
70886
+ fields: defaultsFields
70887
+ });
70856
70888
  var foldersOf = (file2) => file2.split("/").slice(0, -1);
70857
70889
  function sharedFolders(lists) {
70858
70890
  return lists.reduce((shared, folders) => {
@@ -70927,14 +70959,16 @@ var Settings = defineEntity({
70927
70959
  build: buildFields.meta({ title: "Build" }).optional(),
70928
70960
  css: cssFields.meta({ title: "CSS" }).optional(),
70929
70961
  playground: playgroundFields.meta({ title: "Playground" }).optional(),
70930
- lint: lintFields.meta({ title: "Lint" }).optional()
70962
+ lint: lintFields.meta({ title: "Lint" }).optional(),
70963
+ defaults: defaultsFields.meta({ title: "Defaults" }).optional()
70931
70964
  }),
70932
70965
  subEntities: {
70933
70966
  system: SystemSection,
70934
70967
  build: BuildSection,
70935
70968
  css: CssSection,
70936
70969
  playground: PlaygroundSection,
70937
- lint: LintSection
70970
+ lint: LintSection,
70971
+ defaults: DefaultsSection
70938
70972
  },
70939
70973
  computed: {
70940
70974
  /**
@@ -84646,6 +84680,14 @@ function freeLayerKey(config2, path2, hint = "el") {
84646
84680
  while (taken.has(`${hint}${ordinal}`)) ordinal += 1;
84647
84681
  return `${hint}${ordinal}`;
84648
84682
  }
84683
+ function duplicateLayerKey({ config: config2, path: path2, source }) {
84684
+ const body = config2.resolve("component", path2)?.toJSON();
84685
+ const taken = /* @__PURE__ */ new Set([...Object.keys(body?.layers ?? {}), ...Object.keys(body?.anatomy ?? {})]);
84686
+ const base = source.replace(/\d+$/, "") || source;
84687
+ let ordinal = 2;
84688
+ while (taken.has(`${base}${ordinal}`)) ordinal += 1;
84689
+ return `${base}${ordinal}`;
84690
+ }
84649
84691
  function asElementRef(config2, value) {
84650
84692
  if (typeof value !== "string") return value;
84651
84693
  const { kind, qualifiedPath } = splitRef2(value);
@@ -86146,6 +86188,7 @@ function withoutProps(conditions, names) {
86146
86188
  }
86147
86189
  var ComponentEntity = defineEntity({
86148
86190
  kind: "component",
86191
+ parts: true,
86149
86192
  rebaseLinkedBody: (args) => {
86150
86193
  const body = { ...translateLinkedStyleBags({
86151
86194
  ...args,
@@ -86548,7 +86591,11 @@ var ComponentEntity = defineEntity({
86548
86591
  let next = config2;
86549
86592
  let previous = source;
86550
86593
  for (let n = 0; n < count; n++) {
86551
- const key2 = freeLayerKey(next, path2, source);
86594
+ const key2 = duplicateLayerKey({
86595
+ config: next,
86596
+ path: path2,
86597
+ source
86598
+ });
86552
86599
  const siblings = next.resolve("component", path2)?.toJSON()?.anatomy?.[parent]?.children ?? [];
86553
86600
  const index = siblings.indexOf(previous) + 1;
86554
86601
  next = next.run([{
@@ -89067,7 +89114,7 @@ function isNode(value) {
89067
89114
  function literal2(value) {
89068
89115
  return typeof value === "string" ? `'${value}'` : String(value);
89069
89116
  }
89070
- function unique(parts) {
89117
+ function unique2(parts) {
89071
89118
  return [...new Set(parts)];
89072
89119
  }
89073
89120
  function renderSignature(schema, options = {}) {
@@ -89088,9 +89135,9 @@ function renderSignature(schema, options = {}) {
89088
89135
  return shown.join(" | ");
89089
89136
  }
89090
89137
  const variants2 = node2.anyOf ?? node2.oneOf;
89091
- if (variants2) return unique(variants2.filter((member) => !isNever(member)).map((member) => render(member, remaining))).join(" | ");
89092
- if (node2.allOf) return unique(node2.allOf.map((member) => render(member, remaining))).join(" & ");
89093
- if (Array.isArray(node2.type)) return unique(node2.type.map((type) => render({
89138
+ if (variants2) return unique2(variants2.filter((member) => !isNever(member)).map((member) => render(member, remaining))).join(" | ");
89139
+ if (node2.allOf) return unique2(node2.allOf.map((member) => render(member, remaining))).join(" & ");
89140
+ if (Array.isArray(node2.type)) return unique2(node2.type.map((type) => render({
89094
89141
  ...node2,
89095
89142
  type
89096
89143
  }, remaining))).join(" | ");
@@ -89719,7 +89766,7 @@ var Entity = class {
89719
89766
  };
89720
89767
 
89721
89768
  // ../config/dist/framework/schema-version.js
89722
- var CURRENT_SCHEMA_VERSION = 20261030163028;
89769
+ var CURRENT_SCHEMA_VERSION = 20261102143821;
89723
89770
  var SETTINGS_AS_KIND_VERSION = 20260908171448;
89724
89771
  var SchemaVersionTooNew = class extends ConfigFormatError {
89725
89772
  found;
@@ -89739,7 +89786,7 @@ function registerSchemaMigrations(...migrations) {
89739
89786
  for (const migration of migrations) {
89740
89787
  if (migration.version !== 1 && !isMintTimestamp(migration.version)) throw new Error(`Schema migration version ${migration.version} is not a mint timestamp \u2014 mint one with \`date +%Y%m%d%H%M%S\`, like a supabase migration.`);
89741
89788
  if (REGISTERED.has(migration.version)) throw new Error(`A schema migration at version ${migration.version} is already registered.`);
89742
- if (migration.version > 20261030163028) throw new Error(`Schema migration ${migration.version} is newer than CURRENT_SCHEMA_VERSION (${CURRENT_SCHEMA_VERSION}) \u2014 a stale branch merged, or the mint forgot to bump the constant. Re-mint: set CURRENT_SCHEMA_VERSION to the newest migration version.`);
89789
+ if (migration.version > 20261102143821) throw new Error(`Schema migration ${migration.version} is newer than CURRENT_SCHEMA_VERSION (${CURRENT_SCHEMA_VERSION}) \u2014 a stale branch merged, or the mint forgot to bump the constant. Re-mint: set CURRENT_SCHEMA_VERSION to the newest migration version.`);
89743
89790
  REGISTERED.set(migration.version, migration);
89744
89791
  }
89745
89792
  }
@@ -89770,7 +89817,7 @@ function pendingFor(version2, target2, options) {
89770
89817
  return [...(options?.migrations ?? REGISTERED).values()].filter((m) => m.version > version2 && m.version <= target2).sort((a, b) => a.version - b.version);
89771
89818
  }
89772
89819
  function upgradeSerializedConfig(json2, options) {
89773
- const target2 = options?.target ?? 20261030163028;
89820
+ const target2 = options?.target ?? 20261102143821;
89774
89821
  const version2 = detectedWireVersion(json2);
89775
89822
  if (version2 > target2) throw new SchemaVersionTooNew(version2, target2);
89776
89823
  const raw = json2;
@@ -92488,10 +92535,23 @@ var Config = class Config2 {
92488
92535
  if (borrowed !== void 0 && isRef2(storedBody) && pathOf2(storedBody) === patch.path) reject("UNSUPPORTED", `Cannot rename ${patch.kind} "${patch.path}" \u2014 it carries "${borrowed}"'s own name for it. Place it at a path of your own to name it, or link it as a value.`);
92489
92536
  const { value } = extension ? extensionChange(entry, patch.kind, patch.to, extension, false) : itemChange(entry, patch.kind, patch.to, stored);
92490
92537
  const moved = snapshot.withRenamed(patch.kind, "item", patch.path, patch.to, value);
92491
- return this.cascadeRename(moved, `${patch.kind}:${patch.path}`, `${patch.kind}:${patch.to}`, this.entityOf(patch.kind)?.sourceIdentity ? {
92538
+ let next = this.cascadeRename(moved, `${patch.kind}:${patch.path}`, `${patch.kind}:${patch.to}`, this.entityOf(patch.kind)?.sourceIdentity ? {
92492
92539
  from: patch.path,
92493
92540
  to: patch.to
92494
92541
  } : void 0);
92542
+ const parts = this.partMoves(snapshot, entry, patch.path, patch.to);
92543
+ for (const part of parts) {
92544
+ const taken = snapshot.get(patch.kind, part.to);
92545
+ if (taken && !isMintedRow(taken.toJSON())) reject("ALREADY_EXISTS", `Cannot rename ${patch.kind} "${patch.path}" to "${patch.to}" \u2014 its part "${part.from}" would land on the ${patch.kind} already at "${part.to}".`);
92546
+ }
92547
+ for (const part of parts) {
92548
+ const current = next.get(patch.kind, part.from);
92549
+ if (!current) continue;
92550
+ const { value: value2 } = itemChange(entry, patch.kind, part.to, current.toJSON());
92551
+ next = next.withRenamed(patch.kind, "item", part.from, part.to, value2);
92552
+ next = this.cascadeRename(next, `${patch.kind}:${part.from}`, `${patch.kind}:${part.to}`);
92553
+ }
92554
+ return next;
92495
92555
  }
92496
92556
  const updateSchema = dataSchema(entry.schemas, "update");
92497
92557
  if (!updateSchema) reject("UNSUPPORTED", `${patch.kind} has no update operation`);
@@ -93110,6 +93170,22 @@ var Config = class Config2 {
93110
93170
  * subgroup (`color/brand/primary`) belongs to `color` too. Getting either wrong is silent: one drags
93111
93171
  * an unrelated group along, the other skips half of what the user sees under the heading.
93112
93172
  */
93173
+ /**
93174
+ * The parts a rename of `from` to `to` moves with it, for a kind that declares
93175
+ * {@link EntityKind.parts}: every item named under `from`, at any depth.
93176
+ */
93177
+ partMoves(snapshot, entry, from, to) {
93178
+ if (!entry.parts || from === to) return [];
93179
+ return this.groupMembers(snapshot, entry.name, from).map(({ path: path2 }) => ({
93180
+ from: path2,
93181
+ to: `${to}${path2.slice(from.length)}`
93182
+ }));
93183
+ }
93184
+ /** The parts renaming `path` to `to` would move with it — see {@link EntityKind.parts}. */
93185
+ renamedParts(kind, path2, to) {
93186
+ const entry = this.entityOf(kind);
93187
+ return entry ? this.partMoves(this.state.snapshot, entry, path2, to) : [];
93188
+ }
93113
93189
  groupMembers(snapshot, kind, group) {
93114
93190
  const members2 = [];
93115
93191
  for (const [path2, entity] of snapshot.slice(kind).items) if (path2.startsWith(`${group}/`)) members2.push({
@@ -96627,7 +96703,7 @@ var Config = class Config2 {
96627
96703
  * links from the provided sources. A declared `linkedKind` with no provided source throws. */
96628
96704
  hydrateFrom(stored, options) {
96629
96705
  const claimed = schemaVersionOf(stored);
96630
- if (claimed > 20261030163028) throw new SchemaVersionTooNew(claimed);
96706
+ if (claimed > 20261102143821) throw new SchemaVersionTooNew(claimed);
96631
96707
  const wire = upgradeSerializedConfig(stored);
96632
96708
  if (!Array.isArray(wire.ownedKinds) || typeof wire.items !== "object" || wire.items === null) throw new ConfigFormatError(`Config "${stored.name ?? "system-config"}" cannot be hydrated: this is not a serialized config-v2 config (no "ownedKinds"/"items"). A pre-cutover build artifact converts through the registered cutover migration \u2014 import the config type's module (e.g. \`configs/system\`) before hydrating.`);
96633
96709
  const leftover = wire.options;
@@ -100027,6 +100103,15 @@ var layerPrefixMigration = {
100027
100103
  up: (json2) => json2
100028
100104
  };
100029
100105
 
100106
+ // ../config/dist/migrations/20261102143821_default_colors.js
100107
+ var DEFAULT_COLORS_VERSION = 20261102143821;
100108
+ var defaultColorsMigration = {
100109
+ version: DEFAULT_COLORS_VERSION,
100110
+ up(json2) {
100111
+ return json2;
100112
+ }
100113
+ };
100114
+
100030
100115
  // ../../node_modules/css-tree/lib/generator/sourceMap.js
100031
100116
  var import_source_map_generator = __toESM(require_source_map_generator(), 1);
100032
100117
  var trackNodes = /* @__PURE__ */ new Set(["Atrule", "Selector", "Declaration"]);
@@ -101288,9 +101373,9 @@ function tokenVarIndex(tokenRecord, varPrefix) {
101288
101373
  const name = cssVar(void 0, "token", path2, varPrefix);
101289
101374
  byVar.set(name, byVar.has(name) ? null : path2);
101290
101375
  }
101291
- const unique2 = /* @__PURE__ */ new Map();
101292
- for (const [name, path2] of byVar) if (path2 !== null) unique2.set(name, path2);
101293
- return unique2;
101376
+ const unique3 = /* @__PURE__ */ new Map();
101377
+ for (const [name, path2] of byVar) if (path2 !== null) unique3.set(name, path2);
101378
+ return unique3;
101294
101379
  }
101295
101380
  function withTokenRefs(declarations, tokenByVar) {
101296
101381
  return Object.fromEntries(Object.entries(declarations).map(([property, value]) => {
@@ -101332,15 +101417,15 @@ function bindFontFamilyTokens({ tokenRecord, fontRecord, globalStyleRecord, varP
101332
101417
  const fonts = /* @__PURE__ */ new Map();
101333
101418
  for (const [path2, body] of Object.entries(fontRecord)) if (body && typeof body === "object" && "fontFamily" in body) fonts.set(path2, body);
101334
101419
  if (fonts.size === 0) return;
101335
- const unique2 = (pairs) => {
101420
+ const unique3 = (pairs) => {
101336
101421
  const seen = /* @__PURE__ */ new Map();
101337
101422
  for (const [key2, path2] of pairs) seen.set(key2, seen.has(key2) ? null : path2);
101338
101423
  const out = /* @__PURE__ */ new Map();
101339
101424
  for (const [key2, path2] of seen) if (path2 !== null) out.set(key2, path2);
101340
101425
  return out;
101341
101426
  };
101342
- const byLeaf = unique2([...fonts.keys()].map((path2) => [path2.slice(path2.lastIndexOf("/") + 1), path2]));
101343
- const byFamily = unique2([...fonts].map(([path2, body]) => [body.fontFamily.toLowerCase(), path2]));
101427
+ const byLeaf = unique3([...fonts.keys()].map((path2) => [path2.slice(path2.lastIndexOf("/") + 1), path2]));
101428
+ const byFamily = unique3([...fonts].map(([path2, body]) => [body.fontFamily.toLowerCase(), path2]));
101344
101429
  const propertyPrefix = `--${varPrefix}-font-family-`;
101345
101430
  const rootVars = /* @__PURE__ */ new Map();
101346
101431
  for (const [name, style] of Object.entries(globalStyleRecord)) {
@@ -102763,6 +102848,7 @@ if (!registeredSchemaMigrations().has(20261027184442)) registerSchemaMigrations(
102763
102848
  if (!registeredSchemaMigrations().has(20261027205147)) registerSchemaMigrations(lintIgnoreMigration);
102764
102849
  if (!registeredSchemaMigrations().has(20261030134149)) registerSchemaMigrations(componentMapPropsMigration);
102765
102850
  if (!registeredSchemaMigrations().has(20261030163028)) registerSchemaMigrations(layerPrefixMigration);
102851
+ if (!registeredSchemaMigrations().has(20261102143821)) registerSchemaMigrations(defaultColorsMigration);
102766
102852
 
102767
102853
  // ../config/dist/capture/node-ops.js
102768
102854
  var DEFAULT_WIDTH = 1600;