ripple 0.3.84 → 0.3.86

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 (59) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/package.json +3 -3
  3. package/src/constants.js +4 -0
  4. package/src/runtime/internal/client/blocks.js +53 -0
  5. package/src/runtime/internal/client/component.js +3 -3
  6. package/src/runtime/internal/client/constants.js +4 -0
  7. package/src/runtime/internal/client/for.js +87 -14
  8. package/src/runtime/internal/client/if.js +18 -2
  9. package/src/runtime/internal/client/index.js +1 -0
  10. package/src/runtime/internal/client/operations.js +25 -0
  11. package/src/runtime/internal/client/runtime.js +62 -10
  12. package/src/runtime/internal/client/switch.js +33 -5
  13. package/src/runtime/internal/client/template.js +10 -2
  14. package/src/runtime/internal/client/try.js +12 -2
  15. package/src/runtime/internal/client/types.d.ts +4 -0
  16. package/tests/client/__snapshots__/for.test.tsrx.snap +0 -2
  17. package/tests/client/compiler/compiler.basic.test.tsrx +5 -2
  18. package/tests/client/composite/__snapshots__/composite.render.test.tsrx.snap +0 -4
  19. package/tests/client/for-single-root-items.test.tsrx +130 -0
  20. package/tests/client/scoped-flush.test.tsrx +105 -0
  21. package/tests/hydration/compiled/client/basic.js +198 -214
  22. package/tests/hydration/compiled/client/composite.js +23 -72
  23. package/tests/hydration/compiled/client/for.js +66 -72
  24. package/tests/hydration/compiled/client/hmr.js +2 -13
  25. package/tests/hydration/compiled/client/html.js +619 -479
  26. package/tests/hydration/compiled/client/if-children.js +72 -84
  27. package/tests/hydration/compiled/client/if-fragment-controlflow.js +463 -0
  28. package/tests/hydration/compiled/client/if.js +87 -92
  29. package/tests/hydration/compiled/client/mixed-control-flow.js +120 -160
  30. package/tests/hydration/compiled/client/nested-control-flow.js +288 -360
  31. package/tests/hydration/compiled/client/portal.js +15 -21
  32. package/tests/hydration/compiled/client/reactivity.js +7 -12
  33. package/tests/hydration/compiled/client/switch.js +113 -115
  34. package/tests/hydration/compiled/client/track-async-serialization.js +71 -122
  35. package/tests/hydration/compiled/client/try.js +26 -41
  36. package/tests/hydration/compiled/server/basic.js +295 -556
  37. package/tests/hydration/compiled/server/composite.js +31 -50
  38. package/tests/hydration/compiled/server/events.js +37 -173
  39. package/tests/hydration/compiled/server/for.js +236 -847
  40. package/tests/hydration/compiled/server/head.js +110 -241
  41. package/tests/hydration/compiled/server/hmr.js +14 -41
  42. package/tests/hydration/compiled/server/html-in-template.js +14 -38
  43. package/tests/hydration/compiled/server/html.js +951 -1176
  44. package/tests/hydration/compiled/server/if-children.js +59 -493
  45. package/tests/hydration/compiled/server/if-fragment-controlflow.js +227 -0
  46. package/tests/hydration/compiled/server/if.js +57 -209
  47. package/tests/hydration/compiled/server/mixed-control-flow.js +144 -250
  48. package/tests/hydration/compiled/server/nested-control-flow.js +309 -559
  49. package/tests/hydration/compiled/server/portal.js +94 -156
  50. package/tests/hydration/compiled/server/reactivity.js +23 -65
  51. package/tests/hydration/compiled/server/return.js +6 -16
  52. package/tests/hydration/compiled/server/switch.js +91 -219
  53. package/tests/hydration/compiled/server/track-async-serialization.js +211 -256
  54. package/tests/hydration/compiled/server/try.js +67 -126
  55. package/tests/hydration/components/html.tsrx +75 -0
  56. package/tests/hydration/components/if-fragment-controlflow.tsrx +145 -0
  57. package/tests/hydration/html.test.js +50 -0
  58. package/tests/hydration/if-fragment-controlflow.test.js +95 -0
  59. package/tests/server/compiler.test.tsrx +6 -2
@@ -6,18 +6,9 @@ var root_1 = _$_.template(`<div class="layout">before<!>after</div>`, 0);
6
6
  var root_2 = _$_.template(`<div class="single">single</div>`, 0);
