ripple 0.3.71 → 0.3.74

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 (165) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/package.json +3 -3
  3. package/src/jsx-runtime.d.ts +2 -8
  4. package/src/runtime/index-client.js +3 -13
  5. package/src/runtime/internal/client/blocks.js +3 -25
  6. package/src/runtime/internal/client/for.js +80 -5
  7. package/src/runtime/internal/client/index.js +0 -2
  8. package/src/runtime/internal/client/types.d.ts +0 -10
  9. package/tests/client/__snapshots__/computed-properties.test.tsrx.snap +8 -0
  10. package/tests/client/__snapshots__/for.test.tsrx.snap +22 -0
  11. package/tests/client/__snapshots__/html.test.tsrx.snap +4 -0
  12. package/tests/client/array/array.copy-within.test.tsrx +19 -19
  13. package/tests/client/array/array.derived.test.tsrx +97 -109
  14. package/tests/client/array/array.iteration.test.tsrx +28 -28
  15. package/tests/client/array/array.mutations.test.tsrx +68 -68
  16. package/tests/client/array/array.static.test.tsrx +82 -92
  17. package/tests/client/array/array.to-methods.test.tsrx +15 -15
  18. package/tests/client/async-suspend.test.tsrx +180 -179
  19. package/tests/client/basic/__snapshots__/basic.attributes.test.tsrx.snap +2 -0
  20. package/tests/client/basic/__snapshots__/basic.rendering.test.tsrx.snap +4 -0
  21. package/tests/client/basic/basic.attributes.test.tsrx +273 -317
  22. package/tests/client/basic/basic.collections.test.tsrx +59 -71
  23. package/tests/client/basic/basic.components.test.tsrx +196 -222
  24. package/tests/client/basic/basic.errors.test.tsrx +72 -78
  25. package/tests/client/basic/basic.events.test.tsrx +80 -85
  26. package/tests/client/basic/basic.get-set.test.tsrx +54 -64
  27. package/tests/client/basic/basic.hmr.test.tsrx +15 -19
  28. package/tests/client/basic/basic.reactivity.test.tsrx +121 -135
  29. package/tests/client/basic/basic.rendering.test.tsrx +273 -178
  30. package/tests/client/basic/basic.utilities.test.tsrx +8 -10
  31. package/tests/client/boundaries.test.tsrx +18 -18
  32. package/tests/client/compiler/compiler.assignments.test.tsrx +77 -76
  33. package/tests/client/compiler/compiler.attributes.test.tsrx +18 -14
  34. package/tests/client/compiler/compiler.basic.test.tsrx +364 -296
  35. package/tests/client/compiler/compiler.regex.test.tsrx +40 -44
  36. package/tests/client/compiler/compiler.tracked-access.test.tsrx +57 -38
  37. package/tests/client/compiler/compiler.try-in-function.test.tsrx +16 -16
  38. package/tests/client/compiler/compiler.typescript.test.tsrx +4 -3
  39. package/tests/client/composite/composite.dynamic-components.test.tsrx +41 -44
  40. package/tests/client/composite/composite.generics.test.tsrx +165 -167
  41. package/tests/client/composite/composite.props.test.tsrx +66 -74
  42. package/tests/client/composite/composite.reactivity.test.tsrx +132 -166
  43. package/tests/client/composite/composite.render.test.tsrx +92 -101
  44. package/tests/client/computed-properties.test.tsrx +14 -18
  45. package/tests/client/context.test.tsrx +14 -18
  46. package/tests/client/css/global-additional-cases.test.tsrx +491 -437
  47. package/tests/client/css/global-advanced-selectors.test.tsrx +169 -153
  48. package/tests/client/css/global-at-rules.test.tsrx +71 -66
  49. package/tests/client/css/global-basic.test.tsrx +105 -98
  50. package/tests/client/css/global-classes-ids.test.tsrx +128 -114
  51. package/tests/client/css/global-combinators.test.tsrx +83 -78
  52. package/tests/client/css/global-complex-nesting.test.tsrx +134 -120
  53. package/tests/client/css/global-edge-cases.test.tsrx +138 -120
  54. package/tests/client/css/global-keyframes.test.tsrx +108 -96
  55. package/tests/client/css/global-nested.test.tsrx +88 -78
  56. package/tests/client/css/global-pseudo.test.tsrx +104 -98
  57. package/tests/client/css/global-scoping.test.tsrx +145 -125
  58. package/tests/client/css/style-identifier.test.tsrx +62 -69
  59. package/tests/client/date.test.tsrx +83 -83
  60. package/tests/client/dynamic-elements.test.tsrx +227 -283
  61. package/tests/client/events.test.tsrx +252 -266
  62. package/tests/client/for.test.tsrx +120 -127
  63. package/tests/client/head.test.tsrx +40 -48
  64. package/tests/client/html.test.tsrx +37 -49
  65. package/tests/client/input-value.test.tsrx +1125 -1354
  66. package/tests/client/lazy-array.test.tsrx +10 -16
  67. package/tests/client/lazy-destructuring.test.tsrx +169 -221
  68. package/tests/client/map.test.tsrx +39 -41
  69. package/tests/client/media-query.test.tsrx +15 -19
  70. package/tests/client/object.test.tsrx +46 -56
  71. package/tests/client/portal.test.tsrx +31 -37
  72. package/tests/client/ref.test.tsrx +173 -193
  73. package/tests/client/return.test.tsrx +62 -37
  74. package/tests/client/set.test.tsrx +33 -33
  75. package/tests/client/svg.test.tsrx +195 -215
  76. package/tests/client/switch.test.tsrx +201 -191
  77. package/tests/client/track-async-hydration.test.tsrx +14 -18
  78. package/tests/client/tracked-index-access.test.tsrx +18 -28
  79. package/tests/client/try.test.tsrx +494 -619
  80. package/tests/client/tsx.test.tsrx +290 -371
  81. package/tests/client/typescript-generics.test.tsrx +121 -129
  82. package/tests/client/url/url.derived.test.tsrx +21 -25
  83. package/tests/client/url/url.parsing.test.tsrx +35 -35
  84. package/tests/client/url/url.partial-removal.test.tsrx +32 -32
  85. package/tests/client/url/url.reactivity.test.tsrx +68 -72
  86. package/tests/client/url/url.serialization.test.tsrx +8 -8
  87. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +21 -27
  88. package/tests/client/url-search-params/url-search-params.initialization.test.tsrx +16 -16
  89. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +37 -37
  90. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +56 -60
  91. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +32 -34
  92. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +9 -9
  93. package/tests/client/url-search-params/url-search-params.tracked-url.test.tsrx +10 -10
  94. package/tests/hydration/compiled/client/basic.js +396 -325
  95. package/tests/hydration/compiled/client/composite.js +52 -44
  96. package/tests/hydration/compiled/client/for.js +734 -604
  97. package/tests/hydration/compiled/client/head.js +183 -103
  98. package/tests/hydration/compiled/client/html.js +93 -86
  99. package/tests/hydration/compiled/client/if-children.js +95 -71
  100. package/tests/hydration/compiled/client/if.js +113 -89
  101. package/tests/hydration/compiled/client/mixed-control-flow.js +225 -209
  102. package/tests/hydration/compiled/client/nested-control-flow.js +94 -98
  103. package/tests/hydration/compiled/client/reactivity.js +26 -24
  104. package/tests/hydration/compiled/client/return.js +8 -42
  105. package/tests/hydration/compiled/client/switch.js +208 -173
  106. package/tests/hydration/compiled/client/track-async-serialization.js +176 -128
  107. package/tests/hydration/compiled/client/try.js +29 -21
  108. package/tests/hydration/compiled/server/basic.js +210 -221
  109. package/tests/hydration/compiled/server/composite.js +13 -14
  110. package/tests/hydration/compiled/server/for.js +427 -444
  111. package/tests/hydration/compiled/server/head.js +199 -189
  112. package/tests/hydration/compiled/server/html.js +33 -41
  113. package/tests/hydration/compiled/server/if-children.js +114 -117
  114. package/tests/hydration/compiled/server/if.js +77 -83
  115. package/tests/hydration/compiled/server/mixed-control-flow.js +145 -150
  116. package/tests/hydration/compiled/server/nested-control-flow.js +10 -0
  117. package/tests/hydration/compiled/server/reactivity.js +24 -22
  118. package/tests/hydration/compiled/server/return.js +6 -18
  119. package/tests/hydration/compiled/server/switch.js +179 -176
  120. package/tests/hydration/compiled/server/track-async-serialization.js +88 -70
  121. package/tests/hydration/compiled/server/try.js +31 -35
  122. package/tests/hydration/components/basic.tsrx +216 -286
  123. package/tests/hydration/components/composite.tsrx +32 -42
  124. package/tests/hydration/components/events.tsrx +81 -101
  125. package/tests/hydration/components/for.tsrx +270 -336
  126. package/tests/hydration/components/head.tsrx +43 -39
  127. package/tests/hydration/components/hmr.tsrx +16 -22
  128. package/tests/hydration/components/html-in-template.tsrx +15 -21
  129. package/tests/hydration/components/html.tsrx +442 -526
  130. package/tests/hydration/components/if-children.tsrx +107 -125
  131. package/tests/hydration/components/if.tsrx +68 -90
  132. package/tests/hydration/components/mixed-control-flow.tsrx +65 -72
  133. package/tests/hydration/components/nested-control-flow.tsrx +202 -216
  134. package/tests/hydration/components/portal.tsrx +33 -41
  135. package/tests/hydration/components/reactivity.tsrx +26 -34
  136. package/tests/hydration/components/return.tsrx +4 -6
  137. package/tests/hydration/components/switch.tsrx +73 -78
  138. package/tests/hydration/components/track-async-serialization.tsrx +83 -93
  139. package/tests/hydration/components/try.tsrx +37 -51
  140. package/tests/hydration/switch.test.js +8 -8
  141. package/tests/server/await.test.tsrx +3 -3
  142. package/tests/server/basic.attributes.test.tsrx +120 -167
  143. package/tests/server/basic.components.test.tsrx +163 -197
  144. package/tests/server/basic.test.tsrx +298 -220
  145. package/tests/server/compiler.test.tsrx +142 -72
  146. package/tests/server/composite.props.test.tsrx +54 -58
  147. package/tests/server/composite.test.tsrx +165 -167
  148. package/tests/server/context.test.tsrx +13 -17
  149. package/tests/server/dynamic-elements.test.tsrx +103 -135
  150. package/tests/server/for.test.tsrx +115 -84
  151. package/tests/server/head.test.tsrx +31 -31
  152. package/tests/server/html-nesting-validation.test.tsrx +16 -8
  153. package/tests/server/if.test.tsrx +49 -59
  154. package/tests/server/lazy-destructuring.test.tsrx +288 -366
  155. package/tests/server/return.test.tsrx +58 -36
  156. package/tests/server/streaming-ssr.test.tsrx +4 -4
  157. package/tests/server/style-identifier.test.tsrx +58 -66
  158. package/tests/server/switch.test.tsrx +89 -97
  159. package/tests/server/track-async-serialization.test.tsrx +85 -103
  160. package/tests/server/try.test.tsrx +275 -360
  161. package/tests/utils/ref-types.test.js +72 -0
  162. package/tests/utils/vite-plugin-config.test.js +41 -74
  163. package/types/index.d.ts +1 -0
  164. package/src/runtime/internal/client/compat.js +0 -40
  165. package/tests/utils/compiler-compat-config.test.js +0 -38
