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,8 +1,8 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
- var root_1 = _$_.template(`<li> </li>`, 0);
5
- var root = _$_.template(`<ul></ul>`, 0);
4
+ var root_1 = _$_.template(`<li> `);
5
+ var root = _$_.template(`<ul>`);
6
6
 
7
7
  function StaticForLoop_render(__anchor, __block) {
8
8
  const items = ['Apple', 'Banana', 'Cherry'];
@@ -35,17 +35,18 @@ function StaticForLoop_render(__anchor, __block) {
35
35
 
36
36
  StaticForLoop[_$_.$r] = StaticForLoop_render;
37
37
 
38
- var root_3 = _$_.template(`<li> </li>`, 0);
38
+ var root_3 = _$_.template(`<li>`);
39
39
 
40
40
  function render(__prev) {
41
- var __a = `${__prev._i.value}: ${__prev._item}`;
41
+ var __a = `${__prev._a.value}: ${__prev._b}`;
42
42
 
43
43
  if (__prev.a !== __a) {
44
- _$_.set_text(__prev._expression_1, __prev.a = __a);
44
+ _$_.set_text_content(__prev._c, __a, __prev.a);
45
+ __prev.a = __a;
45
46
  }
46
47
  }
47
48
 
48
- var root_2 = _$_.template(`<ul></ul>`, 0);
49
+ var root_2 = _$_.template(`<ul>`);
49
50
 
50
51
  function ForLoopWithIndex_render(__anchor, __block) {
51
52
  const items = ['A', 'B', 'C'];
@@ -58,14 +59,12 @@ function ForLoopWithIndex_render(__anchor, __block) {
58
59
  (__anchor, item, i) => {
59
60
  var li_1 = root_3();
60
61
 
61
- {
62
- var expression_1 = _$_.hydrating ? _$_.hydrate_text() : li_1.firstChild;
63
- }
64
-
65
- _$_.render(render, { a: ' ', _i: i, _item: item, _expression_1: expression_1 });
62
+ _$_.item({ a: '', _a: i, _b: item, _c: li_1 });
66
63
  _$_.append(__anchor, li_1);
67
64
  },
68
- 12
65
+ 12,
66
+ void 0,
67
+ render
69
68
  );
70
69
 
71
70
  _$_.hydrating && _$_.pop(ul_1);
@@ -76,8 +75,8 @@ function ForLoopWithIndex_render(__anchor, __block) {
76
75
 
77
76
  ForLoopWithIndex[_$_.$r] = ForLoopWithIndex_render;
78
77
 
79
- var root_5 = _$_.template(`<li> </li>`, 0);
80
- var root_4 = _$_.template(`<ul></ul>`, 0);
78
+ var root_5 = _$_.template(`<li> `);
79
+ var root_4 = _$_.template(`<ul>`);
81
80
 
82
81
  function KeyedForLoop_render(__anchor, __block) {
83
82
  const items = [
@@ -105,7 +104,7 @@ function KeyedForLoop_render(__anchor, __block) {
105
104
  _$_.append(__anchor, li_2);
106
105
  },
107
106
  4,
108
- (pattern) => _$_.get(pattern).id
107
+ (pattern) => pattern.id
109
108
  );
110
109
 
111
110
  _$_.hydrating && _$_.pop(ul_2);
@@ -116,12 +115,12 @@ function KeyedForLoop_render(__anchor, __block) {
116
115
 
117
116
  KeyedForLoop[_$_.$r] = KeyedForLoop_render;
118
117
 
119
- var root_8 = _$_.template(`<li> </li>`, 0);
120
- var root_7 = _$_.template(`<button class="add">Add</button><ul></ul>`, 1, 2);
118
+ var root_8 = _$_.template(`<li> `);
119
+ var root_7 = _$_.template(`<button class=add>Add</button><ul>`, 1, 2);
121
120
  var root_6 = _$_.template(`<!>`, 1, 1);
122
121
 
123
122
  function ReactiveForLoopAdd_render(__anchor, __block) {
124
- const items = _$_.track(['A', 'B'], __block, 'e145678a');
123
+ const items = _$_.track(['A', 'B'], __block, '1qi64qy');
125
124
  var fragment = root_6();
126
125
  var node = _$_.first_child_frag(fragment);
127
126
 
@@ -165,12 +164,12 @@ function ReactiveForLoopAdd_render(__anchor, __block) {
165
164
 
166
165
  ReactiveForLoopAdd[_$_.$r] = ReactiveForLoopAdd_render;
167
166
 
168
- var root_11 = _$_.template(`<li> </li>`, 0);
169
- var root_10 = _$_.template(`<button class="remove">Remove</button><ul></ul>`, 1, 2);
167
+ var root_11 = _$_.template(`<li> `);
168
+ var root_10 = _$_.template(`<button class=remove>Remove</button><ul>`, 1, 2);
170
169
  var root_9 = _$_.template(`<!>`, 1, 1);
171
170
 
172
171
  function ReactiveForLoopRemove_render(__anchor, __block) {
173
- const items = _$_.track(['A', 'B', 'C'], __block, 'b4e9bd54');
172
+ const items = _$_.track(['A', 'B', 'C'], __block, '1e738lw');
174
173
  var fragment_2 = root_9();
175
174
  var node_1 = _$_.first_child_frag(fragment_2);
176
175
 
@@ -214,20 +213,20 @@ function ReactiveForLoopRemove_render(__anchor, __block) {
214
213
 
215
214
  ReactiveForLoopRemove[_$_.$r] = ReactiveForLoopRemove_render;
216
215
 
217
- var root_13 = _$_.template(`<div><span class="value"> </span><button class="increment">+</button></div>`, 0);
216
+ var root_13 = _$_.template(`<div><span class=value> </span><button class=increment>+`);
218
217
 
219
218
  function render_1(__prev) {
220
- var __a = `item-${__prev._i.value}`;
219
+ var __a = `item-${__prev._a.value}`;
221
220
 
222
221
  if (__prev.a !== __a) {
223
- _$_.set_class(__prev._div_1, __prev.a = __a, void 0, true);
222
+ _$_.set_class(__prev._b, __prev.a = __a);
224
223
  }
225
224
  }
226
225
 
227
- var root_12 = _$_.template(`<div></div>`, 0);
226
+ var root_12 = _$_.template(`<div>`);
228
227
 
229
228
  function ForLoopInteractive_render(__anchor, __block) {
230
- const counts = _$_.track([0, 0, 0], __block, '36f563df');
229
+ const counts = _$_.track([0, 0, 0], __block, 'f8yrj3');
231
230
  var div = root_12();
232
231
 
233
232
  {
@@ -257,10 +256,12 @@ function ForLoopInteractive_render(__anchor, __block) {
257
256
  };
258
257
  }
259
258
 
260
- _$_.render(render_1, { a: _$_.UNINITIALIZED, _i: i, _div_1: div_1 });
259
+ _$_.item({ a: _$_.UNINITIALIZED, _a: i, _b: div_1 });
261
260
  _$_.append(__anchor, div_1);
262
261
  },
263
- 12
262
+ 12,
263
+ void 0,
264
+ render_1
264
265
  );
265
266
 
266
267
  _$_.hydrating && _$_.pop(div);
@@ -271,26 +272,26 @@ function ForLoopInteractive_render(__anchor, __block) {
271
272
 
272
273
  ForLoopInteractive[_$_.$r] = ForLoopInteractive_render;
273
274
 
274
- var root_16 = _$_.template(`<span> </span>`, 0);
275
+ var root_16 = _$_.template(`<span> `);
275
276
 
276
277
  function render_2(__prev) {
277
- var __a = `cell-${__prev._rowIndex.value}-${__prev._colIndex.value}`;
278
+ var __a = `cell-${__prev._a.value}-${__prev._b.value}`;
278
279
 
279
280
  if (__prev.a !== __a) {
280
- _$_.set_class(__prev._span_1, __prev.a = __a, void 0, true);
281
+ _$_.set_class(__prev._c, __prev.a = __a);
281
282
  }
282
283
  }
283
284
 
284
285
  function render_3(__prev) {
285
- var __a = `row-${__prev._rowIndex.value}`;
286
+ var __a = `row-${__prev._a.value}`;
286
287
 
287
288
  if (__prev.a !== __a) {
288
- _$_.set_class(__prev._div_3, __prev.a = __a, void 0, true);
289
+ _$_.set_class(__prev._b, __prev.a = __a);
289
290
  }
290
291
  }
291
292
 
292
- var root_15 = _$_.template(`<div></div>`, 0);
293
- var root_14 = _$_.template(`<div class="grid"></div>`, 0);
293
+ var root_15 = _$_.template(`<div>`);
294
+ var root_14 = _$_.template(`<div class=grid>`);
294
295
 
295
296
  function NestedForLoop_render(__anchor, __block) {
296
297
  const grid = [[1, 2], [3, 4]];
@@ -317,25 +318,23 @@ function NestedForLoop_render(__anchor, __block) {
317
318
  _$_.hydrating && _$_.pop(span_1);
318
319
  }
319
320
 
320
- _$_.render(render_2, {
321
- a: _$_.UNINITIALIZED,
322
- _rowIndex: rowIndex,
323
- _colIndex: colIndex,
324
- _span_1: span_1
325
- });
326
-
321
+ _$_.item({ a: _$_.UNINITIALIZED, _a: rowIndex, _b: colIndex, _c: span_1 });
327
322
  _$_.append(__anchor, span_1);
328
323
  },
329
- 12
324
+ 12,
325
+ void 0,
326
+ render_2
330
327
  );
331
328
 
332
329
  _$_.hydrating && _$_.pop(div_3);
333
- _$_.render(render_3, { a: _$_.UNINITIALIZED, _rowIndex: rowIndex, _div_3: div_3 });
330
+ _$_.item({ a: _$_.UNINITIALIZED, _a: rowIndex, _b: div_3 });
334
331
  }
335
332
 
336
333
  _$_.append(__anchor, div_3);
337
334
  },
338
- 12
335
+ 12,
336
+ void 0,
337
+ render_3
339
338
  );
340
339
 
341
340
  _$_.hydrating && _$_.pop(div_2);
@@ -346,8 +345,8 @@ function NestedForLoop_render(__anchor, __block) {
346
345
 
347
346
  NestedForLoop[_$_.$r] = NestedForLoop_render;
348
347
 
349
- var root_18 = _$_.template(`<span> </span>`, 0);
350
- var root_17 = _$_.template(`<div class="container"></div>`, 0);
348
+ var root_18 = _$_.template(`<span>`);
349
+ var root_17 = _$_.template(`<div class=container>`);
351
350
 
352
351
  function EmptyForLoop_render(__anchor, __block) {
353
352
  const items = [];
@@ -361,9 +360,7 @@ function EmptyForLoop_render(__anchor, __block) {
361
360
  var span_2 = root_18();
362
361
 
363
362
  {
364
- var expression_7 = _$_.hydrating ? _$_.hydrate_text() : span_2.firstChild;
365
-
366
- expression_7.nodeValue = item;
363
+ span_2.textContent = item;
367
364
  }
368
365
 
369
366
  _$_.append(__anchor, span_2);
@@ -379,17 +376,17 @@ function EmptyForLoop_render(__anchor, __block) {
379
376
 
380
377
  EmptyForLoop[_$_.$r] = EmptyForLoop_render;
381
378
 
382
- var root_20 = _$_.template(`<div><span class="name"> </span><span class="role"> </span></div>`, 0);
379
+ var root_20 = _$_.template(`<div><span class=name> </span><span class=role> `);
383
380
 
384
381
  function render_4(__prev) {
385
- var __a = `user-${_$_.get(__prev._pattern_1).id}`;
382
+ var __a = `user-${_$_.get(__prev._a).id}`;
386
383
 
387
384
  if (__prev.a !== __a) {
388
- _$_.set_class(__prev._div_6, __prev.a = __a, void 0, true);
385
+ _$_.set_class(__prev._b, __prev.a = __a);
389
386
  }
390
387
  }
391
388
 
392
- var root_19 = _$_.template(`<div></div>`, 0);
389
+ var root_19 = _$_.template(`<div>`);
393
390
 
394
391
  function ForLoopComplexObjects_render(__anchor, __block) {
395
392
  const users = [
@@ -426,11 +423,14 @@ function ForLoopComplexObjects_render(__anchor, __block) {
426
423
  }
427
424
  }
428
425
 
429
- _$_.render(render_4, { a: _$_.UNINITIALIZED, _pattern_1: pattern_1, _div_6: div_6 });
426
+ _$_.item({ a: _$_.UNINITIALIZED, _a: pattern_1, _b: div_6 });
430
427
  _$_.append(__anchor, div_6);
431
428
  },
432
429
  4,
433
- (pattern_1) => _$_.get(pattern_1).id
430
+ (pattern_1) => pattern_1.id,
431
+ void 0,
432
+ void 0,
433
+ render_4
434
434
  );
435
435
 
436
436
  _$_.hydrating && _$_.pop(div_5);
@@ -441,17 +441,17 @@ function ForLoopComplexObjects_render(__anchor, __block) {
441
441
 
442
442
  ForLoopComplexObjects[_$_.$r] = ForLoopComplexObjects_render;
443
443
 
444
- var root_23 = _$_.template(`<li> </li>`, 0);
444
+ var root_23 = _$_.template(`<li> `);
445
445
 
446
446
  function render_5(__prev) {
447
- var __a = `item-${_$_.get(__prev._pattern_2).id}`;
447
+ var __a = `item-${_$_.get(__prev._a).id}`;
448
448
 
449
449
  if (__prev.a !== __a) {
450
- _$_.set_class(__prev._li_5, __prev.a = __a, void 0, true);
450
+ _$_.set_class(__prev._b, __prev.a = __a);
451
451
  }
452
452
  }
453
453
 
454
- var root_22 = _$_.template(`<button class="reorder">Reorder</button><ul></ul>`, 1, 2);
454
+ var root_22 = _$_.template(`<button class=reorder>Reorder</button><ul>`, 1, 2);
455
455
  var root_21 = _$_.template(`<!>`, 1, 1);
456
456
 
457
457
  function KeyedForLoopReorder_render(__anchor, __block) {
@@ -462,7 +462,7 @@ function KeyedForLoopReorder_render(__anchor, __block) {
462
462
  { id: 3, name: 'Third' }
463
463
  ],
464
464
  __block,
465
- 'e7abc6a3'
465
+ '1sa3hr7'
466
466
  );
467
467
 
468
468
  var fragment_4 = root_21();
@@ -492,11 +492,14 @@ function KeyedForLoopReorder_render(__anchor, __block) {
492
492
  _$_.hydrating && _$_.pop(li_5);
493
493
  }
494
494
 
495
- _$_.render(render_5, { a: _$_.UNINITIALIZED, _pattern_2: pattern_2, _li_5: li_5 });
495
+ _$_.item({ a: _$_.UNINITIALIZED, _a: pattern_2, _b: li_5 });
496
496
  _$_.append(__anchor, li_5);
497
497
  },
498
498
  4,
499
- (pattern_2) => _$_.get(pattern_2).id
499
+ (pattern_2) => pattern_2.id,
500
+ void 0,
501
+ void 0,
502
+ render_5
500
503
  );
501
504
 
502
505
  _$_.hydrating && _$_.pop(ul_5);
@@ -510,21 +513,21 @@ function KeyedForLoopReorder_render(__anchor, __block) {
510
513
 
511
514
  KeyedForLoopReorder[_$_.$r] = KeyedForLoopReorder_render;
512
515
 
513
- var root_26 = _$_.template(`<li> </li>`, 0);
516
+ var root_26 = _$_.template(`<li> `);
514
517
 
515
518
  function render_6(__prev) {
516
- var __a = `item-${_$_.get(__prev._pattern_3).id}`;
519
+ var __a = `item-${_$_.get(__prev._a).id}`;
517
520
 
518
521
  if (__prev.a !== __a) {
519
- _$_.set_class(__prev._li_6, __prev.a = __a, void 0, true);
522
+ _$_.set_class(__prev._b, __prev.a = __a);
520
523
  }
521
524
  }
522
525
 
523
- var root_25 = _$_.template(`<button class="update">Update</button><ul></ul>`, 1, 2);
526
+ var root_25 = _$_.template(`<button class=update>Update</button><ul>`, 1, 2);
524
527
  var root_24 = _$_.template(`<!>`, 1, 1);
525
528
 
526
529
  function KeyedForLoopUpdate_render(__anchor, __block) {
527
- const items = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }], __block, '7a2c2ada');
530
+ const items = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }], __block, 'xwci56');
528
531
  var fragment_6 = root_24();
529
532
  var node_3 = _$_.first_child_frag(fragment_6);
530
533
 
@@ -552,11 +555,14 @@ function KeyedForLoopUpdate_render(__anchor, __block) {
552
555
  _$_.hydrating && _$_.pop(li_6);
553
556
  }
554
557
 
555
- _$_.render(render_6, { a: _$_.UNINITIALIZED, _pattern_3: pattern_3, _li_6: li_6 });
558
+ _$_.item({ a: _$_.UNINITIALIZED, _a: pattern_3, _b: li_6 });
556
559
  _$_.append(__anchor, li_6);
557
560
  },
558
561
  4,
559
- (pattern_3) => _$_.get(pattern_3).id
562
+ (pattern_3) => pattern_3.id,
563
+ void 0,
564
+ void 0,
565
+ render_6
560
566
  );
561
567
 
562
568
  _$_.hydrating && _$_.pop(ul_6);
@@ -570,12 +576,12 @@ function KeyedForLoopUpdate_render(__anchor, __block) {
570
576
 
571
577
  KeyedForLoopUpdate[_$_.$r] = KeyedForLoopUpdate_render;
572
578
 
573
- var root_29 = _$_.template(`<li> </li>`, 0);
574
- var root_28 = _$_.template(`<button class="shuffle">Shuffle</button><ul></ul>`, 1, 2);
579
+ var root_29 = _$_.template(`<li> `);
580
+ var root_28 = _$_.template(`<button class=shuffle>Shuffle</button><ul>`, 1, 2);
575
581
  var root_27 = _$_.template(`<!>`, 1, 1);
576
582
 
577
583
  function ForLoopMixedOperations_render(__anchor, __block) {
578
- const items = _$_.track(['A', 'B', 'C', 'D'], __block, '3dd7c7b6');
584
+ const items = _$_.track(['A', 'B', 'C', 'D'], __block, 'h5qbw6');
579
585
  var fragment_8 = root_27();
580
586
  var node_4 = _$_.first_child_frag(fragment_8);
581
587
 
@@ -596,7 +602,7 @@ function ForLoopMixedOperations_render(__anchor, __block) {
596
602
  (__anchor, item) => {
597
603
  var li_7 = root_29();
598
604
 
599
- _$_.set_class(li_7, `item-${item}`, void 0, true);
605
+ _$_.set_class(li_7, `item-${item}`);
600
606
 
601
607
  {
602
608
  var expression_12 = _$_.hydrating ? _$_.hydrate_child() : li_7.firstChild;
@@ -621,10 +627,10 @@ function ForLoopMixedOperations_render(__anchor, __block) {
621
627
 
622
628
  ForLoopMixedOperations[_$_.$r] = ForLoopMixedOperations_render;
623
629
 
624
- var root_33 = _$_.template(`<li> </li>`, 0);
625
- var root_32 = _$_.template(`<ul class="list"></ul>`, 0);
630
+ var root_33 = _$_.template(`<li> `);
631
+ var root_32 = _$_.template(`<ul class=list>`);
626
632
 
627
- function consequent(__anchor, { showList, items }) {
633
+ function consequent(__anchor, { a: showList, b: items }) {
628
634
  var ul_8 = root_32();
629
635
 
630
636
  {
@@ -652,16 +658,16 @@ function consequent(__anchor, { showList, items }) {
652
658
  _$_.append(__anchor, ul_8);
653
659
  }
654
660
 
655
- function if_1({ showList, items }) {
661
+ function if_1({ a: showList, b: items }) {
656
662
  if (showList.value) return consequent;
657
663
  }
658
664
 
659
- var root_31 = _$_.template(`<button class="toggle">Toggle List</button><button class="add">Add Item</button><!>`, 1, 3);
665
+ var root_31 = _$_.template(`<button class=toggle>Toggle List</button><button class=add>Add Item</button><!>`, 1, 3);
660
666
  var root_30 = _$_.template(`<!>`, 1, 1);
661
667
 
662
668
  function ForLoopInsideIf_render(__anchor, __block) {
663
- const showList = _$_.track(true, __block, '0528df30');
664
- const items = _$_.track(['X', 'Y', 'Z'], __block, 'bf375103');
669
+ const showList = _$_.track(true, __block, '1fjdps');
670
+ const items = _$_.track(['X', 'Y', 'Z'], __block, '1h205c3');
665
671
  var fragment_10 = root_30();
666
672
  var node_6 = _$_.first_child_frag(fragment_10);
667
673
 
@@ -681,7 +687,7 @@ function ForLoopInsideIf_render(__anchor, __block) {
681
687
 
682
688
  var node_5 = _$_.hydrating ? _$_.hydrate_sibling() : button_7.nextSibling;
683
689
 
684
- _$_.if(node_5, if_1, false, { showList, items });
690
+ _$_.if(node_5, if_1, false, { a: showList, b: items });
685
691
  _$_.append(__anchor, fragment_11);
686
692
  }));
687
693
 
@@ -690,12 +696,12 @@ function ForLoopInsideIf_render(__anchor, __block) {
690
696
 
691
697
  ForLoopInsideIf[_$_.$r] = ForLoopInsideIf_render;
692
698
 
693
- var root_36 = _$_.template(`<li> </li>`, 0);
694
- var root_35 = _$_.template(`<button class="populate">Populate</button><ul class="list"></ul>`, 1, 2);
699
+ var root_36 = _$_.template(`<li>`);
700
+ var root_35 = _$_.template(`<button class=populate>Populate</button><ul class=list>`, 1, 2);
695
701
  var root_34 = _$_.template(`<!>`, 1, 1);
696
702
 
697
703
  function ForLoopEmptyToPopulated_render(__anchor, __block) {
698
- const items = _$_.track([], __block, '525c5dbc');
704
+ const items = _$_.track([], __block, 'muog58');
699
705
  var fragment_12 = root_34();
700
706
  var node_7 = _$_.first_child_frag(fragment_12);
701
707
 
@@ -717,10 +723,7 @@ function ForLoopEmptyToPopulated_render(__anchor, __block) {
717
723
  var li_9 = root_36();
718
724
 
719
725
  {
720
- var expression_14 = _$_.hydrating ? _$_.hydrate_child() : li_9.firstChild;
721
-
722
- _$_.expression(expression_14, () => item);
723
- _$_.hydrating && _$_.pop(li_9);
726
+ li_9.textContent = item;
724
727
  }
725
728
 
726
729
  _$_.append(__anchor, li_9);
@@ -739,12 +742,12 @@ function ForLoopEmptyToPopulated_render(__anchor, __block) {
739
742
 
740
743
  ForLoopEmptyToPopulated[_$_.$r] = ForLoopEmptyToPopulated_render;
741
744
 
742
- var root_39 = _$_.template(`<li> </li>`, 0);
743
- var root_38 = _$_.template(`<button class="clear">Clear</button><ul class="list"></ul>`, 1, 2);
745
+ var root_39 = _$_.template(`<li> `);
746
+ var root_38 = _$_.template(`<button class=clear>Clear</button><ul class=list>`, 1, 2);
744
747
  var root_37 = _$_.template(`<!>`, 1, 1);
745
748
 
746
749
  function ForLoopPopulatedToEmpty_render(__anchor, __block) {
747
- const items = _$_.track(['One', 'Two', 'Three'], __block, 'ee47f078');
750
+ const items = _$_.track(['One', 'Two', 'Three'], __block, '1u44ewo');
748
751
  var fragment_14 = root_37();
749
752
  var node_8 = _$_.first_child_frag(fragment_14);
750
753
 
@@ -788,29 +791,29 @@ function ForLoopPopulatedToEmpty_render(__anchor, __block) {
788
791
 
789
792
  ForLoopPopulatedToEmpty[_$_.$r] = ForLoopPopulatedToEmpty_render;
790
793
 
791
- var root_42 = _$_.template(`<span> </span>`, 0);
794
+ var root_42 = _$_.template(`<span> `);
792
795
 
793
796
  function render_7(__prev) {
794
- var __a = `cell-${__prev._rowIndex.value}-${__prev._colIndex.value}`;
797
+ var __a = `cell-${__prev._a.value}-${__prev._b.value}`;
795
798
 
796
799
  if (__prev.a !== __a) {
797
- _$_.set_class(__prev._span_5, __prev.a = __a, void 0, true);
800
+ _$_.set_class(__prev._c, __prev.a = __a);
798
801
  }
799
802
  }
800
803
 
801
804
  function render_8(__prev) {
802
- var __a = `row-${__prev._rowIndex.value}`;
805
+ var __a = `row-${__prev._a.value}`;
803
806
 
804
807
  if (__prev.a !== __a) {
805
- _$_.set_class(__prev._div_9, __prev.a = __a, void 0, true);
808
+ _$_.set_class(__prev._b, __prev.a = __a);
806
809
  }
807
810
  }
808
811
 
809
- var root_41 = _$_.template(`<div></div>`, 0);
810
- var root_40 = _$_.template(`<div class="nested-for-reactive"><button class="add-row">Add Row</button><button class="update-cell">Update Cell</button><div class="grid"></div></div>`, 0);
812
+ var root_41 = _$_.template(`<div>`);
813
+ var root_40 = _$_.template(`<div class=nested-for-reactive><button class=add-row>Add Row</button><button class=update-cell>Update Cell</button><div class=grid>`);
811
814
 
812
815
  function NestedForLoopReactive_render(__anchor, __block) {
813
- const grid = _$_.track([[1, 2], [3, 4]], __block, 'a2f41fb3');
816
+ const grid = _$_.track([[1, 2], [3, 4]], __block, '197p4tv');
814
817
  var div_7 = root_40();
815
818
 
816
819
  {
@@ -852,25 +855,23 @@ function NestedForLoopReactive_render(__anchor, __block) {
852
855
  _$_.hydrating && _$_.pop(span_5);
853
856
  }
854
857
 
855
- _$_.render(render_7, {
856
- a: _$_.UNINITIALIZED,
857
- _rowIndex: rowIndex,
858
- _colIndex: colIndex,
859
- _span_5: span_5
860
- });
861
-
858
+ _$_.item({ a: _$_.UNINITIALIZED, _a: rowIndex, _b: colIndex, _c: span_5 });
862
859
  _$_.append(__anchor, span_5);
863
860
  },
864
- 12
861
+ 12,
862
+ void 0,
863
+ render_7
865
864
  );
866
865
 
867
866
  _$_.hydrating && _$_.pop(div_9);
868
- _$_.render(render_8, { a: _$_.UNINITIALIZED, _rowIndex: rowIndex, _div_9: div_9 });
867
+ _$_.item({ a: _$_.UNINITIALIZED, _a: rowIndex, _b: div_9 });
869
868
  }
870
869
 
871
870
  _$_.append(__anchor, div_9);
872
871
  },
873
- 12
872
+ 12,
873
+ void 0,
874
+ render_8
874
875
  );
875
876
 
876
877
  _$_.hydrating && _$_.pop(div_8);
@@ -882,28 +883,28 @@ function NestedForLoopReactive_render(__anchor, __block) {
882
883
 
883
884
  NestedForLoopReactive[_$_.$r] = NestedForLoopReactive_render;
884
885
 
885
- var root_46 = _$_.template(`<li class="member"> </li>`, 0);
886
- var root_45 = _$_.template(`<div><h3 class="team-name"> </h3><ul></ul></div>`, 0);
886
+ var root_46 = _$_.template(`<li class=member> `);
887
+ var root_45 = _$_.template(`<div><h3 class=team-name> </h3><ul>`);
887
888
 
888
889
  function render_9(__prev) {
889
- var __a = `team-${_$_.get(__prev._pattern_5).id}`;
890
+ var __a = `team-${_$_.get(__prev._a).id}`;
890
891
 
891
892
  if (__prev.a !== __a) {
892
- _$_.set_class(__prev._div_12, __prev.a = __a, void 0, true);
893
+ _$_.set_class(__prev._b, __prev.a = __a);
893
894
  }
894
895
  }
895
896
 
896
- var root_44 = _$_.template(`<div><h2 class="dept-name"> </h2><!></div>`, 0);
897
+ var root_44 = _$_.template(`<div><h2 class=dept-name> `);
897
898
 
898
899
  function render_10(__prev) {
899
- var __a = `dept-${_$_.get(__prev._pattern_4).id}`;
900
+ var __a = `dept-${_$_.get(__prev._a).id}`;
900
901
 
901
902
  if (__prev.a !== __a) {
902
- _$_.set_class(__prev._div_11, __prev.a = __a, void 0, true);
903
+ _$_.set_class(__prev._b, __prev.a = __a);
903
904
  }
904
905
  }
905
906
 
906
- var root_43 = _$_.template(`<div class="org"></div>`, 0);
907
+ var root_43 = _$_.template(`<div class=org>`);
907
908
 
908
909
  function ForLoopDeeplyNested_render(__anchor, __block) {
909
910
  const departments = [
@@ -942,7 +943,7 @@ function ForLoopDeeplyNested_render(__anchor, __block) {
942
943
  _$_.hydrating && _$_.pop(h2);
943
944
  }
944
945
 
945
- var node_9 = _$_.hydrating ? _$_.hydrate_sibling() : h2.nextSibling;
946
+ var node_9 = _$_.hydrating ? _$_.hydrate_sibling() : _$_.append_into(div_11);
946
947
 
947
948
  _$_.for_keyed(
948
949
  node_9,
@@ -985,21 +986,27 @@ function ForLoopDeeplyNested_render(__anchor, __block) {
985
986
  }
986
987
  }
987
988
 
988
- _$_.render(render_9, { a: _$_.UNINITIALIZED, _pattern_5: pattern_5, _div_12: div_12 });
989
+ _$_.item({ a: _$_.UNINITIALIZED, _a: pattern_5, _b: div_12 });
989
990
  _$_.append(__anchor, div_12);
990
991
  },
991
992
  0,
992
- (pattern_5) => _$_.get(pattern_5).id
993
+ (pattern_5) => pattern_5.id,
994
+ void 0,
995
+ void 0,
996
+ render_9
993
997
  );
994
998
 
995
999
  _$_.hydrating && _$_.pop(div_11);
996
1000
  }
997
1001
 
998
- _$_.render(render_10, { a: _$_.UNINITIALIZED, _pattern_4: pattern_4, _div_11: div_11 });
1002
+ _$_.item({ a: _$_.UNINITIALIZED, _a: pattern_4, _b: div_11 });
999
1003
  _$_.append(__anchor, div_11);
1000
1004
  },
1001
1005
  4,
1002
- (pattern_4) => _$_.get(pattern_4).id
1006
+ (pattern_4) => pattern_4.id,
1007
+ void 0,
1008
+ void 0,
1009
+ render_10
1003
1010
  );
1004
1011
 
1005
1012
  _$_.hydrating && _$_.pop(div_10);
@@ -1010,27 +1017,28 @@ function ForLoopDeeplyNested_render(__anchor, __block) {
1010
1017
 
1011
1018
  ForLoopDeeplyNested[_$_.$r] = ForLoopDeeplyNested_render;
1012
1019
 
1013
- var root_49 = _$_.template(`<li> </li>`, 0);
1020
+ var root_49 = _$_.template(`<li>`);
1014
1021
 
1015
1022
  function render_11(__prev) {
1016
- var __a = `[${__prev._i.value}] ${__prev._item}`;
1023
+ var __a = `[${__prev._a.value}] ${__prev._b}`;
1017
1024
 
1018
1025
  if (__prev.a !== __a) {
1019
- _$_.set_text(__prev._expression_20, __prev.a = __a);
1026
+ _$_.set_text_content(__prev._c, __a, __prev.a);
1027
+ __prev.a = __a;
1020
1028
  }
1021
1029
 
1022
- var __b = `item-${__prev._i.value}`;
1030
+ var __b = `item-${__prev._a.value}`;
1023
1031
 
1024
1032
  if (__prev.b !== __b) {
1025
- _$_.set_class(__prev._li_12, __prev.b = __b, void 0, true);
1033
+ _$_.set_class(__prev._c, __prev.b = __b);
1026
1034
  }
1027
1035
  }
1028
1036
 
1029
- var root_48 = _$_.template(`<button class="prepend">Prepend</button><ul></ul>`, 1, 2);
1037
+ var root_48 = _$_.template(`<button class=prepend>Prepend</button><ul>`, 1, 2);
1030
1038
  var root_47 = _$_.template(`<!>`, 1, 1);
1031
1039
 
1032
1040
  function ForLoopIndexUpdate_render(__anchor, __block) {
1033
- const items = _$_.track(['First', 'Second', 'Third'], __block, 'f61e31e6');
1041
+ const items = _$_.track(['First', 'Second', 'Third'], __block, '1waej1i');
1034
1042
  var fragment_16 = root_47();
1035
1043
  var node_10 = _$_.first_child_frag(fragment_16);
1036
1044
 
@@ -1051,22 +1059,12 @@ function ForLoopIndexUpdate_render(__anchor, __block) {
1051
1059
  (__anchor, item, i) => {
1052
1060
  var li_12 = root_49();
1053
1061
 
1054
- {
1055
- var expression_20 = _$_.hydrating ? _$_.hydrate_text() : li_12.firstChild;
1056
- }
1057
-
1058
- _$_.render(render_11, {
1059
- a: ' ',
1060
- b: _$_.UNINITIALIZED,
1061
- _i: i,
1062
- _item: item,
1063
- _expression_20: expression_20,
1064
- _li_12: li_12
1065
- });
1066
-
1062
+ _$_.item({ a: '', b: _$_.UNINITIALIZED, _a: i, _b: item, _c: li_12 });
1067
1063
  _$_.append(__anchor, li_12);
1068
1064
  },
1069
- 12
1065
+ 12,
1066
+ void 0,
1067
+ render_11
1070
1068
  );
1071
1069
 
1072
1070
  _$_.hydrating && _$_.pop(ul_12);
@@ -1080,30 +1078,31 @@ function ForLoopIndexUpdate_render(__anchor, __block) {
1080
1078
 
1081
1079
  ForLoopIndexUpdate[_$_.$r] = ForLoopIndexUpdate_render;
1082
1080
 
1083
- var root_52 = _$_.template(`<li> </li>`, 0);
1081
+ var root_52 = _$_.template(`<li>`);
1084
1082
 
1085
1083
  function render_12(__prev) {
1086
- var __pattern_6 = _$_.get(__prev._pattern_6);
1087
- var __a = `[${__prev._i.value}] ${__pattern_6.id}: ${__pattern_6.value}`;
1084
+ var __pattern_6 = _$_.get(__prev._a);
1085
+ var __a = `[${__prev._b.value}] ${__pattern_6.id}: ${__pattern_6.value}`;
1088
1086
 
1089
1087
  if (__prev.a !== __a) {
1090
- _$_.set_text(__prev._expression_21, __prev.a = __a);
1088
+ _$_.set_text_content(__prev._c, __a, __prev.a);
1089
+ __prev.a = __a;
1091
1090
  }
1092
1091
 
1093
- var __b = __prev._i.value;
1092
+ var __b = __prev._b.value;
1094
1093
 
1095
1094
  if (__prev.b !== __b) {
1096
- _$_.set_attribute(__prev._li_13, 'data-index', __prev.b = __b);
1095
+ _$_.set_attribute(__prev._c, 'data-index', __prev.b = __b);
1097
1096
  }
1098
1097
 
1099
1098
  var __c = `item-${__pattern_6.id}`;
1100
1099
 
1101
1100
  if (__prev.c !== __c) {
1102
- _$_.set_class(__prev._li_13, __prev.c = __c, void 0, true);
1101
+ _$_.set_class(__prev._c, __prev.c = __c);
1103
1102
  }
1104
1103
  }
1105
1104
 
1106
- var root_51 = _$_.template(`<button class="reorder">Rotate</button><ul></ul>`, 1, 2);
1105
+ var root_51 = _$_.template(`<button class=reorder>Rotate</button><ul>`, 1, 2);
1107
1106
  var root_50 = _$_.template(`<!>`, 1, 1);
1108
1107
 
1109
1108
  function KeyedForLoopWithIndex_render(__anchor, __block) {
@@ -1114,7 +1113,7 @@ function KeyedForLoopWithIndex_render(__anchor, __block) {
1114
1113
  { id: 'c', value: 'Gamma' }
1115
1114
  ],
1116
1115
  __block,
1117
- '3467975a'
1116
+ 'ejgeai'
1118
1117
  );
1119
1118
 
1120
1119
  var fragment_18 = root_50();
@@ -1137,24 +1136,22 @@ function KeyedForLoopWithIndex_render(__anchor, __block) {
1137
1136
  (__anchor, pattern_6, i) => {
1138
1137
  var li_13 = root_52();
1139
1138
 
1140
- {
1141
- var expression_21 = _$_.hydrating ? _$_.hydrate_text() : li_13.firstChild;
1142
- }
1143
-
1144
- _$_.render(render_12, {
1145
- a: ' ',
1139
+ _$_.item({
1140
+ a: '',
1146
1141
  b: void 0,
1147
1142
  c: _$_.UNINITIALIZED,
1148
- _pattern_6: pattern_6,
1149
- _i: i,
1150
- _expression_21: expression_21,
1151
- _li_13: li_13
1143
+ _a: pattern_6,
1144
+ _b: i,
1145
+ _c: li_13
1152
1146
  });
1153
1147
 
1154
1148
  _$_.append(__anchor, li_13);
1155
1149
  },
1156
1150
  12,
1157
- (pattern_6, i) => _$_.get(pattern_6).id
1151
+ (pattern_6, i) => pattern_6.id,
1152
+ void 0,
1153
+ void 0,
1154
+ render_12
1158
1155
  );
1159
1156
 
1160
1157
  _$_.hydrating && _$_.pop(ul_13);
@@ -1168,12 +1165,12 @@ function KeyedForLoopWithIndex_render(__anchor, __block) {
1168
1165
 
1169
1166
  KeyedForLoopWithIndex[_$_.$r] = KeyedForLoopWithIndex_render;
1170
1167
 
1171
- var root_55 = _$_.template(`<div> </div>`, 0);
1172
- var root_54 = _$_.template(`<div class="wrapper"><header class="before">Before</header><!><footer class="after">After</footer></div><button class="add">Add</button>`, 1, 2);
1168
+ var root_55 = _$_.template(`<div> `);
1169
+ var root_54 = _$_.template(`<div class=wrapper><header class=before>Before</header><footer class=after>After</footer></div><button class=add>Add`, 1, 2);
1173
1170
  var root_53 = _$_.template(`<!>`, 1, 1);
1174
1171
 
1175
1172
  function ForLoopWithSiblings_render(__anchor, __block) {
1176
- const items = _$_.track(['A', 'B'], __block, '3c7e8152');
1173
+ const items = _$_.track(['A', 'B'], __block, 'gs9c2a');
1177
1174
  var fragment_20 = root_53();
1178
1175
  var node_13 = _$_.first_child_frag(fragment_20);
1179
1176
 
@@ -1191,7 +1188,7 @@ function ForLoopWithSiblings_render(__anchor, __block) {
1191
1188
  (__anchor, item) => {
1192
1189
  var div_14 = root_55();
1193
1190
 
1194
- _$_.set_class(div_14, `item-${item}`, void 0, true);
1191
+ _$_.set_class(div_14, `item-${item}`);
1195
1192
 
1196
1193
  {
1197
1194
  var expression_22 = _$_.hydrating ? _$_.hydrate_child() : div_14.firstChild;
@@ -1222,7 +1219,7 @@ function ForLoopWithSiblings_render(__anchor, __block) {
1222
1219
 
1223
1220
  ForLoopWithSiblings[_$_.$r] = ForLoopWithSiblings_render;
1224
1221
 
1225
- var root_56 = _$_.template(`<div></div>`, 0);
1222
+ var root_56 = _$_.template(`<div>`);
1226
1223
 
1227
1224
  function ForLoopItemState_render(__anchor, __block) {
1228
1225
  const initialItems = [
@@ -1241,7 +1238,7 @@ function ForLoopItemState_render(__anchor, __block) {
1241
1238
  _$_.render_component(TodoItem, __anchor, { id: _$_.get(pattern_7).id, text: _$_.get(pattern_7).text });
1242
1239
  },
1243
1240
  4,
1244
- (pattern_7) => _$_.get(pattern_7).id
1241
+ (pattern_7) => pattern_7.id
1245
1242
  );
1246
1243
 
1247
1244
  _$_.hydrating && _$_.pop(div_15);
@@ -1252,36 +1249,37 @@ function ForLoopItemState_render(__anchor, __block) {
1252
1249
 
1253
1250
  ForLoopItemState[_$_.$r] = ForLoopItemState_render;
1254
1251
 
1255
- var root_57 = _$_.template(`<div><input type="checkbox" class="checkbox"><span> </span></div>`, 0);
1252
+ var root_57 = _$_.template(`<div><input type=checkbox class=checkbox><span>`);
1256
1253
 
1257
1254
  function render_13(__prev) {
1258
- var __a = __prev._done.value;
1255
+ var __a = __prev._a.value;
1259
1256
 
1260
1257
  if (__prev.a !== __a) {
1261
- _$_.set_checked(__prev._input, __prev.a = __a);
1258
+ _$_.set_checked(__prev._b, __prev.a = __a);
1262
1259
  }
1263
1260
 
1264
- var __b = __prev._props.text;
1261
+ var __b = __prev._c.text;
1265
1262
 
1266
1263
  if (__prev.b !== __b) {
1267
- _$_.set_text(__prev._expression_23, __prev.b = __b);
1264
+ _$_.set_text_content(__prev._d, __b, __prev.b);
1265
+ __prev.b = __b;
1268
1266
  }
1269
1267
 
1270
- var __c = __prev._done.value ? 'completed' : 'pending';
1268
+ var __c = __prev._a.value ? 'completed' : 'pending';
1271
1269
 
1272
1270
  if (__prev.c !== __c) {
1273
- _$_.set_class(__prev._span_6, __prev.c = __c, void 0, true);
1271
+ _$_.set_class(__prev._d, __prev.c = __c);
1274
1272
  }
1275
1273
 
1276
- var __d = `todo-${__prev._props.id}`;
1274
+ var __d = `todo-${__prev._c.id}`;
1277
1275
 
1278
1276
  if (__prev.d !== __d) {
1279
- _$_.set_class(__prev._div_16, __prev.d = __d, void 0, true);
1277
+ _$_.set_class(__prev._e, __prev.d = __d);
1280
1278
  }
1281
1279
  }
1282
1280
 
1283
1281
  function TodoItem_render(__anchor, __block, props) {
1284
- const done = _$_.track(false, __block, '4f2402a4');
1282
+ const done = _$_.track(false, __block, 'lyii78');
1285
1283
  var div_16 = root_57();
1286
1284
 
1287
1285
  {
@@ -1292,23 +1290,18 @@ function TodoItem_render(__anchor, __block, props) {
1292
1290
  };
1293
1291
 
1294
1292
  var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : input.nextSibling;
1295
-
1296
- {
1297
- var expression_23 = _$_.hydrating ? _$_.hydrate_text() : span_6.firstChild;
1298
- }
1299
1293
  }
1300
1294
 
1301
1295
  _$_.render(render_13, {
1302
1296
  a: void 0,
1303
- b: ' ',
1297
+ b: '',
1304
1298
  c: _$_.UNINITIALIZED,
1305
1299
  d: _$_.UNINITIALIZED,
1306
- _done: done,
1307
- _input: input,
1308
- _props: props,
1309
- _expression_23: expression_23,
1310
- _span_6: span_6,
1311
- _div_16: div_16
1300
+ _a: done,
1301
+ _b: input,
1302
+ _c: props,
1303
+ _d: span_6,
1304
+ _e: div_16
1312
1305
  });
1313
1306
 
1314
1307
  _$_.append(__anchor, div_16);
@@ -1316,8 +1309,8 @@ function TodoItem_render(__anchor, __block, props) {
1316
1309
 
1317
1310
  TodoItem[_$_.$r] = TodoItem_render;
1318
1311
 
1319
- var root_59 = _$_.template(`<li class="single"> </li>`, 0);
1320
- var root_58 = _$_.template(`<ul></ul>`, 0);
1312
+ var root_59 = _$_.template(`<li class=single> `);
1313
+ var root_58 = _$_.template(`<ul>`);
1321
1314
 
1322
1315
  function ForLoopSingleItem_render(__anchor, __block) {
1323
1316
  const items = ['Only'];
@@ -1350,12 +1343,12 @@ function ForLoopSingleItem_render(__anchor, __block) {
1350
1343
 
1351
1344
  ForLoopSingleItem[_$_.$r] = ForLoopSingleItem_render;
1352
1345
 
1353
- var root_62 = _$_.template(`<li> </li>`, 0);
1354
- var root_61 = _$_.template(`<button class="prepend">Prepend A</button><ul></ul>`, 1, 2);
1346
+ var root_62 = _$_.template(`<li> `);
1347
+ var root_61 = _$_.template(`<button class=prepend>Prepend A</button><ul>`, 1, 2);
1355
1348
  var root_60 = _$_.template(`<!>`, 1, 1);
1356
1349
 
1357
1350
  function ForLoopAddAtBeginning_render(__anchor, __block) {
1358
- const items = _$_.track(['B', 'C'], __block, '1561403a');
1351
+ const items = _$_.track(['B', 'C'], __block, '5xk2t6');
1359
1352
  var fragment_22 = root_60();
1360
1353
  var node_14 = _$_.first_child_frag(fragment_22);
1361
1354
 
@@ -1376,7 +1369,7 @@ function ForLoopAddAtBeginning_render(__anchor, __block) {
1376
1369
  (__anchor, item) => {
1377
1370
  var li_15 = root_62();
1378
1371
 
1379
- _$_.set_class(li_15, `item-${item}`, void 0, true);
1372
+ _$_.set_class(li_15, `item-${item}`);
1380
1373
 
1381
1374
  {
1382
1375
  var expression_25 = _$_.hydrating ? _$_.hydrate_child() : li_15.firstChild;
@@ -1401,12 +1394,12 @@ function ForLoopAddAtBeginning_render(__anchor, __block) {
1401
1394
 
1402
1395
  ForLoopAddAtBeginning[_$_.$r] = ForLoopAddAtBeginning_render;
1403
1396
 
1404
- var root_65 = _$_.template(`<li> </li>`, 0);
1405
- var root_64 = _$_.template(`<button class="insert">Insert B</button><ul></ul>`, 1, 2);
1397
+ var root_65 = _$_.template(`<li> `);
1398
+ var root_64 = _$_.template(`<button class=insert>Insert B</button><ul>`, 1, 2);
1406
1399
  var root_63 = _$_.template(`<!>`, 1, 1);
1407
1400
 
1408
1401
  function ForLoopAddInMiddle_render(__anchor, __block) {
1409
- const items = _$_.track(['A', 'C'], __block, '1bc60b46');
1402
+ const items = _$_.track(['A', 'C'], __block, '7pf806');
1410
1403
  var fragment_24 = root_63();
1411
1404
  var node_15 = _$_.first_child_frag(fragment_24);
1412
1405
 
@@ -1430,7 +1423,7 @@ function ForLoopAddInMiddle_render(__anchor, __block) {
1430
1423
  (__anchor, item) => {
1431
1424
  var li_16 = root_65();
1432
1425
 
1433
- _$_.set_class(li_16, `item-${item}`, void 0, true);
1426
+ _$_.set_class(li_16, `item-${item}`);
1434
1427
 
1435
1428
  {
1436
1429
  var expression_26 = _$_.hydrating ? _$_.hydrate_child() : li_16.firstChild;
@@ -1455,12 +1448,12 @@ function ForLoopAddInMiddle_render(__anchor, __block) {
1455
1448
 
1456
1449
  ForLoopAddInMiddle[_$_.$r] = ForLoopAddInMiddle_render;
1457
1450
 
1458
- var root_68 = _$_.template(`<li> </li>`, 0);
1459
- var root_67 = _$_.template(`<button class="remove-middle">Remove B</button><ul></ul>`, 1, 2);
1451
+ var root_68 = _$_.template(`<li> `);
1452
+ var root_67 = _$_.template(`<button class=remove-middle>Remove B</button><ul>`, 1, 2);
1460
1453
  var root_66 = _$_.template(`<!>`, 1, 1);
1461
1454
 
1462
1455
  function ForLoopRemoveFromMiddle_render(__anchor, __block) {
1463
- const items = _$_.track(['A', 'B', 'C'], __block, '1c87f95f');
1456
+ const items = _$_.track(['A', 'B', 'C'], __block, '7wzmn3');
1464
1457
  var fragment_26 = root_66();
1465
1458
  var node_16 = _$_.first_child_frag(fragment_26);
1466
1459
 
@@ -1481,7 +1474,7 @@ function ForLoopRemoveFromMiddle_render(__anchor, __block) {
1481
1474
  (__anchor, item) => {
1482
1475
  var li_17 = root_68();
1483
1476
 
1484
- _$_.set_class(li_17, `item-${item}`, void 0, true);
1477
+ _$_.set_class(li_17, `item-${item}`);
1485
1478
 
1486
1479
  {
1487
1480
  var expression_27 = _$_.hydrating ? _$_.hydrate_child() : li_17.firstChild;
@@ -1506,17 +1499,17 @@ function ForLoopRemoveFromMiddle_render(__anchor, __block) {
1506
1499
 
1507
1500
  ForLoopRemoveFromMiddle[_$_.$r] = ForLoopRemoveFromMiddle_render;
1508
1501
 
1509
- var root_70 = _$_.template(`<li> </li>`, 0);
1502
+ var root_70 = _$_.template(`<li> `);
1510
1503
 
1511
1504
  function render_14(__prev) {
1512
- var __a = `item-${__prev._i.value}`;
1505
+ var __a = `item-${__prev._a.value}`;
1513
1506
 
1514
1507
  if (__prev.a !== __a) {
1515
- _$_.set_class(__prev._li_18, __prev.a = __a, void 0, true);
1508
+ _$_.set_class(__prev._b, __prev.a = __a);
1516
1509
  }
1517
1510
  }
1518
1511
 
1519
- var root_69 = _$_.template(`<ul class="large-list"></ul>`, 0);
1512
+ var root_69 = _$_.template(`<ul class=large-list>`);
1520
1513
 
1521
1514
  function ForLoopLargeList_render(__anchor, __block) {
1522
1515
  const items = _$_.with_scope(__block, () => Array.from({ length: 50 }, (_, i) => `Item ${i + 1}`));
@@ -1536,10 +1529,12 @@ function ForLoopLargeList_render(__anchor, __block) {
1536
1529
  _$_.hydrating && _$_.pop(li_18);
1537
1530
  }
1538
1531
 
1539
- _$_.render(render_14, { a: _$_.UNINITIALIZED, _i: i, _li_18: li_18 });
1532
+ _$_.item({ a: _$_.UNINITIALIZED, _a: i, _b: li_18 });
1540
1533
  _$_.append(__anchor, li_18);
1541
1534
  },
1542
- 12
1535
+ 12,
1536
+ void 0,
1537
+ render_14
1543
1538
  );
1544
1539
 
1545
1540
  _$_.hydrating && _$_.pop(ul_18);
@@ -1550,12 +1545,12 @@ function ForLoopLargeList_render(__anchor, __block) {
1550
1545
 
1551
1546
  ForLoopLargeList[_$_.$r] = ForLoopLargeList_render;
1552
1547
 
1553
- var root_73 = _$_.template(`<li> </li>`, 0);
1554
- var root_72 = _$_.template(`<button class="swap">Swap First and Last</button><ul></ul>`, 1, 2);
1548
+ var root_73 = _$_.template(`<li> `);
1549
+ var root_72 = _$_.template(`<button class=swap>Swap First and Last</button><ul>`, 1, 2);
1555
1550
  var root_71 = _$_.template(`<!>`, 1, 1);
1556
1551
 
1557
1552
  function ForLoopSwap_render(__anchor, __block) {
1558
- const items = _$_.track(['A', 'B', 'C', 'D'], __block, '5f8d152f');
1553
+ const items = _$_.track(['A', 'B', 'C', 'D'], __block, 'qiflm7');
1559
1554
  var fragment_28 = root_71();
1560
1555
  var node_17 = _$_.first_child_frag(fragment_28);
1561
1556
 
@@ -1579,7 +1574,7 @@ function ForLoopSwap_render(__anchor, __block) {
1579
1574
  (__anchor, item) => {
1580
1575
  var li_19 = root_73();
1581
1576
 
1582
- _$_.set_class(li_19, `item-${item}`, void 0, true);
1577
+ _$_.set_class(li_19, `item-${item}`);
1583
1578
 
1584
1579
  {
1585
1580
  var expression_29 = _$_.hydrating ? _$_.hydrate_child() : li_19.firstChild;
@@ -1604,12 +1599,12 @@ function ForLoopSwap_render(__anchor, __block) {
1604
1599
 
1605
1600
  ForLoopSwap[_$_.$r] = ForLoopSwap_render;
1606
1601
 
1607
- var root_76 = _$_.template(`<li> </li>`, 0);
1608
- var root_75 = _$_.template(`<button class="reverse">Reverse</button><ul></ul>`, 1, 2);
1602
+ var root_76 = _$_.template(`<li> `);
1603
+ var root_75 = _$_.template(`<button class=reverse>Reverse</button><ul>`, 1, 2);
1609
1604
  var root_74 = _$_.template(`<!>`, 1, 1);
1610
1605
 
1611
1606
  function ForLoopReverse_render(__anchor, __block) {
1612
- const items = _$_.track(['A', 'B', 'C', 'D'], __block, '24602e64');
1607
+ const items = _$_.track(['A', 'B', 'C', 'D'], __block, 'a3chgk');
1613
1608
  var fragment_30 = root_74();
1614
1609
  var node_18 = _$_.first_child_frag(fragment_30);
1615
1610
 
@@ -1630,7 +1625,7 @@ function ForLoopReverse_render(__anchor, __block) {
1630
1625
  (__anchor, item) => {
1631
1626
  var li_20 = root_76();
1632
1627
 
1633
- _$_.set_class(li_20, `item-${item}`, void 0, true);
1628
+ _$_.set_class(li_20, `item-${item}`);
1634
1629
 
1635
1630
  {
1636
1631
  var expression_30 = _$_.hydrating ? _$_.hydrate_child() : li_20.firstChild;
@@ -1655,11 +1650,11 @@ function ForLoopReverse_render(__anchor, __block) {
1655
1650
 
1656
1651
  ForLoopReverse[_$_.$r] = ForLoopReverse_render;
1657
1652
 
1658
- var root_78 = _$_.template(`<span class="item"> </span>`, 0);
1659
- var root_77 = _$_.template(`<div class="wrapper"><div class="host"><!><p class="tail">p</p></div><button class="push">Push</button><button class="rotate">Rotate</button></div>`, 0);
1653
+ var root_78 = _$_.template(`<span class=item> `);
1654
+ var root_77 = _$_.template(`<div class=wrapper><div class=host><p class=tail>p</p></div><button class=push>Push</button><button class=rotate>Rotate`);
1660
1655
 
1661
1656
  function KeyedForLoopAppendAndRotate_render(__anchor, __block) {
1662
- const items = _$_.track([1, 2, 3], __block, 'a8b41504');
1657
+ const items = _$_.track([1, 2, 3], __block, '1at4qo4');
1663
1658
  var div_17 = root_77();
1664
1659
 
1665
1660
  {
@@ -1706,13 +1701,14 @@ function KeyedForLoopAppendAndRotate_render(__anchor, __block) {
1706
1701
 
1707
1702
  KeyedForLoopAppendAndRotate[_$_.$r] = KeyedForLoopAppendAndRotate_render;
1708
1703
 
1709
- var root_79 = _$_.template(`<span class="item"> </span>`, 0);
1704
+ var root_79 = _$_.template(`<span class=item>`);
1710
1705
 
1711
1706
  function render_15(__prev) {
1712
- var __a = _$_.get(__prev._pattern_9);
1707
+ var __a = __prev.$item;
1713
1708
 
1714
1709
  if (__prev.a !== __a) {
1715
- _$_.set_text(__prev._expression_32, __prev.a = __a);
1710
+ _$_.set_text_content(__prev._b, __a, __prev.a);
1711
+ __prev.a = __a;
1716
1712
  }
1717
1713
  }
1718
1714
 
@@ -1723,23 +1719,23 @@ function RootKeyedList_render(__anchor, __block, props) {
1723
1719
  (__anchor, pattern_9) => {
1724
1720
  var span_8 = root_79();
1725
1721
 
1726
- {
1727
- var expression_32 = _$_.hydrating ? _$_.hydrate_text() : span_8.firstChild;
1728
- }
1729
-
1730
- _$_.render(render_15, { a: ' ', _pattern_9: pattern_9, _expression_32: expression_32 });
1722
+ _$_.item({ a: '', $item: pattern_9, _b: span_8 });
1731
1723
  _$_.append(__anchor, span_8);
1732
1724
  },
1733
- 16
1725
+ 144,
1726
+ void 0,
1727
+ void 0,
1728
+ void 0,
1729
+ render_15
1734
1730
  );
1735
1731
  }
1736
1732
 
1737
1733
  RootKeyedList[_$_.$r] = RootKeyedList_render;
1738
1734
 
1739
- var root_80 = _$_.template(`<div class="wrapper"><div class="host"><!><p class="tail">p</p></div><button class="push">Push</button><button class="rotate">Rotate</button></div>`, 0);
1735
+ var root_80 = _$_.template(`<div class=wrapper><div class=host><p class=tail>p</p></div><button class=push>Push</button><button class=rotate>Rotate`);
1740
1736
 
1741
1737
  function RootKeyedForLoopAppendAndRotate_render(__anchor, __block) {
1742
- const items = _$_.track([1, 2, 3], __block, '50a91d60');
1738
+ const items = _$_.track([1, 2, 3], __block, 'mdp2e8');
1743
1739
  var div_19 = root_80();
1744
1740
 
1745
1741
  {