ripple 0.3.128 → 0.4.0

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 (192) hide show
  1. package/CHANGELOG.md +267 -0
  2. package/package.json +10 -4
  3. package/src/runtime/element.js +23 -6
  4. package/src/runtime/index-client.js +81 -41
  5. package/src/runtime/index-server.js +1 -0
  6. package/src/runtime/internal/client/blocks.js +173 -91
  7. package/src/runtime/internal/client/component.js +4 -30
  8. package/src/runtime/internal/client/composite.js +12 -13
  9. package/src/runtime/internal/client/constants.js +9 -0
  10. package/src/runtime/internal/client/context.js +12 -19
  11. package/src/runtime/internal/client/css.js +7 -9
  12. package/src/runtime/internal/client/events.js +178 -90
  13. package/src/runtime/internal/client/expression.js +45 -25
  14. package/src/runtime/internal/client/for.js +409 -129
  15. package/src/runtime/internal/client/head.js +10 -5
  16. package/src/runtime/internal/client/html.js +1 -0
  17. package/src/runtime/internal/client/hydration.js +152 -10
  18. package/src/runtime/internal/client/if.js +239 -50
  19. package/src/runtime/internal/client/index.js +4 -12
  20. package/src/runtime/internal/client/operations.js +40 -61
  21. package/src/runtime/internal/client/portal.js +163 -85
  22. package/src/runtime/internal/client/render.js +39 -39
  23. package/src/runtime/internal/client/rpc.js +3 -3
  24. package/src/runtime/internal/client/runtime.js +592 -433
  25. package/src/runtime/internal/client/selector.js +5 -2
  26. package/src/runtime/internal/client/template.js +133 -158
  27. package/src/runtime/internal/client/transport.js +38 -0
  28. package/src/runtime/internal/client/try.js +465 -426
  29. package/src/runtime/internal/client/types.d.ts +56 -23
  30. package/src/runtime/internal/client/utils.js +1 -3
  31. package/src/runtime/internal/server/dynamic.js +20 -21
  32. package/src/runtime/internal/server/index.js +325 -275
  33. package/src/runtime/internal/server/rpc.js +3 -2
  34. package/src/runtime/internal/server/transport.js +16 -0
  35. package/src/runtime/transport.js +21 -0
  36. package/tests/client/__snapshots__/for.test.tsrx.snap +0 -5
  37. package/tests/client/array/array.copy-within.test.tsrx +12 -12
  38. package/tests/client/array/array.derived.test.tsrx +46 -46
  39. package/tests/client/array/array.iteration.test.tsrx +10 -10
  40. package/tests/client/array/array.mutations.test.tsrx +20 -20
  41. package/tests/client/array/array.static.test.tsrx +11 -11
  42. package/tests/client/array/array.to-methods.test.tsrx +6 -6
  43. package/tests/client/async-suspend.test.tsrx +74 -75
  44. package/tests/client/basic/basic.attributes.test.tsrx +86 -83
  45. package/tests/client/basic/basic.collections.test.tsrx +12 -12
  46. package/tests/client/basic/basic.components.test.tsrx +99 -25
  47. package/tests/client/basic/basic.errors.test.tsrx +18 -18
  48. package/tests/client/basic/basic.events.test.tsrx +42 -42
  49. package/tests/client/basic/basic.get-set.test.tsrx +8 -8
  50. package/tests/client/basic/basic.reactivity.test.tsrx +73 -38
  51. package/tests/client/basic/basic.rendering.test.tsrx +25 -25
  52. package/tests/client/basic/basic.utilities.test.tsrx +3 -3
  53. package/tests/client/boundaries.test.tsrx +8 -8
  54. package/tests/client/boxed-locals.test.tsrx +452 -0
  55. package/tests/client/compiler/__snapshots__/compiler.assignments.test.tsrx.snap +6 -6
  56. package/tests/client/compiler/compiler.assignments.test.tsrx +9 -73
  57. package/tests/client/compiler/compiler.attributes.test.tsrx +23 -23
  58. package/tests/client/compiler/compiler.basic.test.tsrx +15 -60
  59. package/tests/client/compiler/compiler.tracked-access.test.tsrx +18 -43
  60. package/tests/client/compiler/compiler.try-in-function.test.tsrx +2 -2
  61. package/tests/client/composite/__snapshots__/composite.render.test.tsrx.snap +0 -1
  62. package/tests/client/composite/composite.dynamic-components.test.tsrx +77 -6
  63. package/tests/client/composite/composite.props.test.tsrx +149 -12
  64. package/tests/client/composite/composite.reactivity.test.tsrx +51 -52
  65. package/tests/client/composite/composite.render.test.tsrx +26 -9
  66. package/tests/client/css/scoped-styles.test.tsrx +8 -8
  67. package/tests/client/date.test.tsrx +42 -42
  68. package/tests/client/derived-release.test.tsrx +370 -0
  69. package/tests/client/dynamic-elements.test.tsrx +45 -45
  70. package/tests/client/events.test.tsrx +97 -71
  71. package/tests/client/for-selector.test.tsrx +14 -14
  72. package/tests/client/for-single-root-items.test.tsrx +118 -3
  73. package/tests/client/for.test.tsrx +332 -31
  74. package/tests/client/head.test.tsrx +19 -19
  75. package/tests/client/html.test.tsrx +11 -9
  76. package/tests/client/if-block.test.tsrx +80 -0
  77. package/tests/client/map.test.tsrx +16 -16
  78. package/tests/client/media-query.test.tsrx +7 -7
  79. package/tests/client/portal.test.tsrx +224 -26
  80. package/tests/client/primitive-text.test.tsrx +50 -0
  81. package/tests/client/prop-kind-switch.test.tsrx +141 -0
  82. package/tests/client/ref.test.tsrx +17 -17
  83. package/tests/client/return.test.tsrx +26 -3
  84. package/tests/client/root-boundary.test.tsrx +42 -0
  85. package/tests/client/scoped-flush.test.tsrx +8 -8
  86. package/tests/client/set.test.tsrx +6 -6
  87. package/tests/client/svg.test.tsrx +11 -11
  88. package/tests/client/switch.test.tsrx +44 -44
  89. package/tests/client/track-async-hydration.test.tsrx +4 -4
  90. package/tests/client/try.test.tsrx +151 -83
  91. package/tests/client/tsx.test.tsrx +43 -40
  92. package/tests/client/url/url.derived.test.tsrx +6 -6
  93. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +8 -8
  94. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +10 -10
  95. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +10 -10
  96. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +18 -18
  97. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +2 -2
  98. package/tests/hydration/basic.test.js +74 -1
  99. package/tests/hydration/build-components.js +22 -1
  100. package/tests/hydration/compiled/client/basic.js +1142 -713
  101. package/tests/hydration/compiled/client/composite.js +151 -100
  102. package/tests/hydration/compiled/client/events.js +184 -171
  103. package/tests/hydration/compiled/client/for.js +1472 -1132
  104. package/tests/hydration/compiled/client/fragment-cursor.js +2341 -0
  105. package/tests/hydration/compiled/client/head.js +254 -201
  106. package/tests/hydration/compiled/client/hmr.js +54 -41
  107. package/tests/hydration/compiled/client/html-in-template.js +54 -39
  108. package/tests/hydration/compiled/client/html.js +1633 -1263
  109. package/tests/hydration/compiled/client/if-children.js +420 -270
  110. package/tests/hydration/compiled/client/if-fragment-controlflow.js +363 -317
  111. package/tests/hydration/compiled/client/if.js +229 -219
  112. package/tests/hydration/compiled/client/mixed-control-flow.js +420 -404
  113. package/tests/hydration/compiled/client/nested-control-flow.js +1326 -1277
  114. package/tests/hydration/compiled/client/portal.js +87 -95
  115. package/tests/hydration/compiled/client/reactivity.js +135 -101
  116. package/tests/hydration/compiled/client/return.js +28 -19
  117. package/tests/hydration/compiled/client/streaming.js +390 -306
  118. package/tests/hydration/compiled/client/switch.js +258 -266
  119. package/tests/hydration/compiled/client/track-async-serialization.js +448 -280
  120. package/tests/hydration/compiled/client/try.js +173 -129
  121. package/tests/hydration/compiled/client/typed-text.js +71 -0
  122. package/tests/hydration/compiled/fixtures/money.js +10 -0
  123. package/tests/hydration/compiled/server/basic.js +123 -6
  124. package/tests/hydration/compiled/server/composite.js +16 -30
  125. package/tests/hydration/compiled/server/events.js +66 -18
  126. package/tests/hydration/compiled/server/for.js +117 -41
  127. package/tests/hydration/compiled/server/fragment-cursor.js +1687 -0
  128. package/tests/hydration/compiled/server/head.js +20 -20
  129. package/tests/hydration/compiled/server/hmr.js +2 -2
  130. package/tests/hydration/compiled/server/html.js +70 -238
  131. package/tests/hydration/compiled/server/if-children.js +107 -15
  132. package/tests/hydration/compiled/server/if.js +11 -15
  133. package/tests/hydration/compiled/server/mixed-control-flow.js +8 -8
  134. package/tests/hydration/compiled/server/portal.js +14 -22
  135. package/tests/hydration/compiled/server/reactivity.js +14 -14
  136. package/tests/hydration/compiled/server/streaming.js +19 -19
  137. package/tests/hydration/compiled/server/switch.js +8 -8
  138. package/tests/hydration/compiled/server/track-async-serialization.js +150 -23
  139. package/tests/hydration/compiled/server/try.js +8 -8
  140. package/tests/hydration/compiled/server/typed-text.js +17 -0
  141. package/tests/hydration/components/basic.tsrx +44 -8
  142. package/tests/hydration/components/composite.tsrx +2 -2
  143. package/tests/hydration/components/events.tsrx +25 -25
  144. package/tests/hydration/components/for.tsrx +115 -67
  145. package/tests/hydration/components/fragment-cursor.tsrx +650 -0
  146. package/tests/hydration/components/head.tsrx +16 -16
  147. package/tests/hydration/components/hmr.tsrx +2 -2
  148. package/tests/hydration/components/html.tsrx +7 -7
  149. package/tests/hydration/components/if-children.tsrx +72 -25
  150. package/tests/hydration/components/if.tsrx +18 -18
  151. package/tests/hydration/components/mixed-control-flow.tsrx +11 -11
  152. package/tests/hydration/components/portal.tsrx +3 -3
  153. package/tests/hydration/components/reactivity.tsrx +16 -16
  154. package/tests/hydration/components/streaming.tsrx +20 -20
  155. package/tests/hydration/components/switch.tsrx +20 -20
  156. package/tests/hydration/components/text-types.ts +4 -0
  157. package/tests/hydration/components/track-async-serialization.tsrx +80 -26
  158. package/tests/hydration/components/try.tsrx +8 -8
  159. package/tests/hydration/components/typed-text.tsrx +22 -0
  160. package/tests/hydration/fixtures/money.js +10 -0
  161. package/tests/hydration/for.test.js +36 -0
  162. package/tests/hydration/fragment-cursor.test.js +111 -0
  163. package/tests/hydration/if-children.test.js +24 -0
  164. package/tests/hydration/streaming.test.js +19 -0
  165. package/tests/hydration/track-async-serialization.test.js +87 -2
  166. package/tests/hydration/tsconfig.text-types.json +10 -0
  167. package/tests/hydration/typed-text.test.js +34 -0
  168. package/tests/server/await.test.tsrx +3 -3
  169. package/tests/server/basic.attributes.test.tsrx +42 -42
  170. package/tests/server/basic.components.test.tsrx +64 -8
  171. package/tests/server/basic.test.tsrx +34 -32
  172. package/tests/server/compiler.test.tsrx +1 -70
  173. package/tests/server/composite.props.test.tsrx +6 -6
  174. package/tests/server/dynamic-elements.test.tsrx +31 -8
  175. package/tests/server/for.test.tsrx +94 -0
  176. package/tests/server/head.test.tsrx +11 -11
  177. package/tests/server/scoped-styles.test.tsrx +2 -2
  178. package/tests/server/streaming-ssr.test.tsrx +48 -43
  179. package/tests/server/track-async-serialization.test.tsrx +204 -21
  180. package/tests/server/try.test.tsrx +48 -48
  181. package/tests/types/transport.ts +40 -0
  182. package/tests/utils/vite-plugin-config.test.js +23 -0
  183. package/types/index.d.ts +48 -7
  184. package/types/server.d.ts +3 -0
  185. package/types/transport.d.ts +15 -0
  186. package/src/runtime/internal/client/switch.js +0 -113
  187. package/src/utils/errors.js +0 -13
  188. package/tests/client/lazy-array.test.tsrx +0 -31
  189. package/tests/client/lazy-destructuring.test.tsrx +0 -438
  190. package/tests/client/tracked-index-access.test.tsrx +0 -113
  191. package/tests/server/lazy-destructuring.test.tsrx +0 -595
  192. package/tests/server/tracked-index-access.test.tsrx +0 -76
