@hyperframes/core 0.8.137 → 0.8.138

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.
Files changed (34) hide show
  1. package/dist/compiler/compositionScoping.d.ts.map +1 -1
  2. package/dist/compiler/compositionScoping.js +4 -119
  3. package/dist/compiler/compositionScoping.js.map +1 -1
  4. package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
  5. package/dist/compiler/inlineSubCompositions.js +24 -10
  6. package/dist/compiler/inlineSubCompositions.js.map +1 -1
  7. package/dist/compiler/selectorIdTokens.d.ts +19 -0
  8. package/dist/compiler/selectorIdTokens.d.ts.map +1 -1
  9. package/dist/compiler/selectorIdTokens.js +137 -2
  10. package/dist/compiler/selectorIdTokens.js.map +1 -1
  11. package/dist/compiler/svgIdNamespacing.d.ts +6 -3
  12. package/dist/compiler/svgIdNamespacing.d.ts.map +1 -1
  13. package/dist/compiler/svgIdNamespacing.js +145 -86
  14. package/dist/compiler/svgIdNamespacing.js.map +1 -1
  15. package/dist/compiler/svgSelectorAliases.d.ts +31 -0
  16. package/dist/compiler/svgSelectorAliases.d.ts.map +1 -0
  17. package/dist/compiler/svgSelectorAliases.js +217 -0
  18. package/dist/compiler/svgSelectorAliases.js.map +1 -0
  19. package/dist/generated/audio-fx-runtime-inline.js +1 -1
  20. package/dist/generated/audio-fx-runtime-inline.js.map +1 -1
  21. package/dist/generated/position-edits-render-inline.js +1 -1
  22. package/dist/generated/position-edits-render-inline.js.map +1 -1
  23. package/dist/generated/runtime-inline.js +1 -1
  24. package/dist/generated/runtime-inline.js.map +1 -1
  25. package/dist/generated/svg-selector-aliases-inline.d.ts +3 -0
  26. package/dist/generated/svg-selector-aliases-inline.d.ts.map +1 -0
  27. package/dist/generated/svg-selector-aliases-inline.js +7 -0
  28. package/dist/generated/svg-selector-aliases-inline.js.map +1 -0
  29. package/dist/hyperframe.runtime.iife.js +64 -182
  30. package/dist/studioPreviewMark.d.ts +1 -0
  31. package/dist/studioPreviewMark.d.ts.map +1 -1
  32. package/dist/studioPreviewMark.js +1 -0
  33. package/dist/studioPreviewMark.js.map +1 -1
  34. package/package.json +8 -6
@@ -5,6 +5,7 @@
5
5
  * keeps the authored id (otherwise the first element does). Renamed elements retain
6
6
  * data-hf-authored-id for script lookup compatibility.
7
7
  */
8
+ import { type SvgReferenceAlias } from "./svgSelectorAliases";
8
9
  /** Reused from `compositionScoping.ts`'s `AUTHORED_ROOT_ID_ATTR` in spirit —
9
10
  * same purpose (let a renamed id still resolve by its authored name), now
10
11
  * generalized from "the composition root" to any renamed descendant. */
