ripple 0.3.72 → 0.3.76

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 (172) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/package.json +3 -3
  3. package/src/jsx-runtime.d.ts +4 -10
  4. package/src/runtime/dynamic-client.js +33 -0
  5. package/src/runtime/dynamic-server.js +80 -0
  6. package/src/runtime/index-client.js +5 -13
  7. package/src/runtime/index-server.js +2 -0
  8. package/src/runtime/internal/client/blocks.js +6 -27
  9. package/src/runtime/internal/client/composite.js +11 -6
  10. package/src/runtime/internal/client/for.js +80 -5
  11. package/src/runtime/internal/client/index.js +0 -2
  12. package/src/runtime/internal/client/render.js +5 -2
  13. package/src/runtime/internal/client/types.d.ts +0 -10
  14. package/src/runtime/internal/server/index.js +8 -1
  15. package/tests/client/__snapshots__/computed-properties.test.tsrx.snap +8 -0
  16. package/tests/client/__snapshots__/for.test.tsrx.snap +22 -0
  17. package/tests/client/__snapshots__/html.test.tsrx.snap +4 -0
  18. package/tests/client/array/array.copy-within.test.tsrx +19 -19
  19. package/tests/client/array/array.derived.test.tsrx +97 -109
  20. package/tests/client/array/array.iteration.test.tsrx +28 -28
  21. package/tests/client/array/array.mutations.test.tsrx +68 -68
  22. package/tests/client/array/array.static.test.tsrx +82 -92
  23. package/tests/client/array/array.to-methods.test.tsrx +15 -15
  24. package/tests/client/async-suspend.test.tsrx +180 -179
  25. package/tests/client/basic/__snapshots__/basic.attributes.test.tsrx.snap +2 -0
  26. package/tests/client/basic/__snapshots__/basic.rendering.test.tsrx.snap +4 -0
  27. package/tests/client/basic/basic.attributes.test.tsrx +273 -317
  28. package/tests/client/basic/basic.collections.test.tsrx +55 -61
  29. package/tests/client/basic/basic.components.test.tsrx +198 -220
  30. package/tests/client/basic/basic.errors.test.tsrx +70 -76
  31. package/tests/client/basic/basic.events.test.tsrx +80 -85
  32. package/tests/client/basic/basic.get-set.test.tsrx +54 -64
  33. package/tests/client/basic/basic.hmr.test.tsrx +15 -19
  34. package/tests/client/basic/basic.reactivity.test.tsrx +121 -135
  35. package/tests/client/basic/basic.rendering.test.tsrx +273 -178
  36. package/tests/client/basic/basic.styling.test.tsrx +16 -14
  37. package/tests/client/basic/basic.utilities.test.tsrx +8 -10
  38. package/tests/client/boundaries.test.tsrx +18 -18
  39. package/tests/client/compiler/compiler.assignments.test.tsrx +77 -76
  40. package/tests/client/compiler/compiler.attributes.test.tsrx +18 -14
  41. package/tests/client/compiler/compiler.basic.test.tsrx +357 -288
  42. package/tests/client/compiler/compiler.regex.test.tsrx +40 -44
  43. package/tests/client/compiler/compiler.tracked-access.test.tsrx +57 -38
  44. package/tests/client/compiler/compiler.try-in-function.test.tsrx +16 -16
  45. package/tests/client/compiler/compiler.typescript.test.tsrx +4 -3
  46. package/tests/client/composite/composite.dynamic-components.test.tsrx +62 -47
  47. package/tests/client/composite/composite.generics.test.tsrx +165 -167
  48. package/tests/client/composite/composite.props.test.tsrx +66 -74
  49. package/tests/client/composite/composite.reactivity.test.tsrx +132 -166
  50. package/tests/client/composite/composite.render.test.tsrx +92 -101
  51. package/tests/client/computed-properties.test.tsrx +14 -18
  52. package/tests/client/context.test.tsrx +14 -18
  53. package/tests/client/css/global-additional-cases.test.tsrx +493 -439
  54. package/tests/client/css/global-advanced-selectors.test.tsrx +169 -153
  55. package/tests/client/css/global-at-rules.test.tsrx +71 -66
  56. package/tests/client/css/global-basic.test.tsrx +105 -98
  57. package/tests/client/css/global-classes-ids.test.tsrx +128 -114
  58. package/tests/client/css/global-combinators.test.tsrx +83 -78
  59. package/tests/client/css/global-complex-nesting.test.tsrx +134 -120
  60. package/tests/client/css/global-edge-cases.test.tsrx +138 -120
  61. package/tests/client/css/global-keyframes.test.tsrx +108 -96
  62. package/tests/client/css/global-nested.test.tsrx +88 -78
  63. package/tests/client/css/global-pseudo.test.tsrx +104 -98
  64. package/tests/client/css/global-scoping.test.tsrx +145 -125
  65. package/tests/client/css/style-identifier.test.tsrx +65 -72
  66. package/tests/client/date.test.tsrx +83 -83
  67. package/tests/client/dynamic-elements.test.tsrx +318 -299
  68. package/tests/client/events.test.tsrx +252 -266
  69. package/tests/client/for.test.tsrx +120 -127
  70. package/tests/client/head.test.tsrx +74 -48
  71. package/tests/client/html.test.tsrx +37 -49
  72. package/tests/client/input-value.test.tsrx +1125 -1354
  73. package/tests/client/lazy-array.test.tsrx +10 -16
  74. package/tests/client/lazy-destructuring.test.tsrx +169 -221
  75. package/tests/client/map.test.tsrx +39 -41
  76. package/tests/client/media-query.test.tsrx +15 -19
  77. package/tests/client/object.test.tsrx +46 -56
  78. package/tests/client/portal.test.tsrx +31 -37
  79. package/tests/client/ref.test.tsrx +173 -193
  80. package/tests/client/return.test.tsrx +62 -37
  81. package/tests/client/set.test.tsrx +33 -33
  82. package/tests/client/svg.test.tsrx +197 -216
  83. package/tests/client/switch.test.tsrx +201 -191
  84. package/tests/client/track-async-hydration.test.tsrx +14 -18
  85. package/tests/client/tracked-index-access.test.tsrx +18 -28
  86. package/tests/client/try.test.tsrx +494 -619
  87. package/tests/client/tsx.test.tsrx +286 -292
  88. package/tests/client/typescript-generics.test.tsrx +121 -129
  89. package/tests/client/url/url.derived.test.tsrx +21 -25
  90. package/tests/client/url/url.parsing.test.tsrx +35 -35
  91. package/tests/client/url/url.partial-removal.test.tsrx +32 -32
  92. package/tests/client/url/url.reactivity.test.tsrx +68 -72
  93. package/tests/client/url/url.serialization.test.tsrx +8 -8
  94. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +21 -27
  95. package/tests/client/url-search-params/url-search-params.initialization.test.tsrx +16 -16
  96. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +37 -37
  97. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +56 -60
  98. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +32 -34
  99. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +9 -9
  100. package/tests/client/url-search-params/url-search-params.tracked-url.test.tsrx +10 -10
  101. package/tests/hydration/compiled/client/basic.js +390 -319
  102. package/tests/hydration/compiled/client/composite.js +52 -44
  103. package/tests/hydration/compiled/client/for.js +734 -604
  104. package/tests/hydration/compiled/client/head.js +183 -103
  105. package/tests/hydration/compiled/client/html.js +93 -86
  106. package/tests/hydration/compiled/client/if-children.js +95 -71
  107. package/tests/hydration/compiled/client/if.js +113 -89
  108. package/tests/hydration/compiled/client/mixed-control-flow.js +225 -209
  109. package/tests/hydration/compiled/client/nested-control-flow.js +94 -98
  110. package/tests/hydration/compiled/client/reactivity.js +26 -24
  111. package/tests/hydration/compiled/client/return.js +8 -42
  112. package/tests/hydration/compiled/client/switch.js +208 -173
  113. package/tests/hydration/compiled/client/track-async-serialization.js +176 -128
  114. package/tests/hydration/compiled/client/try.js +29 -21
  115. package/tests/hydration/compiled/server/basic.js +210 -221
  116. package/tests/hydration/compiled/server/composite.js +13 -14
  117. package/tests/hydration/compiled/server/for.js +427 -444
  118. package/tests/hydration/compiled/server/head.js +199 -189
  119. package/tests/hydration/compiled/server/html.js +33 -41
  120. package/tests/hydration/compiled/server/if-children.js +114 -117
  121. package/tests/hydration/compiled/server/if.js +77 -83
  122. package/tests/hydration/compiled/server/mixed-control-flow.js +145 -150
  123. package/tests/hydration/compiled/server/nested-control-flow.js +10 -0
  124. package/tests/hydration/compiled/server/reactivity.js +24 -22
  125. package/tests/hydration/compiled/server/return.js +6 -18
  126. package/tests/hydration/compiled/server/switch.js +179 -176
  127. package/tests/hydration/compiled/server/track-async-serialization.js +88 -70
  128. package/tests/hydration/compiled/server/try.js +31 -35
  129. package/tests/hydration/components/basic.tsrx +216 -258
  130. package/tests/hydration/components/composite.tsrx +32 -42
  131. package/tests/hydration/components/events.tsrx +81 -101
  132. package/tests/hydration/components/for.tsrx +270 -336
  133. package/tests/hydration/components/head.tsrx +43 -39
  134. package/tests/hydration/components/hmr.tsrx +16 -22
  135. package/tests/hydration/components/html-in-template.tsrx +15 -21
  136. package/tests/hydration/components/html.tsrx +442 -526
  137. package/tests/hydration/components/if-children.tsrx +107 -125
  138. package/tests/hydration/components/if.tsrx +68 -90
  139. package/tests/hydration/components/mixed-control-flow.tsrx +65 -72
  140. package/tests/hydration/components/nested-control-flow.tsrx +202 -216
  141. package/tests/hydration/components/portal.tsrx +33 -41
  142. package/tests/hydration/components/reactivity.tsrx +26 -34
  143. package/tests/hydration/components/return.tsrx +4 -6
  144. package/tests/hydration/components/switch.tsrx +73 -78
  145. package/tests/hydration/components/track-async-serialization.tsrx +83 -93
  146. package/tests/hydration/components/try.tsrx +37 -51
  147. package/tests/hydration/switch.test.js +8 -8
  148. package/tests/server/await.test.tsrx +3 -3
  149. package/tests/server/basic.attributes.test.tsrx +117 -162
  150. package/tests/server/basic.components.test.tsrx +164 -194
  151. package/tests/server/basic.test.tsrx +299 -199
  152. package/tests/server/compiler.test.tsrx +142 -72
  153. package/tests/server/composite.props.test.tsrx +54 -58
  154. package/tests/server/composite.test.tsrx +165 -167
  155. package/tests/server/context.test.tsrx +13 -17
  156. package/tests/server/dynamic-elements.test.tsrx +147 -148
  157. package/tests/server/for.test.tsrx +115 -84
  158. package/tests/server/head.test.tsrx +54 -31
  159. package/tests/server/html-nesting-validation.test.tsrx +16 -8
  160. package/tests/server/if.test.tsrx +49 -59
  161. package/tests/server/lazy-destructuring.test.tsrx +288 -366
  162. package/tests/server/return.test.tsrx +58 -36
  163. package/tests/server/streaming-ssr.test.tsrx +4 -4
  164. package/tests/server/style-identifier.test.tsrx +61 -69
  165. package/tests/server/switch.test.tsrx +89 -97
  166. package/tests/server/track-async-serialization.test.tsrx +85 -103
  167. package/tests/server/try.test.tsrx +275 -360
  168. package/tests/utils/ref-types.test.js +72 -0
  169. package/tests/utils/vite-plugin-config.test.js +41 -74
  170. package/types/index.d.ts +29 -4
  171. package/src/runtime/internal/client/compat.js +0 -40
  172. package/tests/utils/compiler-compat-config.test.js +0 -38