@@ -2,408 +2,558 @@
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
4
  var root_1 = _$_.template(`<div class="content"><!></div>`, 0);
5
+
6
+ function consequent(__anchor, { expanded, children }) {
7
+ var div_2 = root_1();
8
+
9
+ {
10
+ var expression = _$_.hydrating ? _$_.hydrate_child() : div_2.firstChild;
11
+
12
+ _$_.expression(expression, () => children);
13
+ _$_.hydrating && _$_.pop(div_2);
14
+ }
15
+
16
+ _$_.append(__anchor, div_2);
17
+ }
18
+
19
+ function if_1({ expanded, children }) {
20
+ if (expanded.value) return consequent;
21
+ }
22
+
5
23
  var root = _$_.template(`<div class="container"><div role="button" class="header">Toggle</div><!></div>`, 0);
24
+
25
+ function IfWithChildren_render(__anchor, __block, { children }) {
26
+ const expanded = _$_.track(true, __block, 'c64714b1');
27
+ var div = root();
28
+
29
+ {
30
+ var div_1 = _$_.hydrating ? _$_.hydrate_child() : div.firstChild;
31
+
32
+ div_1.__click = () => expanded.value = !expanded.value;
33
+
34
+ var node = _$_.hydrating ? _$_.hydrate_sibling() : div_1.nextSibling;
35
+
36
+ _$_.if(node, if_1, false, { expanded, children });
37
+ _$_.hydrating && _$_.pop(div);
38
+ }
39
+
40
+ _$_.append(__anchor, div);
41
+ }
42
+
43
+ IfWithChildren[_$_.$r] = IfWithChildren_render;
44
+
6
45
  var root_2 = _$_.template(`<div class="item"> </div>`, 0);