@@ -21,36 +21,32 @@ export function StaticText() {
21
21
  export function MultipleElements() {
22
22
  return _$_.tsrx_element(() => {
23
23
  _$_.regular_block(() => {
24
- _$_.output_push('<h1');
25
- _$_.output_push('>');
26
-
27
24
  {
28
- _$_.output_push('Title');
29
- }
25
+ _$_.output_push('<h1');
26
+ _$_.output_push('>');
30
27
 
31
- _$_.output_push('</h1>');
32
- });
28
+ {
29
+ _$_.output_push('Title');
30
+ }
33
31
 
34
- _$_.regular_block(() => {
35
- _$_.output_push('<p');
36
- _$_.output_push('>');
32
+ _$_.output_push('</h1>');
33
+ _$_.output_push('<p');
34
+ _$_.output_push('>');
37
35
 
38
- {
39
- _$_.output_push('Paragraph text');
40
- }
36
+ {
37
+ _$_.output_push('Paragraph text');
38
+ }
41
39
 
42
- _$_.output_push('</p>');
43
- });
40
+ _$_.output_push('</p>');
41
+ _$_.output_push('<span');
42
+ _$_.output_push('>');
44
43
 
45
- _$_.regular_block(() => {
46
- _$_.output_push('<span');
47
- _$_.output_push('>');
44
+ {
45
+ _$_.output_push('Span text');
46
+ }
48
47
 
49
- {
50
- _$_.output_push('Span text');
48
+ _$_.output_push('</span>');
51
49
  }
52
-
53
- _$_.output_push('</span>');
54
50
  });
55
51
  });
56
52
  }
@@ -89,24 +85,23 @@ export function NestedElements() {
89
85
  export function WithAttributes() {
90
86
  return _$_.tsrx_element(() => {
91
87
  _$_.regular_block(() => {
92
- _$_.output_push('<input');
93
- _$_.output_push(' type="text"');
94
- _$_.output_push(' placeholder="Enter text"');
95
- _$_.output_push(' disabled');
96
- _$_.output_push(' />');
97
- });
88
+ {
89
+ _$_.output_push('<input');
90
+ _$_.output_push(' type="text"');
91
+ _$_.output_push(' placeholder="Enter text"');
92
+ _$_.output_push(' disabled');
93
+ _$_.output_push(' />');
94
+ _$_.output_push('<a');
95
+ _$_.output_push(' href="/link"');
96
+ _$_.output_push(' target="_blank"');
97
+ _$_.output_push('>');
98
98
 
99
- _$_.regular_block(() => {
100
- _$_.output_push('<a');
101
- _$_.output_push(' href="/link"');
102
- _$_.output_push(' target="_blank"');
103
- _$_.output_push('>');
99
+ {
100
+ _$_.output_push('Link');
101
+ }
104
102
 
105
- {
106
- _$_.output_push('Link');
103
+ _$_.output_push('</a>');
107
104
  }
108
-
109
- _$_.output_push('</a>');
110
105
  });
111
106
  });
112
107
  }
@@ -184,19 +179,19 @@ export function SiblingComponents() {
184
179
  return _$_.tsrx_element(() => {
185
180
  _$_.regular_block(() => {
186
181
  {
187
- const comp = FirstSibling;
188
- const args = [{}];
182
+ {
183
+ const comp = FirstSibling;
184
+ const args = [{}];
189
185
 
190
- _$_.render_component(comp, ...args);
191
- }
192
- });
186
+ _$_.render_component(comp, ...args);
187
+ }
193
188
 
194
- _$_.regular_block(() => {
195
- {
196
- const comp = SecondSibling;
197
- const args = [{}];
189
+ {
190
+ const comp = SecondSibling;
191
+ const args = [{}];
198
192
 
199
- _$_.render_component(comp, ...args);
193
+ _$_.render_component(comp, ...args);
194
+ }
200
195
  }
201
196
  });
202
197
  });
@@ -236,25 +231,24 @@ export function ExpressionContent() {
236
231
  const label = 'computed';
237
232
 
238
233
  _$_.regular_block(() => {
239
- _$_.output_push('<div');
240
- _$_.output_push('>');
241
-
242
234
  {
243
- _$_.output_push(_$_.escape(value));
244
- }
235
+ _$_.output_push('<div');
236
+ _$_.output_push('>');
245
237
 
246
- _$_.output_push('</div>');
247
- });
238
+ {
239
+ _$_.output_push(_$_.escape(value));
240
+ }
248
241
 
249
- _$_.regular_block(() => {
250
- _$_.output_push('<span');
251
- _$_.output_push('>');
242
+ _$_.output_push('</div>');
243
+ _$_.output_push('<span');
244
+ _$_.output_push('>');
252
245
 
253
- {
254
- _$_.output_push(_$_.escape(label.toUpperCase()));
255
- }
246
+ {
247
+ _$_.render_expression(label.toUpperCase());
248
+ }
256
249
 
257
- _$_.output_push('</span>');
250
+ _$_.output_push('</span>');
251
+ }
258
252
  });
259
253
  });
260
254
  }
@@ -278,30 +272,29 @@ function NestedHelperItem({ item }) {
278
272
  function NestedTsxTsrxFragment({ label }) {
279
273
  return _$_.tsrx_element(() => {
280
274
  _$_.regular_block(() => {
281
- _$_.output_push('<span');
282
- _$_.output_push(' class="label"');
283
- _$_.output_push('>');
284
-
285
275
  {
286
- _$_.output_push(_$_.escape(label));
287
- }
276
+ _$_.output_push('<span');
277
+ _$_.output_push(' class="label"');
278
+ _$_.output_push('>');
288
279
 
289
- _$_.output_push('</span>');
290
- });
280
+ {
281
+ _$_.output_push(_$_.escape(label));
282
+ }
291
283
 
292
- _$_.regular_block(() => {
293
- _$_.output_push('<!--[-->');
284
+ _$_.output_push('</span>');
285
+ _$_.output_push('<!--[-->');
294
286
 
295
- for (const item of [1, 2, 3, 4]) {
296
- {
297
- const comp = NestedHelperItem;
298
- const args = [{ item }];
287
+ for (const item of [1, 2, 3, 4]) {
288
+ {
289
+ const comp = NestedHelperItem;
290
+ const args = [{ item }];
299
291
 
300
- _$_.render_component(comp, ...args);
292
+ _$_.render_component(comp, ...args);
293
+ }
301
294
  }
302
- }
303
295
 
304
- _$_.output_push('<!--]-->');
296
+ _$_.output_push('<!--]-->');
297
+ }
305
298
  });
306
299
  });
307
300
  }
@@ -309,30 +302,36 @@ function NestedTsxTsrxFragment({ label }) {
309
302
  export function NestedTsxTsrxExpressionValues() {
310
303
  return _$_.tsrx_element(() => {
311
304
  _$_.regular_block(() => {
312
- _$_.output_push('<!--[-->');
305
+ _$_.output_push('<div');
306
+ _$_.output_push(' class="nested-expression-values"');
307
+ _$_.output_push('>');
313
308
 
314
- for (const item of [1, 2, 3]) {
315
- _$_.output_push('<div');
316
- _$_.output_push(' class="app-item"');
317
- _$_.output_push('>');
309
+ {
310
+ _$_.output_push('<!--[-->');
318
311
 
319
- {
320
- _$_.output_push(_$_.escape(item));
321
- }
312
+ for (const item of [1, 2, 3]) {
313
+ _$_.output_push('<div');
314
+ _$_.output_push(' class="app-item"');
315
+ _$_.output_push('>');
322
316
 
323
- _$_.output_push('</div>');
324
- }
317
+ {
318
+ _$_.output_push(_$_.escape(item));
319
+ }
325
320
 
326
- _$_.output_push('<!--]-->');
327
- });
321
+ _$_.output_push('</div>');
322
+ }
328
323
 
329
- _$_.regular_block(() => {
330
- {
331
- const comp = NestedTsxTsrxFragment;
332
- const args = [{ label: "from helper" }];
324
+ _$_.output_push('<!--]-->');
333
325
 
334
- _$_.render_component(comp, ...args);
326
+ {
327
+ const comp = NestedTsxTsrxFragment;
328
+ const args = [{ label: "from helper" }];
329
+
330
+ _$_.render_component(comp, ...args);
331
+ }
335
332
  }
333
+
334
+ _$_.output_push('</div>');
336
335
  });
337
336
  });
338
337
  }
@@ -656,17 +655,15 @@ export function NestedTsrxInsideTopLevelTsxExpression() {
656
655
  _$_.output_push('>');
657
656
 
658
657
  {
659
- _$_.render_expression(_$_.tsrx_element(() => {
660
- _$_.output_push('<div');
661
- _$_.output_push(' class="inner"');
662
- _$_.output_push('>');
658
+ _$_.output_push('<div');
659
+ _$_.output_push(' class="inner"');
660
+ _$_.output_push('>');
663
661
 
664
- {
665
- _$_.output_push('from tsrx');
666
- }
662
+ {
663
+ _$_.output_push('from tsrx');
664
+ }
667
665
 
668
- _$_.output_push('</div>');
669
- }));
666
+ _$_.output_push('</div>');
670
667
  }
671
668
 
672
669
  _$_.output_push('</section>');
@@ -674,7 +671,9 @@ export function NestedTsrxInsideTopLevelTsxExpression() {
674
671
  });
675
672
 
676
673
  _$_.regular_block(() => {
677
- _$_.render_expression(content);
674
+ {
675
+ _$_.render_expression(content);
676
+ }
678
677
  });
679
678
  });
680
679
  }
@@ -688,25 +687,23 @@ export function NestedTsrxElementsInsideTopLevelTsxValue() {
688
687
  _$_.output_push('>');
689
688
 
690
689
  {
691
- _$_.render_expression(_$_.tsrx_element(() => {
692
- _$_.output_push('<section');
693
- _$_.output_push(' class="native"');
690
+ _$_.output_push('<section');
691
+ _$_.output_push(' class="native"');
692
+ _$_.output_push('>');
693
+
694
+ {
695
+ _$_.output_push('<span');
696
+ _$_.output_push(' class="nested-tsrx"');
694
697
  _$_.output_push('>');
695
698
 
696
699
  {
697
- _$_.output_push('<span');
698
- _$_.output_push(' class="nested-tsrx"');
699
- _$_.output_push('>');
700
-
701
- {
702
- _$_.output_push('inside nested tsrx');
703
- }
704
-
705
- _$_.output_push('</span>');
700
+ _$_.output_push('inside nested tsrx');
706
701
  }
707
702
 
708
- _$_.output_push('</section>');
709
- }));
703
+ _$_.output_push('</span>');
704
+ }
705
+
706
+ _$_.output_push('</section>');
710
707
  }
711
708
 
712
709
  _$_.output_push('</div>');
@@ -714,7 +711,9 @@ export function NestedTsrxElementsInsideTopLevelTsxValue() {
714
711
  });
715
712
 
716
713
  _$_.regular_block(() => {
717
- _$_.render_expression(content);
714
+ {
715
+ _$_.render_expression(content);
716
+ }
718
717
  });
719
718
  });