7
7
  var root_4 = _$_.template(`<h1>title</h1><p>description</p>`, 1, 2);
8
8
  var root_3 = _$_.template(`<!>`, 1, 1);
9
- var root_5 = _$_.template(`<!>`, 1, 1);
10
- var root_7 = _$_.template(`<!>`, 1, 1);
9
+ var root_5 = _$_.template(`<!><div class="extra">extra</div>`, 1, 2);
11
10
  var root_6 = _$_.template(`<!>`, 1, 1);
12
- var root_9 = _$_.template(`<!><div class="extra">extra</div>`, 1, 2);
13
- var root_8 = _$_.template(`<!>`, 1, 1);
14
- var root_11 = _$_.template(`<!>`, 1, 1);
15
- var root_10 = _$_.template(`<!>`, 1, 1);
16
- var root_13 = _$_.template(`<!>`, 1, 1);
17
- var root_12 = _$_.template(`<!>`, 1, 1);
18
- var root_14 = _$_.template(`<!>`, 1, 1);
19
- var root_16 = _$_.template(`<!>`, 1, 1);
20
- var root_15 = _$_.template(`<!>`, 1, 1);
11
+ var root_7 = _$_.template(`<!>`, 1, 1);
21
12
 
22
13
  export function Layout(__props) {
23
14
  return _$_.tsrx_element((__anchor, __block) => {
@@ -76,97 +67,61 @@ export function MultiRootChild() {
76
67
 
77
68
  export function EmptyLayout() {
78
69
  return _$_.tsrx_element((__anchor, __block) => {
79
- var fragment_2 = root_5();
80
- var node_1 = _$_.first_child_frag(fragment_2);
81
-
82
- _$_.render_component(Layout, node_1, {});
83
- _$_.append(__anchor, fragment_2);
70
+ _$_.render_component(Layout, __anchor, {});
84
71
  });
85
72
  }
86
73
 
87
74
  export function LayoutWithSingleChild() {
88
75
  return _$_.tsrx_element((__anchor, __block) => {
89
- var fragment_3 = root_6();
90
- var node_2 = _$_.first_child_frag(fragment_3);
91
-
92
- _$_.render_component(Layout, node_2, {
76
+ _$_.render_component(Layout, __anchor, {
93
77
  children: _$_.tsrx_element((__anchor, __block) => {
94
- var fragment_4 = root_7();
95
- var node_3 = _$_.first_child_frag(fragment_4);
96
-
97
- _$_.render_component(SingleChild, node_3, {});
98
- _$_.append(__anchor, fragment_4);
78
+ _$_.render_component(SingleChild, __anchor, {});
99
79
  })
100
80
  });
101
-
102
- _$_.append(__anchor, fragment_3);
103
81
  });
104
82
  }
105
83
 
106
84
  export function LayoutWithMultipleChildren() {
107
85
  return _$_.tsrx_element((__anchor, __block) => {
108
- var fragment_5 = root_8();
109
- var node_4 = _$_.first_child_frag(fragment_5);
110
-
111
- _$_.render_component(Layout, node_4, {
86
+ _$_.render_component(Layout, __anchor, {
112
87
  children: _$_.tsrx_element((__anchor, __block) => {
113
- var fragment_6 = root_9();
114
- var node_5 = _$_.first_child_frag(fragment_6);
88
+ var fragment_2 = root_5();
89
+ var node_1 = _$_.first_child_frag(fragment_2);
115
90
 
116
- _$_.render_component(SingleChild, node_5, {});
117
- _$_.append(__anchor, fragment_6);
91
+ _$_.render_component(SingleChild, node_1, {});
92
+ _$_.append(__anchor, fragment_2);
118
93
  })
119
94
  });
120
-
121
- _$_.append(__anchor, fragment_5);
122
95
  });
123
96
  }
124
97
 
125
98
  export function LayoutWithMultiRootChild() {
126
99
  return _$_.tsrx_element((__anchor, __block) => {
127
- var fragment_7 = root_10();
128
- var node_6 = _$_.first_child_frag(fragment_7);
129
-
130
- _$_.render_component(Layout, node_6, {
100
+ _$_.render_component(Layout, __anchor, {
131
101
  children: _$_.tsrx_element((__anchor, __block) => {
132
- var fragment_8 = root_11();
133
- var node_7 = _$_.first_child_frag(fragment_8);
134
-
135
- _$_.render_component(MultiRootChild, node_7, {});
136
- _$_.append(__anchor, fragment_8);
102
+ _$_.render_component(MultiRootChild, __anchor, {});
137
103
  })
138
104
  });
139
-
140
- _$_.append(__anchor, fragment_7);
141
105
  });
142
106
  }
143
107
 
144
108
  export function LayoutWithTextAroundChildren() {
145
109
  return _$_.tsrx_element((__anchor, __block) => {
146
- var fragment_9 = root_12();
147
- var node_8 = _$_.first_child_frag(fragment_9);
148
-
149
- _$_.render_component(TextWrappedLayout, node_8, {
110
+ _$_.render_component(TextWrappedLayout, __anchor, {
150
111
  children: _$_.tsrx_element((__anchor, __block) => {
151
- var fragment_10 = root_13();
152
- var node_9 = _$_.first_child_frag(fragment_10);
153
-
154
- _$_.render_component(SingleChild, node_9, {});
155
- _$_.append(__anchor, fragment_10);
112
+ _$_.render_component(SingleChild, __anchor, {});
156
113
  })
157
114
  });
158
-
159
- _$_.append(__anchor, fragment_9);
160
115
  });
161
116
  }
162
117
 
163
118
  export function DynamicTagElement() {
164
119
  return _$_.tsrx_element((__anchor, __block) => {
165
120
  const Tag = 'section';
166
- var fragment_11 = root_14();
167
- var node_10 = _$_.first_child_frag(fragment_11);
121
+ var fragment_3 = root_6();
122
+ var node_2 = _$_.first_child_frag(fragment_3);
168
123
 
169
- _$_.composite(() => Tag, node_10, {
124
+ _$_.composite(() => Tag, node_2, {
170
125
  class: "host",
171
126
  children: _$_.tsrx_element((__anchor, __block) => {
172
127
  var expression_3 = _$_.text('hello');
@@ -175,26 +130,22 @@ export function DynamicTagElement() {
175
130
  })
176
131
  });
177
132
 
178
- _$_.append(__anchor, fragment_11);
133
+ _$_.append(__anchor, fragment_3);
179
134
  });
180
135
  }
181
136
 
182
137
  export function DynamicTagComponent() {
183
138
  return _$_.tsrx_element((__anchor, __block) => {
184
139
  const Comp = SingleChild;
185
- var fragment_12 = root_15();
186
- var node_11 = _$_.first_child_frag(fragment_12);
187
140
 
188
- _$_.render_component(Layout, node_11, {
141
+ _$_.render_component(Layout, __anchor, {
189
142
  children: _$_.tsrx_element((__anchor, __block) => {
190
- var fragment_13 = root_16();
191
- var node_12 = _$_.first_child_frag(fragment_13);
143
+ var fragment_4 = root_7();
144
+ var node_3 = _$_.first_child_frag(fragment_4);
192
145
 
193
- _$_.composite(() => Comp, node_12, {});
194
- _$_.append(__anchor, fragment_13);
146
+ _$_.composite(() => Comp, node_3, {});
147
+ _$_.append(__anchor, fragment_4);
195
148
  })
196
149
  });
197
-
198
- _$_.append(__anchor, fragment_12);
199
150
  });
200
151
  }
@@ -57,28 +57,27 @@ var root_50 = _$_.template(`<!>`, 1, 1);
57
57
  var root_55 = _$_.template(`<div> </div>`, 0);
58
58
  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);
59
59
  var root_53 = _$_.template(`<!>`, 1, 1);
60
- var root_57 = _$_.template(`<!>`, 1, 1);
61
60
  var root_56 = _$_.template(`<div></div>`, 0);
62
- var root_58 = _$_.template(`<div><input type="checkbox" class="checkbox"><span> </span></div>`, 0);
63
- var root_60 = _$_.template(`<li class="single"> </li>`, 0);
64
- var root_59 = _$_.template(`<ul></ul>`, 0);
65
- var root_63 = _$_.template(`<li> </li>`, 0);
66
- var root_62 = _$_.template(`<button class="prepend">Prepend A</button><ul></ul>`, 1, 2);
67
- var root_61 = _$_.template(`<!>`, 1, 1);
68
- var root_66 = _$_.template(`<li> </li>`, 0);
69
- var root_65 = _$_.template(`<button class="insert">Insert B</button><ul></ul>`, 1, 2);
70
- var root_64 = _$_.template(`<!>`, 1, 1);
71
- var root_69 = _$_.template(`<li> </li>`, 0);
72
- var root_68 = _$_.template(`<button class="remove-middle">Remove B</button><ul></ul>`, 1, 2);
73
- var root_67 = _$_.template(`<!>`, 1, 1);
74
- var root_71 = _$_.template(`<li> </li>`, 0);
75
- var root_70 = _$_.template(`<ul class="large-list"></ul>`, 0);
76
- var root_74 = _$_.template(`<li> </li>`, 0);
77
- var root_73 = _$_.template(`<button class="swap">Swap First and Last</button><ul></ul>`, 1, 2);
78
- var root_72 = _$_.template(`<!>`, 1, 1);
79
- var root_77 = _$_.template(`<li> </li>`, 0);
80
- var root_76 = _$_.template(`<button class="reverse">Reverse</button><ul></ul>`, 1, 2);
81
- var root_75 = _$_.template(`<!>`, 1, 1);
61
+ var root_57 = _$_.template(`<div><input type="checkbox" class="checkbox"><span> </span></div>`, 0);
62
+ var root_59 = _$_.template(`<li class="single"> </li>`, 0);
63
+ var root_58 = _$_.template(`<ul></ul>`, 0);
64
+ var root_62 = _$_.template(`<li> </li>`, 0);
65
+ var root_61 = _$_.template(`<button class="prepend">Prepend A</button><ul></ul>`, 1, 2);
66
+ var root_60 = _$_.template(`<!>`, 1, 1);
67
+ var root_65 = _$_.template(`<li> </li>`, 0);
68
+ var root_64 = _$_.template(`<button class="insert">Insert B</button><ul></ul>`, 1, 2);
69
+ var root_63 = _$_.template(`<!>`, 1, 1);
70
+ var root_68 = _$_.template(`<li> </li>`, 0);
71
+ var root_67 = _$_.template(`<button class="remove-middle">Remove B</button><ul></ul>`, 1, 2);
72
+ var root_66 = _$_.template(`<!>`, 1, 1);
73
+ var root_70 = _$_.template(`<li> </li>`, 0);
74
+ var root_69 = _$_.template(`<ul class="large-list"></ul>`, 0);
75
+ var root_73 = _$_.template(`<li> </li>`, 0);
76
+ var root_72 = _$_.template(`<button class="swap">Swap First and Last</button><ul></ul>`, 1, 2);
77
+ var root_71 = _$_.template(`<!>`, 1, 1);
78
+ var root_76 = _$_.template(`<li> </li>`, 0);
79
+ var root_75 = _$_.template(`<button class="reverse">Reverse</button><ul></ul>`, 1, 2);
80
+ var root_74 = _$_.template(`<!>`, 1, 1);
82
81
 
83
82
  import { track } from 'ripple';
84
83
 
@@ -1167,10 +1166,7 @@ export function ForLoopItemState() {
1167
1166
  div_16,
1168
1167
  () => initialItems,
1169
1168
  (__anchor, pattern_7) => {
1170
- var fragment_22 = root_57();
1171
- var node_14 = _$_.first_child_frag(fragment_22);
1172
-
1173
- _$_.render_component(TodoItem, node_14, {
1169
+ _$_.render_component(TodoItem, __anchor, {
1174
1170
  get id() {
1175
1171
  return _$_.get(pattern_7).id;
1176
1172
  },
@@ -1179,8 +1175,6 @@ export function ForLoopItemState() {
1179
1175
  return _$_.get(pattern_7).text;
1180
1176
  }
1181
1177
  });
1182
-
1183
- _$_.append(__anchor, fragment_22);
1184
1178
  },
1185
1179
  4,
1186
1180
  (pattern_7) => _$_.get(pattern_7).id
@@ -1196,7 +1190,7 @@ export function ForLoopItemState() {
1196
1190
  function TodoItem(props) {
1197
1191
  return _$_.tsrx_element((__anchor, __block) => {
1198
1192
  let lazy_14 = _$_.track(false, __block, '4f2402a4');
1199
- var div_17 = root_58();
1193
+ var div_17 = root_57();
1200
1194
 
1201
1195
  {
1202
1196
  var input_1 = _$_.child(div_17);
@@ -1245,14 +1239,14 @@ function TodoItem(props) {
1245
1239
  export function ForLoopSingleItem() {
1246
1240
  return _$_.tsrx_element((__anchor, __block) => {
1247
1241
  const items = ['Only'];
1248
- var ul_15 = root_59();
1242
+ var ul_15 = root_58();
1249
1243
 
1250
1244
  {
1251
1245
  _$_.for(
1252
1246
  ul_15,
1253
1247
  () => items,
1254
1248
  (__anchor, item) => {
1255
- var li_15 = root_60();
1249
+ var li_15 = root_59();
1256
1250
 
1257
1251
  {
1258
1252
  var expression_24 = _$_.child(li_15);
@@ -1276,12 +1270,12 @@ export function ForLoopSingleItem() {
1276
1270
  export function ForLoopAddAtBeginning() {
1277
1271
  return _$_.tsrx_element((__anchor, __block) => {
1278
1272
  let lazy_15 = _$_.track(['B', 'C'], __block, '1561403a');
1279
- var fragment_23 = root_61();
1280
- var node_15 = _$_.first_child_frag(fragment_23);
1273
+ var fragment_22 = root_60();
1274
+ var node_14 = _$_.first_child_frag(fragment_22);
1281
1275
 
1282
- _$_.expression(node_15, () => _$_.tsrx_element((__anchor, __block) => {
1283
- var fragment_24 = root_62();
1284
- var button_16 = _$_.first_child_frag(fragment_24);
1276
+ _$_.expression(node_14, () => _$_.tsrx_element((__anchor, __block) => {
1277
+ var fragment_23 = root_61();
1278
+ var button_16 = _$_.first_child_frag(fragment_23);
1285
1279
 
1286
1280
  button_16.__click = () => {
1287
1281
  _$_.set(lazy_15, ['A', ...lazy_15.value]);
@@ -1294,7 +1288,7 @@ export function ForLoopAddAtBeginning() {
1294
1288
  ul_16,
1295
1289
  () => lazy_15.value,
1296
1290
  (__anchor, item) => {
1297
- var li_16 = root_63();
1291
+ var li_16 = root_62();
1298
1292
 
1299
1293
  _$_.set_class(li_16, `item-${item}`, void 0, true);
1300
1294
 
@@ -1314,22 +1308,22 @@ export function ForLoopAddAtBeginning() {
1314
1308
  }
1315
1309
 
1316
1310
  _$_.next();
1317
- _$_.append(__anchor, fragment_24, true);
1311
+ _$_.append(__anchor, fragment_23, true);
1318
1312
  }));
1319
1313
 
1320
- _$_.append(__anchor, fragment_23);
1314
+ _$_.append(__anchor, fragment_22);
1321
1315
  });
1322
1316
  }
1323
1317
 
1324
1318
  export function ForLoopAddInMiddle() {
1325
1319
  return _$_.tsrx_element((__anchor, __block) => {
1326
1320
  let lazy_16 = _$_.track(['A', 'C'], __block, '1bc60b46');
1327
- var fragment_25 = root_64();
1328
- var node_16 = _$_.first_child_frag(fragment_25);
1321
+ var fragment_24 = root_63();
1322
+ var node_15 = _$_.first_child_frag(fragment_24);
1329
1323
 
1330
- _$_.expression(node_16, () => _$_.tsrx_element((__anchor, __block) => {
1331
- var fragment_26 = root_65();
1332
- var button_17 = _$_.first_child_frag(fragment_26);
1324
+ _$_.expression(node_15, () => _$_.tsrx_element((__anchor, __block) => {
1325
+ var fragment_25 = root_64();
1326
+ var button_17 = _$_.first_child_frag(fragment_25);
1333
1327
 
1334
1328
  button_17.__click = () => {
1335
1329
  const copy = [...lazy_16.value];
@@ -1345,7 +1339,7 @@ export function ForLoopAddInMiddle() {
1345
1339
  ul_17,
1346
1340
  () => lazy_16.value,
1347
1341
  (__anchor, item) => {
1348
- var li_17 = root_66();
1342
+ var li_17 = root_65();
1349
1343
 
1350
1344
  _$_.set_class(li_17, `item-${item}`, void 0, true);
1351
1345
 
@@ -1365,22 +1359,22 @@ export function ForLoopAddInMiddle() {
1365
1359
  }
1366
1360
 
1367
1361
  _$_.next();
1368
- _$_.append(__anchor, fragment_26, true);
1362
+ _$_.append(__anchor, fragment_25, true);
1369
1363
  }));
1370
1364
 
1371
- _$_.append(__anchor, fragment_25);
1365
+ _$_.append(__anchor, fragment_24);
1372
1366
  });
1373
1367
  }
1374
1368
 
1375
1369
  export function ForLoopRemoveFromMiddle() {
1376
1370
  return _$_.tsrx_element((__anchor, __block) => {
1377
1371
  let lazy_17 = _$_.track(['A', 'B', 'C'], __block, '1c87f95f');
1378
- var fragment_27 = root_67();
1379
- var node_17 = _$_.first_child_frag(fragment_27);
1372
+ var fragment_26 = root_66();
1373
+ var node_16 = _$_.first_child_frag(fragment_26);
1380
1374
 
1381
- _$_.expression(node_17, () => _$_.tsrx_element((__anchor, __block) => {
1382
- var fragment_28 = root_68();
1383
- var button_18 = _$_.first_child_frag(fragment_28);
1375
+ _$_.expression(node_16, () => _$_.tsrx_element((__anchor, __block) => {
1376
+ var fragment_27 = root_67();
1377
+ var button_18 = _$_.first_child_frag(fragment_27);
1384
1378
 
1385
1379
  button_18.__click = () => {
1386
1380
  _$_.set(lazy_17, _$_.with_scope(__block, () => lazy_17.value.filter((item) => item !== 'B')));
@@ -1393,7 +1387,7 @@ export function ForLoopRemoveFromMiddle() {
1393
1387
  ul_18,
1394
1388
  () => lazy_17.value,
1395
1389
  (__anchor, item) => {
1396
- var li_18 = root_69();
1390
+ var li_18 = root_68();
1397
1391
 
1398
1392
  _$_.set_class(li_18, `item-${item}`, void 0, true);
1399
1393
 
@@ -1413,24 +1407,24 @@ export function ForLoopRemoveFromMiddle() {
1413
1407
  }
1414
1408
 
1415
1409
  _$_.next();
1416
- _$_.append(__anchor, fragment_28, true);
1410
+ _$_.append(__anchor, fragment_27, true);
1417
1411
  }));
1418
1412
 
1419
- _$_.append(__anchor, fragment_27);
1413
+ _$_.append(__anchor, fragment_26);
1420
1414
  });
1421
1415
  }
1422
1416
 
1423
1417
  export function ForLoopLargeList() {
1424
1418
  return _$_.tsrx_element((__anchor, __block) => {
1425
1419
  const items = _$_.with_scope(__block, () => Array.from({ length: 50 }, (_, i) => `Item ${i + 1}`));
1426
- var ul_19 = root_70();
1420
+ var ul_19 = root_69();
1427
1421
 
1428
1422
  {
1429
1423
  _$_.for(
1430
1424
  ul_19,
1431
1425
  () => items,
1432
1426
  (__anchor, item, i) => {
1433
- var li_19 = root_71();
1427
+ var li_19 = root_70();
1434
1428
 
1435
1429
  {
1436
1430
  var expression_28 = _$_.child(li_19);
@@ -1458,12 +1452,12 @@ export function ForLoopLargeList() {
1458
1452
  export function ForLoopSwap() {
1459
1453
  return _$_.tsrx_element((__anchor, __block) => {
1460
1454
  let lazy_18 = _$_.track(['A', 'B', 'C', 'D'], __block, '5f8d152f');
1461
- var fragment_29 = root_72();
1462
- var node_18 = _$_.first_child_frag(fragment_29);
1455
+ var fragment_28 = root_71();
1456
+ var node_17 = _$_.first_child_frag(fragment_28);
1463
1457
 
1464
- _$_.expression(node_18, () => _$_.tsrx_element((__anchor, __block) => {
1465
- var fragment_30 = root_73();
1466
- var button_19 = _$_.first_child_frag(fragment_30);
1458
+ _$_.expression(node_17, () => _$_.tsrx_element((__anchor, __block) => {
1459
+ var fragment_29 = root_72();
1460
+ var button_19 = _$_.first_child_frag(fragment_29);
1467
1461
 
1468
1462
  button_19.__click = () => {
1469
1463
  const copy = [...lazy_18.value];
@@ -1479,7 +1473,7 @@ export function ForLoopSwap() {
1479
1473
  ul_20,
1480
1474
  () => lazy_18.value,
1481
1475
  (__anchor, item) => {
1482
- var li_20 = root_74();
1476
+ var li_20 = root_73();
1483
1477
 
1484
1478
  _$_.set_class(li_20, `item-${item}`, void 0, true);
1485
1479
 
@@ -1499,22 +1493,22 @@ export function ForLoopSwap() {
1499
1493
  }
1500
1494
 
1501
1495
  _$_.next();
1502
- _$_.append(__anchor, fragment_30, true);
1496
+ _$_.append(__anchor, fragment_29, true);
1503
1497
  }));
1504
1498
 
1505
- _$_.append(__anchor, fragment_29);
1499
+ _$_.append(__anchor, fragment_28);
1506
1500
  });
1507
1501
  }
1508
1502
 
1509
1503
  export function ForLoopReverse() {
1510
1504
  return _$_.tsrx_element((__anchor, __block) => {
1511
1505
  let lazy_19 = _$_.track(['A', 'B', 'C', 'D'], __block, '24602e64');
1512
- var fragment_31 = root_75();
1513
- var node_19 = _$_.first_child_frag(fragment_31);
1506
+ var fragment_30 = root_74();
1507
+ var node_18 = _$_.first_child_frag(fragment_30);
1514
1508
 
1515
- _$_.expression(node_19, () => _$_.tsrx_element((__anchor, __block) => {
1516
- var fragment_32 = root_76();
1517
- var button_20 = _$_.first_child_frag(fragment_32);
1509
+ _$_.expression(node_18, () => _$_.tsrx_element((__anchor, __block) => {
1510
+ var fragment_31 = root_75();
1511
+ var button_20 = _$_.first_child_frag(fragment_31);
1518
1512
 
1519
1513
  button_20.__click = () => {
1520
1514
  _$_.set(lazy_19, _$_.with_scope(__block, () => [...lazy_19.value].reverse()));
@@ -1527,7 +1521,7 @@ export function ForLoopReverse() {
1527
1521
  ul_21,
1528
1522
  () => lazy_19.value,
1529
1523
  (__anchor, item) => {
1530
- var li_21 = root_77();
1524
+ var li_21 = root_76();
1531
1525
 
1532
1526
  _$_.set_class(li_21, `item-${item}`, void 0, true);
1533
1527
 
@@ -1547,10 +1541,10 @@ export function ForLoopReverse() {
1547
1541
  }
1548
1542
 
1549
1543
  _$_.next();
1550
- _$_.append(__anchor, fragment_32, true);
1544
+ _$_.append(__anchor, fragment_31, true);
1551
1545
  }));
1552
1546
 
1553
- _$_.append(__anchor, fragment_31);
1547
+ _$_.append(__anchor, fragment_30);
1554
1548
  });
1555
1549
  }
1556
1550
 
@@ -4,8 +4,6 @@ import * as _$_ from 'ripple/internal/client';
4
4
  var root = _$_.template(`<div class="layout"><nav class="nav">Navigation</nav><main class="main"><!></main></div>`, 0);
5
5
  var root_2 = _$_.template(`<p class="text">Hello world</p>`, 0);
6
6
  var root_1 = _$_.template(`<div class="content"><!></div>`, 0);
7
- var root_4 = _$_.template(`<!>`, 1, 1);
8
- var root_3 = _$_.template(`<!>`, 1, 1);
9
7
 
10
8
  import { track } from 'ripple';
11
9
 
@@ -58,19 +56,10 @@ export function Content() {
58
56
 
59
57
  export function LayoutWithContent() {
60
58
  return _$_.tsrx_element((__anchor, __block) => {
61
- var fragment = root_3();
62
- var node_1 = _$_.first_child_frag(fragment);
63
-
64
- _$_.render_component(Layout, node_1, {
59
+ _$_.render_component(Layout, __anchor, {
65
60
  children: _$_.tsrx_element((__anchor, __block) => {
66
- var fragment_1 = root_4();
67
- var node_2 = _$_.first_child_frag(fragment_1);
68
-
69
- _$_.render_component(Content, node_2, {});
70
- _$_.append(__anchor, fragment_1);
61
+ _$_.render_component(Content, __anchor, {});
71
62
  })
72
63
  });
73
-
74
- _$_.append(__anchor, fragment);
75
64
  });
76
65
  }