46
+
47
+ function ChildItem_render(__anchor, __block, { text: label }) {
48
+ var div_3 = root_2();
49
+
50
+ {
51
+ var expression_1 = _$_.hydrating ? _$_.hydrate_text() : div_3.firstChild;
52
+
53
+ expression_1.nodeValue = label;
54
+ }
55
+
56
+ _$_.append(__anchor, div_3);
57
+ }
58
+
59
+ ChildItem[_$_.$r] = ChildItem_render;
60
+
7
61
  var root_3 = _$_.template(`<!><!>`, 1, 2);
62
+
63
+ function TestIfWithChildren_render(__anchor, __block) {
64
+ _$_.render_component(IfWithChildren, __anchor, {
65
+ children: _$_.tsrx_element((__anchor, __block) => {
66
+ var fragment = root_3();
67
+ var node_1 = _$_.first_child_frag(fragment);
68
+
69
+ _$_.render_component(ChildItem, node_1, { text: "Item 1" });
70
+
71
+ var node_2 = _$_.hydrating ? _$_.hydrate_sibling() : node_1.nextSibling;
72
+
73
+ _$_.render_component(ChildItem, node_2, { text: "Item 2" });
74
+ _$_.append(__anchor, fragment);
75
+ })
76
+ });
77
+ }
78
+
79
+ TestIfWithChildren[_$_.$r] = TestIfWithChildren_render;
80
+
8
81
  var root_5 = _$_.template(`<div class="content"><span>Static child 1</span><span>Static child 2</span></div>`, 0);
82
+
83
+ function consequent_1(__anchor, expanded) {
84
+ var div_6 = root_5();
85
+
86
+ _$_.append(__anchor, div_6);
87
+ }
88
+
89
+ function if_2(expanded) {
90
+ if (expanded.value) return consequent_1;
91
+ }
92
+
9
93
  var root_4 = _$_.template(`<div class="container"><div role="button" class="header">Toggle</div><!></div>`, 0);
94
+
95
+ function IfWithStaticChildren_render(__anchor, __block) {
96
+ const expanded = _$_.track(true, __block, '3bba8f77');
97
+ var div_4 = root_4();
98
+
99
+ {
100
+ var div_5 = _$_.hydrating ? _$_.hydrate_child() : div_4.firstChild;
101
+
102
+ div_5.__click = () => expanded.value = !expanded.value;
103
+
104
+ var node_3 = _$_.hydrating ? _$_.hydrate_sibling() : div_5.nextSibling;
105
+
106
+ _$_.if(node_3, if_2, false, expanded);
107
+ _$_.hydrating && _$_.pop(div_4);
108
+ }
109
+
110
+ _$_.append(__anchor, div_4);
111
+ }
112
+
113
+ IfWithStaticChildren[_$_.$r] = IfWithStaticChildren_render;
114
+
10
115
  var root_7 = _$_.template(`<div class="items"><!></div>`, 0);
116
+
117
+ function consequent_2(__anchor, { expanded, children }) {
118
+ var div_8 = root_7();
119
+
120
+ {
121
+ var expression_2 = _$_.hydrating ? _$_.hydrate_child() : div_8.firstChild;
122
+
123
+ _$_.expression(expression_2, () => children);
124
+ _$_.hydrating && _$_.pop(div_8);
125
+ }
126
+
127
+ _$_.append(__anchor, div_8);
128
+ }
129
+
130
+ function if_3({ expanded, children }) {
131
+ if (expanded.value) return consequent_2;
132
+ }
133
+
11
134
  var root_6 = _$_.template(`<section class="group"><div role="button" class="item"><div class="indicator"></div><h2 class="text">Title</h2><div class="caret"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"><path d="m9 18 6-6-6-6"></path></svg></div></div><!></section>`, 0);
135
+
136
+ function IfWithSiblingsAndChildren_render(__anchor, __block, { children }) {
137
+ const expanded = _$_.track(true, __block, 'a1b8fb4c');
138
+ var section = root_6();
139
+
140
+ {
141
+ var div_7 = _$_.hydrating ? _$_.hydrate_child() : section.firstChild;
142
+
143
+ div_7.__click = () => expanded.value = !expanded.value;
144
+ _$_.hydrating && _$_.pop(div_7);
145
+
146
+ var node_4 = _$_.hydrating ? _$_.hydrate_sibling() : div_7.nextSibling;
147
+
148
+ _$_.if(node_4, if_3, false, { expanded, children });
149
+ _$_.hydrating && _$_.pop(section);
150
+ }
151
+
152
+ _$_.append(__anchor, section);
153
+ }
154
+
155
+ IfWithSiblingsAndChildren[_$_.$r] = IfWithSiblingsAndChildren_render;
156
+
12
157
  var root_8 = _$_.template(`<!><!>`, 1, 2);
