@hyperframes/core 0.8.137 → 0.8.139
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/compiler/compositionScoping.d.ts.map +1 -1
- package/dist/compiler/compositionScoping.js +4 -119
- package/dist/compiler/compositionScoping.js.map +1 -1
- package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
- package/dist/compiler/inlineSubCompositions.js +24 -10
- package/dist/compiler/inlineSubCompositions.js.map +1 -1
- package/dist/compiler/selectorIdTokens.d.ts +19 -0
- package/dist/compiler/selectorIdTokens.d.ts.map +1 -1
- package/dist/compiler/selectorIdTokens.js +137 -2
- package/dist/compiler/selectorIdTokens.js.map +1 -1
- package/dist/compiler/svgIdNamespacing.d.ts +6 -3
- package/dist/compiler/svgIdNamespacing.d.ts.map +1 -1
- package/dist/compiler/svgIdNamespacing.js +145 -86
- package/dist/compiler/svgIdNamespacing.js.map +1 -1
- package/dist/compiler/svgSelectorAliases.d.ts +31 -0
- package/dist/compiler/svgSelectorAliases.d.ts.map +1 -0
- package/dist/compiler/svgSelectorAliases.js +217 -0
- package/dist/compiler/svgSelectorAliases.js.map +1 -0
- package/dist/generated/audio-fx-runtime-inline.js +1 -1
- package/dist/generated/audio-fx-runtime-inline.js.map +1 -1
- package/dist/generated/position-edits-render-inline.js +1 -1
- package/dist/generated/position-edits-render-inline.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/generated/svg-selector-aliases-inline.d.ts +3 -0
- package/dist/generated/svg-selector-aliases-inline.d.ts.map +1 -0
- package/dist/generated/svg-selector-aliases-inline.js +7 -0
- package/dist/generated/svg-selector-aliases-inline.js.map +1 -0
- package/dist/hyperframe.runtime.iife.js +64 -182
- package/dist/studioPreviewMark.d.ts +1 -0
- package/dist/studioPreviewMark.d.ts.map +1 -1
- package/dist/studioPreviewMark.js +1 -0
- package/dist/studioPreviewMark.js.map +1 -1
- 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
|
|
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
|
|
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;
|
|
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
|
|
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
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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 (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
215
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
279
|
-
const
|
|
280
|
-
|
|
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
|
-
|
|
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) =>
|
|
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"}
|