@miurajs/miura-render 0.3.7 → 0.3.9
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/src/binding-manager/binding-manager.d.ts +1 -1
- package/dist/src/binding-manager/binding-manager.d.ts.map +1 -1
- package/dist/src/binding-manager/binding-manager.js +21 -7
- package/dist/src/binding-manager/binding-manager.js.map +1 -1
- package/dist/src/binding-manager/bindings/node-binding.d.ts.map +1 -1
- package/dist/src/binding-manager/bindings/node-binding.js +14 -2
- package/dist/src/binding-manager/bindings/node-binding.js.map +1 -1
- package/dist/src/compiler/code-factory.d.ts.map +1 -1
- package/dist/src/compiler/code-factory.js +25 -2
- package/dist/src/compiler/code-factory.js.map +1 -1
- package/dist/src/css.d.ts +5 -0
- package/dist/src/css.d.ts.map +1 -1
- package/dist/src/css.js +10 -0
- package/dist/src/css.js.map +1 -1
- package/dist/src/html.d.ts +6 -1
- package/dist/src/html.d.ts.map +1 -1
- package/dist/src/html.js +11 -1
- package/dist/src/html.js.map +1 -1
- package/dist/src/processor/parser.d.ts.map +1 -1
- package/dist/src/processor/parser.js +15 -1
- package/dist/src/processor/parser.js.map +1 -1
- package/dist/src/processor/processor.d.ts +11 -0
- package/dist/src/processor/processor.d.ts.map +1 -1
- package/dist/src/processor/processor.js +75 -8
- package/dist/src/processor/processor.js.map +1 -1
- package/dist/src/processor/template-result.d.ts +8 -0
- package/dist/src/processor/template-result.d.ts.map +1 -1
- package/dist/src/processor/template-result.js +4 -0
- package/dist/src/processor/template-result.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -98,6 +98,7 @@ export class TemplateProcessor {
|
|
|
98
98
|
const fragment = document.importNode(template.content, true);
|
|
99
99
|
applyStaticUtilities(fragment);
|
|
100
100
|
this._fixNamespaces(fragment);
|
|
101
|
+
this._insertHoistedSiblings(fragment);
|
|
101
102
|
return fragment;
|
|
102
103
|
}
|
|
103
104
|
/**
|
|
@@ -113,6 +114,14 @@ export class TemplateProcessor {
|
|
|
113
114
|
* using `createElementNS` with the correct namespace, preserving all
|
|
114
115
|
* attributes, children, and binding markers.
|
|
115
116
|
*/
|
|
117
|
+
// SVG elements that cannot have children in SVG namespace.
|
|
118
|
+
// The HTML parser treats <circle ... /> as an opening tag and nests
|
|
119
|
+
// subsequent siblings inside it. When re-creating in SVG namespace,
|
|
120
|
+
// we must hoist those children out as siblings after the void element.
|
|
121
|
+
static { this.SVG_VOID_ELEMENTS = new Set([
|
|
122
|
+
'circle', 'ellipse', 'line', 'path', 'polygon', 'polyline',
|
|
123
|
+
'rect', 'stop', 'use', 'image',
|
|
124
|
+
]); }
|
|
116
125
|
_fixNamespaces(root) {
|
|
117
126
|
const HTML_NS = 'http://www.w3.org/1999/xhtml';
|
|
118
127
|
// Map of tag names that signal a foreign namespace root
|
|
@@ -166,38 +175,96 @@ export class TemplateProcessor {
|
|
|
166
175
|
/**
|
|
167
176
|
* Deep-recreates an element (and its subtree) in the given namespace.
|
|
168
177
|
* Preserves attributes, text nodes, and comment nodes (including binding markers).
|
|
178
|
+
*
|
|
179
|
+
* For SVG void elements (circle, line, path, etc.), the HTML parser treats
|
|
180
|
+
* <tag ... /> as an opening tag and nests subsequent elements inside it.
|
|
181
|
+
* When re-creating in SVG namespace, we hoist those children out as siblings
|
|
182
|
+
* after the void element, since SVG void elements cannot have children.
|
|
169
183
|
*/
|
|
170
184
|
_recreateInNamespace(source, namespace) {
|
|
171
185
|
const recreated = document.createElementNS(namespace, source.tagName.toLowerCase());
|
|
172
|
-
// Copy attributes, converting binding
|
|
173
|
-
// (SVG rejects "binding:N"
|
|
186
|
+
// Copy attributes, converting binding markers for SVG/MathML compatibility:
|
|
187
|
+
// - "binding:N" values → data-bN marker (SVG rejects "binding:N" for numeric attrs)
|
|
188
|
+
// - @event="binding:N" → data-eN marker (@ is invalid in SVG attribute names)
|
|
174
189
|
const BINDING_RE = /^binding:(\d+)$/;
|
|
175
190
|
for (const attr of Array.from(source.attributes)) {
|
|
176
191
|
const match = BINDING_RE.exec(attr.value);
|
|
177
|
-
if (match) {
|
|
178
|
-
//
|
|
192
|
+
if (match && attr.name.startsWith('@')) {
|
|
193
|
+
// Event binding: @mouseenter="binding:N" → data-eN marker
|
|
194
|
+
// (@ is not valid in SVG attribute names for setAttribute)
|
|
195
|
+
recreated.setAttribute(`data-e${match[1]}`, '');
|
|
196
|
+
}
|
|
197
|
+
else if (match) {
|
|
198
|
+
// Non-event attribute binding: x="binding:N" → data-bN marker
|
|
179
199
|
recreated.setAttribute(`data-b${match[1]}`, '');
|
|
180
200
|
}
|
|
201
|
+
else if (attr.name.startsWith('@')) {
|
|
202
|
+
// Static @ attribute (shouldn't normally happen, but handle gracefully)
|
|
203
|
+
// Strip the @ prefix and store as data attribute
|
|
204
|
+
recreated.setAttribute(`data-e-${attr.name.slice(1)}`, attr.value);
|
|
205
|
+
}
|
|
181
206
|
else {
|
|
182
207
|
recreated.setAttributeNS(attr.namespaceURI, attr.name, attr.value);
|
|
183
208
|
}
|
|
184
209
|
}
|
|
185
|
-
|
|
210
|
+
const isVoidSvg = namespace === ElementNamespace.SVG &&
|
|
211
|
+
TemplateProcessor.SVG_VOID_ELEMENTS.has(source.tagName.toLowerCase());
|
|
212
|
+
// Deep-copy children — but for SVG void elements, hoist children to siblings
|
|
213
|
+
// because the HTML parser incorrectly nested them inside self-closing tags.
|
|
214
|
+
// We collect hoisted nodes and insert them after the replaced element.
|
|
215
|
+
const hoisted = [];
|
|
186
216
|
for (const child of Array.from(source.childNodes)) {
|
|
187
217
|
if (child.nodeType === Node.ELEMENT_NODE) {
|
|
188
218
|
const childEl = child;
|
|
189
|
-
// Children of SVG/MathML inherit the parent namespace
|
|
190
219
|
const childNs = namespace;
|
|
191
220
|
const fixed = this._recreateInNamespace(childEl, childNs);
|
|
192
|
-
|
|
221
|
+
if (isVoidSvg) {
|
|
222
|
+
hoisted.push(fixed);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
recreated.appendChild(fixed);
|
|
226
|
+
}
|
|
193
227
|
}
|
|
194
228
|
else {
|
|
195
229
|
// Text nodes, comment nodes (including binding markers)
|
|
196
|
-
|
|
230
|
+
if (isVoidSvg) {
|
|
231
|
+
hoisted.push(child.cloneNode(true));
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
recreated.appendChild(child.cloneNode(true));
|
|
235
|
+
}
|
|
197
236
|
}
|
|
198
237
|
}
|
|
238
|
+
// If we hoisted children from a void element, store them for insertion
|
|
239
|
+
// after the element is placed in the DOM (caller handles this via _hoistSiblings)
|
|
240
|
+
if (hoisted.length > 0) {
|
|
241
|
+
recreated._hoistedSiblings = hoisted;
|
|
242
|
+
}
|
|
199
243
|
return recreated;
|
|
200
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* After _recreateInNamespace replaces an element, insert any hoisted siblings
|
|
247
|
+
* that were promoted out of SVG void elements.
|
|
248
|
+
*/
|
|
249
|
+
_insertHoistedSiblings(root) {
|
|
250
|
+
const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT);
|
|
251
|
+
const toInsert = [];
|
|
252
|
+
let node;
|
|
253
|
+
while ((node = walker.nextNode())) {
|
|
254
|
+
const hoisted = node._hoistedSiblings;
|
|
255
|
+
if (hoisted?.length) {
|
|
256
|
+
toInsert.push([node, hoisted]);
|
|
257
|
+
delete node._hoistedSiblings;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// Insert hoisted siblings after each element (in reverse to maintain order)
|
|
261
|
+
for (const [el, siblings] of toInsert) {
|
|
262
|
+
let insertBefore = el.nextSibling;
|
|
263
|
+
for (const sib of siblings) {
|
|
264
|
+
el.parentNode.insertBefore(sib, insertBefore);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
201
268
|
}
|
|
202
269
|
class TemplateInstance {
|
|
203
270
|
constructor(result, parsed, parts, fragment) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/processor/processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/processor/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* Type for template expressions that can be either values or functions
|
|
3
3
|
*/
|
|
4
4
|
export type TemplateExpression = Function | ((context: unknown) => unknown);
|
|
5
|
+
/**
|
|
6
|
+
* Symbol used to mark strings as trusted/safe for raw HTML injection
|
|
7
|
+
*/
|
|
8
|
+
export declare const TRUSTED_SYMBOL: unique symbol;
|
|
9
|
+
export interface TrustedValue {
|
|
10
|
+
[TRUSTED_SYMBOL]: true;
|
|
11
|
+
value: string;
|
|
12
|
+
}
|
|
5
13
|
/**
|
|
6
14
|
* Represents the result of processing a template literal.
|
|
7
15
|
* Contains the strings and values that make up the template.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-result.d.ts","sourceRoot":"","sources":["../../../src/processor/template-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,cAAc;IAMnB,kDAAkD;aAClC,OAAO,EAAE,oBAAoB;IAC7C,kDAAkD;aAClC,MAAM,EAAE,OAAO,EAAE;IARrC;;;OAGG;;IAEC,kDAAkD;IAClC,OAAO,EAAE,oBAAoB;IAC7C,kDAAkD;IAClC,MAAM,EAAE,OAAO,EAAE;CAExC;AAED;;;GAGG;AACH,oBAAY,WAAW;IACnB,0DAA0D;IAC1D,IAAI,SAAS;IACb,yDAAyD;IACzD,QAAQ,aAAa;IACrB,iDAAiD;IACjD,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,kDAAkD;IAClD,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,uFAAuF;IACvF,SAAS,cAAc;IACvB,4EAA4E;IAC5E,IAAI,SAAS;IACb,mDAAmD;IACnD,WAAW,iBAAiB;IAC5B,mDAAmD;IACnD,WAAW,iBAAiB;IAC5B,oEAAoE;IACpE,MAAM,WAAW;IACjB,mFAAmF;IACnF,KAAK,UAAU;IACf,+DAA+D;IAC/D,OAAO,YAAY;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,wDAAwD;IACxD,IAAI,EAAE,WAAW,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"template-result.d.ts","sourceRoot":"","sources":["../../../src/processor/template-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,cAAc,eAA0B,CAAC;AAEtD,MAAM,WAAW,YAAY;IACzB,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAMnB,kDAAkD;aAClC,OAAO,EAAE,oBAAoB;IAC7C,kDAAkD;aAClC,MAAM,EAAE,OAAO,EAAE;IARrC;;;OAGG;;IAEC,kDAAkD;IAClC,OAAO,EAAE,oBAAoB;IAC7C,kDAAkD;IAClC,MAAM,EAAE,OAAO,EAAE;CAExC;AAED;;;GAGG;AACH,oBAAY,WAAW;IACnB,0DAA0D;IAC1D,IAAI,SAAS;IACb,yDAAyD;IACzD,QAAQ,aAAa;IACrB,iDAAiD;IACjD,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,kDAAkD;IAClD,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,uFAAuF;IACvF,SAAS,cAAc;IACvB,4EAA4E;IAC5E,IAAI,SAAS;IACb,mDAAmD;IACnD,WAAW,iBAAiB;IAC5B,mDAAmD;IACnD,WAAW,iBAAiB;IAC5B,oEAAoE;IACpE,MAAM,WAAW;IACjB,mFAAmF;IACnF,KAAK,UAAU;IACf,+DAA+D;IAC/D,OAAO,YAAY;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,wDAAwD;IACxD,IAAI,EAAE,WAAW,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-result.js","sourceRoot":"","sources":["../../../src/processor/template-result.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACvB;;;OAGG;IACH;IACI,kDAAkD;IAClC,OAA6B;IAC7C,kDAAkD;IAClC,MAAiB;QAFjB,YAAO,GAAP,OAAO,CAAsB;QAE7B,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;CACR;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WA2BX;AA3BD,WAAY,WAAW;IACnB,0DAA0D;IAC1D,4BAAa,CAAA;IACb,yDAAyD;IACzD,oCAAqB,CAAA;IACrB,iDAAiD;IACjD,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,kDAAkD;IAClD,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,uFAAuF;IACvF,sCAAuB,CAAA;IACvB,4EAA4E;IAC5E,4BAAa,CAAA;IACb,mDAAmD;IACnD,2CAA4B,CAAA;IAC5B,mDAAmD;IACnD,2CAA4B,CAAA;IAC5B,oEAAoE;IACpE,gCAAiB,CAAA;IACjB,mFAAmF;IACnF,8BAAe,CAAA;IACf,+DAA+D;IAC/D,kCAAmB,CAAA;AACvB,CAAC,EA3BW,WAAW,KAAX,WAAW,QA2BtB"}
|
|
1
|
+
{"version":3,"file":"template-result.js","sourceRoot":"","sources":["../../../src/processor/template-result.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAOtD;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACvB;;;OAGG;IACH;IACI,kDAAkD;IAClC,OAA6B;IAC7C,kDAAkD;IAClC,MAAiB;QAFjB,YAAO,GAAP,OAAO,CAAsB;QAE7B,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;CACR;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WA2BX;AA3BD,WAAY,WAAW;IACnB,0DAA0D;IAC1D,4BAAa,CAAA;IACb,yDAAyD;IACzD,oCAAqB,CAAA;IACrB,iDAAiD;IACjD,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,kDAAkD;IAClD,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,uFAAuF;IACvF,sCAAuB,CAAA;IACvB,4EAA4E;IAC5E,4BAAa,CAAA;IACb,mDAAmD;IACnD,2CAA4B,CAAA;IAC5B,mDAAmD;IACnD,2CAA4B,CAAA;IAC5B,oEAAoE;IACpE,gCAAiB,CAAA;IACjB,mFAAmF;IACnF,8BAAe,CAAA;IACf,+DAA+D;IAC/D,kCAAmB,CAAA;AACvB,CAAC,EA3BW,WAAW,KAAX,WAAW,QA2BtB"}
|