ripple 0.4.1 → 0.4.3

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 (96) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/package.json +9 -3
  3. package/src/constants.js +4 -0
  4. package/src/jsx-runtime.d.ts +2 -1
  5. package/src/runtime/array.js +15 -9
  6. package/src/runtime/index-client.js +25 -7
  7. package/src/runtime/index-server.js +1 -0
  8. package/src/runtime/internal/client/attributes.js +313 -0
  9. package/src/runtime/internal/client/blocks.js +4 -14
  10. package/src/runtime/internal/client/component.js +2 -5
  11. package/src/runtime/internal/client/composite.js +14 -6
  12. package/src/runtime/internal/client/constants.js +12 -6
  13. package/src/runtime/internal/client/context.js +3 -2
  14. package/src/runtime/internal/client/css.js +11 -26
  15. package/src/runtime/internal/client/errors.js +188 -0
  16. package/src/runtime/internal/client/events.js +79 -34
  17. package/src/runtime/internal/client/expression.js +21 -116
  18. package/src/runtime/internal/client/for.js +272 -222
  19. package/src/runtime/internal/client/head.js +4 -3
  20. package/src/runtime/internal/client/html.js +5 -3
  21. package/src/runtime/internal/client/hydrate.js +484 -0
  22. package/src/runtime/internal/client/hydration-enabled.js +7 -0
  23. package/src/runtime/internal/client/hydration.js +16 -97
  24. package/src/runtime/internal/client/if.js +13 -9
  25. package/src/runtime/internal/client/index.js +16 -8
  26. package/src/runtime/internal/client/operations.js +12 -9
  27. package/src/runtime/internal/client/portal.js +3 -2
  28. package/src/runtime/internal/client/render.js +75 -321
  29. package/src/runtime/internal/client/root-boundary-enabled.js +7 -0
  30. package/src/runtime/internal/client/runtime.js +129 -362
  31. package/src/runtime/internal/client/template-ns.js +47 -0
  32. package/src/runtime/internal/client/template.js +63 -140
  33. package/src/runtime/internal/client/track-async.js +356 -0
  34. package/src/runtime/internal/client/try.js +133 -319
  35. package/src/runtime/internal/client/types.d.ts +48 -24
  36. package/src/runtime/internal/server/index.js +38 -33
  37. package/src/runtime/internal/server/prerender.js +27 -0
  38. package/src/server/index.js +1 -0
  39. package/src/utils/class-name.js +28 -0
  40. package/tests/client/basic/basic.errors.test.tsrx +3 -3
  41. package/tests/client/compiler/__snapshots__/compiler.typescript.test.tsrx.snap +0 -2
  42. package/tests/client/compiler/compiler.basic.test.tsrx +4 -4
  43. package/tests/client/compiler/compiler.tracked-access.test.tsrx +3 -3
  44. package/tests/client/composite/composite.props.test.tsrx +10 -10
  45. package/tests/client/derived-release.test.tsrx +3 -3
  46. package/tests/client/for-item.test.tsrx +443 -0
  47. package/tests/client/for-selector.test.tsrx +95 -0
  48. package/tests/hydration/compiled/client/basic.js +97 -123
  49. package/tests/hydration/compiled/client/composite.js +5 -5
  50. package/tests/hydration/compiled/client/events.js +84 -79
  51. package/tests/hydration/compiled/client/for.js +229 -233
  52. package/tests/hydration/compiled/client/fragment-cursor.js +781 -481
  53. package/tests/hydration/compiled/client/head.js +23 -26
  54. package/tests/hydration/compiled/client/hmr.js +4 -4
  55. package/tests/hydration/compiled/client/html-in-template.js +5 -5
  56. package/tests/hydration/compiled/client/html.js +174 -208
  57. package/tests/hydration/compiled/client/if-children.js +71 -70
  58. package/tests/hydration/compiled/client/if-fragment-controlflow.js +46 -46
  59. package/tests/hydration/compiled/client/if.js +26 -26
  60. package/tests/hydration/compiled/client/mixed-control-flow.js +63 -105
  61. package/tests/hydration/compiled/client/nested-control-flow.js +170 -390
  62. package/tests/hydration/compiled/client/portal.js +10 -10
  63. package/tests/hydration/compiled/client/reactivity.js +36 -50
  64. package/tests/hydration/compiled/client/return.js +2 -2
  65. package/tests/hydration/compiled/client/streaming.js +34 -40
  66. package/tests/hydration/compiled/client/switch.js +25 -25
  67. package/tests/hydration/compiled/client/track-async-serialization.js +41 -41
  68. package/tests/hydration/compiled/client/try.js +15 -15
  69. package/tests/hydration/compiled/client/typed-text.js +8 -19
  70. package/tests/hydration/compiled/server/basic.js +6 -6
  71. package/tests/hydration/compiled/server/events.js +13 -61
  72. package/tests/hydration/compiled/server/for.js +23 -31
  73. package/tests/hydration/compiled/server/fragment-cursor.js +214 -366
  74. package/tests/hydration/compiled/server/head.js +6 -6
  75. package/tests/hydration/compiled/server/hmr.js +1 -1
  76. package/tests/hydration/compiled/server/html.js +1 -1
  77. package/tests/hydration/compiled/server/if-children.js +9 -9
  78. package/tests/hydration/compiled/server/if.js +5 -5
  79. package/tests/hydration/compiled/server/mixed-control-flow.js +4 -4
  80. package/tests/hydration/compiled/server/portal.js +1 -1
  81. package/tests/hydration/compiled/server/reactivity.js +9 -9
  82. package/tests/hydration/compiled/server/streaming.js +9 -9
  83. package/tests/hydration/compiled/server/switch.js +4 -4
  84. package/tests/hydration/compiled/server/track-async-serialization.js +16 -16
  85. package/tests/hydration/compiled/server/try.js +4 -4
  86. package/tests/hydration/compiled/server/typed-text.js +1 -1
  87. package/tests/hydration/components/fragment-cursor.tsrx +60 -0
  88. package/tests/hydration/components/track-async-serialization.tsrx +2 -2
  89. package/tests/hydration/fragment-cursor.test.js +34 -1
  90. package/tests/hydration/track-async-serialization.test.js +1 -1
  91. package/tests/server/basic.components.test.tsrx +3 -3
  92. package/tests/server/basic.test.tsrx +23 -0
  93. package/tests/server/track-async-serialization.test.tsrx +6 -6
  94. package/tests/utils/tracked-types.test.js +3 -3
  95. package/types/index.d.ts +8 -8
  96. package/types/server.d.ts +17 -0
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
- var root = _$_.template(`<div></div>`, 0);
4
+ var root = _$_.template(`<div>`);
5
5
 