158
+
159
+ function TestIfWithSiblingsAndChildren_render(__anchor, __block) {
160
+ _$_.render_component(IfWithSiblingsAndChildren, __anchor, {
161
+ children: _$_.tsrx_element((__anchor, __block) => {
162
+ var fragment_1 = root_8();
163
+ var node_5 = _$_.first_child_frag(fragment_1);
164
+
165
+ _$_.render_component(ChildItem, node_5, { text: "Item A" });
166
+
167
+ var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : node_5.nextSibling;
168
+
169
+ _$_.render_component(ChildItem, node_6, { text: "Item B" });
170
+ _$_.append(__anchor, fragment_1);
171
+ })
172
+ });
173
+ }
174
+
175
+ TestIfWithSiblingsAndChildren[_$_.$r] = TestIfWithSiblingsAndChildren_render;
176
+
13
177
  var root_11 = _$_.template(`<div class="conditional">Conditional content</div>`, 0);
178
+
179
+ function consequent_3(__anchor, show) {
180
+ var div_11 = root_11();
181
+
182
+ _$_.append(__anchor, div_11);
183
+ }
184
+
185
+ function if_4(show) {
186
+ if (show.value) return consequent_3;
187
+ }
188
+
14
189
  var root_10 = _$_.template(`<div class="wrapper"><div class="nested-parent"><div class="nested-child"><span class="deep">Deep content</span></div></div><!></div><button class="toggle">Toggle</button>`, 1, 2);
15
190
  var root_9 = _$_.template(`<!>`, 1, 1);
16
- var root_14 = _$_.template(`<footer class="footer">Footer</footer>`, 0);
17
- var root_13 = _$_.template(`<section class="outer"><article class="middle"><div class="inner"><p class="leaf"><strong>Bold</strong><em>Italic</em></p></div></article><!></section><button class="btn">Toggle</button>`, 1, 2);
18
- var root_12 = _$_.template(`<!>`, 1, 1);
19
- var root_16 = _$_.template(`<pre class="code">const x = 1;</pre>`, 0);
20
- var root_17 = _$_.template(`<div class="preview">Preview content</div>`, 0);
21
- var root_15 = _$_.template(`<div class="tabs"><div class="tab-list"><button class="tab">Code</button><button class="tab">Preview</button></div><div class="panel"><!></div></div>`, 0);
22
- var root_19 = _$_.template(`<div class="container"><ul class="list"><li class="item"> </li><li class="item">Another item</li></ul><h2 class="heading">Static Heading</h2><p class="para">Static paragraph</p></div><button class="inc">Increment</button>`, 1, 2);
23
- var root_18 = _$_.template(`<!>`, 1, 1);
24
- var root_20 = _$_.template(`<div class="wrapper"><ul class="features"><li><strong>Feature One</strong>: Description of feature one with <code>code</code> reference</li><li><strong>Feature Two</strong>: Another feature description</li><li><strong>Feature Three</strong>: Third feature</li></ul><h2 class="section-heading">Section Heading</h2><p class="section-content">Static paragraph with <a href="/link">a link</a> and more text.</p></div>`, 0);
25
191
 
26
- import { track } from 'ripple';
192
+ function ElementWithChildrenThenIf_render(__anchor, __block) {
193
+ const show = _$_.track(true, __block, '7cd4817b');
194
+ var fragment_2 = root_9();
195
+ var node_8 = _$_.first_child_frag(fragment_2);
27
196
 
28
- export function IfWithChildren({ children }) {
29
- return _$_.tsrx_element((__anchor, __block) => {
30
- let lazy = _$_.track(true, __block, 'c64714b1');
31
- var div = root();
197
+ _$_.expression(node_8, () => _$_.tsrx_element((__anchor, __block) => {
198
+ var fragment_3 = root_10();
199
+ var div_10 = _$_.first_child_frag(fragment_3);
32
200
 
33
201
  {
34
- var div_1 = _$_.hydrating ? _$_.hydrate_child() : div.firstChild;
202
+ var div_9 = _$_.hydrating ? _$_.hydrate_child() : div_10.firstChild;
203
+ var node_7 = _$_.hydrating ? _$_.hydrate_sibling() : div_9.nextSibling;
35
204
 
36
- div_1.__click = () => _$_.set(lazy, !lazy.value);
205
+ _$_.if(node_7, if_4, false, show);
206
+ _$_.hydrating && _$_.pop(div_10);
207
+ }
37
208
 
38
- var node = _$_.hydrating ? _$_.hydrate_sibling() : div_1.nextSibling;
209
+ var button = _$_.hydrating ? _$_.hydrate_sibling() : div_10.nextSibling;
39
210
 
40
- {
41
- var consequent = (__anchor) => {
42
- var div_2 = root_1();
211
+ button.__click = () => show.value = !show.value;
212
+ _$_.append(__anchor, fragment_3);
213
+ }));
43
214
 
44
- {
45
- var expression = _$_.hydrating ? _$_.hydrate_child() : div_2.firstChild;
215
+ _$_.append(__anchor, fragment_2);
216
+ }
46
217
 
47
- _$_.expression(expression, () => children);
48
- _$_.pop(div_2);
49
- }
218
+ ElementWithChildrenThenIf[_$_.$r] = ElementWithChildrenThenIf_render;
50
219
 
51
- _$_.append(__anchor, div_2);
52
- };
220
+ var root_14 = _$_.template(`<footer class="footer">Footer</footer>`, 0);
53
221
 
54
- _$_.if(node, (__render) => {
55
- if (lazy.value) __render(consequent);
56
- });
57
- }
222
+ function consequent_4(__anchor, visible) {
223
+ var footer = root_14();
58
224
 
59
- _$_.pop(div);
60
- }
225
+ _$_.append(__anchor, footer);
226
+ }
61
227
 
62
- _$_.append(__anchor, div);
63
- });
228
+ function if_5(visible) {
229
+ if (visible.value) return consequent_4;
64
230
  }
65
231
 