@@ -22,11 +23,13 @@ export interface SvgIdScope {
22
23
  root: Element;
23
24
  /**
24
25
  * Document-unique prefix for ids renamed in this scope — the instance's
25
- * runtime composition id. An empty namespace makes the scope read-only:
26
+ * runtime composition id. An empty namespace freezes IDs while still repairing references:
26
27
  * an anonymous host has no identity to prefix with, the same guard
27
28
  * `scopeCssToComposition` and `wrapScopedCompositionScript` apply.
28
29
  */
29
30
  namespace: string;
31
+ /** Root document references follow document order; instances prefer local definitions. */
32
+ referenceTarget?: "document";
30
33
  /**
31
34
  * Nested composition hosts inside `root` whose content belongs to their
32
35
  * OWN scope. Their subtrees are skipped both when collecting this scope's
@@ -59,7 +62,7 @@ export interface SvgIdScope {
59
62
  * document declares itself, since those collide with an inlined instance's
60
63
  * ids just as two instances collide with each other.
61
64
  */
62
- export declare function namespaceCollidingSvgIds(document: SvgIdQueryable, scopes: readonly SvgIdScope[]): Map<string, string>[];
65
+ export declare function namespaceCollidingSvgIds(document: SvgIdQueryable, scopes: readonly SvgIdScope[], finalizedIds?: Set<Element>): Map<string, string>[];
63
66
  /**
64
67
  * Apply the same id substitution `namespaceCollidingSvgIds` computed to a
65
68
  * composition's `<style>` text.
@@ -73,6 +76,6 @@ export declare function namespaceCollidingSvgIds(document: SvgIdQueryable, scope
73
76
  * same-composition stylesheet rule silently stops matching the element whose
74
77
  * id this module just changed.
75
78
  */
76
- export declare function rewriteSvgIdReferencesInCss(css: string, idMap: ReadonlyMap<string, string>): string;
79
+ export declare function rewriteSvgIdReferencesInCss(css: string, idMap: ReadonlyMap<string, string>, references?: readonly SvgReferenceAlias[]): string;
77
80
  export {};
78
81
  //# sourceMappingURL=svgIdNamespacing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svgIdNamespacing.d.ts","sourceRoot":"","sources":["../../src/compiler/svgIdNamespacing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;yEAEyE;AACzE,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAoE1D;;;0DAG0D;AAC1D,UAAU,cAAc;IACtB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;CACvD;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AA8LD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,UAAU,EAAE,GAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAiCvB;AAqBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAsCR"}
1
+ {"version":3,"file":"svgIdNamespacing.d.ts","sourceRoot":"","sources":["../../src/compiler/svgIdNamespacing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAI9B;;yEAEyE;AACzE,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAkH1D;;;0DAG0D;AAC1D,UAAU,cAAc;IACtB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;CACvD;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAqPD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CA+BvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,CAgDR"}
@@ -6,7 +6,8 @@
6
6
  * data-hf-authored-id for script lookup compatibility.
7
7
  */
8
8
  import postcss from "postcss";
9
- import { escapeCssIdentifier, replaceSelectorIdTokens } from "./selectorIdTokens.js";
9
+ import { escapeCssIdentifier } from "./selectorIdTokens.js";
10
+ import { SVG_REFERENCE_ALIASES_ATTR, readSvgReferenceAliases, rewriteSvgSelectors, } from "./svgSelectorAliases.js";
10
11
  const ID_ATTR = "id";
11
12
  /** Reused from `compositionScoping.ts`'s `AUTHORED_ROOT_ID_ATTR` in spirit —
12
13
  * same purpose (let a renamed id still resolve by its authored name), now
@@ -46,35 +47,62 @@ function rewriteUrlHashRefs(value, idMap) {
46
47
  return mapped ? `${pre}${quote}#${mapped}${quote}${post}` : full;
47
48
  });
48
49
  }
49
- function rewriteHrefValue(value, idMap) {
50
- if (!value.startsWith("#"))
51
- return null;
52
- const mapped = idMap.get(value.slice(1));
53
- return mapped ? `#${mapped}` : null;
50
+ function nativeReferenceValue(name, value, idMap) {
51
+ if (isHrefAttrName(name) && value.startsWith("#")) {
52
+ const mapped = idMap.get(value.slice(1));
53
+ return mapped ? `#${mapped}` : value;
54
+ }
55
+ URL_HASH_REF_RE.lastIndex = 0;
56
+ const hasUrl = URL_HASH_REF_RE.test(value);
57
+ URL_HASH_REF_RE.lastIndex = 0;
58
+ return hasUrl ? rewriteUrlHashRefs(value, idMap) : null;
59
+ }
60
+ function decideReferenceWrite(attr, previous, idMap) {
61
+ if (attr.name === SVG_REFERENCE_ALIASES_ATTR || attr.name === ID_ATTR)
62
+ return { kind: "skip" };
63
+ const before = previous && attr.value === previous.after ? previous.before : attr.value;
64
+ const after = nativeReferenceValue(attr.name, before, idMap);
65
+ if (after !== null)
66
+ return { kind: "managed", before, after };
67
+ return previous ? { kind: "retain", alias: previous } : { kind: "skip" };
54
68
  }
55
- /** Rewrite every id reference carried on one element's attributes. CSS text
56
- * inside a `<style>` element is handled separately by
57
- * `rewriteSvgIdReferencesInCss` — it is extracted and scoped as a raw
58
- * string elsewhere in the inline pipeline, never visited by this walk. */
69
+ function referenceAlias(attr, before, after, inSvg) {
70
+ // The compiler DOM omits Attr namespace APIs; serialized SVG restores XLink.
71
+ const serializedXlink = attr.namespaceURI === undefined && attr.name === "xlink:href" && inSvg;
72
+ return {
73
+ name: attr.name,
74
+ localName: serializedXlink ? "href" : attr.localName,
75
+ namespaceURI: serializedXlink ? "http://www.w3.org/1999/xlink" : (attr.namespaceURI ?? null),
76
+ before,
77
+ after,
78
+ };
79
+ }
80
+ /** Apply managed reference writes while retaining provenance for later assembly phases. */
59
81
  function rewriteElementIdReferences(el, idMap) {
60
- const attrs = el.attributes ? Array.from(el.attributes) : [];
61
- for (const attr of attrs) {
62
- const { name, value } = attr;
63
- if (!value)
82
+ const prior = new Map(readSvgReferenceAliases(el, SVG_REFERENCE_ALIASES_ATTR, false).map((alias) => [
83
+ alias.name,
84
+ alias,
85
+ ]));
86
+ const aliases = [...prior.values()].filter((alias) => alias.name === ID_ATTR);
87
+ const inSvg = !!el.closest("svg");
88
+ for (const attr of el.attributes ? Array.from(el.attributes) : []) {
89
+ const decision = decideReferenceWrite(attr, prior.get(attr.name), idMap);
90
+ if (decision.kind === "skip")
91
+ continue;
92
+ if (decision.kind === "retain") {
93
+ aliases.push(decision.alias);
64
94
  continue;
65
- if (isHrefAttrName(name)) {
66
- const rewritten = rewriteHrefValue(value, idMap);
67
- if (rewritten) {
68
- el.setAttribute(name, rewritten);
69
- continue;
70
- }
71
95
  }
72
- if (value.toLowerCase().includes("url(")) {
73
- const rewritten = rewriteUrlHashRefs(value, idMap);
74
- if (rewritten !== value)
75
- el.setAttribute(name, rewritten);
96
+ if (decision.after !== attr.value) {
97
+ if (attr.namespaceURI)
98
+ el.setAttributeNS(attr.namespaceURI, attr.name, decision.after);
99
+ else
100
+ el.setAttribute(attr.name, decision.after);
76
101
  }
102
+ aliases.push(referenceAlias(attr, decision.before, decision.after, inSvg));
77
103
  }
104
+ if (aliases.length)
105
+ el.setAttribute(SVG_REFERENCE_ALIASES_ATTR, JSON.stringify(aliases));
78
106
  }
79
107
  function collectUrlHashRefsFromText(text, filter, out) {
80
108
  let m;
@@ -117,7 +145,7 @@ function collectNativelyReferencedIds(elements, cssTexts, svgIds) {
117
145
  const referenced = new Set();
118
146
  for (const el of elements) {
119
147
  for (const attr of el.attributes ? Array.from(el.attributes) : []) {
120
- if (!attr.value)
148
+ if (!attr.value || attr.name === SVG_REFERENCE_ALIASES_ATTR)
121
149
  continue;
122
150
  collectHrefFragmentRef(attr, svgIds, referenced);
123
151
  if (attr.value.toLowerCase().includes("url("))
@@ -168,6 +196,14 @@ function resolveScope(scope) {
168
196
  }
169
197
  return { elements, renamable };
170
198
  }
199
+ function currentAuthoredSvgId(el) {
200
+ if (!el.closest("svg"))
201
+ return null;
202
+ const idWrite = readSvgReferenceAliases(el, SVG_REFERENCE_ALIASES_ATTR, false).find((alias) => alias.name === ID_ATTR);
203
+ if (idWrite)
204
+ return el.getAttribute(ID_ATTR) === idWrite.after ? idWrite.before : null;
205
+ return el.getAttribute(SVG_AUTHORED_ID_ATTR);
206
+ }
171
207
  function buildIdCensus(document) {
172
208
  const elementsById = new Map();
173
209
  const usedIds = new Set();
@@ -181,16 +217,17 @@ function buildIdCensus(document) {
181
217
  list.push(el);
182
218
  else
183
219
  elementsById.set(id, [el]);
220
+ const authored = currentAuthoredSvgId(el);
221
+ if (authored && authored !== id) {
222
+ const aliases = elementsById.get(authored);
223
+ if (aliases)
224
+ aliases.push(el);
225
+ else
226
+ elementsById.set(authored, [el]);
227
+ }
184
228
  }
185
229
  return { elementsById, usedIds };
186
230
  }
187
- function hasAnyCollision(census) {
188
- for (const elements of census.elementsById.values()) {
189
- if (elements.length > 1)
190
- return true;
191
- }
192
- return false;
193
- }
194
231
  /** A namespaced id that is not already taken anywhere in the document. */
195
232
  function mintNamespacedId(namespace, originalId, usedIds) {
196
233
  const base = `${sanitizeNamespaceSegment(namespace)}--${originalId}`;
@@ -200,6 +237,12 @@ function mintNamespacedId(namespace, originalId, usedIds) {
200
237
  usedIds.add(candidate);
201
238
  return candidate;
202
239
  }
240
+ function collisionScopes(id, elements, scopeIndexByRenamable) {
241
+ const keeper = elements.find((el) => !scopeIndexByRenamable.has(el)) ?? elements[0];
242
+ const candidates = elements.filter((el) => el !== keeper && el.getAttribute(ID_ATTR) === id);
243
+ const indices = candidates.map((el) => scopeIndexByRenamable.get(el));
244
+ return new Set(indices.filter((index) => index !== undefined));
245
+ }
203
246
  /**
204
247
  * Decide, per scope, which ids get renamed and to what. For every colliding
205
248
  * id the keeper is the first element in document order that no scope can
@@ -211,21 +254,41 @@ function planRenames(census, scopes, scopeIndexByRenamable) {
211
254
  for (const [id, elements] of census.elementsById) {
212
255
  if (elements.length < 2)
213
256
  continue;
214
- const keeper = elements.find((el) => !scopeIndexByRenamable.has(el)) ?? elements[0];
215
- for (const el of elements) {
216
- if (el === keeper)
217
- continue;
218
- const scopeIndex = scopeIndexByRenamable.get(el);
219
- if (scopeIndex === undefined)
220
- continue;
221
- const idMap = idMaps[scopeIndex];
222
- if (!idMap.has(id)) {
223
- idMap.set(id, mintNamespacedId(scopes[scopeIndex].namespace, id, census.usedIds));
224
- }
257
+ for (const index of collisionScopes(id, elements, scopeIndexByRenamable)) {
258
+ idMaps[index].set(id, mintNamespacedId(scopes[index].namespace, id, census.usedIds));
225
259
  }
226
260
  }
227
261
  return idMaps;
228
262
  }
263
+ function documentReferenceTargets(census, idMaps, scopeIndexByRenamable) {
264
+ const targets = new Map();
265
+ for (const [id, elements] of census.elementsById) {
266
+ const target = elements[0];
267
+ const actual = target.getAttribute(ID_ATTR);
268
+ if (actual !== id) {
269
+ targets.set(id, actual);
270
+ continue;
271
+ }
272
+ const index = scopeIndexByRenamable.get(target);
273
+ const renamed = index === undefined ? undefined : idMaps[index].get(id);
274
+ if (renamed)
275
+ targets.set(id, renamed);
276
+ }
277
+ return targets;
278
+ }
279
+ function localReferenceBindings(elements) {
280
+ const ids = new Set(elements.map((el) => el.getAttribute(ID_ATTR)));
281
+ const renamed = new Map();
282
+ for (const el of elements) {
283
+ const authored = currentAuthoredSvgId(el);
284
+ const current = el.getAttribute(ID_ATTR);
285
+ if (!authored || !current)
286
+ continue;
287
+ ids.add(authored);
288
+ renamed.set(authored, current);
289
+ }
290
+ return { ids, renamed };
291
+ }
229
292
  /** Rename the planned elements in one scope and rewrite every reference in
230
293
  * that scope's attributes to match. */
231
294
  function applyRenames(resolved, idMap) {
@@ -234,7 +297,17 @@ function applyRenames(resolved, idMap) {
234
297
  if (currentId && resolved.renamable.has(el) && idMap.has(currentId)) {
235
298
  if (!el.hasAttribute(SVG_AUTHORED_ID_ATTR))
236
299
  el.setAttribute(SVG_AUTHORED_ID_ATTR, currentId);
237
- el.setAttribute(ID_ATTR, idMap.get(currentId));
300
+ const after = idMap.get(currentId);
301
+ const aliases = readSvgReferenceAliases(el, SVG_REFERENCE_ALIASES_ATTR, false);
302
+ aliases.push({
303
+ name: ID_ATTR,
304
+ localName: ID_ATTR,
305
+ namespaceURI: null,
306
+ before: currentId,
307
+ after,
308
+ });
309
+ el.setAttribute(SVG_REFERENCE_ALIASES_ATTR, JSON.stringify(aliases));
310
+ el.setAttribute(ID_ATTR, after);
238
311
  }
239
312
  rewriteElementIdReferences(el, idMap);
240
313
  }
@@ -256,59 +329,38 @@ function applyRenames(resolved, idMap) {
256
329
  * document declares itself, since those collide with an inlined instance's
257
330
  * ids just as two instances collide with each other.
258
331
  */
259
- export function namespaceCollidingSvgIds(document, scopes) {
260
- const untouched = scopes.map(() => new Map());
332
+ export function namespaceCollidingSvgIds(document, scopes, finalizedIds) {
261
333
  if (scopes.length === 0)
262
- return untouched;
334
+ return [];
263
335
  const census = buildIdCensus(document);
264
- if (!hasAnyCollision(census))
265
- return untouched;
266
336
  const resolved = scopes.map(resolveScope);
337
+ const newlyEligible = resolved.flatMap(({ renamable }) => [...renamable]);
338
+ if (finalizedIds) {
339
+ for (const scope of resolved) {
340
+ for (const el of scope.renamable)
341
+ if (finalizedIds.has(el))
342
+ scope.renamable.delete(el);
343
+ }
344
+ }
267
345
  const scopeIndexByRenamable = new Map();
268
346
  resolved.forEach(({ renamable }, index) => {
269
347
  for (const el of renamable)
270
348
  scopeIndexByRenamable.set(el, index);
271
349
  });
272
- if (scopeIndexByRenamable.size === 0)
273
- return untouched;
274
350
  const idMaps = planRenames(census, scopes, scopeIndexByRenamable);
275
- // A reference without a local definition keeps its original document-order target,
276
- // even if that target was renamed in an ancestor or another composition.
351
+ const documentTargets = documentReferenceTargets(census, idMaps, scopeIndexByRenamable);
277
352
  const referenceMaps = resolved.map((scope, index) => {
278
- const references = new Map(idMaps[index]);
279
- const localIds = new Set(scope.elements.map((el) => el.getAttribute(ID_ATTR)));
280
- for (const [id, elements] of census.elementsById) {
281
- if (localIds.has(id))
282
- continue;
283
- const targetScope = scopeIndexByRenamable.get(elements[0]);
284
- if (targetScope === undefined)
285
- continue;
286
- const mapped = idMaps[targetScope].get(id);
287
- if (mapped)
288
- references.set(id, mapped);
289
- }
290
- return references;
353
+ const local = localReferenceBindings(scopes[index].referenceTarget === "document" ? [] : scope.elements);
354
+ const inherited = [...documentTargets].filter(([id]) => !local.ids.has(id));
355
+ return new Map([...inherited, ...local.renamed, ...idMaps[index]]);
291
356
  });
292
357
  referenceMaps.forEach((idMap, index) => {
293
- if (idMap.size > 0)
294
- applyRenames(resolved[index], idMap);
358
+ applyRenames(resolved[index], idMap);
295
359
  });
360
+ for (const el of newlyEligible)
361
+ finalizedIds?.add(el);
296
362
  return referenceMaps;
297
363
  }
298
- /**
299
- * Whole-token `#id` replacement inside a CSS selector, generalized to many
300
- * ids at once and to a literal `#newId` swap instead of an attribute-selector
301
- * expansion (a plain descendant/id selector already resolves correctly once
302
- * the id itself is unique — no extra scoping needed). Shares its quote- and
303
- * bracket-aware scan with `compositionScoping.ts`'s
304
- * `replaceAuthoredRootIdSelectors` via `selectorIdTokens.ts`, rather than a
305
- * second copy of the same state machine. The scanner decodes CSS identifier
306
- * escapes before matching, so `#fx\.1` matches the raw id `fx.1`, and the
307
- * replacement is re-escaped so the emitted selector stays valid.
308
- */
309
- function renameIdTokensInSelector(selector, idMap) {
310
- return replaceSelectorIdTokens(selector, [...idMap.keys()], (matchedId) => `#${escapeCssIdentifier(idMap.get(matchedId))}`);
311
- }
312
364
  /**
313
365
  * Apply the same id substitution `namespaceCollidingSvgIds` computed to a
314
366
  * composition's `<style>` text.
@@ -322,10 +374,10 @@ function renameIdTokensInSelector(selector, idMap) {
322
374
  * same-composition stylesheet rule silently stops matching the element whose
323
375
  * id this module just changed.
324
376
  */
325
- export function rewriteSvgIdReferencesInCss(css, idMap) {
326
- if (!css || idMap.size === 0)
377
+ export function rewriteSvgIdReferencesInCss(css, idMap, references = []) {
378
+ if (!css || (idMap.size === 0 && references.length === 0))
327
379
  return css;
328
- if (!css.includes("#") && !css.toLowerCase().includes("url("))
380
+ if (!css.includes("#") && !css.includes("[") && !css.toLowerCase().includes("url("))
329
381
  return css;
330
382
  let root;
331
383
  try {
@@ -337,8 +389,15 @@ export function rewriteSvgIdReferencesInCss(css, idMap) {
337
389
  return css;
338
390
  }
339
391
  let mutated = false;
392
+ const recordedIds = new Set(references.filter((alias) => alias.name === ID_ATTR).map((alias) => alias.before));
393
+ const ids = [...idMap]
394
+ .filter(([id]) => !recordedIds.has(id))
395
+ .map(([id, renamed]) => ({
396
+ id,
397
+ replacement: `:is(#${escapeCssIdentifier(id)}, #${escapeCssIdentifier(renamed)})`,
398
+ }));
340
399
  root.walkRules((rule) => {
341
- const rewritten = rule.selectors.map((selector) => renameIdTokensInSelector(selector, idMap));
400
+ const rewritten = rule.selectors.map((selector) => rewriteSvgSelectors(selector, ids, references));
342
401
  if (rewritten.some((selector, index) => selector !== rule.selectors[index])) {
343
402
  rule.selectors = rewritten;
344
403
  mutated = true;
@@ -1 +1 @@
1
- {"version":3,"file":"svgIdNamespacing.js","sourceRoot":"","sources":["../../src/compiler/svgIdNamespacing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svgIdNamespacing.js","sourceRoot":"","sources":["../../src/compiler/svgIdNamespacing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export declare const SVG_REFERENCE_ALIASES_ATTR = "data-hf-svg-reference-aliases";
2
+ export interface SvgReferenceAlias {
3
+ name: string;
4
+ localName: string;
5
+ namespaceURI: string | null;
6
+ before: string;
7
+ after: string;
8
+ }
9
+ interface IdSelectorAlias {
10
+ id: string;
11
+ replacement: string;
12
+ }
13
+ /**
14
+ * With `namespaces` (a live sheet's bindings) only prefixed attribute selectors are
15
+ * rewritten; without it they stay as authored and everything else is rewritten.
16
+ */
17
+ export declare function rewriteSvgSelectors(selector: string, ids: readonly IdSelectorAlias[], references: readonly SvgReferenceAlias[], namespaces?: ReadonlyMap<string, string | null>): string;
18
+ /** Metadata records actual writes; selectors still match current native attribute values. */
19
+ export declare function readSvgReferenceAliases(root: {
20
+ querySelectorAll(selector: string): Iterable<Element>;
21
+ getAttribute?: (name: string) => string | null;
22
+ }, attribute: string, includeDescendants?: boolean): SvgReferenceAlias[];
23
+ export interface SvgSelectorAliases {
24
+ refresh(): void;
25
+ rewrite(selector: string, additional?: readonly IdSelectorAlias[]): string;
26
+ }
27
+ export declare function refreshSvgSelectorAliases(): void;
28
+ /** Compiled scene scripts install once; refreshes stay with the runtime's lifecycle. */
29
+ export declare function ensureSvgSelectorAliases(): void;
30
+ export {};
31
+ //# sourceMappingURL=svgSelectorAliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgSelectorAliases.d.ts","sourceRoot":"","sources":["../../src/compiler/svgSelectorAliases.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,eAAe,EAAE,EAC/B,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC9C,MAAM,CAkER;AAED,6FAA6F;AAC7F,wBAAgB,uBAAuB,CACrC,IAAI,EAAE;IACJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChD,EACD,SAAS,EAAE,MAAM,EACjB,kBAAkB,UAAO,GACxB,iBAAiB,EAAE,CAsBrB;AAcD,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAAC;CAC5E;AA0GD,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}