ripple 0.3.11 → 0.3.13

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 (190) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/package.json +8 -2
  3. package/src/compiler/phases/1-parse/index.js +73 -30
  4. package/src/compiler/phases/2-analyze/index.js +28 -58
  5. package/src/compiler/phases/3-transform/client/index.js +127 -164
  6. package/src/compiler/phases/3-transform/segments.js +4 -8
  7. package/src/compiler/phases/3-transform/server/index.js +210 -360
  8. package/src/compiler/types/import.d.ts +0 -12
  9. package/src/compiler/types/index.d.ts +12 -5
  10. package/src/compiler/types/parse.d.ts +2 -0
  11. package/src/compiler/utils.js +39 -44
  12. package/src/helpers.d.ts +2 -0
  13. package/src/runtime/index-client.js +15 -13
  14. package/src/runtime/index-server.js +18 -11
  15. package/src/runtime/internal/client/blocks.js +19 -23
  16. package/src/runtime/internal/client/constants.js +20 -9
  17. package/src/runtime/internal/client/index.js +14 -4
  18. package/src/runtime/internal/client/runtime.js +435 -173
  19. package/src/runtime/internal/client/try.js +334 -156
  20. package/src/runtime/internal/client/types.d.ts +26 -0
  21. package/src/runtime/internal/server/blocks.js +183 -0
  22. package/src/runtime/internal/server/constants.js +7 -0
  23. package/src/runtime/internal/server/index.js +780 -148
  24. package/src/runtime/internal/server/types.d.ts +35 -0
  25. package/src/server/index.js +1 -1
  26. package/src/utils/async.js +35 -0
  27. package/src/utils/builders.js +3 -1
  28. package/tests/client/__snapshots__/computed-properties.test.rsrx.snap +49 -0
  29. package/tests/client/__snapshots__/for.test.rsrx.snap +319 -0
  30. package/tests/client/__snapshots__/html.test.rsrx.snap +40 -0
  31. package/tests/client/_etc.test.rsrx +7 -0
  32. package/tests/client/array/{array.static.test.ripple → array.static.test.rsrx} +18 -20
  33. package/tests/client/async-suspend.test.rsrx +662 -0
  34. package/tests/client/basic/__snapshots__/basic.attributes.test.rsrx.snap +60 -0
  35. package/tests/client/basic/__snapshots__/basic.rendering.test.rsrx.snap +59 -0
  36. package/tests/client/basic/{basic.errors.test.ripple → basic.errors.test.rsrx} +2 -2
  37. package/tests/client/compiler/__snapshots__/compiler.assignments.test.rsrx.snap +12 -0
  38. package/tests/client/compiler/__snapshots__/compiler.typescript.test.rsrx.snap +46 -0
  39. package/tests/client/compiler/{compiler.try-in-function.test.ripple → compiler.try-in-function.test.rsrx} +8 -6
  40. package/tests/client/composite/__snapshots__/composite.render.test.rsrx.snap +37 -0
  41. package/tests/client/{function-overload.test.ripple → function-overload.test.rsrx} +1 -1
  42. package/tests/client/try.test.rsrx +1702 -0
  43. package/tests/hydration/build-components.js +5 -3
  44. package/tests/hydration/compiled/client/head.js +11 -11
  45. package/tests/hydration/compiled/client/mixed-control-flow.js +55 -70
  46. package/tests/hydration/compiled/client/nested-control-flow.js +72 -88
  47. package/tests/hydration/compiled/client/try.js +42 -54
  48. package/tests/hydration/compiled/server/basic.js +491 -369
  49. package/tests/hydration/compiled/server/composite.js +153 -128
  50. package/tests/hydration/compiled/server/events.js +166 -145
  51. package/tests/hydration/compiled/server/for.js +821 -677
  52. package/tests/hydration/compiled/server/head.js +200 -165
  53. package/tests/hydration/compiled/server/hmr.js +62 -54
  54. package/tests/hydration/compiled/server/html-in-template.js +64 -55
  55. package/tests/hydration/compiled/server/html.js +1477 -1360
  56. package/tests/hydration/compiled/server/if-children.js +448 -408
  57. package/tests/hydration/compiled/server/if.js +204 -171
  58. package/tests/hydration/compiled/server/mixed-control-flow.js +237 -195
  59. package/tests/hydration/compiled/server/nested-control-flow.js +533 -467
  60. package/tests/hydration/compiled/server/portal.js +94 -107
  61. package/tests/hydration/compiled/server/reactivity.js +87 -64
  62. package/tests/hydration/compiled/server/return.js +1424 -1174
  63. package/tests/hydration/compiled/server/switch.js +268 -238
  64. package/tests/hydration/compiled/server/try.js +98 -87
  65. package/tests/hydration/components/{mixed-control-flow.ripple → mixed-control-flow.rsrx} +2 -2
  66. package/tests/hydration/components/{try.ripple → try.rsrx} +4 -2
  67. package/tests/hydration/mixed-control-flow.test.js +14 -0
  68. package/tests/hydration/nested-control-flow.test.js +50 -48
  69. package/tests/hydration/try.test.js +25 -0
  70. package/tests/server/__snapshots__/compiler.test.ripple.snap +0 -32
  71. package/tests/server/__snapshots__/compiler.test.rsrx.snap +95 -0
  72. package/tests/server/{compiler.test.ripple → compiler.test.rsrx} +0 -17
  73. package/tests/server/{html-nesting-validation.test.ripple → html-nesting-validation.test.rsrx} +3 -3
  74. package/tests/server/streaming-ssr.test.rsrx +115 -0
  75. package/tests/server/try.test.rsrx +503 -0
  76. package/tests/utils/compiler-compat-config.test.js +3 -3
  77. package/tests/utils/vite-plugin-config.test.js +1 -1
  78. package/tests/utils/vite-plugin-hmr.test.js +5 -5
  79. package/tsconfig.json +4 -0
  80. package/types/index.d.ts +13 -23
  81. package/types/server.d.ts +43 -16
  82. package/tests/client/_etc.test.ripple +0 -5
  83. package/tests/client/async-suspend.test.ripple +0 -94
  84. package/tests/client/try.test.ripple +0 -196
  85. package/tests/server/streaming-ssr.test.ripple +0 -68
  86. package/tests/server/try.test.ripple +0 -82
  87. /package/tests/client/array/{array.copy-within.test.ripple → array.copy-within.test.rsrx} +0 -0
  88. /package/tests/client/array/{array.derived.test.ripple → array.derived.test.rsrx} +0 -0
  89. /package/tests/client/array/{array.iteration.test.ripple → array.iteration.test.rsrx} +0 -0
  90. /package/tests/client/array/{array.mutations.test.ripple → array.mutations.test.rsrx} +0 -0
  91. /package/tests/client/array/{array.to-methods.test.ripple → array.to-methods.test.rsrx} +0 -0
  92. /package/tests/client/basic/{basic.attributes.test.ripple → basic.attributes.test.rsrx} +0 -0
  93. /package/tests/client/basic/{basic.collections.test.ripple → basic.collections.test.rsrx} +0 -0
  94. /package/tests/client/basic/{basic.components.test.ripple → basic.components.test.rsrx} +0 -0
  95. /package/tests/client/basic/{basic.events.test.ripple → basic.events.test.rsrx} +0 -0
  96. /package/tests/client/basic/{basic.get-set.test.ripple → basic.get-set.test.rsrx} +0 -0
  97. /package/tests/client/basic/{basic.hmr.test.ripple → basic.hmr.test.rsrx} +0 -0
  98. /package/tests/client/basic/{basic.reactivity.test.ripple → basic.reactivity.test.rsrx} +0 -0
  99. /package/tests/client/basic/{basic.rendering.test.ripple → basic.rendering.test.rsrx} +0 -0
  100. /package/tests/client/basic/{basic.styling.test.ripple → basic.styling.test.rsrx} +0 -0
  101. /package/tests/client/basic/{basic.utilities.test.ripple → basic.utilities.test.rsrx} +0 -0
  102. /package/tests/client/{boundaries.test.ripple → boundaries.test.rsrx} +0 -0
  103. /package/tests/client/compiler/{compiler.assignments.test.ripple → compiler.assignments.test.rsrx} +0 -0
  104. /package/tests/client/compiler/{compiler.attributes.test.ripple → compiler.attributes.test.rsrx} +0 -0
  105. /package/tests/client/compiler/{compiler.basic.test.ripple → compiler.basic.test.rsrx} +0 -0
  106. /package/tests/client/compiler/{compiler.regex.test.ripple → compiler.regex.test.rsrx} +0 -0
  107. /package/tests/client/compiler/{compiler.tracked-access.test.ripple → compiler.tracked-access.test.rsrx} +0 -0
  108. /package/tests/client/compiler/{compiler.typescript.test.ripple → compiler.typescript.test.rsrx} +0 -0
  109. /package/tests/client/composite/{composite.dynamic-components.test.ripple → composite.dynamic-components.test.rsrx} +0 -0
  110. /package/tests/client/composite/{composite.generics.test.ripple → composite.generics.test.rsrx} +0 -0
  111. /package/tests/client/composite/{composite.props.test.ripple → composite.props.test.rsrx} +0 -0
  112. /package/tests/client/composite/{composite.reactivity.test.ripple → composite.reactivity.test.rsrx} +0 -0
  113. /package/tests/client/composite/{composite.render.test.ripple → composite.render.test.rsrx} +0 -0
  114. /package/tests/client/{computed-properties.test.ripple → computed-properties.test.rsrx} +0 -0
  115. /package/tests/client/{context.test.ripple → context.test.rsrx} +0 -0
  116. /package/tests/client/css/{global-additional-cases.test.ripple → global-additional-cases.test.rsrx} +0 -0
  117. /package/tests/client/css/{global-advanced-selectors.test.ripple → global-advanced-selectors.test.rsrx} +0 -0
  118. /package/tests/client/css/{global-at-rules.test.ripple → global-at-rules.test.rsrx} +0 -0
  119. /package/tests/client/css/{global-basic.test.ripple → global-basic.test.rsrx} +0 -0
  120. /package/tests/client/css/{global-classes-ids.test.ripple → global-classes-ids.test.rsrx} +0 -0
  121. /package/tests/client/css/{global-combinators.test.ripple → global-combinators.test.rsrx} +0 -0
  122. /package/tests/client/css/{global-complex-nesting.test.ripple → global-complex-nesting.test.rsrx} +0 -0
  123. /package/tests/client/css/{global-edge-cases.test.ripple → global-edge-cases.test.rsrx} +0 -0
  124. /package/tests/client/css/{global-keyframes.test.ripple → global-keyframes.test.rsrx} +0 -0
  125. /package/tests/client/css/{global-nested.test.ripple → global-nested.test.rsrx} +0 -0
  126. /package/tests/client/css/{global-pseudo.test.ripple → global-pseudo.test.rsrx} +0 -0
  127. /package/tests/client/css/{global-scoping.test.ripple → global-scoping.test.rsrx} +0 -0
  128. /package/tests/client/css/{style-identifier.test.ripple → style-identifier.test.rsrx} +0 -0
  129. /package/tests/client/{date.test.ripple → date.test.rsrx} +0 -0
  130. /package/tests/client/{dynamic-elements.test.ripple → dynamic-elements.test.rsrx} +0 -0
  131. /package/tests/client/{events.test.ripple → events.test.rsrx} +0 -0
  132. /package/tests/client/{for.test.ripple → for.test.rsrx} +0 -0
  133. /package/tests/client/{function-overload-import.ripple → function-overload-import.rsrx} +0 -0
  134. /package/tests/client/{head.test.ripple → head.test.rsrx} +0 -0
  135. /package/tests/client/{html.test.ripple → html.test.rsrx} +0 -0
  136. /package/tests/client/{input-value.test.ripple → input-value.test.rsrx} +0 -0
  137. /package/tests/client/{lazy-destructuring.test.ripple → lazy-destructuring.test.rsrx} +0 -0
  138. /package/tests/client/{map.test.ripple → map.test.rsrx} +0 -0
  139. /package/tests/client/{media-query.test.ripple → media-query.test.rsrx} +0 -0
  140. /package/tests/client/{object.test.ripple → object.test.rsrx} +0 -0
  141. /package/tests/client/{portal.test.ripple → portal.test.rsrx} +0 -0
  142. /package/tests/client/{ref.test.ripple → ref.test.rsrx} +0 -0
  143. /package/tests/client/{return.test.ripple → return.test.rsrx} +0 -0
  144. /package/tests/client/{set.test.ripple → set.test.rsrx} +0 -0
  145. /package/tests/client/{svg.test.ripple → svg.test.rsrx} +0 -0
  146. /package/tests/client/{switch.test.ripple → switch.test.rsrx} +0 -0
  147. /package/tests/client/{tsx.test.ripple → tsx.test.rsrx} +0 -0
  148. /package/tests/client/{typescript-generics.test.ripple → typescript-generics.test.rsrx} +0 -0
  149. /package/tests/client/url/{url.derived.test.ripple → url.derived.test.rsrx} +0 -0
  150. /package/tests/client/url/{url.parsing.test.ripple → url.parsing.test.rsrx} +0 -0
  151. /package/tests/client/url/{url.partial-removal.test.ripple → url.partial-removal.test.rsrx} +0 -0
  152. /package/tests/client/url/{url.reactivity.test.ripple → url.reactivity.test.rsrx} +0 -0
  153. /package/tests/client/url/{url.serialization.test.ripple → url.serialization.test.rsrx} +0 -0
  154. /package/tests/client/url-search-params/{url-search-params.derived.test.ripple → url-search-params.derived.test.rsrx} +0 -0
  155. /package/tests/client/url-search-params/{url-search-params.initialization.test.ripple → url-search-params.initialization.test.rsrx} +0 -0
  156. /package/tests/client/url-search-params/{url-search-params.iteration.test.ripple → url-search-params.iteration.test.rsrx} +0 -0
  157. /package/tests/client/url-search-params/{url-search-params.mutation.test.ripple → url-search-params.mutation.test.rsrx} +0 -0
  158. /package/tests/client/url-search-params/{url-search-params.retrieval.test.ripple → url-search-params.retrieval.test.rsrx} +0 -0
  159. /package/tests/client/url-search-params/{url-search-params.serialization.test.ripple → url-search-params.serialization.test.rsrx} +0 -0
  160. /package/tests/client/url-search-params/{url-search-params.tracked-url.test.ripple → url-search-params.tracked-url.test.rsrx} +0 -0
  161. /package/tests/hydration/components/{basic.ripple → basic.rsrx} +0 -0
  162. /package/tests/hydration/components/{composite.ripple → composite.rsrx} +0 -0
  163. /package/tests/hydration/components/{events.ripple → events.rsrx} +0 -0
  164. /package/tests/hydration/components/{for.ripple → for.rsrx} +0 -0
  165. /package/tests/hydration/components/{head.ripple → head.rsrx} +0 -0
  166. /package/tests/hydration/components/{hmr.ripple → hmr.rsrx} +0 -0
  167. /package/tests/hydration/components/{html-in-template.ripple → html-in-template.rsrx} +0 -0
  168. /package/tests/hydration/components/{html.ripple → html.rsrx} +0 -0
  169. /package/tests/hydration/components/{if-children.ripple → if-children.rsrx} +0 -0
  170. /package/tests/hydration/components/{if.ripple → if.rsrx} +0 -0
  171. /package/tests/hydration/components/{nested-control-flow.ripple → nested-control-flow.rsrx} +0 -0
  172. /package/tests/hydration/components/{portal.ripple → portal.rsrx} +0 -0
  173. /package/tests/hydration/components/{reactivity.ripple → reactivity.rsrx} +0 -0
  174. /package/tests/hydration/components/{return.ripple → return.rsrx} +0 -0
  175. /package/tests/hydration/components/{switch.ripple → switch.rsrx} +0 -0
  176. /package/tests/server/{await.test.ripple → await.test.rsrx} +0 -0
  177. /package/tests/server/{basic.attributes.test.ripple → basic.attributes.test.rsrx} +0 -0
  178. /package/tests/server/{basic.components.test.ripple → basic.components.test.rsrx} +0 -0
  179. /package/tests/server/{basic.test.ripple → basic.test.rsrx} +0 -0
  180. /package/tests/server/{composite.props.test.ripple → composite.props.test.rsrx} +0 -0
  181. /package/tests/server/{composite.test.ripple → composite.test.rsrx} +0 -0
  182. /package/tests/server/{context.test.ripple → context.test.rsrx} +0 -0
  183. /package/tests/server/{dynamic-elements.test.ripple → dynamic-elements.test.rsrx} +0 -0
  184. /package/tests/server/{for.test.ripple → for.test.rsrx} +0 -0
  185. /package/tests/server/{head.test.ripple → head.test.rsrx} +0 -0
  186. /package/tests/server/{if.test.ripple → if.test.rsrx} +0 -0
  187. /package/tests/server/{lazy-destructuring.test.ripple → lazy-destructuring.test.rsrx} +0 -0
  188. /package/tests/server/{return.test.ripple → return.test.rsrx} +0 -0
  189. /package/tests/server/{style-identifier.test.ripple → style-identifier.test.rsrx} +0 -0
  190. /package/tests/server/{switch.test.ripple → switch.test.rsrx} +0 -0
