ripple 0.3.68 → 0.3.70

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 (182) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/package.json +3 -3
  3. package/src/jsx-runtime.d.ts +2 -2
  4. package/src/runtime/element.js +1 -1
  5. package/src/runtime/index-client.js +11 -11
  6. package/src/runtime/index-server.js +7 -4
  7. package/src/runtime/internal/client/bindings.js +1 -1
  8. package/src/runtime/internal/client/blocks.js +13 -4
  9. package/src/runtime/internal/client/component.js +55 -0
  10. package/src/runtime/internal/client/composite.js +4 -2
  11. package/src/runtime/internal/client/expression.js +65 -7
  12. package/src/runtime/internal/client/hmr.js +54 -43
  13. package/src/runtime/internal/client/index.js +5 -1
  14. package/src/runtime/internal/client/portal.js +70 -69
  15. package/src/runtime/internal/client/render.js +3 -0
  16. package/src/runtime/internal/server/index.js +92 -8
  17. package/tests/client/__snapshots__/html.test.tsrx.snap +3 -3
  18. package/tests/client/array/array.copy-within.test.tsrx +33 -31
  19. package/tests/client/array/array.derived.test.tsrx +186 -169
  20. package/tests/client/array/array.iteration.test.tsrx +40 -37
  21. package/tests/client/array/array.mutations.test.tsrx +113 -101
  22. package/tests/client/array/array.static.test.tsrx +119 -101
  23. package/tests/client/array/array.to-methods.test.tsrx +24 -21
  24. package/tests/client/async-suspend.test.tsrx +247 -246
  25. package/tests/client/basic/__snapshots__/basic.rendering.test.tsrx.snap +0 -1
  26. package/tests/client/basic/basic.attributes.test.tsrx +428 -423
  27. package/tests/client/basic/basic.collections.test.tsrx +109 -102
  28. package/tests/client/basic/basic.components.test.tsrx +323 -205
  29. package/tests/client/basic/basic.errors.test.tsrx +91 -91
  30. package/tests/client/basic/basic.events.test.tsrx +114 -115
  31. package/tests/client/basic/basic.get-set.test.tsrx +97 -87
  32. package/tests/client/basic/basic.hmr.test.tsrx +19 -16
  33. package/tests/client/basic/basic.reactivity.test.tsrx +199 -191
  34. package/tests/client/basic/basic.rendering.test.tsrx +272 -182
  35. package/tests/client/basic/basic.styling.test.tsrx +23 -22
  36. package/tests/client/basic/basic.utilities.test.tsrx +10 -8
  37. package/tests/client/boundaries.test.tsrx +26 -26
  38. package/tests/client/compiler/__snapshots__/compiler.assignments.test.rsrx.snap +5 -5
  39. package/tests/client/compiler/__snapshots__/compiler.assignments.test.tsrx.snap +5 -5
  40. package/tests/client/compiler/compiler.assignments.test.tsrx +77 -81
  41. package/tests/client/compiler/compiler.attributes.test.tsrx +15 -15
  42. package/tests/client/compiler/compiler.basic.test.tsrx +322 -314
  43. package/tests/client/compiler/compiler.regex.test.tsrx +44 -47
  44. package/tests/client/compiler/compiler.tracked-access.test.tsrx +38 -38
  45. package/tests/client/compiler/compiler.try-in-function.test.tsrx +16 -16
  46. package/tests/client/compiler/compiler.typescript.test.tsrx +2 -2
  47. package/tests/client/composite/composite.dynamic-components.test.tsrx +47 -48
  48. package/tests/client/composite/composite.generics.test.tsrx +168 -192
  49. package/tests/client/composite/composite.props.test.tsrx +97 -81
  50. package/tests/client/composite/composite.reactivity.test.tsrx +177 -147
  51. package/tests/client/composite/composite.render.test.tsrx +122 -105
  52. package/tests/client/computed-properties.test.tsrx +28 -28
  53. package/tests/client/context.test.tsrx +21 -21
  54. package/tests/client/css/global-additional-cases.test.tsrx +58 -58
  55. package/tests/client/css/global-advanced-selectors.test.tsrx +16 -16
  56. package/tests/client/css/global-at-rules.test.tsrx +10 -10
  57. package/tests/client/css/global-basic.test.tsrx +14 -14
  58. package/tests/client/css/global-classes-ids.test.tsrx +14 -14
  59. package/tests/client/css/global-combinators.test.tsrx +10 -10
  60. package/tests/client/css/global-complex-nesting.test.tsrx +14 -14
  61. package/tests/client/css/global-edge-cases.test.tsrx +18 -18
  62. package/tests/client/css/global-keyframes.test.tsrx +12 -12
  63. package/tests/client/css/global-nested.test.tsrx +10 -10
  64. package/tests/client/css/global-pseudo.test.tsrx +12 -12
  65. package/tests/client/css/global-scoping.test.tsrx +20 -20
  66. package/tests/client/css/style-identifier.test.tsrx +126 -259
  67. package/tests/client/date.test.tsrx +146 -133
  68. package/tests/client/dynamic-elements.test.tsrx +398 -365
  69. package/tests/client/events.test.tsrx +292 -290
  70. package/tests/client/for.test.tsrx +156 -153
  71. package/tests/client/head.test.tsrx +105 -96
  72. package/tests/client/html.test.tsrx +122 -26
  73. package/tests/client/input-value.test.tsrx +1361 -1314
  74. package/tests/client/lazy-array.test.tsrx +16 -13
  75. package/tests/client/lazy-destructuring.test.tsrx +257 -213
  76. package/tests/client/map.test.tsrx +65 -60
  77. package/tests/client/media-query.test.tsrx +22 -20
  78. package/tests/client/object.test.tsrx +87 -81
  79. package/tests/client/portal.test.tsrx +57 -51
  80. package/tests/client/ref.test.tsrx +233 -202
  81. package/tests/client/return.test.tsrx +71 -2560
  82. package/tests/client/set.test.tsrx +54 -45
  83. package/tests/client/svg.test.tsrx +216 -186
  84. package/tests/client/switch.test.tsrx +194 -193
  85. package/tests/client/track-async-hydration.test.tsrx +18 -14
  86. package/tests/client/tracked-index-access.test.tsrx +28 -18
  87. package/tests/client/try.test.tsrx +675 -548
  88. package/tests/client/tsx.test.tsrx +373 -311
  89. package/tests/client/typescript-generics.test.tsrx +145 -145
  90. package/tests/client/url/url.derived.test.tsrx +33 -28
  91. package/tests/client/url/url.parsing.test.tsrx +61 -51
  92. package/tests/client/url/url.partial-removal.test.tsrx +56 -48
  93. package/tests/client/url/url.reactivity.test.tsrx +142 -125
  94. package/tests/client/url/url.serialization.test.tsrx +13 -11
  95. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +34 -29
  96. package/tests/client/url-search-params/url-search-params.initialization.test.tsrx +25 -21
  97. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +50 -45
  98. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +111 -99
  99. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +49 -43
  100. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +14 -12
  101. package/tests/client/url-search-params/url-search-params.tracked-url.test.tsrx +16 -14
  102. package/tests/hydration/basic.test.js +3 -3
  103. package/tests/hydration/compiled/client/basic.js +586 -651
  104. package/tests/hydration/compiled/client/composite.js +79 -104
  105. package/tests/hydration/compiled/client/events.js +140 -148
  106. package/tests/hydration/compiled/client/for.js +1005 -1018
  107. package/tests/hydration/compiled/client/head.js +124 -134
  108. package/tests/hydration/compiled/client/hmr.js +41 -48
  109. package/tests/hydration/compiled/client/html-in-template.js +38 -41
  110. package/tests/hydration/compiled/client/html.js +970 -1314
  111. package/tests/hydration/compiled/client/if-children.js +234 -249
  112. package/tests/hydration/compiled/client/if.js +182 -189
  113. package/tests/hydration/compiled/client/mixed-control-flow.js +347 -303
  114. package/tests/hydration/compiled/client/nested-control-flow.js +1084 -832
  115. package/tests/hydration/compiled/client/portal.js +65 -85
  116. package/tests/hydration/compiled/client/reactivity.js +84 -90
  117. package/tests/hydration/compiled/client/return.js +38 -1939
  118. package/tests/hydration/compiled/client/switch.js +218 -224
  119. package/tests/hydration/compiled/client/track-async-serialization.js +250 -259
  120. package/tests/hydration/compiled/client/try.js +123 -132
  121. package/tests/hydration/compiled/server/basic.js +773 -831
  122. package/tests/hydration/compiled/server/composite.js +166 -191
  123. package/tests/hydration/compiled/server/events.js +170 -184
  124. package/tests/hydration/compiled/server/for.js +851 -909
  125. package/tests/hydration/compiled/server/head.js +206 -216
  126. package/tests/hydration/compiled/server/hmr.js +64 -72
  127. package/tests/hydration/compiled/server/html-in-template.js +42 -76
  128. package/tests/hydration/compiled/server/html.js +1362 -1667
  129. package/tests/hydration/compiled/server/if-children.js +419 -445
  130. package/tests/hydration/compiled/server/if.js +194 -208
  131. package/tests/hydration/compiled/server/mixed-control-flow.js +249 -257
  132. package/tests/hydration/compiled/server/nested-control-flow.js +491 -515
  133. package/tests/hydration/compiled/server/portal.js +152 -160
  134. package/tests/hydration/compiled/server/reactivity.js +94 -106
  135. package/tests/hydration/compiled/server/return.js +28 -2172
  136. package/tests/hydration/compiled/server/switch.js +274 -286
  137. package/tests/hydration/compiled/server/track-async-serialization.js +340 -358
  138. package/tests/hydration/compiled/server/try.js +167 -185
  139. package/tests/hydration/components/basic.tsrx +320 -272
  140. package/tests/hydration/components/composite.tsrx +44 -32
  141. package/tests/hydration/components/events.tsrx +101 -91
  142. package/tests/hydration/components/for.tsrx +510 -452
  143. package/tests/hydration/components/head.tsrx +87 -80
  144. package/tests/hydration/components/hmr.tsrx +22 -17
  145. package/tests/hydration/components/html-in-template.tsrx +22 -17
  146. package/tests/hydration/components/html.tsrx +525 -443
  147. package/tests/hydration/components/if-children.tsrx +158 -148
  148. package/tests/hydration/components/if.tsrx +109 -95
  149. package/tests/hydration/components/mixed-control-flow.tsrx +100 -96
  150. package/tests/hydration/components/nested-control-flow.tsrx +215 -203
  151. package/tests/hydration/components/portal.tsrx +41 -34
  152. package/tests/hydration/components/reactivity.tsrx +37 -27
  153. package/tests/hydration/components/return.tsrx +12 -556
  154. package/tests/hydration/components/switch.tsrx +120 -114
  155. package/tests/hydration/components/track-async-serialization.tsrx +107 -91
  156. package/tests/hydration/components/try.tsrx +55 -40
  157. package/tests/hydration/html.test.js +4 -4
  158. package/tests/hydration/return.test.js +13 -532
  159. package/tests/server/await.test.tsrx +3 -3
  160. package/tests/server/basic.attributes.test.tsrx +264 -195
  161. package/tests/server/basic.components.test.tsrx +296 -169
  162. package/tests/server/basic.test.tsrx +300 -198
  163. package/tests/server/compiler.test.tsrx +62 -60
  164. package/tests/server/composite.props.test.tsrx +77 -63
  165. package/tests/server/composite.test.tsrx +168 -192
  166. package/tests/server/context.test.tsrx +18 -12
  167. package/tests/server/dynamic-elements.test.tsrx +197 -180
  168. package/tests/server/for.test.tsrx +85 -78
  169. package/tests/server/head.test.tsrx +50 -43
  170. package/tests/server/html-nesting-validation.test.tsrx +8 -8
  171. package/tests/server/if.test.tsrx +57 -51
  172. package/tests/server/lazy-destructuring.test.tsrx +366 -294
  173. package/tests/server/return.test.tsrx +76 -1355
  174. package/tests/server/streaming-ssr.test.tsrx +4 -75
  175. package/tests/server/style-identifier.test.tsrx +169 -131
  176. package/tests/server/switch.test.tsrx +91 -85
  177. package/tests/server/track-async-serialization.test.tsrx +105 -85
  178. package/tests/server/try.test.tsrx +374 -280
  179. package/tests/utils/compiler-compat-config.test.js +2 -2
  180. package/tests/utils/runtime-imports.test.js +10 -0
  181. package/types/index.d.ts +8 -0
  182. package/tests/client/__snapshots__/html.test.rsrx.snap +0 -40