720
719
  }
@@ -750,7 +749,9 @@ export function TsxDeclaredBeforeTopLevelTsx() {
750
749
  });
751
750
 
752
751
  _$_.regular_block(() => {
753
- _$_.render_expression(content);
752
+ {
753
+ _$_.render_expression(content);
754
+ }
754
755
  });
755
756
  });
756
757
  }
@@ -777,28 +778,28 @@ export function TextPropWithToggle() {
777
778
 
778
779
  _$_.regular_block(() => {
779
780
  {
780
- const comp = TextProp;
781
+ {
782
+ const comp = TextProp;
781
783
 
782
- const args = [
783
- {
784
- children: _$_.normalize_children(lazy_1.value ? 'hello' : '')
785
- }
786
- ];
784
+ const args = [
785
+ {
786
+ children: _$_.normalize_children(lazy_1.value ? 'hello' : '')
787
+ }
788
+ ];
787
789
 
788
- _$_.render_component(comp, ...args);
789
- }
790
- });
790
+ _$_.render_component(comp, ...args);
791
+ }
791
792
 
792
- _$_.regular_block(() => {
793
- _$_.output_push('<button');
794
- _$_.output_push(' class="show-text"');
795
- _$_.output_push('>');
793
+ _$_.output_push('<button');
794
+ _$_.output_push(' class="show-text"');
795
+ _$_.output_push('>');
796
796
 
797
- {
798
- _$_.output_push('Show');
799
- }
797
+ {
798
+ _$_.output_push('Show');
799
+ }
800
800
 
801
- _$_.output_push('</button>');
801
+ _$_.output_push('</button>');
802
+ }
802
803
  });