6
6
  function StaticHtml_render(__anchor, __block) {
7
7
  const html = '<p><strong>Bold</strong> text</p>';
@@ -13,7 +13,7 @@ function StaticHtml_render(__anchor, __block) {
13
13
 
14
14
  StaticHtml[_$_.$r] = StaticHtml_render;
15
15
 
16
- var root_1 = _$_.template(`<div></div>`, 0);
16
+ var root_1 = _$_.template(`<div>`);
17
17
 
18
18
  function DynamicHtml_render(__anchor, __block) {
19
19
  const content = '<p>Dynamic <span>HTML</span> content</p>';
@@ -25,7 +25,7 @@ function DynamicHtml_render(__anchor, __block) {
25
25
 
26
26
  DynamicHtml[_$_.$r] = DynamicHtml_render;
27
27
 
28
- var root_2 = _$_.template(`<div></div>`, 0);
28
+ var root_2 = _$_.template(`<div>`);
29
29
 
30
30
  function EmptyHtml_render(__anchor, __block) {
31
31
  const html = '';
@@ -37,7 +37,7 @@ function EmptyHtml_render(__anchor, __block) {
37
37
 
38
38
  EmptyHtml[_$_.$r] = EmptyHtml_render;
39
39
 
40
- var root_3 = _$_.template(`<section></section>`, 0);
40
+ var root_3 = _$_.template(`<section>`);
41
41
 
42
42
  function ComplexHtml_render(__anchor, __block) {
43
43
  const html = '<div class="nested"><span>Nested <em>content</em></span></div>';
@@ -49,11 +49,11 @@ function ComplexHtml_render(__anchor, __block) {
49
49
 
50
50
  ComplexHtml[_$_.$r] = ComplexHtml_render;
51
51
 
52
- var root_4 = _$_.template(`<div><!><!></div>`, 0);
52
+ var root_4 = _$_.template(`<div><!><!>`);
53
53
 
54
54
  function render(__prev) {
55
- _$_.html(__prev._node, () => __prev._html1);
56
- _$_.html(__prev._node_1, () => __prev._html2);
55
+ _$_.html(__prev._a, () => __prev._b);
56
+ _$_.html(__prev._c, () => __prev._d);
57
57
  }
58
58
 
59
59
  function MultipleHtml_render(__anchor, __block) {
@@ -68,16 +68,16 @@ function MultipleHtml_render(__anchor, __block) {
68
68
  _$_.hydrating && _$_.pop(div_3);
69
69
  }
70
70
 
71
- _$_.render(render, { _node: node, _html1: html1, _node_1: node_1, _html2: html2 });
71
+ _$_.render(render, { _a: node, _b: html1, _c: node_1, _d: html2 });
72
72
  _$_.append(__anchor, div_3);
73
73
  }
74
74
 
75
75
  MultipleHtml[_$_.$r] = MultipleHtml_render;
76
76
 
77
- var root_5 = _$_.template(`<div><!><button>Increment</button></div>`, 0);
77
+ var root_5 = _$_.template(`<div><!><button>Increment`);
78
78
 
79
79
  function render_1(__prev) {
80
- _$_.html(__prev._node_2, () => "<p>Count: 0</p>");
80
+ _$_.html(__prev._a, () => "<p>Count: 0</p>");
81
81
  }
82
82
 
83
83
  function HtmlWithReactivity_render(__anchor, __block) {
@@ -89,13 +89,13 @@ function HtmlWithReactivity_render(__anchor, __block) {
89
89
  _$_.hydrating && _$_.pop(div_4);
90
90
  }
91
91
 
92
- _$_.render(render_1, { _node_2: node_2 });
92
+ _$_.render(render_1, { _a: node_2 });
93
93
  _$_.append(__anchor, div_4);
94
94
  }
95
95
 
96
96
  HtmlWithReactivity[_$_.$r] = HtmlWithReactivity_render;
97
97
 
98
- var root_6 = _$_.template(`<div class="wrapper"><div class="inner"><!></div></div>`, 0);
98
+ var root_6 = _$_.template(`<div class=wrapper><div class=inner><!>`);
99
99
 
100
100
  function HtmlWrapper_render(__anchor, __block, { children }) {
101
101
  var div_5 = root_6();
@@ -116,7 +116,7 @@ function HtmlWrapper_render(__anchor, __block, { children }) {
116
116
 
117
117
  HtmlWrapper[_$_.$r] = HtmlWrapper_render;
118
118
 
119
- var root_7 = _$_.template(`<div class="vp-doc"></div>`, 0);
119
+ var root_7 = _$_.template(`<div class=vp-doc>`);
120
120
 
121
121
  function HtmlInChildren_render(__anchor, __block) {
122
122
  const content = '<p><strong>Bold</strong> text</p>';
@@ -133,7 +133,7 @@ function HtmlInChildren_render(__anchor, __block) {
133
133
 
134
134
  HtmlInChildren[_$_.$r] = HtmlInChildren_render;
135
135
 
136
- var root_8 = _$_.template(`<h1>Title</h1><div class="content"></div>`, 1, 2);
136
+ var root_8 = _$_.template(`<h1>Title</h1><div class=content>`, 1, 2);
137
137
 
138
138
  function HtmlInChildrenWithSiblings_render(__anchor, __block) {
139
139
  const content = '<p>Dynamic content</p>';
@@ -152,11 +152,11 @@ function HtmlInChildrenWithSiblings_render(__anchor, __block) {
152
152
 
153
153
  HtmlInChildrenWithSiblings[_$_.$r] = HtmlInChildrenWithSiblings_render;
154
154
 
155
- var root_9 = _$_.template(`<div class="doc"><!><!></div>`, 0);
155
+ var root_9 = _$_.template(`<div class=doc><!><!>`);
156
156
 
157
157
  function render_2(__prev) {
158
- _$_.html(__prev._node_3, () => __prev._html1);
159
- _$_.html(__prev._node_4, () => __prev._html2);
158
+ _$_.html(__prev._a, () => __prev._b);
159
+ _$_.html(__prev._c, () => __prev._d);
160
160
  }
161
161
 
162
162
  function MultipleHtmlInChildren_render(__anchor, __block) {
@@ -174,13 +174,7 @@ function MultipleHtmlInChildren_render(__anchor, __block) {
174
174
  _$_.hydrating && _$_.pop(div_9);
175
175
  }
176
176
 
177
- _$_.render(render_2, {
178
- _node_3: node_3,
179
- _html1: html1,
180
- _node_4: node_4,
181
- _html2: html2
182
- });
183
-
177
+ _$_.render(render_2, { _a: node_3, _b: html1, _c: node_4, _d: html2 });
184
178
  _$_.append(__anchor, div_9);
185
179
  })
186
180
  });
@@ -188,7 +182,7 @@ function MultipleHtmlInChildren_render(__anchor, __block) {
188
182
 
189
183
  MultipleHtmlInChildren[_$_.$r] = MultipleHtmlInChildren_render;
190
184
 
191
- var root_10 = _$_.template(`<div></div>`, 0);
185
+ var root_10 = _$_.template(`<div>`);
192
186
 
193
187
  function HtmlWithComments_render(__anchor, __block) {
194
188
  const content = '<p>Before comment</p><!-- TODO: Elaborate --><p>After comment</p>';
@@ -200,7 +194,7 @@ function HtmlWithComments_render(__anchor, __block) {
200
194
 
201
195
  HtmlWithComments[_$_.$r] = HtmlWithComments_render;
202
196
 
203
- var root_11 = _$_.template(`<div></div>`, 0);
197
+ var root_11 = _$_.template(`<div>`);
204
198
 
205
199
  function HtmlWithEmptyComment_render(__anchor, __block) {
206
200
  const content = '<p>Before</p><!----><p>After</p>';
@@ -212,7 +206,7 @@ function HtmlWithEmptyComment_render(__anchor, __block) {
212
206
 
213
207
  HtmlWithEmptyComment[_$_.$r] = HtmlWithEmptyComment_render;
214
208
 
215
- var root_12 = _$_.template(`<div class="vp-doc"></div>`, 0);
209
+ var root_12 = _$_.template(`<div class=vp-doc>`);
216
210
 
217
211
  function HtmlWithCommentsInChildren_render(__anchor, __block) {
218
212
  const content = '<h2 id="intro">Introduction</h2><p>Some text</p><!-- TODO --><p>More text</p>';
@@ -229,7 +223,7 @@ function HtmlWithCommentsInChildren_render(__anchor, __block) {
229
223
 
230
224
  HtmlWithCommentsInChildren[_$_.$r] = HtmlWithCommentsInChildren_render;
231
225
 
232
- var root_13 = _$_.template(`<footer class="doc-footer">Footer content</footer>`, 0);
226
+ var root_13 = _$_.template(`<footer class=doc-footer>Footer content`);
233
227
 
234
228
  function DocFooter_render(__anchor, __block) {
235
229
  var footer = root_13();
@@ -239,7 +233,7 @@ function DocFooter_render(__anchor, __block) {
239
233
 
240
234
  DocFooter[_$_.$r] = DocFooter_render;
241
235
 
242
- var root_15 = _$_.template(`<div class="edit-link"><a>Edit</a></div>`, 0);
236
+ var root_15 = _$_.template(`<div class=edit-link><a>Edit`);
243
237
 
244
238
  function consequent(__anchor, editPath) {
245
239
  var div_16 = root_15();
@@ -257,13 +251,13 @@ function if_1(editPath) {
257
251
  if (editPath) return consequent;
258
252
  }
259
253
 
260
- var root_16 = _$_.template(`<nav class="prev-next"><a> </a></nav>`, 0);
254
+ var root_16 = _$_.template(`<nav class=prev-next><a> `);
261
255
 
262
256
  function render_3(__prev) {
263
- var __a = __prev._nextLink.href;
257
+ var __a = __prev._a.href;
264
258
 
265
259
  if (__prev.a !== __a) {
266
- _$_.set_attribute(__prev._a_1, 'href', __prev.a = __a);
260
+ _$_.set_attribute(__prev._b, 'href', __prev.a = __a);
267
261
  }
268
262
  }
269
263
 
@@ -281,7 +275,7 @@ function consequent_1(__anchor, nextLink) {
281
275
  }
282
276
  }
283
277
 
284
- _$_.render(render_3, { a: void 0, _nextLink: nextLink, _a_1: a_1 });
278
+ _$_.render(render_3, { a: void 0, _a: nextLink, _b: a_1 });
285
279
  _$_.append(__anchor, nav);
286
280
  }
287
281
 
@@ -289,23 +283,24 @@ function if_2(nextLink) {
289
283
  if (nextLink) return consequent_1;
290
284
  }
291
285
 
292
- var root_18 = _$_.template(`<li><a> </a></li>`, 0);
286
+ var root_18 = _$_.template(`<li><a>`);
293
287
 
294
288
  function render_4(__prev) {
295
- var __a = __prev._item.text;
289
+ var __a = __prev._a.text;
296
290
 
297
291
  if (__prev.a !== __a) {
298
- _$_.set_text(__prev._expression_3, __prev.a = __a);
292
+ _$_.set_text_content(__prev._b, __a, __prev.a);
293
+ __prev.a = __a;
299
294
  }
300
295
 
301
- var __b = __prev._item.href;
296
+ var __b = __prev._a.href;
302
297
 
303
298
  if (__prev.b !== __b) {
304
- _$_.set_attribute(__prev._a_2, 'href', __prev.b = __b);
299
+ _$_.set_attribute(__prev._b, 'href', __prev.b = __b);
305
300
  }
306
301
  }
307
302
 
308
- var root_17 = _$_.template(`<div class="toc"><ul></ul></div>`, 0);
303
+ var root_17 = _$_.template(`<div class=toc><ul>`);
309
304
 
310
305
  function consequent_2(__anchor, toc) {
311
306
  var div_17 = root_17();
@@ -322,23 +317,14 @@ function consequent_2(__anchor, toc) {
322
317
 
323
318
  {
324
319
  var a_2 = _$_.hydrating ? _$_.hydrate_child() : li.firstChild;
325
-
326
- {
327
- var expression_3 = _$_.hydrating ? _$_.hydrate_text() : a_2.firstChild;
328
- }
329
320
  }
330
321
 
331
- _$_.render(render_4, {
332
- a: ' ',
333
- b: void 0,
334
- _item: item,
335
- _expression_3: expression_3,
336
- _a_2: a_2
337
- });
338
-
322
+ _$_.item({ a: '', b: void 0, _a: item, _b: a_2 });
339
323
  _$_.append(__anchor, li);
340
324
  },
341
- 4
325
+ 4,
326
+ void 0,
327
+ render_4
342
328
  );
343
329
 
344
330
  _$_.hydrating && _$_.pop(ul);
@@ -352,7 +338,7 @@ function if_3(toc) {
352
338
  if (toc.length > 0) return consequent_2;
353
339
  }
354
340
 
355
- var root_14 = _$_.template(`<div class="layout"><div class="content-container"><article><div><!></div></article><!><!></div><aside><!></aside></div>`, 0);
341
+ var root_14 = _$_.template(`<div class=layout><div class=content-container><article><div><!></div></article></div><aside><!>`);
356
342
 
357
343
  function DocLayout_render(
358
344
  __anchor,
@@ -380,11 +366,11 @@ function DocLayout_render(
380
366
 
381
367
  _$_.hydrating && _$_.pop(article);
382
368
 
383
- var node_5 = _$_.hydrating ? _$_.hydrate_sibling() : article.nextSibling;
369
+ var node_5 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_14);
384
370
 
385
371
  _$_.if(node_5, if_1, false, editPath);
386
372
 
387
- var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : node_5.nextSibling;
373
+ var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_14);
388
374
 
389
375
  _$_.if(node_6, if_2, false, nextLink);
390
376
 
@@ -409,7 +395,7 @@ function DocLayout_render(
409
395
 
410
396
  DocLayout[_$_.$r] = DocLayout_render;
411
397
 
412
- var root_19 = _$_.template(`<div class="vp-doc"></div>`, 0);
398
+ var root_19 = _$_.template(`<div class=vp-doc>`);
413
399
 
414
400
  function HtmlWithServerData_render(__anchor, __block) {
415
401
  const content = '<h1 id="intro" class="doc-h1">Introduction</h1><p>Ripple is a framework.</p>';
@@ -433,7 +419,7 @@ function HtmlWithServerData_render(__anchor, __block) {
433
419
 
434
420
  HtmlWithServerData[_$_.$r] = HtmlWithServerData_render;
435
421
 
436
- var root_20 = _$_.template(`<div class="vp-doc"></div>`, 0);
422
+ var root_20 = _$_.template(`<div class=vp-doc>`);
437
423
 
438
424
  function HtmlWithClientDefaults_render(__anchor, __block) {
439
425
  const content = '<h1 id="intro" class="doc-h1">Introduction</h1><p>Ripple is a framework.</p>';
@@ -450,7 +436,7 @@ function HtmlWithClientDefaults_render(__anchor, __block) {
450
436
 
451
437
  HtmlWithClientDefaults[_$_.$r] = HtmlWithClientDefaults_render;
452
438
 
453
- var root_21 = _$_.template(`<div class="vp-doc"></div>`, 0);
439
+ var root_21 = _$_.template(`<div class=vp-doc>`);
454
440
 
455
441
  function HtmlWithUndefinedContent_render(__anchor, __block) {
456
442
  const content = undefined;
@@ -467,10 +453,10 @@ function HtmlWithUndefinedContent_render(__anchor, __block) {
467
453
 
468
454
  HtmlWithUndefinedContent[_$_.$r] = HtmlWithUndefinedContent_render;
469
455
 
470
- var root_22 = _$_.template(`<h1 class="heading"><!></h1>`, 0);
471
- var root_23 = _$_.template(`<h2 class="heading"><!></h2>`, 0);
456
+ var root_22 = _$_.template(`<h1 class=heading><!>`);
457
+ var root_23 = _$_.template(`<h2 class=heading><!>`);
472
458
 
473
- function switch_case_0(__anchor, { level, children }) {
459
+ function switch_case_0(__anchor, { a: level, b: children }) {
474
460
  var h1_1 = root_22();
475
461
 
476
462
  {
@@ -483,7 +469,7 @@ function switch_case_0(__anchor, { level, children }) {
483
469
  _$_.append(__anchor, h1_1);
484
470
  }
485
471
 
486
- function switch_case_1(__anchor, { level, children }) {
472
+ function switch_case_1(__anchor, { a: level, b: children }) {
487
473
  var h2 = root_23();
488
474
 
489
475
  {
@@ -496,7 +482,7 @@ function switch_case_1(__anchor, { level, children }) {
496
482
  _$_.append(__anchor, h2);
497
483
  }
498
484
 
499
- function switch_1({ level, children }) {
485
+ function switch_1({ a: level, b: children }) {
500
486
  switch (level) {
501
487
  case 1:
502
488
  return switch_case_0;
@@ -507,12 +493,12 @@ function switch_1({ level, children }) {
507
493
  }
508
494
 
509
495
  function DynamicHeading_render(__anchor, __block, { level, children }) {
510
- _$_.switch(__anchor, switch_1, true, { level, children });
496
+ _$_.switch(__anchor, switch_1, true, { a: level, b: children });
511
497
  }
512
498
 
513
499
  DynamicHeading[_$_.$r] = DynamicHeading_render;
514
500
 
515
- var root_24 = _$_.template(`<div class="code-block"><div class="header"><button>Copy</button><span class="lang">js</span></div><div class="content"></div></div>`, 0);
501
+ var root_24 = _$_.template(`<div class=code-block><div class=header><button>Copy</button><span class=lang>js</span></div><div class=content>`);
516
502
 
517
503
  function CodeBlock_render(__anchor, __block, { code }) {
518
504
  const highlighted = `<pre class="shiki"><code>${code}</code></pre>`;
@@ -530,7 +516,7 @@ function CodeBlock_render(__anchor, __block, { code }) {
530
516
 
531
517
  CodeBlock[_$_.$r] = CodeBlock_render;
532
518
 
533
- var root_25 = _$_.template(`<div class="wrapper"><div class="inner"><!></div></div>`, 0);
519
+ var root_25 = _$_.template(`<div class=wrapper><div class=inner><!>`);
534
520
 
535
521
  function ContentWrapper_render(__anchor, __block, { children }) {
536
522
  var div_24 = root_25();
@@ -551,7 +537,7 @@ function ContentWrapper_render(__anchor, __block, { children }) {
551
537
 
552
538
  ContentWrapper[_$_.$r] = ContentWrapper_render;
553
539
 
554
- var root_26 = _$_.template(`<!><p>First paragraph</p><p>Second paragraph</p><!><p>After code</p>`, 1, 5);
540
+ var root_26 = _$_.template(`<!><p>First paragraph</p><p>Second paragraph</p><!><p>After code`, 1, 5);
555
541
 
556
542
  function HtmlAfterSwitchInChildren_render(__anchor, __block) {
557
543
  _$_.render_component(ContentWrapper, __anchor, {
@@ -581,10 +567,10 @@ function HtmlAfterSwitchInChildren_render(__anchor, __block) {
581
567
 
582
568
  HtmlAfterSwitchInChildren[_$_.$r] = HtmlAfterSwitchInChildren_render;
583
569
 
584
- var root_27 = _$_.template(`<h1 class="heading"><!></h1>`, 0);
585
- var root_28 = _$_.template(`<h2 class="heading"><!></h2>`, 0);
570
+ var root_27 = _$_.template(`<h1 class=heading><!>`);
571
+ var root_28 = _$_.template(`<h2 class=heading><!>`);
586
572
 
587
- function consequent_3(__anchor, { primary, children }) {
573
+ function consequent_3(__anchor, { a: primary, b: children }) {
588
574
  var h1_2 = root_27();
589
575
 
590
576
  {
@@ -597,7 +583,7 @@ function consequent_3(__anchor, { primary, children }) {
597
583
  _$_.append(__anchor, h1_2);
598
584
  }
599
585
 
600
- function alternate(__anchor, { primary, children }) {
586
+ function alternate(__anchor, { a: primary, b: children }) {
601
587
  var h2_1 = root_28();
602
588
 
603
589
  {
@@ -610,17 +596,17 @@ function alternate(__anchor, { primary, children }) {
610
596
  _$_.append(__anchor, h2_1);
611
597
  }
612
598
 
613
- function if_4({ primary, children }) {
599
+ function if_4({ a: primary, b: children }) {
614
600
  if (primary) return consequent_3; else return alternate;
615
601
  }
616
602
 
617
603
  function IfHeading_render(__anchor, __block, { primary, children }) {
618
- _$_.if(__anchor, if_4, true, { primary, children });
604
+ _$_.if(__anchor, if_4, true, { a: primary, b: children });
619
605
  }
620
606
 
621
607
  IfHeading[_$_.$r] = IfHeading_render;
622
608
 
623
- var root_29 = _$_.template(`<!><p>First paragraph</p><p>Second paragraph</p><!><p>After code</p>`, 1, 5);
609
+ var root_29 = _$_.template(`<!><p>First paragraph</p><p>Second paragraph</p><!><p>After code`, 1, 5);
624
610
 
625
611
  function HtmlAfterIfInChildren_render(__anchor, __block) {
626
612
  _$_.render_component(ContentWrapper, __anchor, {
@@ -650,7 +636,7 @@ function HtmlAfterIfInChildren_render(__anchor, __block) {
650
636
 
651
637
  HtmlAfterIfInChildren[_$_.$r] = HtmlAfterIfInChildren_render;
652
638
 
653
- var root_30 = _$_.template(`<span class="for-item"> </span>`, 0);
639
+ var root_30 = _$_.template(`<span class=for-item>`);
654
640
 
655
641
  function ForList_render(__anchor, __block, { items }) {
656
642
  _$_.for(
@@ -660,9 +646,7 @@ function ForList_render(__anchor, __block, { items }) {
660
646
  var span = root_30();
661
647
 
662
648
  {
663
- var expression_11 = _$_.hydrating ? _$_.hydrate_text() : span.firstChild;
664
-
665
- expression_11.nodeValue = item;
649
+ span.textContent = item;
666
650
  }
667
651
 
668
652
  _$_.append(__anchor, span);
@@ -673,7 +657,7 @@ function ForList_render(__anchor, __block, { items }) {
673
657
 
674
658
  ForList[_$_.$r] = ForList_render;
675
659
 
676
- var root_31 = _$_.template(`<!><p>First paragraph</p><!><p>After code</p>`, 1, 4);
660
+ var root_31 = _$_.template(`<!><p>First paragraph</p><!><p>After code`, 1, 4);
677
661
 
678
662
  function HtmlAfterForInChildren_render(__anchor, __block) {
679
663
  _$_.render_component(ContentWrapper, __anchor, {
@@ -695,8 +679,8 @@ function HtmlAfterForInChildren_render(__anchor, __block) {
695
679
 
696
680
  HtmlAfterForInChildren[_$_.$r] = HtmlAfterForInChildren_render;
697
681
 
698
- var root_32 = _$_.template(`<div class="try-box"> </div>`, 0);
699
- var root_33 = _$_.template(`<span>error</span>`, 0);
682
+ var root_32 = _$_.template(`<div class=try-box>`);
683
+ var root_33 = _$_.template(`<span>error`);
700
684
 
701
685
  function TryBox_render(__anchor, __block, { value }) {
702
686
  _$_.try(
@@ -705,9 +689,7 @@ function TryBox_render(__anchor, __block, { value }) {
705
689
  var div_26 = root_32();
706
690
 
707
691
  {
708
- var expression_12 = _$_.hydrating ? _$_.hydrate_text() : div_26.firstChild;
709
-
710
- expression_12.nodeValue = value;
692
+ div_26.textContent = value;
711
693
  }
712
694
 
713
695
  _$_.append(__anchor, div_26);
@@ -724,7 +706,7 @@ function TryBox_render(__anchor, __block, { value }) {
724
706
 
725
707
  TryBox[_$_.$r] = TryBox_render;
726
708
 
727
- var root_34 = _$_.template(`<!><p>First paragraph</p><!><p>After code</p>`, 1, 4);
709
+ var root_34 = _$_.template(`<!><p>First paragraph</p><!><p>After code`, 1, 4);
728
710
 
729
711
  function HtmlAfterTryInChildren_render(__anchor, __block) {
730
712
  _$_.render_component(ContentWrapper, __anchor, {
@@ -746,7 +728,7 @@ function HtmlAfterTryInChildren_render(__anchor, __block) {
746
728
 
747
729
  HtmlAfterTryInChildren[_$_.$r] = HtmlAfterTryInChildren_render;
748
730
 
749
- var root_35 = _$_.template(`<span class="boxed"><!></span>`, 0);
731
+ var root_35 = _$_.template(`<span class=boxed><!>`);
750
732
 
751
733
  function Boxed_render(__anchor, __block, { children }) {
752
734
  var span_2 = root_35();
@@ -779,7 +761,7 @@ function IndirectHeading_render(__anchor, __block, { text }) {
779
761
 
780
762
  IndirectHeading[_$_.$r] = IndirectHeading_render;
781
763
 
782
- var root_37 = _$_.template(`<!><p>First paragraph</p><!><p>After code</p>`, 1, 4);
764
+ var root_37 = _$_.template(`<!><p>First paragraph</p><!><p>After code`, 1, 4);
783
765
 
784
766
  function HtmlAfterComponentInChildren_render(__anchor, __block) {
785
767
  _$_.render_component(ContentWrapper, __anchor, {
@@ -801,7 +783,7 @@ function HtmlAfterComponentInChildren_render(__anchor, __block) {
801
783
 
802
784
  HtmlAfterComponentInChildren[_$_.$r] = HtmlAfterComponentInChildren_render;
803
785
 
804
- var root_39 = _$_.template(`<div class="indicator"></div>`, 0);
786
+ var root_39 = _$_.template(`<div class=indicator>`);
805
787
 
806
788
  function consequent_4(__anchor, active) {
807
789
  var div_28 = root_39();
@@ -813,19 +795,19 @@ function if_5(active) {
813
795
  if (active) return consequent_4;
814
796
  }
815
797
 
816
- var root_38 = _$_.template(`<div><!><a><span> </span></a></div>`, 0);
798
+ var root_38 = _$_.template(`<div><a><span>`);
817
799
 
818
800
  function NavItem_render(__anchor, __block, { href, text: label, active = false }) {
819
801
  var div_27 = root_38();
820
802
 
821
- _$_.set_class(div_27, `nav-item${active ? ' active' : ''}`, void 0, true);
803
+ _$_.set_class(div_27, `nav-item${active ? ' active' : ''}`);
822
804
 
823
805
  {
824
806
  var node_19 = _$_.hydrating ? _$_.hydrate_child() : div_27.firstChild;
825
807
 
826
808
  _$_.if(node_19, if_5, false, active);
827
809
 
828
- var a_3 = _$_.hydrating ? _$_.hydrate_sibling() : node_19.nextSibling;
810
+ var a_3 = _$_.hydrating ? _$_.hydrate_sibling() : node_19;
829
811
 
830
812
  _$_.set_attribute(a_3, 'href', href);
831
813
 
@@ -833,9 +815,7 @@ function NavItem_render(__anchor, __block, { href, text: label, active = false }
833
815
  var span_3 = _$_.hydrating ? _$_.hydrate_child() : a_3.firstChild;
834
816
 
835
817
  {
836
- var expression_15 = _$_.hydrating ? _$_.hydrate_text() : span_3.firstChild;
837
-
838
- expression_15.nodeValue = label;
818
+ span_3.textContent = label;
839
819
  }
840
820
  }
841
821
 
@@ -847,9 +827,9 @@ function NavItem_render(__anchor, __block, { href, text: label, active = false }
847
827
 
848
828
  NavItem[_$_.$r] = NavItem_render;
849
829
 
850
- var root_41 = _$_.template(`<div class="section-items"><!></div>`, 0);
830
+ var root_41 = _$_.template(`<div class=section-items><!>`);
851
831
 
852
- function consequent_5(__anchor, { expanded, children }) {
832
+ function consequent_5(__anchor, { a: expanded, b: children }) {
853
833
  var div_30 = root_41();
854
834
 
855
835
  {
@@ -862,14 +842,14 @@ function consequent_5(__anchor, { expanded, children }) {
862
842
  _$_.append(__anchor, div_30);
863
843
  }
864
844
 
865
- function if_6({ expanded, children }) {
845
+ function if_6({ a: expanded, b: children }) {
866
846
  if (expanded.value) return consequent_5;
867
847
  }
868
848
 
869
- var root_40 = _$_.template(`<section class="sidebar-section"><div class="section-header"><h2> </h2><button>Toggle</button></div><!></section>`, 0);
849
+ var root_40 = _$_.template(`<section class=sidebar-section><div class=section-header><h2></h2><button>Toggle`);
870
850
 
871
851
  function SidebarSection_render(__anchor, __block, { title, children }) {
872
- const expanded = _$_.track(true, __block, '6ac6906f');
852
+ const expanded = _$_.track(true, __block, 'tmjvjj');
873
853
  var section_1 = root_40();
874
854
 
875
855
  {
@@ -879,9 +859,7 @@ function SidebarSection_render(__anchor, __block, { title, children }) {
879
859
  var h2_2 = _$_.hydrating ? _$_.hydrate_child() : div_29.firstChild;
880
860
 
881
861
  {
882
- var expression_16 = _$_.hydrating ? _$_.hydrate_text() : h2_2.firstChild;
883
-
884
- expression_16.nodeValue = title;
862
+ h2_2.textContent = title;
885
863
  }
886
864
 
887
865
  var button = _$_.hydrating ? _$_.hydrate_sibling() : h2_2.nextSibling;
@@ -891,9 +869,11 @@ function SidebarSection_render(__anchor, __block, { title, children }) {
891
869
 
892
870
  _$_.hydrating && _$_.pop(div_29);
893
871
 
894
- var node_20 = _$_.hydrating ? _$_.hydrate_sibling() : div_29.nextSibling;
872
+ var node_20 = _$_.hydrating
873
+ ? _$_.hydrate_sibling()
874
+ : _$_.append_into(section_1, true);
895
875
 
896
- _$_.if(node_20, if_6, false, { expanded, children });
876
+ _$_.if(node_20, if_6, false, { a: expanded, b: children });
897
877
  _$_.hydrating && _$_.pop(section_1);
898
878
  }
899
879
 
@@ -904,7 +884,7 @@ SidebarSection[_$_.$r] = SidebarSection_render;
904
884
 
905
885
  var root_43 = _$_.template(`<!><!>`, 1, 2);
906
886
  var root_44 = _$_.template(`<!><!>`, 1, 2);
907
- var root_42 = _$_.template(`<aside class="sidebar"><nav><div class="group"></div><div class="group"></div></nav></aside>`, 0);
887
+ var root_42 = _$_.template(`<aside class=sidebar><nav><div class=group></div><div class=group>`);
908
888
 
909
889
  function SideNav_render(__anchor, __block, { currentPath }) {
910
890
  var aside_1 = root_42();
@@ -984,7 +964,7 @@ function SideNav_render(__anchor, __block, { currentPath }) {
984
964
 
985
965
  SideNav[_$_.$r] = SideNav_render;
986
966
 
987
- var root_45 = _$_.template(`<header class="page-header"><div class="logo">MyApp</div></header>`, 0);
967
+ var root_45 = _$_.template(`<header class=page-header><div class=logo>MyApp`);
988
968
 
989
969
  function PageHeader_render(__anchor, __block) {
990
970
  var header = root_45();
@@ -994,7 +974,7 @@ function PageHeader_render(__anchor, __block) {
994
974
 
995
975
  PageHeader[_$_.$r] = PageHeader_render;
996
976
 
997
- var root_47 = _$_.template(`<div class="edit-link"><a href="/edit">Edit</a></div>`, 0);
977
+ var root_47 = _$_.template(`<div class=edit-link><a href=/edit>Edit`);
998
978
 
999
979
  function consequent_6(__anchor) {
1000
980
  var div_36 = root_47();
@@ -1006,7 +986,7 @@ function if_7() {
1006
986
  if (true) return consequent_6;
1007
987
  }
1008
988
 
1009
- var root_46 = _$_.template(`<div class="layout"><!><div class="content-wrapper"><!><main class="main-content"><div class="article"><div><h1>Introduction</h1><p>Welcome to the docs.</p></div></div><!></main></div></div>`, 0);
989
+ var root_46 = _$_.template(`<div class=layout><div class=content-wrapper><main class=main-content><div class=article><div><h1>Introduction</h1><p>Welcome to the docs.`);
1010
990
 
1011
991
  function LayoutWithSidebarAndMain_render(__anchor, __block) {
1012
992
  var div_33 = root_46();
@@ -1016,18 +996,18 @@ function LayoutWithSidebarAndMain_render(__anchor, __block) {
1016
996
 
1017
997
  _$_.render_component(PageHeader, node_25, {});
1018
998
 
1019
- var div_34 = _$_.hydrating ? _$_.hydrate_sibling() : node_25.nextSibling;
999
+ var div_34 = _$_.hydrating ? _$_.hydrate_sibling() : node_25;
1020
1000
 
1021
1001
  {
1022
1002
  var node_26 = _$_.hydrating ? _$_.hydrate_child() : div_34.firstChild;
1023
1003
 
1024
1004
  _$_.render_component(SideNav, node_26, { currentPath: "/intro" });
1025
1005
 
1026
- var main = _$_.hydrating ? _$_.hydrate_sibling() : node_26.nextSibling;
1006
+ var main = _$_.hydrating ? _$_.hydrate_sibling() : node_26;
1027
1007
 
1028
1008
  {
1029
1009
  var div_35 = _$_.hydrating ? _$_.hydrate_child() : main.firstChild;
1030
- var node_27 = _$_.hydrating ? _$_.hydrate_sibling() : div_35.nextSibling;
1010
+ var node_27 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(main);
1031
1011
 
1032
1012
  _$_.if(node_27, if_7);
1033
1013
 
@@ -1048,7 +1028,7 @@ function LayoutWithSidebarAndMain_render(__anchor, __block) {
1048
1028
 
1049
1029
  LayoutWithSidebarAndMain[_$_.$r] = LayoutWithSidebarAndMain_render;
1050
1030
 
1051
- var root_48 = _$_.template(`<article class="doc-content"><div><!></div></article>`, 0);
1031
+ var root_48 = _$_.template(`<article class=doc-content><div><!>`);
1052
1032
 
1053
1033
  function ArticleWrapper_render(__anchor, __block, { children }) {
1054
1034
  var article_1 = root_48();
@@ -1069,7 +1049,7 @@ function ArticleWrapper_render(__anchor, __block, { children }) {
1069
1049
 
1070
1050
  ArticleWrapper[_$_.$r] = ArticleWrapper_render;
1071
1051
 
1072
- var root_49 = _$_.template(`<footer class="doc-footer">Footer</footer>`, 0);
1052
+ var root_49 = _$_.template(`<footer class=doc-footer>Footer`);
1073
1053
 
1074
1054
  function SimpleFooter_render(__anchor, __block) {
1075
1055
  var footer_1 = root_49();
@@ -1079,8 +1059,8 @@ function SimpleFooter_render(__anchor, __block) {
1079
1059
 
1080
1060
  SimpleFooter[_$_.$r] = SimpleFooter_render;
1081
1061
 
1082
- var root_51 = _$_.template(`<h1>Title</h1><p>Content goes here.</p>`, 1, 2);
1083
- var root_52 = _$_.template(`<div class="edit-link"><a href="/edit">Edit</a></div>`, 0);
1062
+ var root_51 = _$_.template(`<h1>Title</h1><p>Content goes here.`, 1, 2);
1063
+ var root_52 = _$_.template(`<div class=edit-link><a href=/edit>Edit`);
1084
1064
 
1085
1065
  function consequent_7(__anchor) {
1086
1066
  var div_39 = root_52();
@@ -1092,7 +1072,7 @@ function if_8() {
1092
1072
  if (true) return consequent_7;
1093
1073
  }
1094
1074
 
1095
- var root_53 = _$_.template(`<nav class="prev-next"><a href="/prev">Previous</a></nav>`, 0);
1075
+ var root_53 = _$_.template(`<nav class=prev-next><a href=/prev>Previous`);
1096
1076
 
1097
1077
  function consequent_8(__anchor) {
1098
1078
  var nav_2 = root_53();
@@ -1104,7 +1084,7 @@ function if_9() {
1104
1084
  if (true) return consequent_8;
1105
1085
  }
1106
1086
 
1107
- var root_50 = _$_.template(`<div class="content-container"><!><!><!></div>`, 0);
1087
+ var root_50 = _$_.template(`<div class=content-container><!><!><!><!>`);
1108
1088
 
1109
1089
  function ArticleWithChildrenThenSibling_render(__anchor, __block) {
1110
1090
  var div_38 = root_50();
@@ -1129,7 +1109,7 @@ function ArticleWithChildrenThenSibling_render(__anchor, __block) {
1129
1109
 
1130
1110
  _$_.if(node_31, if_9);
1131
1111
 
1132
- var node_32 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_38);
1112
+ var node_32 = _$_.hydrating ? _$_.hydrate_sibling() : node_31.nextSibling;
1133
1113
 
1134
1114
  _$_.render_component(SimpleFooter, node_32, {});
1135
1115
  _$_.hydrating && _$_.pop(div_38);
@@ -1140,8 +1120,8 @@ function ArticleWithChildrenThenSibling_render(__anchor, __block) {
1140
1120
 
1141
1121
  ArticleWithChildrenThenSibling[_$_.$r] = ArticleWithChildrenThenSibling_render;
1142
1122
 
1143
- var root_55 = _$_.template(`<div class="doc-content"></div>`, 0);
1144
- var root_56 = _$_.template(`<div class="edit-link"><a href="/edit">Edit</a></div>`, 0);
1123
+ var root_55 = _$_.template(`<div class=doc-content>`);
1124
+ var root_56 = _$_.template(`<div class=edit-link><a href=/edit>Edit`);
1145
1125
 
1146
1126
  function consequent_9(__anchor) {
1147
1127
  var div_42 = root_56();
@@ -1153,7 +1133,7 @@ function if_10() {
1153
1133
  if (true) return consequent_9;
1154
1134
  }
1155
1135
 
1156
- var root_54 = _$_.template(`<div class="content-container"><!><!></div>`, 0);
1136
+ var root_54 = _$_.template(`<div class=content-container><!><!><!>`);
1157
1137
 
1158
1138
  function ArticleWithHtmlChildThenSibling_render(__anchor, __block) {
1159
1139
  const htmlContent = '<pre><code>const x = 1;</code></pre>';
@@ -1175,7 +1155,7 @@ function ArticleWithHtmlChildThenSibling_render(__anchor, __block) {
1175
1155
 
1176
1156
  _$_.if(node_34, if_10);
1177
1157
 
1178
- var node_35 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_40);
1158
+ var node_35 = _$_.hydrating ? _$_.hydrate_sibling() : node_34.nextSibling;
1179
1159
 
1180
1160
  _$_.render_component(SimpleFooter, node_35, {});
1181
1161
  _$_.hydrating && _$_.pop(div_40);
@@ -1186,7 +1166,7 @@ function ArticleWithHtmlChildThenSibling_render(__anchor, __block) {
1186
1166
 
1187
1167
  ArticleWithHtmlChildThenSibling[_$_.$r] = ArticleWithHtmlChildThenSibling_render;
1188
1168
 
1189
- var root_58 = _$_.template(`<div class="edit-link"><a href="/edit">Edit</a></div>`, 0);
1169
+ var root_58 = _$_.template(`<div class=edit-link><a href=/edit>Edit`);
1190
1170
 
1191
1171
  function consequent_10(__anchor) {
1192
1172
  var div_45 = root_58();
@@ -1198,7 +1178,7 @@ function if_11() {
1198
1178
  if (true) return consequent_10;
1199
1179
  }
1200
1180
 
1201
- var root_57 = _$_.template(`<div class="content-container"><article class="doc-content"><div><!></div></article><!></div>`, 0);
1181
+ var root_57 = _$_.template(`<div class=content-container><article class=doc-content><div><!>`);
1202
1182
 
1203
1183
  function InlineArticleLayout_render(__anchor, __block, { children }) {
1204
1184
  var div_43 = root_57();
@@ -1219,7 +1199,7 @@ function InlineArticleLayout_render(__anchor, __block, { children }) {
1219
1199
 
1220
1200
  _$_.hydrating && _$_.pop(article_2);
1221
1201
 
1222
- var node_36 = _$_.hydrating ? _$_.hydrate_sibling() : article_2.nextSibling;
1202
+ var node_36 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_43);
1223
1203
 
1224
1204
  _$_.if(node_36, if_11);
1225
1205
 
@@ -1234,7 +1214,7 @@ function InlineArticleLayout_render(__anchor, __block, { children }) {
1234
1214
 
1235
1215
  InlineArticleLayout[_$_.$r] = InlineArticleLayout_render;
1236
1216
 
1237
- var root_59 = _$_.template(`<div class="doc-content"></div>`, 0);
1217
+ var root_59 = _$_.template(`<div class=doc-content>`);
1238
1218
 
1239
1219
  function InlineArticleWithHtmlChild_render(__anchor, __block) {
1240
1220
  const htmlContent = '<pre><code>const x = 1;</code></pre>';
@@ -1251,7 +1231,7 @@ function InlineArticleWithHtmlChild_render(__anchor, __block) {
1251
1231
 
1252
1232
  InlineArticleWithHtmlChild[_$_.$r] = InlineArticleWithHtmlChild_render;
1253
1233
 
1254
- var root_60 = _$_.template(`<header class="header">Header</header>`, 0);
1234
+ var root_60 = _$_.template(`<header class=header>Header`);
1255
1235
 
1256
1236
  function HeaderStub_render(__anchor, __block) {
1257
1237
  var header_1 = root_60();
@@ -1261,7 +1241,7 @@ function HeaderStub_render(__anchor, __block) {
1261
1241
 
1262
1242
  HeaderStub[_$_.$r] = HeaderStub_render;
1263
1243
 
1264
- var root_61 = _$_.template(`<aside class="sidebar">Sidebar</aside>`, 0);
1244
+ var root_61 = _$_.template(`<aside class=sidebar>Sidebar`);
1265
1245
 
1266
1246
  function SidebarStub_render(__anchor, __block) {
1267
1247
  var aside_2 = root_61();
@@ -1271,7 +1251,7 @@ function SidebarStub_render(__anchor, __block) {
1271
1251
 
1272
1252
  SidebarStub[_$_.$r] = SidebarStub_render;
1273
1253
 
1274
- var root_62 = _$_.template(`<footer class="footer">Footer</footer>`, 0);
1254
+ var root_62 = _$_.template(`<footer class=footer>Footer`);
1275
1255
 
1276
1256
  function FooterStub_render(__anchor, __block) {
1277
1257
  var footer_2 = root_62();
@@ -1281,7 +1261,7 @@ function FooterStub_render(__anchor, __block) {
1281
1261
 
1282
1262
  FooterStub[_$_.$r] = FooterStub_render;
1283
1263
 
1284
- var root_64 = _$_.template(`<div class="edit-link"><a href="/edit">Edit on GitHub</a></div>`, 0);
1264
+ var root_64 = _$_.template(`<div class=edit-link><a href=/edit>Edit on GitHub`);
1285
1265
 
1286
1266
  function consequent_11(__anchor, editPath) {
1287
1267
  var div_53 = root_64();
@@ -1293,13 +1273,13 @@ function if_12(editPath) {
1293
1273
  if (editPath) return consequent_11;
1294
1274
  }
1295
1275
 
1296
- var root_65 = _$_.template(`<nav class="prev-next"><a> </a></nav>`, 0);
1276
+ var root_65 = _$_.template(`<nav class=prev-next><a> `);
1297
1277
 
1298
1278
  function render_5(__prev) {
1299
- var __a = __prev._nextLink.href;
1279
+ var __a = __prev._a.href;
1300
1280
 
1301
1281
  if (__prev.a !== __a) {
1302
- _$_.set_attribute(__prev._a_4, 'href', __prev.a = __a);
1282
+ _$_.set_attribute(__prev._b, 'href', __prev.a = __a);
1303
1283
  }
1304
1284
  }
1305
1285
 
@@ -1317,7 +1297,7 @@ function consequent_12(__anchor, nextLink) {
1317
1297
  }
1318
1298
  }
1319
1299
 
1320
- _$_.render(render_5, { a: void 0, _nextLink: nextLink, _a_4: a_4 });
1300
+ _$_.render(render_5, { a: void 0, _a: nextLink, _b: a_4 });
1321
1301
  _$_.append(__anchor, nav_3);
1322
1302
  }
1323
1303
 
@@ -1325,7 +1305,7 @@ function if_13(nextLink) {
1325
1305
  if (nextLink) return consequent_12;
1326
1306
  }
1327
1307
 
1328
- var root_63 = _$_.template(`<div class="layout"><!><div class="docs-wrapper"><!><main class="docs-main"><div class="docs-container"><div class="content"><div class="content-container"><article class="doc-content"><div><!></div></article><!><!></div></div></div></main></div></div>`, 0);
1308
+ var root_63 = _$_.template(`<div class=layout><div class=docs-wrapper><main class=docs-main><div class=docs-container><div class=content><div class=content-container><article class=doc-content><div><!>`);
1329
1309
 
1330
1310
  function DocsLayoutInner_render(
1331
1311
  __anchor,
@@ -1339,14 +1319,14 @@ function DocsLayoutInner_render(
1339
1319
 
1340
1320
  _$_.render_component(HeaderStub, node_38, {});
1341
1321
 
1342
- var div_48 = _$_.hydrating ? _$_.hydrate_sibling() : node_38.nextSibling;
1322
+ var div_48 = _$_.hydrating ? _$_.hydrate_sibling() : node_38;
1343
1323
 
1344
1324
  {
1345
1325
  var node_39 = _$_.hydrating ? _$_.hydrate_child() : div_48.firstChild;
1346
1326
 
1347
1327
  _$_.render_component(SidebarStub, node_39, {});
1348
1328
 
1349
- var main_1 = _$_.hydrating ? _$_.hydrate_sibling() : node_39.nextSibling;
1329
+ var main_1 = _$_.hydrating ? _$_.hydrate_sibling() : node_39;
1350
1330
 
1351
1331
  {
1352
1332
  var div_51 = _$_.hydrating ? _$_.hydrate_child() : main_1.firstChild;
@@ -1373,11 +1353,11 @@ function DocsLayoutInner_render(
1373
1353
 
1374
1354
  _$_.hydrating && _$_.pop(article_3);
1375
1355
 
1376
- var node_40 = _$_.hydrating ? _$_.hydrate_sibling() : article_3.nextSibling;
1356
+ var node_40 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_49);
1377
1357
 
1378
1358
  _$_.if(node_40, if_12, false, editPath);
1379
1359
 
1380
- var node_41 = _$_.hydrating ? _$_.hydrate_sibling() : node_40.nextSibling;
1360
+ var node_41 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_49);
1381
1361
 
1382
1362
  _$_.if(node_41, if_13, false, nextLink);
1383
1363
 
@@ -1401,7 +1381,7 @@ function DocsLayoutInner_render(
1401
1381
 
1402
1382
  DocsLayoutInner[_$_.$r] = DocsLayoutInner_render;
1403
1383
 
1404
- var root_66 = _$_.template(`<div class="doc-content"></div>`, 0);
1384
+ var root_66 = _$_.template(`<div class=doc-content>`);
1405
1385
 
1406
1386
  function DocsLayoutWithData_render(__anchor, __block) {
1407
1387
  const htmlContent = '<h1>Title</h1><p>Content</p>';
@@ -1420,7 +1400,7 @@ function DocsLayoutWithData_render(__anchor, __block) {
1420
1400
 
1421
1401
  DocsLayoutWithData[_$_.$r] = DocsLayoutWithData_render;
1422
1402
 
1423
- var root_67 = _$_.template(`<div class="doc-content"></div>`, 0);
1403
+ var root_67 = _$_.template(`<div class=doc-content>`);
1424
1404
 
1425
1405
  function DocsLayoutWithoutData_render(__anchor, __block) {
1426
1406
  const htmlContent = undefined;
@@ -1437,7 +1417,7 @@ function DocsLayoutWithoutData_render(__anchor, __block) {
1437
1417
 
1438
1418
  DocsLayoutWithoutData[_$_.$r] = DocsLayoutWithoutData_render;
1439
1419
 
1440
- var root_69 = _$_.template(`<div class="edit-link"><a>Edit on GitHub</a></div>`, 0);
1420
+ var root_69 = _$_.template(`<div class=edit-link><a>Edit on GitHub`);
1441
1421
 
1442
1422
  function consequent_13(__anchor, editPath) {
1443
1423
  var div_62 = root_69();
@@ -1455,17 +1435,17 @@ function if_14(editPath) {
1455
1435
  if (editPath) return consequent_13;
1456
1436
  }
1457
1437
 
1458
- var root_71 = _$_.template(`<a class="pager prev"><span class="title"> </span></a>`, 0);
1438
+ var root_71 = _$_.template(`<a class="pager prev"><span class=title> `);
1459
1439
 
1460
1440
  function render_6(__prev) {
1461
- var __a = __prev._prevLink.href;
1441
+ var __a = __prev._a.href;
1462
1442
 
1463
1443
  if (__prev.a !== __a) {
1464
- _$_.set_attribute(__prev._a_6, 'href', __prev.a = __a);
1444
+ _$_.set_attribute(__prev._b, 'href', __prev.a = __a);
1465
1445
  }
1466
1446
  }
1467
1447
 
1468
- var root_72 = _$_.template(`<span></span>`, 0);
1448
+ var root_72 = _$_.template(`<span>`);
1469
1449
 
1470
1450
  function consequent_14(__anchor, prevLink) {
1471
1451
  var a_6 = root_71();
@@ -1481,7 +1461,7 @@ function consequent_14(__anchor, prevLink) {
1481
1461
  }
1482
1462
  }
1483
1463
 
1484
- _$_.render(render_6, { a: void 0, _prevLink: prevLink, _a_6: a_6 });
1464
+ _$_.render(render_6, { a: void 0, _a: prevLink, _b: a_6 });
1485
1465
  _$_.append(__anchor, a_6);
1486
1466
  }
1487
1467
 
@@ -1495,13 +1475,13 @@ function if_15(prevLink) {
1495
1475
  if (prevLink) return consequent_14; else return alternate_1;
1496
1476
  }
1497
1477
 
1498
- var root_73 = _$_.template(`<a class="pager next"><span class="title"> </span></a>`, 0);
1478
+ var root_73 = _$_.template(`<a class="pager next"><span class=title> `);
1499
1479
 
1500
1480
  function render_7(__prev) {
1501
- var __a = __prev._nextLink.href;
1481
+ var __a = __prev._a.href;
1502
1482
 
1503
1483
  if (__prev.a !== __a) {
1504
- _$_.set_attribute(__prev._a_7, 'href', __prev.a = __a);
1484
+ _$_.set_attribute(__prev._b, 'href', __prev.a = __a);
1505
1485
  }
1506
1486
  }
1507
1487
 
@@ -1519,7 +1499,7 @@ function consequent_15(__anchor, nextLink) {
1519
1499
  }
1520
1500
  }
1521
1501
 
1522
- _$_.render(render_7, { a: void 0, _nextLink: nextLink, _a_7: a_7 });
1502
+ _$_.render(render_7, { a: void 0, _a: nextLink, _b: a_7 });
1523
1503
  _$_.append(__anchor, a_7);
1524
1504
  }
1525
1505
 
@@ -1527,9 +1507,9 @@ function if_16(nextLink) {
1527
1507
  if (nextLink) return consequent_15;
1528
1508
  }
1529
1509
 
1530
- var root_70 = _$_.template(`<nav class="prev-next"><!><!></nav>`, 0);
1510
+ var root_70 = _$_.template(`<nav class=prev-next><!><!>`);
1531
1511
 
1532
- function consequent_16(__anchor, { prevLink, nextLink }) {
1512
+ function consequent_16(__anchor, { a: prevLink, b: nextLink }) {
1533
1513
  var nav_4 = root_70();
1534
1514
 
1535
1515
  {
@@ -1546,27 +1526,28 @@ function consequent_16(__anchor, { prevLink, nextLink }) {
1546
1526
  _$_.append(__anchor, nav_4);
1547
1527
  }
1548
1528
 
1549
- function if_17({ prevLink, nextLink }) {
1529
+ function if_17({ a: prevLink, b: nextLink }) {
1550
1530
  if (prevLink || nextLink) return consequent_16;
1551
1531
  }
1552
1532
 
1553
- var root_75 = _$_.template(`<a> </a>`, 0);
1533
+ var root_75 = _$_.template(`<a>`);
1554
1534
 
1555
1535
  function render_8(__prev) {
1556
- var __a = __prev._item.text;
1536
+ var __a = __prev._a.text;
1557
1537
 
1558
1538
  if (__prev.a !== __a) {
1559
- _$_.set_text(__prev._expression_25, __prev.a = __a);
1539
+ _$_.set_text_content(__prev._b, __a, __prev.a);
1540
+ __prev.a = __a;
1560
1541
  }
1561
1542
 
1562
- var __b = __prev._item.href;
1543
+ var __b = __prev._a.href;
1563
1544
 
1564
1545
  if (__prev.b !== __b) {
1565
- _$_.set_attribute(__prev._a_8, 'href', __prev.b = __b);
1546
+ _$_.set_attribute(__prev._b, 'href', __prev.b = __b);
1566
1547
  }
1567
1548
  }
1568
1549
 
1569
- var root_74 = _$_.template(`<div class="aside-content"><nav class="outline"></nav></div>`, 0);
1550
+ var root_74 = _$_.template(`<div class=aside-content><nav class=outline>`);
1570
1551
 
1571
1552
  function consequent_17(__anchor, toc) {
1572
1553
  var div_63 = root_74();
@@ -1581,21 +1562,12 @@ function consequent_17(__anchor, toc) {
1581
1562
  (__anchor, item) => {
1582
1563
  var a_8 = root_75();
1583
1564
 
1584
- {
1585
- var expression_25 = _$_.hydrating ? _$_.hydrate_text() : a_8.firstChild;
1586
- }
1587
-
1588
- _$_.render(render_8, {
1589
- a: ' ',
1590
- b: void 0,
1591
- _item: item,
1592
- _expression_25: expression_25,
1593
- _a_8: a_8
1594
- });
1595
-
1565
+ _$_.item({ a: '', b: void 0, _a: item, _b: a_8 });
1596
1566
  _$_.append(__anchor, a_8);
1597
1567
  },
1598
- 4
1568
+ 4,
1569
+ void 0,
1570
+ render_8
1599
1571
  );
1600
1572
 
1601
1573
  _$_.hydrating && _$_.pop(nav_5);
@@ -1609,7 +1581,7 @@ function if_18(toc) {
1609
1581
  if (toc.length > 0) return consequent_17;
1610
1582
  }
1611
1583
 
1612
- var root_68 = _$_.template(`<div class="layout"><!><div class="docs-wrapper"><!><main class="docs-main"><div class="docs-container"><div class="content"><div class="content-container"><article class="doc-content"><div><!></div></article><!><!></div></div><aside class="aside"><!></aside></div></main></div></div>`, 0);
1584
+ var root_68 = _$_.template(`<div class=layout><div class=docs-wrapper><main class=docs-main><div class=docs-container><div class=content><div class=content-container><article class=doc-content><div><!></div></article></div></div><aside class=aside><!>`);
1613
1585
 
1614
1586
  function DocsLayoutExact_render(
1615
1587
  __anchor,
@@ -1629,14 +1601,14 @@ function DocsLayoutExact_render(
1629
1601
 
1630
1602
  _$_.render_component(HeaderStub, node_43, {});
1631
1603
 
1632
- var div_57 = _$_.hydrating ? _$_.hydrate_sibling() : node_43.nextSibling;
1604
+ var div_57 = _$_.hydrating ? _$_.hydrate_sibling() : node_43;
1633
1605
 
1634
1606
  {
1635
1607
  var node_44 = _$_.hydrating ? _$_.hydrate_child() : div_57.firstChild;
1636
1608
 
1637
1609
  _$_.render_component(SidebarStub, node_44, {});
1638
1610
 
1639
- var main_2 = _$_.hydrating ? _$_.hydrate_sibling() : node_44.nextSibling;
1611
+ var main_2 = _$_.hydrating ? _$_.hydrate_sibling() : node_44;
1640
1612
 
1641
1613
  {
1642
1614
  var div_60 = _$_.hydrating ? _$_.hydrate_child() : main_2.firstChild;
@@ -1663,13 +1635,13 @@ function DocsLayoutExact_render(
1663
1635
 
1664
1636
  _$_.hydrating && _$_.pop(article_4);
1665
1637
 
1666
- var node_45 = _$_.hydrating ? _$_.hydrate_sibling() : article_4.nextSibling;
1638
+ var node_45 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_58);
1667
1639
 
1668
1640
  _$_.if(node_45, if_14, false, editPath);
1669
1641
 
1670
- var node_46 = _$_.hydrating ? _$_.hydrate_sibling() : node_45.nextSibling;
1642
+ var node_46 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_58);
1671
1643
 
1672
- _$_.if(node_46, if_17, false, { prevLink, nextLink });
1644
+ _$_.if(node_46, if_17, false, { a: prevLink, b: nextLink });
1673
1645
 
1674
1646
  var node_49 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_58);
1675
1647
 
@@ -1702,7 +1674,7 @@ function DocsLayoutExact_render(
1702
1674
 
1703
1675
  DocsLayoutExact[_$_.$r] = DocsLayoutExact_render;
1704
1676
 
1705
- var root_76 = _$_.template(`<div class="doc-content"></div>`, 0);
1677
+ var root_76 = _$_.template(`<div class=doc-content>`);
1706
1678
 
1707
1679
  function DocsLayoutExactWithData_render(__anchor, __block) {
1708
1680
  const htmlContent = '<h1>Styling Guide</h1><p>Content</p>';
@@ -1727,7 +1699,7 @@ function DocsLayoutExactWithData_render(__anchor, __block) {
1727
1699
 
1728
1700
  DocsLayoutExactWithData[_$_.$r] = DocsLayoutExactWithData_render;
1729
1701
 
1730
- var root_77 = _$_.template(`<div class="doc-content"></div>`, 0);
1702
+ var root_77 = _$_.template(`<div class=doc-content>`);
1731
1703
 
1732
1704
  function DocsLayoutExactWithoutData_render(__anchor, __block) {
1733
1705
  const htmlContent = undefined;
@@ -1752,13 +1724,13 @@ function DocsLayoutExactWithoutData_render(__anchor, __block) {
1752
1724
 
1753
1725
  DocsLayoutExactWithoutData[_$_.$r] = DocsLayoutExactWithoutData_render;
1754
1726
 
1755
- var root_78 = _$_.template(`<div><template id="t1"></template><p class="content">Main content</p></div>`, 0);
1727
+ var root_78 = _$_.template(`<div><template id=t1></template><p class=content>Main content`);
1756
1728
 
1757
1729
  function render_9(__prev) {
1758
- var __a = _$_.with_scope(__prev.___block, () => JSON.stringify(__prev._data));
1730
+ var __a = _$_.with_scope(__prev._a, () => JSON.stringify(__prev._b));
1759
1731
 
1760
1732
  if (__prev.a !== __a) {
1761
- __prev._template.innerHTML = (__prev.a = __a) ?? __prev._template.innerHTML;
1733
+ __prev._c.innerHTML = (__prev.a = __a) ?? __prev._c.innerHTML;
1762
1734
  }
1763
1735
  }
1764
1736
 
@@ -1770,25 +1742,19 @@ function TemplateWithHtmlContent_render(__anchor, __block) {
1770
1742
  var template = _$_.hydrating ? _$_.hydrate_child() : div_66.firstChild;
1771
1743
  }
1772
1744
 
1773
- _$_.render(render_9, {
1774
- a: template.innerHTML,
1775
- ___block: __block,
1776
- _data: data,
1777
- _template: template
1778
- });
1779
-
1745
+ _$_.render(render_9, { a: template.innerHTML, _a: __block, _b: data, _c: template });
1780
1746
  _$_.append(__anchor, div_66);
1781
1747
  }
1782
1748
 
1783
1749
  TemplateWithHtmlContent[_$_.$r] = TemplateWithHtmlContent_render;
1784
1750
 
1785
- var root_79 = _$_.template(`<div class="wrapper"><h1>Title</h1><template id="data-template"></template><p class="after-template">Content after template</p></div>`, 0);
1751
+ var root_79 = _$_.template(`<div class=wrapper><h1>Title</h1><template id=data-template></template><p class=after-template>Content after template`);
1786
1752
 
1787
1753
  function render_10(__prev) {
1788
- var __a = _$_.with_scope(__prev.___block, () => JSON.stringify(__prev._data));
1754
+ var __a = _$_.with_scope(__prev._a, () => JSON.stringify(__prev._b));
1789
1755
 
1790
1756
  if (__prev.a !== __a) {
1791
- __prev._template_1.innerHTML = (__prev.a = __a) ?? __prev._template_1.innerHTML;
1757
+ __prev._c.innerHTML = (__prev.a = __a) ?? __prev._c.innerHTML;
1792
1758
  }
1793
1759
  }
1794
1760
 
@@ -1803,9 +1769,9 @@ function TemplateWithHtmlAndSiblings_render(__anchor, __block) {
1803
1769
 
1804
1770
  _$_.render(render_10, {
1805
1771
  a: template_1.innerHTML,
1806
- ___block: __block,
1807
- _data: data,
1808
- _template_1: template_1
1772
+ _a: __block,
1773
+ _b: data,
1774
+ _c: template_1
1809
1775
  });
1810
1776
 
1811
1777
  _$_.append(__anchor, div_67);
@@ -1813,13 +1779,13 @@ function TemplateWithHtmlAndSiblings_render(__anchor, __block) {
1813
1779
 
1814
1780
  TemplateWithHtmlAndSiblings[_$_.$r] = TemplateWithHtmlAndSiblings_render;
1815
1781
 
1816
- var root_80 = _$_.template(`<div class="layout"><template id="page-data"></template><main><!></main></div>`, 0);
1782
+ var root_80 = _$_.template(`<div class=layout><template id=page-data></template><main><!>`);
1817
1783
 
1818
1784
  function render_11(__prev) {
1819
- var __a = _$_.with_scope(__prev.___block, () => JSON.stringify(__prev._data));
1785
+ var __a = _$_.with_scope(__prev._a, () => JSON.stringify(__prev._b));
1820
1786
 
1821
1787
  if (__prev.a !== __a) {
1822
- __prev._template_2.innerHTML = (__prev.a = __a) ?? __prev._template_2.innerHTML;
1788
+ __prev._c.innerHTML = (__prev.a = __a) ?? __prev._c.innerHTML;
1823
1789
  }
1824
1790
  }
1825
1791
 
@@ -1840,9 +1806,9 @@ function LayoutWithTemplate_render(__anchor, __block, { children, data }) {
1840
1806
 
1841
1807
  _$_.render(render_11, {
1842
1808
  a: template_2.innerHTML,
1843
- ___block: __block,
1844
- _data: data,
1845
- _template_2: template_2
1809
+ _a: __block,
1810
+ _b: data,
1811
+ _c: template_2
1846
1812
  });
1847
1813
 
1848
1814
  _$_.append(__anchor, div_68);
@@ -1850,13 +1816,13 @@ function LayoutWithTemplate_render(__anchor, __block, { children, data }) {
1850
1816
 
1851
1817
  LayoutWithTemplate[_$_.$r] = LayoutWithTemplate_render;
1852
1818
 
1853
- var root_81 = _$_.template(`<div class="doc-content"></div>`, 0);
1819
+ var root_81 = _$_.template(`<div class=doc-content>`);
1854
1820
 
1855
1821
  function render_12(__prev) {
1856
- var __a = __prev._doc.html;
1822
+ var __a = __prev._a.html;
1857
1823
 
1858
1824
  if (__prev.a !== __a) {
1859
- __prev._div_69.innerHTML = (__prev.a = __a) ?? __prev._div_69.innerHTML;
1825
+ __prev._b.innerHTML = (__prev.a = __a) ?? __prev._b.innerHTML;
1860
1826
  }
1861
1827
  }
1862
1828
 
@@ -1868,7 +1834,7 @@ function NestedTemplateInLayout_render(__anchor, __block) {
1868
1834
  children: _$_.tsrx_element((__anchor, __block) => {
1869
1835
  var div_69 = root_81();
1870
1836
 
1871
- _$_.render(render_12, { a: div_69.innerHTML, _doc: doc, _div_69: div_69 });
1837
+ _$_.render(render_12, { a: div_69.innerHTML, _a: doc, _b: div_69 });
1872
1838
  _$_.append(__anchor, div_69);
1873
1839
  })
1874
1840
  });
@@ -1876,7 +1842,7 @@ function NestedTemplateInLayout_render(__anchor, __block) {
1876
1842
 
1877
1843
  NestedTemplateInLayout[_$_.$r] = NestedTemplateInLayout_render;
1878
1844
 
1879
- var root_82 = _$_.template(`<section class="readable-section"><p>Ergonomics</p><h2>Sibling traversal pattern</h2><p>Before first block</p><p>Before second block</p><pre class="code-block"><code></code></pre><p>Between one and two</p><pre class="code-block"><code></code></pre><p>Between two and three</p><pre class="code-block"><code></code></pre></section>`, 0);
1845
+ var root_82 = _$_.template(`<section class=readable-section><p>Ergonomics</p><h2>Sibling traversal pattern</h2><p>Before first block</p><p>Before second block</p><pre class=code-block><code></code></pre><p>Between one and two</p><pre class=code-block><code></code></pre><p>Between two and three</p><pre class=code-block><code>`);
1880
1846
 
1881
1847
  function HtmlCodeBlocksWithSiblingChain_render(__anchor, __block) {
1882
1848
  const html1 = '<span class="kw">const</span> <span class="id">a</span> = 1;';