66
- export function ChildItem({ text: label }) {
67
- return _$_.tsrx_element((__anchor, __block) => {
68
- var div_3 = root_2();
232
+ var root_13 = _$_.template(`<section class="outer"><article class="middle"><div class="inner"><p class="leaf"><strong>Bold</strong><em>Italic</em></p></div></article><!></section><button class="btn">Toggle</button>`, 1, 2);
233
+ var root_12 = _$_.template(`<!>`, 1, 1);
234
+
235
+ function DeepNestingThenIf_render(__anchor, __block) {
236
+ const visible = _$_.track(true, __block, '923116be');
237
+ var fragment_4 = root_12();
238
+ var node_10 = _$_.first_child_frag(fragment_4);
239
+
240
+ _$_.expression(node_10, () => _$_.tsrx_element((__anchor, __block) => {
241
+ var fragment_5 = root_13();
242
+ var section_1 = _$_.first_child_frag(fragment_5);
69
243
 
70
244
  {
71
- var expression_1 = _$_.hydrating ? _$_.hydrate_child(true) : div_3.firstChild;
245
+ var article = _$_.hydrating ? _$_.hydrate_child() : section_1.firstChild;
246
+ var node_9 = _$_.hydrating ? _$_.hydrate_sibling() : article.nextSibling;
72
247
 
73
- expression_1.nodeValue = label;
74
- _$_.pop(div_3);
248
+ _$_.if(node_9, if_5, false, visible);
249
+ _$_.hydrating && _$_.pop(section_1);
75
250
  }
76
251
 
77
- _$_.append(__anchor, div_3);
78
- });
252
+ var button_1 = _$_.hydrating ? _$_.hydrate_sibling() : section_1.nextSibling;
253
+
254
+ button_1.__click = () => visible.value = !visible.value;
255
+ _$_.append(__anchor, fragment_5);
256
+ }));
257
+
258
+ _$_.append(__anchor, fragment_4);
79
259
  }
80
260
 
81
- export function TestIfWithChildren() {
82
- return _$_.tsrx_element((__anchor, __block) => {
83
- _$_.render_component(IfWithChildren, __anchor, {
84
- children: _$_.tsrx_element((__anchor, __block) => {
85
- var fragment = root_3();
86
- var node_1 = _$_.first_child_frag(fragment);
261
+ DeepNestingThenIf[_$_.$r] = DeepNestingThenIf_render;
87
262
 
88
- _$_.render_component(ChildItem, node_1, { text: "Item 1" });
263
+ var root_16 = _$_.template(`<pre class="code">const x = 1;</pre>`, 0);
264
+ var root_17 = _$_.template(`<div class="preview">Preview content</div>`, 0);
89
265
 
90
- var node_2 = _$_.hydrating ? _$_.hydrate_sibling() : node_1.nextSibling;
266
+ function consequent_5(__anchor, activeTab) {
267
+ var pre = root_16();
91
268
 
92
- _$_.render_component(ChildItem, node_2, { text: "Item 2" });
93
- _$_.append(__anchor, fragment);
94
- })
95
- });
96
- });
269
+ _$_.append(__anchor, pre);
97
270
  }
98
271
 
99
- export function IfWithStaticChildren() {
100
- return _$_.tsrx_element((__anchor, __block) => {
101
- let lazy_1 = _$_.track(true, __block, '3bba8f77');
102
- var div_4 = root_4();
272
+ function alternate(__anchor, activeTab) {
273
+ var div_15 = root_17();
103
274
 
104
- {
105
- var div_5 = _$_.hydrating ? _$_.hydrate_child() : div_4.firstChild;
106
-
107
- div_5.__click = () => _$_.set(lazy_1, !lazy_1.value);
275
+ _$_.append(__anchor, div_15);
276
+ }
108
277
 
109
- var node_3 = _$_.hydrating ? _$_.hydrate_sibling() : div_5.nextSibling;
278
+ function if_6(activeTab) {
279
+ if (activeTab.value === 'code') return consequent_5; else return alternate;
280
+ }
110
281
 
111
- {
112
- var consequent_1 = (__anchor) => {
113
- var div_6 = root_5();
282
+ var root_15 = _$_.template(`<div class="tabs"><div class="tab-list"><button class="tab">Code</button><button class="tab">Preview</button></div><div class="panel"><!></div></div>`, 0);
114
283
 
115
- _$_.append(__anchor, div_6);
116
- };
284
+ function render(__prev) {
285
+ var __a = __prev._activeTab.value === 'code' ? 'true' : 'false';
117
286
 
118
- _$_.if(node_3, (__render) => {
119
- if (lazy_1.value) __render(consequent_1);
120
- });
121
- }
287
+ if (__prev.a !== __a) {
288
+ _$_.set_attribute(__prev._button_2, 'aria-selected', __prev.a = __a);
289
+ }
122
290
 
123
- _$_.pop(div_4);
124
- }
291
+ var __b = __prev._activeTab.value === 'preview' ? 'true' : 'false';
125
292
 
126
- _$_.append(__anchor, div_4);
127
- });
293
+ if (__prev.b !== __b) {
294
+ _$_.set_attribute(__prev._button_3, 'aria-selected', __prev.b = __b);
295
+ }
128
296
  }
129
297
 
130
- export function IfWithSiblingsAndChildren({ children }) {
131
- return _$_.tsrx_element((__anchor, __block) => {
132
- let lazy_2 = _$_.track(true, __block, 'a1b8fb4c');
133
- var section = root_6();
298
+ function DomElementChildrenThenSibling_render(__anchor, __block) {
299
+ const activeTab = _$_.track('code', __block, '33a1e97f');
300
+ var div_12 = root_15();
301
+
302
+ {
303
+ var div_13 = _$_.hydrating ? _$_.hydrate_child() : div_12.firstChild;
134
304
 
135
305
  {
136
- var div_7 = _$_.hydrating ? _$_.hydrate_child() : section.firstChild;
306
+ var button_2 = _$_.hydrating ? _$_.hydrate_child() : div_13.firstChild;
137
307
 
138
- div_7.__click = () => _$_.set(lazy_2, !lazy_2.value);
139
- _$_.pop(div_7);
308
+ button_2.__click = () => activeTab.value = 'code';
140
309
 
141
- var node_4 = _$_.hydrating ? _$_.hydrate_sibling() : div_7.nextSibling;
310
+ var button_3 = _$_.hydrating ? _$_.hydrate_sibling() : button_2.nextSibling;
142
311
 
143
- {
144
- var consequent_2 = (__anchor) => {
145
- var div_8 = root_7();
146
-
147
- {
148
- var expression_2 = _$_.hydrating ? _$_.hydrate_child() : div_8.firstChild;
312
+ button_3.__click = () => activeTab.value = 'preview';
313
+ }
149
314
 
150
- _$_.expression(expression_2, () => children);
151
- _$_.pop(div_8);
152
- }
315
+ _$_.hydrating && _$_.pop(div_13);
153
316
 
154
- _$_.append(__anchor, div_8);
155
- };
317
+ var div_14 = _$_.hydrating ? _$_.hydrate_sibling() : div_13.nextSibling;
156
318
 
157
- _$_.if(node_4, (__render) => {
158
- if (lazy_2.value) __render(consequent_2);
159
- });
160
- }
319
+ {
320
+ var node_11 = _$_.hydrating ? _$_.hydrate_child() : div_14.firstChild;
161
321
 
162
- _$_.pop(section);
322
+ _$_.if(node_11, if_6, false, activeTab);
323
+ _$_.hydrating && _$_.pop(div_14);
163
324
  }
164
-
165
- _$_.append(__anchor, section);
325
+ }
326
+
327
+ _$_.render(render, {
328
+ a: void 0,
329
+ b: void 0,
330
+ _activeTab: activeTab,
331
+ _button_2: button_2,
332
+ _button_3: button_3
166
333
  });
334
+
335
+ _$_.append(__anchor, div_12);
167
336
  }
168
337
 
169
- export function TestIfWithSiblingsAndChildren() {
170
- return _$_.tsrx_element((__anchor, __block) => {
171
- _$_.render_component(IfWithSiblingsAndChildren, __anchor, {
172
- children: _$_.tsrx_element((__anchor, __block) => {
173
- var fragment_1 = root_8();
174
- var node_5 = _$_.first_child_frag(fragment_1);
338
+ DomElementChildrenThenSibling[_$_.$r] = DomElementChildrenThenSibling_render;
175
339
 
176
- _$_.render_component(ChildItem, node_5, { text: "Item A" });
340
+ var root_19 = _$_.template(`<div class="container"><ul class="list"><li class="item"> </li><li class="item">Another item</li></ul><h2 class="heading">Static Heading</h2><p class="para">Static paragraph</p></div><button class="inc">Increment</button>`, 1, 2);
177
341
 
178
- var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : node_5.nextSibling;
342
+ function render_1(__prev) {
343
+ var __a = 'Item count: ' + String(__prev._count.value ?? '');
179
344
 
180
- _$_.render_component(ChildItem, node_6, { text: "Item B" });
181
- _$_.append(__anchor, fragment_1);
182
- })
183
- });
184
- });
345
+ if (__prev.a !== __a) {
346
+ _$_.set_text(__prev._expression_3, __prev.a = __a);
347
+ }
185
348
  }
186
349
 
187
- export function ElementWithChildrenThenIf() {
188
- return _$_.tsrx_element((__anchor, __block) => {
189
- let lazy_3 = _$_.track(true, __block, '7cd4817b');
190
- var fragment_2 = root_9();
191
- var node_8 = _$_.first_child_frag(fragment_2);
350
+ var root_18 = _$_.template(`<!>`, 1, 1);
192
351
 
193
- _$_.expression(node_8, () => _$_.tsrx_element((__anchor, __block) => {
194
- var fragment_3 = root_10();
195
- var div_10 = _$_.first_child_frag(fragment_3);
352
+ function DomChildrenThenStaticSiblings_render(__anchor, __block) {
353
+ const count = _$_.track(0, __block, '0ea64305');
354
+ var fragment_6 = root_18();
355
+ var node_12 = _$_.first_child_frag(fragment_6);
196
356
 
197
- {
198
- var div_9 = _$_.hydrating ? _$_.hydrate_child() : div_10.firstChild;
357
+ _$_.expression(node_12, () => _$_.tsrx_element((__anchor, __block) => {
358
+ var fragment_7 = root_19();
359
+ var div_16 = _$_.first_child_frag(fragment_7);
199
360
 
200
- _$_.pop(div_9);
361
+ {
362
+ var ul = _$_.hydrating ? _$_.hydrate_child() : div_16.firstChild;
201
363
 
202
- var node_7 = _$_.hydrating ? _$_.hydrate_sibling() : div_9.nextSibling;
364
+ {
365
+ var li = _$_.hydrating ? _$_.hydrate_child() : ul.firstChild;
203
366
 
204
367
  {
205
- var consequent_3 = (__anchor) => {
206
- var div_11 = root_11();
207
-
208
- _$_.append(__anchor, div_11);
209
- };
210
-
211
- _$_.if(node_7, (__render) => {
212
- if (lazy_3.value) __render(consequent_3);
213
- });
368
+ var expression_3 = _$_.hydrating ? _$_.hydrate_text() : li.firstChild;
214
369
  }
215
-
216
- _$_.pop(div_10);
217
370
  }
218
371
 
219
- var button = _$_.hydrating ? _$_.hydrate_sibling() : div_10.nextSibling;
372
+ _$_.hydrating && _$_.pop(ul);
373
+ }
220
374
 
221
- button.__click = () => _$_.set(lazy_3, !lazy_3.value);
222
- _$_.next();
223
- _$_.append(__anchor, fragment_3, true);
224
- }));
375
+ _$_.hydrating && _$_.pop(div_16);
225
376
 
226
- _$_.append(__anchor, fragment_2);
227
- });
377
+ var button_4 = _$_.hydrating ? _$_.hydrate_sibling() : div_16.nextSibling;
378
+
379
+ button_4.__click = () => count.value++;
380
+ _$_.render(render_1, { a: ' ', _count: count, _expression_3: expression_3 });
381
+ _$_.append(__anchor, fragment_7);
382
+ }));
383
+
384
+ _$_.append(__anchor, fragment_6);
228
385
  }
229
386
 
230
- export function DeepNestingThenIf() {
231
- return _$_.tsrx_element((__anchor, __block) => {
232
- let lazy_4 = _$_.track(true, __block, '923116be');
233
- var fragment_4 = root_12();
234
- var node_10 = _$_.first_child_frag(fragment_4);
387
+ DomChildrenThenStaticSiblings[_$_.$r] = DomChildrenThenStaticSiblings_render;
235
388
 
236
- _$_.expression(node_10, () => _$_.tsrx_element((__anchor, __block) => {
237
- var fragment_5 = root_13();
238
- var section_1 = _$_.first_child_frag(fragment_5);
389
+ var root_20 = _$_.template(`<div class="wrapper"><ul class="features"><li><strong>Feature One</strong>: Description of feature one with <code>code</code> reference</li><li><strong>Feature Two</strong>: Another feature description</li><li><strong>Feature Three</strong>: Third feature</li></ul><h2 class="section-heading">Section Heading</h2><p class="section-content">Static paragraph with <a href="/link">a link</a> and more text.</p></div>`, 0);
239
390
 
240
- {
241
- var article = _$_.hydrating ? _$_.hydrate_child() : section_1.firstChild;
391
+ function StaticListThenStaticSiblings_render(__anchor, __block) {
392
+ var div_17 = root_20();
242
393
 
243
- _$_.pop(article);
394
+ _$_.append(__anchor, div_17);
395
+ }
244
396
 
245
- var node_9 = _$_.hydrating ? _$_.hydrate_sibling() : article.nextSibling;
397
+ StaticListThenStaticSiblings[_$_.$r] = StaticListThenStaticSiblings_render;
246
398
 
247
- {
248
- var consequent_4 = (__anchor) => {
249
- var footer = root_14();
399
+ var root_21 = _$_.template(`<span class="root-if">on</span>`, 0);
400
+ var root_22 = _$_.template(`<span class="root-if">off</span>`, 0);
250
401
 
251
- _$_.append(__anchor, footer);
252
- };
402
+ function consequent_6(__anchor, props) {
403
+ var span = root_21();
253
404
 
254
- _$_.if(node_9, (__render) => {
255
- if (lazy_4.value) __render(consequent_4);
256
- });
257
- }
405
+ _$_.append(__anchor, span);
406
+ }
258
407
 
259
- _$_.pop(section_1);
260
- }
408
+ function alternate_1(__anchor, props) {
409
+ var span_1 = root_22();
261
410
 
262
- var button_1 = _$_.hydrating ? _$_.hydrate_sibling() : section_1.nextSibling;
411
+ _$_.append(__anchor, span_1);
412
+ }
263
413
 
264
- button_1.__click = () => _$_.set(lazy_4, !lazy_4.value);
265
- _$_.next();
266
- _$_.append(__anchor, fragment_5, true);
267
- }));
414
+ function if_7(props) {
415
+ if (props.on.value) return consequent_6; else return alternate_1;
416
+ }
268
417
 
269
- _$_.append(__anchor, fragment_4);
270
- });
418
+ function RootIfChild_render(__anchor, __block, props) {
419
+ _$_.if(__anchor, if_7, true, props);
271
420
  }
272
421
 
273
- export function DomElementChildrenThenSibling() {
274
- return _$_.tsrx_element((__anchor, __block) => {
275
- let lazy_5 = _$_.track('code', __block, '33a1e97f');
276
- var div_12 = root_15();
422
+ RootIfChild[_$_.$r] = RootIfChild_render;
277
423
 
278
- {
279
- var div_13 = _$_.hydrating ? _$_.hydrate_child() : div_12.firstChild;
424
+ var root_23 = _$_.template(`<span class="root-for"> </span>`, 0);
280
425
 
281
- {
282
- var button_2 = _$_.hydrating ? _$_.hydrate_child() : div_13.firstChild;
426
+ function render_2(__prev) {
427
+ var __a = _$_.get(__prev._pattern);
283
428
 
284
- button_2.__click = () => _$_.set(lazy_5, 'code');
429
+ if (__prev.a !== __a) {
430
+ _$_.set_text(__prev._expression_4, __prev.a = __a);
431
+ }
432
+ }
285
433
 
286
- var button_3 = _$_.hydrating ? _$_.hydrate_sibling() : button_2.nextSibling;
434
+ function RootForChild_render(__anchor, __block, props) {
435
+ _$_.for_keyed(
436
+ __anchor,
437
+ () => props.items.value,
438
+ (__anchor, pattern) => {
439
+ var span_2 = root_23();
287
440
 
288
- button_3.__click = () => _$_.set(lazy_5, 'preview');
441
+ {
442
+ var expression_4 = _$_.hydrating ? _$_.hydrate_text() : span_2.firstChild;
289
443
  }
290
444
 
291
- _$_.pop(div_13);
445
+ _$_.render(render_2, { a: ' ', _pattern: pattern, _expression_4: expression_4 });
446
+ _$_.append(__anchor, span_2);
447
+ },
448
+ 16
449
+ );
450
+ }
292
451
 
293
- var div_14 = _$_.hydrating ? _$_.hydrate_sibling() : div_13.nextSibling;
452
+ RootForChild[_$_.$r] = RootForChild_render;
294
453
 
295
- {
296
- var node_11 = _$_.hydrating ? _$_.hydrate_child() : div_14.firstChild;
454
+ var root_24 = _$_.template(`<span class="trailing">end</span>`, 0);
297
455
 
298
- {
299
- var consequent_5 = (__anchor) => {
300
- var pre = root_16();
456
+ function TrailingChild_render(__anchor, __block) {
457
+ var span_3 = root_24();
301
458
 
302
- _$_.append(__anchor, pre);
303
- };
459
+ _$_.append(__anchor, span_3);
460
+ }
304
461
 
305
- var alternate = (__anchor) => {
306
- var div_15 = root_17();
462
+ TrailingChild[_$_.$r] = TrailingChild_render;
307
463
 
308
- _$_.append(__anchor, div_15);
309
- };
464
+ var root_25 = _$_.template(`<div class="wrapper"><div class="host"></div><button class="toggle">Toggle</button><button class="rotate">Rotate</button></div>`, 0);
310
465
 
311
- _$_.if(node_11, (__render) => {
312
- if (lazy_5.value === 'code') __render(consequent_5); else __render(alternate, false);
313
- });
314
- }
466
+ function ComponentChildrenWithControlFlowRoots_render(__anchor, __block) {
467
+ const on = _$_.track(true, __block, 'f3e4c6ee');
468
+ const items = _$_.track([1, 2, 3], __block, '2bbbeeb0');
469
+ var div_18 = root_25();
315
470
 
316
- _$_.pop(div_14);
317
- }
471
+ {
472
+ var div_19 = _$_.hydrating ? _$_.hydrate_child() : div_18.firstChild;
473
+
474
+ {
475
+ var append_anchor = _$_.append_into(div_19);
476
+
477
+ _$_.render_component(RootIfChild, append_anchor, { on });
478
+ _$_.render_component(RootForChild, append_anchor, { items });
479
+ _$_.render_component(TrailingChild, append_anchor, {});
480
+ _$_.hydrating && _$_.pop(div_19);
318
481
  }
319
482
 
320
- _$_.render(
321
- (__prev) => {
322
- var __a = lazy_5.value === 'code' ? 'true' : 'false';
483
+ var button_5 = _$_.hydrating ? _$_.hydrate_sibling() : div_19.nextSibling;
323
484
 
324
- if (__prev.a !== __a) {
325
- _$_.set_attribute(button_2, 'aria-selected', __prev.a = __a);
326
- }
485
+ button_5.__click = () => on.value = !on.value;
327
486
 
328
- var __b = lazy_5.value === 'preview' ? 'true' : 'false';
487
+ var button_6 = _$_.hydrating ? _$_.hydrate_sibling() : button_5.nextSibling;
329
488
 
330
- if (__prev.b !== __b) {
331
- _$_.set_attribute(button_3, 'aria-selected', __prev.b = __b);
332
- }
333
- },
334
- { a: void 0, b: void 0 }
335
- );
489
+ button_6.__click = () => items.value = [items.value[1], items.value[2], items.value[0]];
490
+ }
336
491
 
337
- _$_.append(__anchor, div_12);
338
- });
492
+ _$_.append(__anchor, div_18);
339
493
  }
340
494
 
341
- export function DomChildrenThenStaticSiblings() {
342
- return _$_.tsrx_element((__anchor, __block) => {
343
- let lazy_6 = _$_.track(0, __block, '0ea64305');
344
- var fragment_6 = root_18();
345
- var node_12 = _$_.first_child_frag(fragment_6);
346
-
347
- _$_.expression(node_12, () => _$_.tsrx_element((__anchor, __block) => {
348
- var fragment_7 = root_19();
349
- var div_16 = _$_.first_child_frag(fragment_7);
495
+ ComponentChildrenWithControlFlowRoots[_$_.$r] = ComponentChildrenWithControlFlowRoots_render;
350
496
 
351
- {
352
- var ul = _$_.hydrating ? _$_.hydrate_child() : div_16.firstChild;
497
+ import { track } from 'ripple';
353
498
 
354
- {
355
- var li = _$_.hydrating ? _$_.hydrate_child() : ul.firstChild;
499
+ export function IfWithChildren(__props) {
500
+ return _$_.tsrx_element(IfWithChildren_render, __props);
501
+ }
356
502
 
357
- {
358
- var expression_3 = _$_.hydrating ? _$_.hydrate_child(true) : li.firstChild;
503
+ export function ChildItem(__props) {
504
+ return _$_.tsrx_element(ChildItem_render, __props);
505
+ }
359
506
 
360
- _$_.pop(li);
361
- }
362
- }
507
+ export function TestIfWithChildren() {
508
+ return _$_.tsrx_element(TestIfWithChildren_render);
509
+ }
363
510
 
364
- _$_.pop(ul);
365
- }
511
+ export function IfWithStaticChildren() {
512
+ return _$_.tsrx_element(IfWithStaticChildren_render);
513
+ }
366
514
 
367
- _$_.pop(div_16);
515
+ export function IfWithSiblingsAndChildren(__props) {
516
+ return _$_.tsrx_element(IfWithSiblingsAndChildren_render, __props);
517
+ }
368
518
 
369
- var button_4 = _$_.hydrating ? _$_.hydrate_sibling() : div_16.nextSibling;
519
+ export function TestIfWithSiblingsAndChildren() {
520
+ return _$_.tsrx_element(TestIfWithSiblingsAndChildren_render);
521
+ }
370
522
 
371
- button_4.__click = () => _$_.update(lazy_6);
372
- _$_.next();
523
+ export function ElementWithChildrenThenIf() {
524
+ return _$_.tsrx_element(ElementWithChildrenThenIf_render);
525
+ }
373
526
 
374
- _$_.render(() => {
375
- _$_.set_text(expression_3, 'Item count: ' + _$_.with_scope(__block, () => String(lazy_6.value ?? '')));
376
- });
527
+ export function DeepNestingThenIf() {
528
+ return _$_.tsrx_element(DeepNestingThenIf_render);
529
+ }
377
530
 
378
- _$_.append(__anchor, fragment_7, true);
379
- }));
531
+ export function DomElementChildrenThenSibling() {
532
+ return _$_.tsrx_element(DomElementChildrenThenSibling_render);
533
+ }
380
534
 
381
- _$_.append(__anchor, fragment_6);
382
- });
535
+ export function DomChildrenThenStaticSiblings() {
536
+ return _$_.tsrx_element(DomChildrenThenStaticSiblings_render);
383
537
  }
384
538
 
385
539
  export function StaticListThenStaticSiblings() {
386
- return _$_.tsrx_element((__anchor, __block) => {
387
- var div_17 = root_20();
388
-
389
- {
390
- var ul_1 = _$_.hydrating ? _$_.hydrate_child() : div_17.firstChild;
391
-
392
- {
393
- var li_1 = _$_.hydrating ? _$_.hydrate_child() : ul_1.firstChild;
394
-
395
- _$_.pop(li_1);
540
+ return _$_.tsrx_element(StaticListThenStaticSiblings_render);
541
+ }
396
542
 
397
- var li_2 = _$_.hydrating ? _$_.hydrate_sibling() : li_1.nextSibling;
543
+ function RootIfChild(props) {
544
+ return _$_.tsrx_element(RootIfChild_render, props);
545
+ }
398
546
 
399
- _$_.pop(li_2);
400
- }
547
+ function RootForChild(props) {
548
+ return _$_.tsrx_element(RootForChild_render, props);
549
+ }
401
550
 
402
- _$_.pop(ul_1);
403
- }
551
+ function TrailingChild() {
552
+ return _$_.tsrx_element(TrailingChild_render);
553
+ }
404
554
 
405
- _$_.append(__anchor, div_17);
406
- });
555
+ export function ComponentChildrenWithControlFlowRoots() {
556
+ return _$_.tsrx_element(ComponentChildrenWithControlFlowRoots_render);
407
557
  }
408
558
 
409
559
  _$_.delegate(['click']);