803
804
  });
804
805
  }
@@ -806,39 +807,35 @@ export function TextPropWithToggle() {
806
807
  function StaticHeader() {
807
808
  return _$_.tsrx_element(() => {
808
809
  _$_.regular_block(() => {
809
- _$_.output_push('<h1');
810
- _$_.output_push(' class="sr-only"');
811
- _$_.output_push('>');
812
-
813
810
  {
814
- _$_.output_push('heading');
815
- }
811
+ _$_.output_push('<h1');
812
+ _$_.output_push(' class="sr-only"');
813
+ _$_.output_push('>');
816
814
 
817
- _$_.output_push('</h1>');
818
- });
815
+ {
816
+ _$_.output_push('heading');
817
+ }
819
818
 
820
- _$_.regular_block(() => {
821
- _$_.output_push('<p');
822
- _$_.output_push(' class="subtitle"');
823
- _$_.output_push('>');
819
+ _$_.output_push('</h1>');
820
+ _$_.output_push('<p');
821
+ _$_.output_push(' class="subtitle"');
822
+ _$_.output_push('>');
824
823
 
825
- {
826
- _$_.output_push('first paragraph');
827
- }
824
+ {
825
+ _$_.output_push('first paragraph');
826
+ }
828
827
 
829
- _$_.output_push('</p>');
830
- });
828
+ _$_.output_push('</p>');
829
+ _$_.output_push('<p');
830
+ _$_.output_push(' class="subtitle"');
831
+ _$_.output_push('>');
831
832
 
832
- _$_.regular_block(() => {
833
- _$_.output_push('<p');
834
- _$_.output_push(' class="subtitle"');
835
- _$_.output_push('>');
833
+ {
834
+ _$_.output_push('second paragraph');
835
+ }
836
836
 
837
- {
838
- _$_.output_push('second paragraph');
837
+ _$_.output_push('</p>');
839
838
  }
840
-
841
- _$_.output_push('</p>');
842
839
  });
843
840
  });
844
841
  }
@@ -849,35 +846,32 @@ export function StaticChildWithSiblings() {
849
846
 
850
847
  _$_.regular_block(() => {
851
848
  {
852
- const comp = StaticHeader;
853
- const args = [{}];
849
+ {
850
+ const comp = StaticHeader;
851
+ const args = [{}];
854
852
 
855
- _$_.render_component(comp, ...args);
856
- }
857
- });
853
+ _$_.render_component(comp, ...args);
854
+ }
858
855
 
859
- _$_.regular_block(() => {
860
- _$_.output_push('<span');
861
- _$_.output_push(' class="sibling1"');
862
- _$_.output_push('>');
856
+ _$_.output_push('<span');
857
+ _$_.output_push(' class="sibling1"');
858
+ _$_.output_push('>');
863
859
 
864
- {
865
- _$_.output_push(_$_.escape(foo));
866
- }
860
+ {
861
+ _$_.output_push(_$_.escape(foo));
862
+ }
867
863
 
868
- _$_.output_push('</span>');
869
- });
864
+ _$_.output_push('</span>');
865
+ _$_.output_push('<span');
866
+ _$_.output_push(' class="sibling2"');
867
+ _$_.output_push('>');
870
868
 
871
- _$_.regular_block(() => {
872
- _$_.output_push('<span');
873
- _$_.output_push(' class="sibling2"');
874
- _$_.output_push('>');
869
+ {
870
+ _$_.output_push(_$_.escape(foo));
871
+ }
875
872
 
876
- {
877
- _$_.output_push(_$_.escape(foo));
873
+ _$_.output_push('</span>');
878
874
  }
879
-
880
- _$_.output_push('</span>');
881
875
  });
882
876
  });