@@ -4,327 +4,313 @@ import * as _$_ from 'ripple/internal/server';
4
4
  import { track } from 'ripple/server';
5
5
 
6
6
  export function IfTruthy() {
7
- _$_.push_component();
7
+ return _$_.tsrx_element(() => {
8
+ const show = true;
8
9
 
9
- const show = true;
10
+ _$_.regular_block(() => {
11
+ _$_.output_push('<!--[-->');
10
12
 
11
- _$_.regular_block(() => {
12
- _$_.output_push('<!--[-->');
13
+ if (show) {
14
+ _$_.output_push('<div');
15
+ _$_.output_push(' class="shown"');
16
+ _$_.output_push('>');
13
17
 
14
- if (show) {
15
- _$_.output_push('<div');
16
- _$_.output_push(' class="shown"');
17
- _$_.output_push('>');
18
+ {
19
+ _$_.output_push('Visible');
20
+ }
18
21
 
19
- {
20
- _$_.output_push('Visible');
22
+ _$_.output_push('</div>');
21
23
  }
22
24
 
23
- _$_.output_push('</div>');
24
- }
25
-
26
- _$_.output_push('<!--]-->');
25
+ _$_.output_push('<!--]-->');
26
+ });
27
27
  });
28
-
29
- _$_.pop_component();
30
28
  }
31
29
 
32
30
  export function IfFalsy() {
33
- _$_.push_component();
31
+ return _$_.tsrx_element(() => {
32
+ const show = false;
34
33
 
35
- const show = false;
34
+ _$_.regular_block(() => {
35
+ _$_.output_push('<!--[-->');
36
36
 
37
- _$_.regular_block(() => {
38
- _$_.output_push('<!--[-->');
37
+ if (show) {
38
+ _$_.output_push('<div');
39
+ _$_.output_push(' class="shown"');
40
+ _$_.output_push('>');
39
41
 
40
- if (show) {
41
- _$_.output_push('<div');
42
- _$_.output_push(' class="shown"');
43
- _$_.output_push('>');
42
+ {
43
+ _$_.output_push('Visible');
44
+ }
44
45
 
45
- {
46
- _$_.output_push('Visible');
46
+ _$_.output_push('</div>');
47
47
  }
48
48
 
49
- _$_.output_push('</div>');
50
- }
51
-
52
- _$_.output_push('<!--]-->');
49
+ _$_.output_push('<!--]-->');
50
+ });
53
51
  });
54
-
55
- _$_.pop_component();
56
52
  }
57
53
 
58
54
  export function IfElse() {
59
- _$_.push_component();
55
+ return _$_.tsrx_element(() => {
56
+ const isLoggedIn = true;
60
57
 
61
- const isLoggedIn = true;
58
+ _$_.regular_block(() => {
59
+ _$_.output_push('<!--[-->');
62
60
 
63
- _$_.regular_block(() => {
64
- _$_.output_push('<!--[-->');
61
+ if (isLoggedIn) {
62
+ _$_.output_push('<div');
63
+ _$_.output_push(' class="logged-in"');
64
+ _$_.output_push('>');
65
65
 
66
- if (isLoggedIn) {
67
- _$_.output_push('<div');
68
- _$_.output_push(' class="logged-in"');
69
- _$_.output_push('>');
66
+ {
67
+ _$_.output_push('Welcome back!');
68
+ }
70
69
 
71
- {
72
- _$_.output_push('Welcome back!');
73
- }
70
+ _$_.output_push('</div>');
71
+ } else {
72
+ _$_.output_push('<div');
73
+ _$_.output_push(' class="logged-out"');
74
+ _$_.output_push('>');
74
75
 
75
- _$_.output_push('</div>');
76
- } else {
77
- _$_.output_push('<div');
78
- _$_.output_push(' class="logged-out"');
79
- _$_.output_push('>');
76
+ {
77
+ _$_.output_push('Please log in');
78
+ }
80
79
 
81
- {
82
- _$_.output_push('Please log in');
80
+ _$_.output_push('</div>');
83
81
  }
84
82
 
85
- _$_.output_push('</div>');
86
- }
87
-
88
- _$_.output_push('<!--]-->');
83
+ _$_.output_push('<!--]-->');
84
+ });
89
85
  });
90
-
91
- _$_.pop_component();
92
86
  }
93
87
 
94
88
  export function ReactiveIf() {
95
- _$_.push_component();
89
+ return _$_.tsrx_element(() => {
90
+ let lazy = _$_.track(true, '19a16ff0');
96
91
 
97
- let lazy = _$_.track(true, '19a16ff0');
92
+ _$_.regular_block(() => {
93
+ _$_.output_push('<button');
94
+ _$_.output_push(' class="toggle"');
95
+ _$_.output_push('>');
98
96
 
99
- _$_.regular_block(() => {
100
- _$_.output_push('<button');
101
- _$_.output_push(' class="toggle"');
102
- _$_.output_push('>');
97
+ {
98
+ _$_.output_push('Toggle');
99
+ }
103
100
 
104
- {
105
- _$_.output_push('Toggle');
106
- }
101
+ _$_.output_push('</button>');
102
+ });
107
103
 
108
- _$_.output_push('</button>');
109
- });
104
+ _$_.regular_block(() => {
105
+ _$_.output_push('<!--[-->');
110
106
 
111
- _$_.regular_block(() => {
112
- _$_.output_push('<!--[-->');
107
+ if (lazy.value) {
108
+ _$_.output_push('<div');
109
+ _$_.output_push(' class="content"');
110
+ _$_.output_push('>');
113
111
 
114
- if (lazy.value) {
115
- _$_.output_push('<div');
116
- _$_.output_push(' class="content"');
117
- _$_.output_push('>');
112
+ {
113
+ _$_.output_push('Content visible');
114
+ }
118
115
 
119
- {
120
- _$_.output_push('Content visible');
116
+ _$_.output_push('</div>');
121
117
  }
122
118
 
123
- _$_.output_push('</div>');
124
- }
125
-
126
- _$_.output_push('<!--]-->');
119
+ _$_.output_push('<!--]-->');
120
+ });
127
121
  });
128
-
129
- _$_.pop_component();
130
122
  }
131
123
 
132
124
  export function ReactiveIfElse() {
133
- _$_.push_component();
125
+ return _$_.tsrx_element(() => {
126
+ let lazy_1 = _$_.track(false, '41177f39');
134
127
 
135
- let lazy_1 = _$_.track(false, '41177f39');
128
+ _$_.regular_block(() => {
129
+ _$_.output_push('<button');
130
+ _$_.output_push(' class="toggle"');
131
+ _$_.output_push('>');
136
132
 
137
- _$_.regular_block(() => {
138
- _$_.output_push('<button');
139
- _$_.output_push(' class="toggle"');
140
- _$_.output_push('>');
133
+ {
134
+ _$_.output_push('Toggle');
135
+ }
141
136
 
142
- {
143
- _$_.output_push('Toggle');
144
- }
137
+ _$_.output_push('</button>');
138
+ });
145
139
 
146
- _$_.output_push('</button>');
147
- });
140
+ _$_.regular_block(() => {
141
+ _$_.output_push('<!--[-->');
148
142
 
149
- _$_.regular_block(() => {
150
- _$_.output_push('<!--[-->');
143
+ if (lazy_1.value) {
144
+ _$_.output_push('<div');
145
+ _$_.output_push(' class="on"');
146
+ _$_.output_push('>');
151
147
 
152
- if (lazy_1.value) {
153
- _$_.output_push('<div');
154
- _$_.output_push(' class="on"');
155
- _$_.output_push('>');
148
+ {
149
+ _$_.output_push('ON');
150
+ }
156
151
 
157
- {
158
- _$_.output_push('ON');
159
- }
152
+ _$_.output_push('</div>');
153
+ } else {
154
+ _$_.output_push('<div');
155
+ _$_.output_push(' class="off"');
156
+ _$_.output_push('>');
160
157
 
161
- _$_.output_push('</div>');
162
- } else {
163
- _$_.output_push('<div');
164
- _$_.output_push(' class="off"');
165
- _$_.output_push('>');
158
+ {
159
+ _$_.output_push('OFF');
160
+ }
166
161
 
167
- {
168
- _$_.output_push('OFF');
162
+ _$_.output_push('</div>');
169
163
  }
170
164
 
171
- _$_.output_push('</div>');
172
- }
173
-
174
- _$_.output_push('<!--]-->');
165
+ _$_.output_push('<!--]-->');
166
+ });
175
167
  });
176
-
177
- _$_.pop_component();
178
168
  }
179
169
 
180
170
  export function NestedIf() {
181
- _$_.push_component();
171
+ return _$_.tsrx_element(() => {
172
+ let lazy_2 = _$_.track(true, '7894e1df');
173
+ let lazy_3 = _$_.track(true, 'f21b8c26');
182
174
 
183
- let lazy_2 = _$_.track(true, '7894e1df');
184
- let lazy_3 = _$_.track(true, 'f21b8c26');
175
+ _$_.regular_block(() => {
176
+ _$_.output_push('<button');
177
+ _$_.output_push(' class="outer-toggle"');
178
+ _$_.output_push('>');
185
179
 
186
- _$_.regular_block(() => {
187
- _$_.output_push('<button');
188
- _$_.output_push(' class="outer-toggle"');
189
- _$_.output_push('>');
180
+ {
181
+ _$_.output_push('Outer');
182
+ }
190
183
 
191
- {
192
- _$_.output_push('Outer');
193
- }
184
+ _$_.output_push('</button>');
185
+ });
194
186
 
195
- _$_.output_push('</button>');
196
- });
187
+ _$_.regular_block(() => {
188
+ _$_.output_push('<button');
189
+ _$_.output_push(' class="inner-toggle"');
190
+ _$_.output_push('>');
197
191
 
198
- _$_.regular_block(() => {
199
- _$_.output_push('<button');
200
- _$_.output_push(' class="inner-toggle"');
201
- _$_.output_push('>');
192
+ {
193
+ _$_.output_push('Inner');
194
+ }
202
195
 
203
- {
204
- _$_.output_push('Inner');
205
- }
196
+ _$_.output_push('</button>');
197
+ });
206
198
 
207
- _$_.output_push('</button>');
208
- });
199
+ _$_.regular_block(() => {
200
+ _$_.output_push('<!--[-->');
209
201
 
210
- _$_.regular_block(() => {
211
- _$_.output_push('<!--[-->');
202
+ if (lazy_2.value) {
203
+ _$_.output_push('<div');
204
+ _$_.output_push(' class="outer-content"');
205
+ _$_.output_push('>');
212
206
 
213
- if (lazy_2.value) {
214
- _$_.output_push('<div');
215
- _$_.output_push(' class="outer-content"');
216
- _$_.output_push('>');
207
+ {
208
+ _$_.output_push('Outer');
209
+ _$_.output_push('<!--[-->');
217
210
 
218
- {
219
- _$_.output_push('Outer');
220
- _$_.output_push('<!--[-->');
211
+ if (lazy_3.value) {
212
+ _$_.output_push('<span');
213
+ _$_.output_push(' class="inner-content"');
214
+ _$_.output_push('>');
221
215
 
222
- if (lazy_3.value) {
223
- _$_.output_push('<span');
224
- _$_.output_push(' class="inner-content"');
225
- _$_.output_push('>');
216
+ {
217
+ _$_.output_push('Inner');
218
+ }
226
219
 
227
- {
228
- _$_.output_push('Inner');
220
+ _$_.output_push('</span>');
229
221
  }
230
222
 
231
- _$_.output_push('</span>');
223
+ _$_.output_push('<!--]-->');
232
224
  }
233
225
 
234
- _$_.output_push('<!--]-->');
226
+ _$_.output_push('</div>');
235
227
  }
236
228
 
237
- _$_.output_push('</div>');
238
- }
239
-
240
- _$_.output_push('<!--]-->');
229
+ _$_.output_push('<!--]-->');
230
+ });
241
231
  });
242
-
243
- _$_.pop_component();
244
232
  }
245
233
 
246
234
  export function IfElseIfChain() {
247
- _$_.push_component();
248
-
249
- let lazy_4 = _$_.track('loading', '4c69c94a');
250
-
251
- _$_.regular_block(() => {
252
- _$_.output_push('<div');
253
- _$_.output_push('>');
254
-
255
- {
256
- _$_.output_push('<button');
257
- _$_.output_push(' class="success"');
258
- _$_.output_push('>');
235
+ return _$_.tsrx_element(() => {
236
+ let lazy_4 = _$_.track('loading', '4c69c94a');
259
237
 
260
- {
261
- _$_.output_push('Success');
262
- }
263
-
264
- _$_.output_push('</button>');
265
- _$_.output_push('<button');
266
- _$_.output_push(' class="error"');
238
+ _$_.regular_block(() => {
239
+ _$_.output_push('<div');
267
240
  _$_.output_push('>');
268
241
 
269
242
  {
270
- _$_.output_push('Error');
271
- }
243
+ _$_.output_push('<button');
244
+ _$_.output_push(' class="success"');
245
+ _$_.output_push('>');
272
246
 
273
- _$_.output_push('</button>');
274
- _$_.output_push('<button');
275
- _$_.output_push(' class="loading"');
276
- _$_.output_push('>');
247
+ {
248
+ _$_.output_push('Success');
249
+ }
277
250
 
278
- {
279
- _$_.output_push('Loading');
280
- }
251
+ _$_.output_push('</button>');
252
+ _$_.output_push('<button');
253
+ _$_.output_push(' class="error"');
254
+ _$_.output_push('>');
281
255
 
282
- _$_.output_push('</button>');
283
- _$_.output_push('<!--[-->');
256
+ {
257
+ _$_.output_push('Error');
258
+ }
284
259
 
285
- if (lazy_4.value === 'loading') {
286
- _$_.output_push('<div');
287
- _$_.output_push(' class="state"');
260
+ _$_.output_push('</button>');
261
+ _$_.output_push('<button');
262
+ _$_.output_push(' class="loading"');
288
263
  _$_.output_push('>');
289
264
 
290
265
  {
291
- _$_.output_push('Loading...');
266
+ _$_.output_push('Loading');
292
267
  }
293
268
 
294
- _$_.output_push('</div>');
295
- } else {
269
+ _$_.output_push('</button>');
296
270
  _$_.output_push('<!--[-->');
297
271
 
298
- if (lazy_4.value === 'success') {
272
+ if (lazy_4.value === 'loading') {
299
273
  _$_.output_push('<div');
300
274
  _$_.output_push(' class="state"');
301
275
  _$_.output_push('>');
302
276
 
303
277
  {
304
- _$_.output_push('Success!');
278
+ _$_.output_push('Loading...');
305
279
  }
306
280
 
307
281
  _$_.output_push('</div>');
308
282
  } else {
309
- _$_.output_push('<div');
310
- _$_.output_push(' class="state"');
311
- _$_.output_push('>');
283
+ _$_.output_push('<!--[-->');
312
284
 
313
- {
314
- _$_.output_push('Error occurred');
285
+ if (lazy_4.value === 'success') {
286
+ _$_.output_push('<div');
287
+ _$_.output_push(' class="state"');
288
+ _$_.output_push('>');
289
+
290
+ {
291
+ _$_.output_push('Success!');
292
+ }
293
+
294
+ _$_.output_push('</div>');
295
+ } else {
296
+ _$_.output_push('<div');
297
+ _$_.output_push(' class="state"');
298
+ _$_.output_push('>');
299
+
300
+ {
301
+ _$_.output_push('Error occurred');
302
+ }
303
+
304
+ _$_.output_push('</div>');
315
305
  }
316
306
 
317
- _$_.output_push('</div>');
307
+ _$_.output_push('<!--]-->');
318
308
  }
319
309
 
320
310
  _$_.output_push('<!--]-->');
321
311
  }
322
312
 
323
- _$_.output_push('<!--]-->');
324
- }
325
-
326
- _$_.output_push('</div>');
313
+ _$_.output_push('</div>');
314
+ });
327
315
  });
328
-
329
- _$_.pop_component();
330
316
  }