@@ -3,125 +3,134 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { track } from 'ripple/server';
5
5
 
6
- export function ClickCounter(__output) {
6
+ export function ClickCounter() {
7
7
  _$_.push_component();
8
8
 
9
9
  let lazy = _$_.track(0);
10
10
 
11
- __output.push('<div');
12
- __output.push('>');
13
-
14
- {
15
- __output.push('<button');
16
- __output.push(' class="increment"');
17
- __output.push('>');
11
+ _$_.regular_block(() => {
12
+ _$_.output_push('<div');
13
+ _$_.output_push('>');
18
14
 
19
15
  {
20
- __output.push('Increment');
21
- }
16
+ _$_.output_push('<button');
17
+ _$_.output_push(' class="increment"');
18
+ _$_.output_push('>');
22
19
 
23
- __output.push('</button>');
24
- __output.push('<span');
25
- __output.push(' class="count"');
26
- __output.push('>');
20
+ {
21
+ _$_.output_push('Increment');
22
+ }
27
23
 
28
- {
29
- __output.push(_$_.escape(_$_.get(lazy)));
24
+ _$_.output_push('</button>');
25
+ _$_.output_push('<span');
26
+ _$_.output_push(' class="count"');
27
+ _$_.output_push('>');
28
+
29
+ {
30
+ _$_.output_push(_$_.escape(_$_.get(lazy)));
31
+ }
32
+
33
+ _$_.output_push('</span>');
30
34
  }
31
35
 
32
- __output.push('</span>');
33
- }
36
+ _$_.output_push('</div>');
37
+ });
34
38
 
35
- __output.push('</div>');
36
39
  _$_.pop_component();
37
40
  }
38
41
 
39
- export function IncrementDecrement(__output) {
42
+ export function IncrementDecrement() {
40
43
  _$_.push_component();
41
44
 
42
45
  let lazy_1 = _$_.track(0);
43
46
 
44
- __output.push('<div');
45
- __output.push('>');
46
-
47
- {
48
- __output.push('<button');
49
- __output.push(' class="decrement"');
50
- __output.push('>');
47
+ _$_.regular_block(() => {
48
+ _$_.output_push('<div');
49
+ _$_.output_push('>');
51
50
 
52
51
  {
53
- __output.push('-');
54
- }
52
+ _$_.output_push('<button');
53
+ _$_.output_push(' class="decrement"');
54
+ _$_.output_push('>');
55
55
 
56
- __output.push('</button>');
57
- __output.push('<span');
58
- __output.push(' class="count"');
59
- __output.push('>');
56
+ {
57
+ _$_.output_push('-');
58
+ }
60
59
 
61
- {
62
- __output.push(_$_.escape(_$_.get(lazy_1)));
63
- }
60
+ _$_.output_push('</button>');
61
+ _$_.output_push('<span');
62
+ _$_.output_push(' class="count"');
63
+ _$_.output_push('>');
64
64
 
65
- __output.push('</span>');
66
- __output.push('<button');
67
- __output.push(' class="increment"');
68
- __output.push('>');
65
+ {
66
+ _$_.output_push(_$_.escape(_$_.get(lazy_1)));
67
+ }
69
68
 
70
- {
71
- __output.push('+');
69
+ _$_.output_push('</span>');
70
+ _$_.output_push('<button');
71
+ _$_.output_push(' class="increment"');
72
+ _$_.output_push('>');
73
+
74
+ {
75
+ _$_.output_push('+');
76
+ }
77
+
78
+ _$_.output_push('</button>');
72
79
  }
73
80
 
74
- __output.push('</button>');
75
- }
81
+ _$_.output_push('</div>');
82
+ });
76
83
 
77
- __output.push('</div>');
78
84
  _$_.pop_component();
79
85
  }
80
86
 
81
- export function MultipleEvents(__output) {
87
+ export function MultipleEvents() {
82
88
  _$_.push_component();
83
89
 
84
90
  let lazy_2 = _$_.track(0);
85
91
  let lazy_3 = _$_.track(0);
86
92
 
87
- __output.push('<div');
88
- __output.push('>');
89
-
90
- {
91
- __output.push('<button');
92
- __output.push(' class="target"');
93
- __output.push('>');
93
+ _$_.regular_block(() => {
94
+ _$_.output_push('<div');
95
+ _$_.output_push('>');
94
96
 
95
97
  {
96
- __output.push('Target');
97
- }
98
+ _$_.output_push('<button');
99
+ _$_.output_push(' class="target"');
100
+ _$_.output_push('>');
98
101
 
99
- __output.push('</button>');
100
- __output.push('<span');
101
- __output.push(' class="clicks"');
102
- __output.push('>');
102
+ {
103
+ _$_.output_push('Target');
104
+ }
103
105
 
104
- {
105
- __output.push(_$_.escape(_$_.get(lazy_2)));
106
- }
106
+ _$_.output_push('</button>');
107
+ _$_.output_push('<span');
108
+ _$_.output_push(' class="clicks"');
109
+ _$_.output_push('>');
107
110
 
108
- __output.push('</span>');
109
- __output.push('<span');
110
- __output.push(' class="hovers"');
111
- __output.push('>');
111
+ {
112
+ _$_.output_push(_$_.escape(_$_.get(lazy_2)));
113
+ }
112
114
 
113
- {
114
- __output.push(_$_.escape(_$_.get(lazy_3)));
115
+ _$_.output_push('</span>');
116
+ _$_.output_push('<span');
117
+ _$_.output_push(' class="hovers"');
118
+ _$_.output_push('>');
119
+
120
+ {
121
+ _$_.output_push(_$_.escape(_$_.get(lazy_3)));
122
+ }
123
+
124
+ _$_.output_push('</span>');
115
125
  }
116
126
 
117
- __output.push('</span>');
118
- }
127
+ _$_.output_push('</div>');
128
+ });
119
129
 
120
- __output.push('</div>');
121
130
  _$_.pop_component();
122
131
  }
123
132
 
124
- export function MultiStateUpdate(__output) {
133
+ export function MultiStateUpdate() {
125
134
  _$_.push_component();
126
135
 
127
136
  let lazy_4 = _$_.track(0);
@@ -132,117 +141,129 @@ export function MultiStateUpdate(__output) {
132
141
  _$_.set(lazy_5, 'increment');
133
142
  };
134
143
 
135
- __output.push('<div');
136
- __output.push('>');
137
-
138
- {
139
- __output.push('<button');
140
- __output.push(' class="btn"');
141
- __output.push('>');
144
+ _$_.regular_block(() => {
145
+ _$_.output_push('<div');
146
+ _$_.output_push('>');
142
147
 
143
148
  {
144
- __output.push('Click');
145
- }
149
+ _$_.output_push('<button');
150
+ _$_.output_push(' class="btn"');
151
+ _$_.output_push('>');
146
152
 
147
- __output.push('</button>');
148
- __output.push('<span');
149
- __output.push(' class="count"');
150
- __output.push('>');
153
+ {
154
+ _$_.output_push('Click');
155
+ }
151
156
 
152
- {
153
- __output.push(_$_.escape(_$_.get(lazy_4)));
154
- }
157
+ _$_.output_push('</button>');
158
+ _$_.output_push('<span');
159
+ _$_.output_push(' class="count"');
160
+ _$_.output_push('>');
155
161
 
156
- __output.push('</span>');
157
- __output.push('<span');
158
- __output.push(' class="action"');
159
- __output.push('>');
162
+ {
163
+ _$_.output_push(_$_.escape(_$_.get(lazy_4)));
164
+ }
160
165
 
161
- {
162
- __output.push(_$_.escape(_$_.get(lazy_5)));
166
+ _$_.output_push('</span>');
167
+ _$_.output_push('<span');
168
+ _$_.output_push(' class="action"');
169
+ _$_.output_push('>');
170
+
171
+ {
172
+ _$_.output_push(_$_.escape(_$_.get(lazy_5)));
173
+ }
174
+
175
+ _$_.output_push('</span>');
163
176
  }
164
177
 
165
- __output.push('</span>');
166
- }
178
+ _$_.output_push('</div>');
179
+ });
167
180
 
168
- __output.push('</div>');
169
181
  _$_.pop_component();
170
182
  }
171
183
 
172
- export function ToggleButton(__output) {
184
+ export function ToggleButton() {
173
185
  _$_.push_component();
174
186
 
175
187
  let lazy_6 = _$_.track(false);
176
188
 
177
- __output.push('<div');
178
- __output.push('>');
179
-
180
- {
181
- __output.push('<button');
182
- __output.push(' class="toggle"');
183
- __output.push('>');
189
+ _$_.regular_block(() => {
190
+ _$_.output_push('<div');
191
+ _$_.output_push('>');
184
192
 
185
193
  {
186
- __output.push(_$_.escape(_$_.get(lazy_6) ? 'ON' : 'OFF'));
194
+ _$_.output_push('<button');
195
+ _$_.output_push(' class="toggle"');
196
+ _$_.output_push('>');
197
+
198
+ {
199
+ _$_.output_push(_$_.escape(_$_.get(lazy_6) ? 'ON' : 'OFF'));
200
+ }
201
+
202
+ _$_.output_push('</button>');
187
203
  }
188
204
 
189
- __output.push('</button>');
190
- }
205
+ _$_.output_push('</div>');
206
+ });
191
207
 
192
- __output.push('</div>');
193
208
  _$_.pop_component();
194
209
  }
195
210
 
196
- export function ChildButton(__output, props) {
211
+ export function ChildButton(props) {
197
212
  _$_.push_component();
198
- __output.push('<button');
199
- __output.push(' class="child-btn"');
200
- __output.push('>');
201
213
 
202
- {
203
- __output.push(_$_.escape(props.label));
204
- }
214
+ _$_.regular_block(() => {
215
+ _$_.output_push('<button');
216
+ _$_.output_push(' class="child-btn"');
217
+ _$_.output_push('>');
218
+
219
+ {
220
+ _$_.output_push(_$_.escape(props.label));
221
+ }
222
+
223
+ _$_.output_push('</button>');
224
+ });
205
225
 
206
- __output.push('</button>');
207
226
  _$_.pop_component();
208
227
  }
209
228
 
210
- export function ParentWithChildButton(__output) {
229
+ export function ParentWithChildButton() {
211
230
  _$_.push_component();
212
231
 
213
232
  let lazy_7 = _$_.track(0);
214
233
 
215
- __output.push('<div');
216
- __output.push('>');
217
-
218
- {
219
- {
220
- const comp = ChildButton;
221
-
222
- const args = [
223
- __output,
224
- {
225
- onClick: () => {
226
- _$_.update(lazy_7);
227
- },
228
- label: "Click me"
229
- }
230
- ];
231
-
232
- comp(...args);
233
- }
234
-
235
- __output.push('<span');
236
- __output.push(' class="count"');
237
- __output.push('>');
234
+ _$_.regular_block(() => {
235
+ _$_.output_push('<div');
236
+ _$_.output_push('>');
238
237
 
239
238
  {
240
- __output.push(_$_.escape(_$_.get(lazy_7)));
239
+ {
240
+ const comp = ChildButton;
241
+
242
+ const args = [
243
+ {
244
+ onClick: () => {
245
+ _$_.update(lazy_7);
246
+ },
247
+ label: "Click me"
248
+ }
249
+ ];
250
+
251
+ comp(...args);
252
+ }
253
+
254
+ _$_.output_push('<span');
255
+ _$_.output_push(' class="count"');
256
+ _$_.output_push('>');
257
+
258
+ {
259
+ _$_.output_push(_$_.escape(_$_.get(lazy_7)));
260
+ }
261
+
262
+ _$_.output_push('</span>');
241
263
  }
242
264
 
243
- __output.push('</span>');
244
- }
265
+ _$_.output_push('</div>');
266
+ });
245
267
 
246
- __output.push('</div>');
247
268
  _$_.pop_component();
248
269
  }