@@ -309,7 +309,7 @@ function DocFooter() {
309
309
  });
310
310
  }
311
311
 
312
- export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }) {
312
+ export function DocLayout(__props) {
313
313
  return _$_.tsrx_element(() => {
314
314
  _$_.regular_block(() => {
315
315
  _$_.output_push('<div');
@@ -330,7 +330,7 @@ export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }
330
330
  _$_.output_push('>');
331
331
 
332
332
  {
333
- _$_.render_expression(children);
333
+ _$_.render_expression(__props.children);
334
334
  }
335
335
 
336
336
  _$_.output_push('</div>');
@@ -339,14 +339,14 @@ export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }
339
339
  _$_.output_push('</article>');
340
340
  _$_.output_push('<!--[-->');
341
341
 
342
- if (editPath) {
342
+ if (_$_.fallback(__props.editPath, '')) {
343
343
  _$_.output_push('<div');
344
344
  _$_.output_push(' class="edit-link"');
345
345
  _$_.output_push('>');
346
346
 
347
347
  {
348
348
  _$_.output_push('<a');
349
- _$_.output_push(_$_.attr('href', `https://github.com/edit/${editPath}`, false));
349
+ _$_.output_push(_$_.attr('href', `https://github.com/edit/${_$_.fallback(__props.editPath, '')}`, false));
350
350
  _$_.output_push('>');
351
351
 
352
352
  {
@@ -362,18 +362,18 @@ export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }
362
362
  _$_.output_push('<!--]-->');
363
363
  _$_.output_push('<!--[-->');
364
364
 
365
- if (nextLink) {
365
+ if (_$_.fallback(__props.nextLink, null)) {
366
366
  _$_.output_push('<nav');
367
367
  _$_.output_push(' class="prev-next"');
368
368
  _$_.output_push('>');
369
369
 
370
370
  {
371
371
  _$_.output_push('<a');
372
- _$_.output_push(_$_.attr('href', nextLink.href, false));
372
+ _$_.output_push(_$_.attr('href', _$_.fallback(__props.nextLink, null).href, false));
373
373
  _$_.output_push('>');
374
374
 
375
375
  {
376
- _$_.output_push(_$_.escape(nextLink.text));
376
+ _$_.output_push(_$_.escape(_$_.fallback(__props.nextLink, null).text));
377
377
  }
378
378
 
379
379
  _$_.output_push('</a>');
@@ -399,7 +399,7 @@ export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }
399
399
  {
400
400
  _$_.output_push('<!--[-->');
401
401
 
402
- if (toc.length > 0) {
402
+ if (_$_.fallback(__props.toc, []).length > 0) {
403
403
  _$_.output_push('<div');
404
404
  _$_.output_push(' class="toc"');
405
405
  _$_.output_push('>');
@@ -411,7 +411,7 @@ export function DocLayout({ children, editPath = '', nextLink = null, toc = [] }
411
411
  {
412
412
  _$_.output_push('<!--[-->');
413
413
 
414
- for (const item of toc) {
414
+ for (const item of _$_.fallback(__props.toc, [])) {
415
415
  _$_.output_push('<li');
416
416
  _$_.output_push('>');
417
417
 
@@ -714,17 +714,17 @@ export function HtmlAfterSwitchInChildren() {
714
714
  });
715
715
  }
716
716
 
717
- function NavItem({ href, text: label, active = false }) {
717
+ function NavItem(__props) {
718
718
  return _$_.tsrx_element(() => {
719
719
  _$_.regular_block(() => {
720
720
  _$_.output_push('<div');
721
- _$_.output_push(_$_.attr('class', `nav-item${active ? ' active' : ''}`));
721
+ _$_.output_push(_$_.attr('class', `nav-item${_$_.fallback(__props.active, false) ? ' active' : ''}`));
722
722
  _$_.output_push('>');
723
723
 
724
724
  {
725
725
  _$_.output_push('<!--[-->');
726
726
 
727
- if (active) {
727
+ if (_$_.fallback(__props.active, false)) {
728
728
  _$_.output_push('<div');
729
729
  _$_.output_push(' class="indicator"');
730
730
  _$_.output_push('>');
@@ -733,7 +733,7 @@ function NavItem({ href, text: label, active = false }) {
733
733
 
734
734
  _$_.output_push('<!--]-->');
735
735
  _$_.output_push('<a');
736
- _$_.output_push(_$_.attr('href', href, false));
736
+ _$_.output_push(_$_.attr('href', __props.href, false));
737
737
  _$_.output_push('>');
738
738
 
739
739
  {
@@ -741,7 +741,7 @@ function NavItem({ href, text: label, active = false }) {
741
741
  _$_.output_push('>');
742
742
 
743
743
  {
744
- _$_.output_push(_$_.escape(label));
744
+ _$_.output_push(_$_.escape(__props.text));
745
745
  }
746
746
 
747
747
  _$_.output_push('</span>');
@@ -1405,7 +1405,7 @@ function FooterStub() {
1405
1405
  });
1406
1406
  }
1407
1407
 
1408
- function DocsLayoutInner({ children, editPath = '', nextLink = null }) {
1408
+ function DocsLayoutInner(__props) {
1409
1409
  return _$_.tsrx_element(() => {
1410
1410
  _$_.regular_block(() => {
1411
1411
  _$_.output_push('<div');
@@ -1461,7 +1461,7 @@ function DocsLayoutInner({ children, editPath = '', nextLink = null }) {
1461
1461
  _$_.output_push('>');
1462
1462
 
1463
1463
  {
1464
- _$_.render_expression(children);
1464
+ _$_.render_expression(__props.children);
1465
1465
  }
1466
1466
 
1467
1467
  _$_.output_push('</div>');
@@ -1470,7 +1470,7 @@ function DocsLayoutInner({ children, editPath = '', nextLink = null }) {
1470
1470
  _$_.output_push('</article>');
1471
1471
  _$_.output_push('<!--[-->');
1472
1472
 
1473
- if (editPath) {
1473
+ if (_$_.fallback(__props.editPath, '')) {
1474
1474
  _$_.output_push('<div');
1475
1475
  _$_.output_push(' class="edit-link"');
1476
1476
  _$_.output_push('>');
@@ -1493,18 +1493,18 @@ function DocsLayoutInner({ children, editPath = '', nextLink = null }) {
1493
1493
  _$_.output_push('<!--]-->');
1494
1494
  _$_.output_push('<!--[-->');
1495
1495
 
1496
- if (nextLink) {
1496
+ if (_$_.fallback(__props.nextLink, null)) {
1497
1497
  _$_.output_push('<nav');
1498
1498
  _$_.output_push(' class="prev-next"');
1499
1499
  _$_.output_push('>');
1500
1500
 
1501
1501
  {
1502
1502
  _$_.output_push('<a');
1503
- _$_.output_push(_$_.attr('href', nextLink.href, false));
1503
+ _$_.output_push(_$_.attr('href', _$_.fallback(__props.nextLink, null).href, false));
1504
1504
  _$_.output_push('>');
1505
1505
 
1506
1506
  {
1507
- _$_.output_push(_$_.escape(nextLink.text));
1507
+ _$_.output_push(_$_.escape(_$_.fallback(__props.nextLink, null).text));
1508
1508
  }
1509
1509
 
1510
1510
  _$_.output_push('</a>');
@@ -1601,15 +1601,7 @@ export function DocsLayoutWithoutData() {
1601
1601
  });
1602
1602
  }
1603
1603
 
1604
- function DocsLayoutExact(
1605
- {
1606
- children,
1607
- editPath = '',
1608
- prevLink = null,
1609
- nextLink = null,
1610
- toc = []
1611
- }
1612
- ) {
1604
+ function DocsLayoutExact(__props) {
1613
1605
  return _$_.tsrx_element(() => {
1614
1606
  _$_.regular_block(() => {
1615
1607
  _$_.output_push('<div');
@@ -1665,7 +1657,7 @@ function DocsLayoutExact(
1665
1657
  _$_.output_push('>');
1666
1658
 
1667
1659
  {
1668
- _$_.render_expression(children);
1660
+ _$_.render_expression(__props.children);
1669
1661
  }
1670
1662
 
1671
1663
  _$_.output_push('</div>');
@@ -1674,14 +1666,14 @@ function DocsLayoutExact(
1674
1666
  _$_.output_push('</article>');
1675
1667
  _$_.output_push('<!--[-->');
1676
1668
 
1677
- if (editPath) {
1669
+ if (_$_.fallback(__props.editPath, '')) {
1678
1670
  _$_.output_push('<div');
1679
1671
  _$_.output_push(' class="edit-link"');
1680
1672
  _$_.output_push('>');
1681
1673
 
1682
1674
  {
1683
1675
  _$_.output_push('<a');
1684
- _$_.output_push(_$_.attr('href', `/edit/${editPath}`, false));
1676
+ _$_.output_push(_$_.attr('href', `/edit/${_$_.fallback(__props.editPath, '')}`, false));
1685
1677
  _$_.output_push('>');
1686
1678
 
1687
1679
  {
@@ -1697,7 +1689,7 @@ function DocsLayoutExact(
1697
1689
  _$_.output_push('<!--]-->');
1698
1690
  _$_.output_push('<!--[-->');
1699
1691
 
1700
- if (prevLink || nextLink) {
1692
+ if (_$_.fallback(__props.prevLink, null) || _$_.fallback(__props.nextLink, null)) {
1701
1693
  _$_.output_push('<nav');
1702
1694
  _$_.output_push(' class="prev-next"');
1703
1695
  _$_.output_push('>');
@@ -1705,9 +1697,9 @@ function DocsLayoutExact(
1705
1697
  {
1706
1698
  _$_.output_push('<!--[-->');
1707
1699
 
1708
- if (prevLink) {
1700
+ if (_$_.fallback(__props.prevLink, null)) {
1709
1701
  _$_.output_push('<a');
1710
- _$_.output_push(_$_.attr('href', prevLink.href, false));
1702
+ _$_.output_push(_$_.attr('href', _$_.fallback(__props.prevLink, null).href, false));
1711
1703
  _$_.output_push(' class="pager prev"');
1712
1704
  _$_.output_push('>');
1713
1705
 
@@ -1717,7 +1709,7 @@ function DocsLayoutExact(
1717
1709
  _$_.output_push('>');
1718
1710
 
1719
1711
  {
1720
- _$_.output_push(_$_.escape(prevLink.text));
1712
+ _$_.output_push(_$_.escape(_$_.fallback(__props.prevLink, null).text));
1721
1713
  }
1722
1714
 
1723
1715
  _$_.output_push('</span>');
@@ -1733,9 +1725,9 @@ function DocsLayoutExact(
1733
1725
  _$_.output_push('<!--]-->');
1734
1726
  _$_.output_push('<!--[-->');
1735
1727
 
1736
- if (nextLink) {
1728
+ if (_$_.fallback(__props.nextLink, null)) {
1737
1729
  _$_.output_push('<a');
1738
- _$_.output_push(_$_.attr('href', nextLink.href, false));
1730
+ _$_.output_push(_$_.attr('href', _$_.fallback(__props.nextLink, null).href, false));
1739
1731
  _$_.output_push(' class="pager next"');
1740
1732
  _$_.output_push('>');
1741
1733
 
@@ -1745,7 +1737,7 @@ function DocsLayoutExact(
1745
1737
  _$_.output_push('>');
1746
1738
 
1747
1739
  {
1748
- _$_.output_push(_$_.escape(nextLink.text));
1740
+ _$_.output_push(_$_.escape(_$_.fallback(__props.nextLink, null).text));
1749
1741
  }
1750
1742
 
1751
1743
  _$_.output_push('</span>');
@@ -1781,7 +1773,7 @@ function DocsLayoutExact(
1781
1773
  {
1782
1774
  _$_.output_push('<!--[-->');
1783
1775
 
1784
- if (toc.length > 0) {
1776
+ if (_$_.fallback(__props.toc, []).length > 0) {
1785
1777
  _$_.output_push('<div');
1786
1778
  _$_.output_push(' class="aside-content"');
1787
1779
  _$_.output_push('>');
@@ -1794,7 +1786,7 @@ function DocsLayoutExact(
1794
1786
  {
1795
1787
  _$_.output_push('<!--[-->');
1796
1788
 
1797
- for (const item of toc) {
1789
+ for (const item of _$_.fallback(__props.toc, [])) {
1798
1790
  _$_.output_push('<a');
1799
1791
  _$_.output_push(_$_.attr('href', item.href, false));
1800
1792
  _$_.output_push('>');
@@ -268,66 +268,65 @@ export function ElementWithChildrenThenIf() {
268
268
  let lazy_3 = _$_.track(true, '7cd4817b');
269
269
 
270
270
  _$_.regular_block(() => {
271
- _$_.output_push('<div');
272
- _$_.output_push(' class="wrapper"');
273
- _$_.output_push('>');
274
-
275
271
  {
276
272
  _$_.output_push('<div');
277
- _$_.output_push(' class="nested-parent"');
273
+ _$_.output_push(' class="wrapper"');
278
274
  _$_.output_push('>');
279
275
 
280
276
  {
281
277
  _$_.output_push('<div');
282
- _$_.output_push(' class="nested-child"');
278
+ _$_.output_push(' class="nested-parent"');
283
279
  _$_.output_push('>');
284
280
 
285
281
  {
286
- _$_.output_push('<span');
287
- _$_.output_push(' class="deep"');
282
+ _$_.output_push('<div');
283
+ _$_.output_push(' class="nested-child"');
288
284
  _$_.output_push('>');
289
285
 
290
286
  {
291
- _$_.output_push('Deep content');
287
+ _$_.output_push('<span');
288
+ _$_.output_push(' class="deep"');
289
+ _$_.output_push('>');
290
+
291
+ {
292
+ _$_.output_push('Deep content');
293
+ }
294
+
295
+ _$_.output_push('</span>');
292
296
  }
293
297
 
294
- _$_.output_push('</span>');
298
+ _$_.output_push('</div>');
295
299
  }
296
300
 
297
301
  _$_.output_push('</div>');
298
- }
302
+ _$_.output_push('<!--[-->');
299
303
 
300
- _$_.output_push('</div>');
301
- _$_.output_push('<!--[-->');
304
+ if (lazy_3.value) {
305
+ _$_.output_push('<div');
306
+ _$_.output_push(' class="conditional"');
307
+ _$_.output_push('>');
302
308
 
303
- if (lazy_3.value) {
304
- _$_.output_push('<div');
305
- _$_.output_push(' class="conditional"');
306
- _$_.output_push('>');
309
+ {
310
+ _$_.output_push('Conditional content');
311
+ }
307
312
 
308
- {
309
- _$_.output_push('Conditional content');
313
+ _$_.output_push('</div>');
310
314
  }
311
315
 
312
- _$_.output_push('</div>');
316
+ _$_.output_push('<!--]-->');
313
317
  }
314
318
 
315
- _$_.output_push('<!--]-->');
316
- }
317
-
318
- _$_.output_push('</div>');
319
- });
319
+ _$_.output_push('</div>');
320
+ _$_.output_push('<button');
321
+ _$_.output_push(' class="toggle"');
322
+ _$_.output_push('>');
320
323
 
321
- _$_.regular_block(() => {
322
- _$_.output_push('<button');
323
- _$_.output_push(' class="toggle"');
324
- _$_.output_push('>');
324
+ {
325
+ _$_.output_push('Toggle');
326
+ }
325
327
 
326
- {
327
- _$_.output_push('Toggle');
328
+ _$_.output_push('</button>');
328
329
  }
329
-
330
- _$_.output_push('</button>');
331
330
  });
332
331
  });
333
332
  }
@@ -337,81 +336,80 @@ export function DeepNestingThenIf() {
337
336
  let lazy_4 = _$_.track(true, '923116be');
338
337
 
339
338
  _$_.regular_block(() => {
340
- _$_.output_push('<section');
341
- _$_.output_push(' class="outer"');
342
- _$_.output_push('>');
343
-
344
339
  {
345
- _$_.output_push('<article');
346
- _$_.output_push(' class="middle"');
340
+ _$_.output_push('<section');
341
+ _$_.output_push(' class="outer"');
347
342
  _$_.output_push('>');
348
343
 
349
344
  {
350
- _$_.output_push('<div');
351
- _$_.output_push(' class="inner"');
345
+ _$_.output_push('<article');
346
+ _$_.output_push(' class="middle"');
352
347
  _$_.output_push('>');
353
348
 
354
349
  {
355
- _$_.output_push('<p');
356
- _$_.output_push(' class="leaf"');
350
+ _$_.output_push('<div');
351
+ _$_.output_push(' class="inner"');
357
352
  _$_.output_push('>');
358
353
 
359
354
  {
360
- _$_.output_push('<strong');
355
+ _$_.output_push('<p');
356
+ _$_.output_push(' class="leaf"');
361
357
  _$_.output_push('>');
362
358
 
363
359
  {
364
- _$_.output_push('Bold');
365
- }
360
+ _$_.output_push('<strong');
361
+ _$_.output_push('>');
366
362
 
367
- _$_.output_push('</strong>');
368
- _$_.output_push('<em');
369
- _$_.output_push('>');
363
+ {
364
+ _$_.output_push('Bold');
365
+ }
370
366
 
371
- {
372
- _$_.output_push('Italic');
367
+ _$_.output_push('</strong>');
368
+ _$_.output_push('<em');
369
+ _$_.output_push('>');
370
+
371
+ {
372
+ _$_.output_push('Italic');
373
+ }
374
+
375
+ _$_.output_push('</em>');
373
376
  }
374
377
 
375
- _$_.output_push('</em>');
378
+ _$_.output_push('</p>');
376
379
  }
377
380
 
378
- _$_.output_push('</p>');
381
+ _$_.output_push('</div>');
379
382
  }
380
383
 
381
- _$_.output_push('</div>');
382
- }
384
+ _$_.output_push('</article>');
385
+ _$_.output_push('<!--[-->');
383
386
 
384
- _$_.output_push('</article>');
385
- _$_.output_push('<!--[-->');
387
+ if (lazy_4.value) {
388
+ _$_.output_push('<footer');
389
+ _$_.output_push(' class="footer"');
390
+ _$_.output_push('>');
386
391
 
387
- if (lazy_4.value) {
388
- _$_.output_push('<footer');
389
- _$_.output_push(' class="footer"');
390
- _$_.output_push('>');
392
+ {
393
+ _$_.output_push('Footer');
394
+ }
391
395
 
392
- {
393
- _$_.output_push('Footer');
396
+ _$_.output_push('</footer>');
394
397
  }
395
398
 
396
- _$_.output_push('</footer>');
399
+ _$_.output_push('<!--]-->');
397
400
  }
398
401
 
399
- _$_.output_push('<!--]-->');
400
- }
401
-
402
- _$_.output_push('</section>');
403
- });
402
+ _$_.output_push('</section>');
403
+ _$_.output_push('<button');
404
+ _$_.output_push(' class="btn"');
405
+ _$_.output_push('>');
404
406
 
405
- _$_.regular_block(() => {
406
- _$_.output_push('<button');
407
- _$_.output_push(' class="btn"');
408
- _$_.output_push('>');
407
+ {
408
+ _$_.output_push('Toggle');
409
+ }
409
410
 
410
- {
411
- _$_.output_push('Toggle');
411
+ _$_.output_push('</button>');
412
412
  }
413
-
414
- _$_.output_push('</button>');
415
413
  });
416
414
  });
417
415
  }
@@ -499,70 +497,69 @@ export function DomChildrenThenStaticSiblings() {
499
497
  let lazy_6 = _$_.track(0, '0ea64305');
500
498
 
501
499
  _$_.regular_block(() => {
502
- _$_.output_push('<div');
503
- _$_.output_push(' class="container"');
504
- _$_.output_push('>');
505
-
506
500
  {
507
- _$_.output_push('<ul');
508
- _$_.output_push(' class="list"');
501
+ _$_.output_push('<div');
502
+ _$_.output_push(' class="container"');
509
503
  _$_.output_push('>');
510
504
 
511
505
  {
512
- _$_.output_push('<li');
513
- _$_.output_push(' class="item"');
506
+ _$_.output_push('<ul');
507
+ _$_.output_push(' class="list"');
514
508
  _$_.output_push('>');
515
509
 
516
510
  {
517
- _$_.output_push(_$_.escape('Item count: ' + String(lazy_6.value)));
511
+ _$_.output_push('<li');
512
+ _$_.output_push(' class="item"');
513
+ _$_.output_push('>');
514
+
515
+ {
516
+ _$_.output_push(_$_.escape('Item count: ' + String(lazy_6.value)));
517
+ }
518
+
519
+ _$_.output_push('</li>');
520
+ _$_.output_push('<li');
521
+ _$_.output_push(' class="item"');
522
+ _$_.output_push('>');
523
+
524
+ {
525
+ _$_.output_push('Another item');
526
+ }
527
+
528
+ _$_.output_push('</li>');
518
529
  }
519
530
 
520
- _$_.output_push('</li>');
521
- _$_.output_push('<li');
522
- _$_.output_push(' class="item"');
531
+ _$_.output_push('</ul>');
532
+ _$_.output_push('<h2');
533
+ _$_.output_push(' class="heading"');
523
534
  _$_.output_push('>');
524
535
 
525
536
  {
526
- _$_.output_push('Another item');
537
+ _$_.output_push('Static Heading');
527
538
  }
528
539
 
529
- _$_.output_push('</li>');
530
- }
540
+ _$_.output_push('</h2>');
541
+ _$_.output_push('<p');
542
+ _$_.output_push(' class="para"');
543
+ _$_.output_push('>');
531
544
 
532
- _$_.output_push('</ul>');
533
- _$_.output_push('<h2');
534
- _$_.output_push(' class="heading"');
535
- _$_.output_push('>');
545
+ {
546
+ _$_.output_push('Static paragraph');
547
+ }
536
548
 
537
- {
538
- _$_.output_push('Static Heading');
549
+ _$_.output_push('</p>');
539
550
  }
540
551
 
541
- _$_.output_push('</h2>');
542
- _$_.output_push('<p');
543
- _$_.output_push(' class="para"');
552
+ _$_.output_push('</div>');
553
+ _$_.output_push('<button');
554
+ _$_.output_push(' class="inc"');
544
555
  _$_.output_push('>');
545
556
 
546
557
  {
547
- _$_.output_push('Static paragraph');
558
+ _$_.output_push('Increment');
548
559
  }
549
560
 
550
- _$_.output_push('</p>');
561
+ _$_.output_push('</button>');
551
562
  }
552
-
553
- _$_.output_push('</div>');
554
- });
555
-
556
- _$_.regular_block(() => {
557
- _$_.output_push('<button');
558
- _$_.output_push(' class="inc"');
559
- _$_.output_push('>');
560
-
561
- {
562
- _$_.output_push('Increment');
563
- }
564
-
565
- _$_.output_push('</button>');
566
563
  });
567
564
  });
568
565
  }