883
877
  }
@@ -885,35 +879,31 @@ export function StaticChildWithSiblings() {
885
879
  function Header() {
886
880
  return _$_.tsrx_element(() => {
887
881
  _$_.regular_block(() => {
888
- _$_.output_push('<h1');
889
- _$_.output_push(' class="sr-only"');
890
- _$_.output_push('>');
891
-
892
882
  {
893
- _$_.output_push('Ripple');
894
- }
883
+ _$_.output_push('<h1');
884
+ _$_.output_push(' class="sr-only"');
885
+ _$_.output_push('>');
895
886
 
896
- _$_.output_push('</h1>');
897
- });
887
+ {
888
+ _$_.output_push('Ripple');
889
+ }
898
890
 
899
- _$_.regular_block(() => {
900
- _$_.output_push('<img');
901
- _$_.output_push(' src="/images/logo.png"');
902
- _$_.output_push(' alt="Logo"');
903
- _$_.output_push(' class="logo"');
904
- _$_.output_push(' />');
905
- });
891
+ _$_.output_push('</h1>');
892
+ _$_.output_push('<img');
893
+ _$_.output_push(' src="/images/logo.png"');
894
+ _$_.output_push(' alt="Logo"');
895
+ _$_.output_push(' class="logo"');
896
+ _$_.output_push(' />');
897
+ _$_.output_push('<p');
898
+ _$_.output_push(' class="subtitle"');
899
+ _$_.output_push('>');
906
900
 
907
- _$_.regular_block(() => {
908
- _$_.output_push('<p');
909
- _$_.output_push(' class="subtitle"');
910
- _$_.output_push('>');
901
+ {
902
+ _$_.output_push('the elegant TypeScript UI framework');
903
+ }
911
904
 
912
- {
913
- _$_.output_push('the elegant TypeScript UI framework');
905
+ _$_.output_push('</p>');
914
906
  }
915
-
916
- _$_.output_push('</p>');
917
907
  });
918
908
  });
919
909
  }
@@ -946,22 +936,21 @@ function Actions({ playgroundVisible = false }) {
946
936
  }
947
937
 
948
938
  _$_.output_push('</a>');
949
- _$_.output_push('<!--[-->');
950
-
951
- if (playgroundVisible) {
952
- _$_.output_push('<a');
953
- _$_.output_push(' href="/playground"');
954
- _$_.output_push(' class="playground-link"');
955
- _$_.output_push('>');
956
939
 
957
- {
958
- _$_.output_push('Playground');
959
- }
940
+ _$_.render_expression(playgroundVisible
941
+ ? _$_.tsrx_element(() => {
942
+ _$_.output_push('<a');
943
+ _$_.output_push(' href="/playground"');
944
+ _$_.output_push(' class="playground-link"');
945
+ _$_.output_push('>');
960
946
 
961
- _$_.output_push('</a>');
962
- }
947
+ {
948
+ _$_.output_push('Playground');
949
+ }
963
950
 
964
- _$_.output_push('<!--]-->');
951
+ _$_.output_push('</a>');
952
+ })
953
+ : null);
965
954
  }
966
955
 
967
956
  _$_.output_push('</div>');
@@ -54,25 +54,24 @@ export function SingleChild() {
54
54
  export function MultiRootChild() {
55
55
  return _$_.tsrx_element(() => {
56
56
  _$_.regular_block(() => {
57
- _$_.output_push('<h1');
58
- _$_.output_push('>');
59
-
60
57
  {
61
- _$_.output_push('title');
62
- }
58
+ _$_.output_push('<h1');
59
+ _$_.output_push('>');
63
60
 
64
- _$_.output_push('</h1>');
65
- });
61
+ {
62
+ _$_.output_push('title');
63
+ }
66
64
 
67
- _$_.regular_block(() => {
68
- _$_.output_push('<p');
69
- _$_.output_push('>');
65
+ _$_.output_push('</h1>');
66
+ _$_.output_push('<p');
67
+ _$_.output_push('>');
70
68
 
71
- {
72
- _$_.output_push('description');
73
- }
69
+ {
70
+ _$_.output_push('description');
71
+ }
74
72
 
75
- _$_.output_push('</p>');
73
+ _$_.output_push('</p>');
74
+ }
76
75
  });
77
76
  });
78
77
  }