ripple 0.3.12 → 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 +36 -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 +2 -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,249 +3,236 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { Portal, track } from 'ripple/server';
5
5
 
6
- export async function SimplePortal(__output) {
7
- return _$_.async(async () => {
8
- _$_.push_component();
9
- __output.push('<div');
10
- __output.push(' class="container"');
11
- __output.push('>');
6
+ export function SimplePortal() {
7
+ _$_.push_component();
8
+
9
+ _$_.regular_block(() => {
10
+ _$_.output_push('<div');
11
+ _$_.output_push(' class="container"');
12
+ _$_.output_push('>');
12
13
 
13
14
  {
14
- __output.push('<h1');
15
- __output.push('>');
15
+ _$_.output_push('<h1');
16
+ _$_.output_push('>');
16
17
 
17
18
  {
18
- __output.push('Main Content');
19
+ _$_.output_push('Main Content');
19
20
  }
20
21
 
21
- __output.push('</h1>');
22
+ _$_.output_push('</h1>');
22
23
 
23
24
  {
24
25
  const comp = Portal;
25
26
 
26
27
  const args = [
27
- __output,
28
28
  {
29
29
  target: typeof document !== 'undefined' ? document.body : null,
30
- children: _$_.ripple_element(function render_children(__output) {
30
+ children: _$_.ripple_element(function render_children() {
31
31
  _$_.push_component();
32
- __output.push('<div');
33
- __output.push(' class="portal-content"');
34
- __output.push('>');
32
+ _$_.output_push('<div');
33
+ _$_.output_push(' class="portal-content"');
34
+ _$_.output_push('>');
35
35
 
36
36
  {
37
- __output.push('Portal content');
37
+ _$_.output_push('Portal content');
38
38
  }
39
39
 
40
- __output.push('</div>');
40
+ _$_.output_push('</div>');
41
41
  _$_.pop_component();
42
42
  })
43
43
  }
44
44
  ];
45
45
 
46
- if (comp?.async) {
47
- await comp(...args);
48
- } else if (comp) {
46
+ if (comp) {
49
47
  comp(...args);
50
48
  }
51
49
  }
52
50
  }
53
51
 
54
- __output.push('</div>');
55
- _$_.pop_component();
52
+ _$_.output_push('</div>');
56
53
  });
57
- }
58
54
 
59
- SimplePortal.async = true;
55
+ _$_.pop_component();
56
+ }
60
57
 
61
- export async function ConditionalPortal(__output) {
62
- return _$_.async(async () => {
63
- _$_.push_component();
58
+ export function ConditionalPortal() {
59
+ _$_.push_component();
64
60
 
65
- let lazy = _$_.track(true);
61
+ let lazy = _$_.track(true);
66
62
 
67
- __output.push('<div');
68
- __output.push(' class="container"');
69
- __output.push('>');
63
+ _$_.regular_block(() => {
64
+ _$_.output_push('<div');
65
+ _$_.output_push(' class="container"');
66
+ _$_.output_push('>');
70
67
 
71
68
  {
72
- __output.push('<button');
73
- __output.push(' class="toggle"');
74
- __output.push('>');
69
+ _$_.output_push('<button');
70
+ _$_.output_push(' class="toggle"');
71
+ _$_.output_push('>');
75
72
 
76
73
  {
77
- __output.push('Toggle');
74
+ _$_.output_push('Toggle');
78
75
  }
79
76
 
80
- __output.push('</button>');
81
- __output.push('<!--[-->');
77
+ _$_.output_push('</button>');
78
+ _$_.output_push('<!--[-->');
82
79
 
83
80
  if (_$_.get(lazy)) {
84
81
  {
85
82
  const comp = Portal;
86
83
 
87
84
  const args = [
88
- __output,
89
85
  {
90
86
  target: typeof document !== 'undefined' ? document.body : null,
91
- children: _$_.ripple_element(function render_children(__output) {
87
+ children: _$_.ripple_element(function render_children() {
92
88
  _$_.push_component();
93
- __output.push('<div');
94
- __output.push(' class="portal-content"');
95
- __output.push('>');
89
+ _$_.output_push('<div');
90
+ _$_.output_push(' class="portal-content"');
91
+ _$_.output_push('>');
96
92
 
97
93
  {
98
- __output.push('Portal is visible');
94
+ _$_.output_push('Portal is visible');
99
95
  }
100
96
 
101
- __output.push('</div>');
97
+ _$_.output_push('</div>');
102
98
  _$_.pop_component();
103
99
  })
104
100
  }
105
101
  ];
106
102
 
107
- if (comp?.async) {
108
- await comp(...args);
109
- } else if (comp) {
103
+ if (comp) {
110
104
  comp(...args);
111
105
  }
112
106
  }
113
107
  }
114
108
 
115
- __output.push('<!--]-->');
109
+ _$_.output_push('<!--]-->');
116
110
  }
117
111
 
118
- __output.push('</div>');
119
- _$_.pop_component();
112
+ _$_.output_push('</div>');
120
113
  });
114
+
115
+ _$_.pop_component();
121
116
  }
122
117
 
123
- ConditionalPortal.async = true;
118
+ export function PortalWithMainContent() {
119
+ _$_.push_component();
124
120
 
125
- export async function PortalWithMainContent(__output) {
126
- return _$_.async(async () => {
127
- _$_.push_component();
128
- __output.push('<div');
129
- __output.push('>');
121
+ _$_.regular_block(() => {
122
+ _$_.output_push('<div');
123
+ _$_.output_push('>');
130
124
 
131
125
  {
132
- __output.push('<div');
133
- __output.push(' class="main-content"');
134
- __output.push('>');
126
+ _$_.output_push('<div');
127
+ _$_.output_push(' class="main-content"');
128
+ _$_.output_push('>');
135
129
 
136
130
  {
137
- __output.push('Main page content');
131
+ _$_.output_push('Main page content');
138
132
  }
139
133
 
140
- __output.push('</div>');
134
+ _$_.output_push('</div>');
141
135
 
142
136
  {
143
137
  const comp = Portal;
144
138
 
145
139
  const args = [
146
- __output,
147
140
  {
148
141
  target: typeof document !== 'undefined' ? document.body : null,
149
- children: _$_.ripple_element(function render_children(__output) {
142
+ children: _$_.ripple_element(function render_children() {
150
143
  _$_.push_component();
151
- __output.push('<div');
152
- __output.push(' class="portal-content"');
153
- __output.push('>');
144
+ _$_.output_push('<div');
145
+ _$_.output_push(' class="portal-content"');
146
+ _$_.output_push('>');
154
147
 
155
148
  {
156
- __output.push('Modal content');
149
+ _$_.output_push('Modal content');
157
150
  }
158
151
 
159
- __output.push('</div>');
152
+ _$_.output_push('</div>');
160
153
  _$_.pop_component();
161
154
  })
162
155
  }
163
156
  ];
164
157
 
165
- if (comp?.async) {
166
- await comp(...args);
167
- } else if (comp) {
158
+ if (comp) {
168
159
  comp(...args);
169
160
  }
170
161
  }
171
162
 
172
- __output.push('<div');
173
- __output.push(' class="footer"');
174
- __output.push('>');
163
+ _$_.output_push('<div');
164
+ _$_.output_push(' class="footer"');
165
+ _$_.output_push('>');
175
166
 
176
167
  {
177
- __output.push('Footer');
168
+ _$_.output_push('Footer');
178
169
  }
179
170
 
180
- __output.push('</div>');
171
+ _$_.output_push('</div>');
181
172
  }
182
173
 
183
- __output.push('</div>');
184
- _$_.pop_component();
174
+ _$_.output_push('</div>');
185
175
  });
176
+
177
+ _$_.pop_component();
186
178
  }
187
179
 
188
- PortalWithMainContent.async = true;
180
+ export function NestedContentWithPortal() {
181
+ _$_.push_component();
189
182
 
190
- export async function NestedContentWithPortal(__output) {
191
- return _$_.async(async () => {
192
- _$_.push_component();
193
- __output.push('<div');
194
- __output.push(' class="outer"');
195
- __output.push('>');
183
+ _$_.regular_block(() => {
184
+ _$_.output_push('<div');
185
+ _$_.output_push(' class="outer"');
186
+ _$_.output_push('>');
196
187
 
197
188
  {
198
- __output.push('<div');
199
- __output.push(' class="inner"');
200
- __output.push('>');
189
+ _$_.output_push('<div');
190
+ _$_.output_push(' class="inner"');
191
+ _$_.output_push('>');
201
192
 
202
193
  {
203
- __output.push('<span');
204
- __output.push('>');
194
+ _$_.output_push('<span');
195
+ _$_.output_push('>');
205
196
 
206
197
  {
207
- __output.push('Nested content');
198
+ _$_.output_push('Nested content');
208
199
  }
209
200
 
210
- __output.push('</span>');
201
+ _$_.output_push('</span>');
211
202
  }
212
203
 
213
- __output.push('</div>');
204
+ _$_.output_push('</div>');
214
205
 
215
206
  {
216
207
  const comp = Portal;
217
208
 
218
209
  const args = [
219
- __output,
220
210
  {
221
211
  target: typeof document !== 'undefined' ? document.body : null,
222
- children: _$_.ripple_element(function render_children(__output) {
212
+ children: _$_.ripple_element(function render_children() {
223
213
  _$_.push_component();
224
- __output.push('<div');
225
- __output.push(' class="portal-content"');
226
- __output.push('>');
214
+ _$_.output_push('<div');
215
+ _$_.output_push(' class="portal-content"');
216
+ _$_.output_push('>');
227
217
 
228
218
  {
229
- __output.push('Portal content');
219
+ _$_.output_push('Portal content');
230
220
  }
231
221
 
232
- __output.push('</div>');
222
+ _$_.output_push('</div>');
233
223
  _$_.pop_component();
234
224
  })
235
225
  }
236
226
  ];
237
227
 
238
- if (comp?.async) {
239
- await comp(...args);
240
- } else if (comp) {
228
+ if (comp) {
241
229
  comp(...args);
242
230
  }
243
231
  }
244
232
  }
245
233
 
246
- __output.push('</div>');
247
- _$_.pop_component();
234
+ _$_.output_push('</div>');
248
235
  });
249
- }
250
236
 
251
- NestedContentWithPortal.async = true;
237
+ _$_.pop_component();
238
+ }
@@ -3,131 +3,154 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { track } from 'ripple/server';
5
5
 
6
- export function TrackedState(__output) {
6
+ export function TrackedState() {
7
7
  _$_.push_component();
8
8
 
9
9
  let lazy = _$_.track(0);
10
10
 
11
- __output.push('<div');
12
- __output.push(' class="count"');
13
- __output.push('>');
11
+ _$_.regular_block(() => {
12
+ _$_.output_push('<div');
13
+ _$_.output_push(' class="count"');
14
+ _$_.output_push('>');
14
15
 
15
- {
16
- __output.push(_$_.escape(_$_.get(lazy)));
17
- }
16
+ {
17
+ _$_.output_push(_$_.escape(_$_.get(lazy)));
18
+ }
19
+
20
+ _$_.output_push('</div>');
21
+ });
18
22
 
19
- __output.push('</div>');
20
23
  _$_.pop_component();
21
24
  }
22
25
 
23
- export function CounterWithInitial(__output, props) {
26
+ export function CounterWithInitial(props) {
24
27
  _$_.push_component();
25
28
 
26
29
  let lazy_1 = _$_.track(props.initial);
27
30
 
28
- __output.push('<div');
29
- __output.push('>');
30
-
31
- {
32
- __output.push('<span');
33
- __output.push(' class="count"');
34
- __output.push('>');
31
+ _$_.regular_block(() => {
32
+ _$_.output_push('<div');
33
+ _$_.output_push('>');
35
34
 
36
35
  {
37
- __output.push(_$_.escape(_$_.get(lazy_1)));
36
+ _$_.output_push('<span');
37
+ _$_.output_push(' class="count"');
38
+ _$_.output_push('>');
39
+
40
+ {
41
+ _$_.output_push(_$_.escape(_$_.get(lazy_1)));
42
+ }
43
+
44
+ _$_.output_push('</span>');
38
45
  }
39
46
 
40
- __output.push('</span>');
41
- }
47
+ _$_.output_push('</div>');
48
+ });
42
49
 
43
- __output.push('</div>');
44
50
  _$_.pop_component();
45
51
  }
46
52
 
47
- export function CounterWrapper(__output) {
53
+ export function CounterWrapper() {
48
54
  _$_.push_component();
49
55
 
50
- {
51
- const comp = CounterWithInitial;
52
- const args = [__output, { initial: 5 }];
56
+ _$_.regular_block(() => {
57
+ {
58
+ const comp = CounterWithInitial;
59
+ const args = [{ initial: 5 }];
53
60
 
54
- comp(...args);
55
- }
61
+ comp(...args);
62
+ }
63
+ });
56
64
 
57
65
  _$_.pop_component();
58
66
  }
59
67
 
60
- export function ComputedValues(__output) {
68
+ export function ComputedValues() {
61
69
  _$_.push_component();
62
70
 
63
71
  let lazy_2 = _$_.track(2);
64
72
  let lazy_3 = _$_.track(3);
65
73
  const sum = () => _$_.get(lazy_2) + _$_.get(lazy_3);
66
74
 
67
- __output.push('<div');
68
- __output.push(' class="sum"');
69
- __output.push('>');
75
+ _$_.regular_block(() => {
76
+ _$_.output_push('<div');
77
+ _$_.output_push(' class="sum"');
78
+ _$_.output_push('>');
79
+
80
+ {
81
+ _$_.output_push(_$_.escape(sum()));
82
+ }
70
83
 
71
- {
72
- __output.push(_$_.escape(sum()));
73
- }
84
+ _$_.output_push('</div>');
85
+ });
74
86
 
75
- __output.push('</div>');
76
87
  _$_.pop_component();
77
88
  }
78
89
 
79
- export function MultipleTracked(__output) {
90
+ export function MultipleTracked() {
80
91
  _$_.push_component();
81
92
 
82
93
  let lazy_4 = _$_.track(10);
83
94
  let lazy_5 = _$_.track(20);
84
95
  let lazy_6 = _$_.track(30);
85
96
 
86
- __output.push('<div');
87
- __output.push(' class="x"');
88
- __output.push('>');
97
+ _$_.regular_block(() => {
98
+ _$_.output_push('<div');
99
+ _$_.output_push(' class="x"');
100
+ _$_.output_push('>');
89
101
 
90
- {
91
- __output.push(_$_.escape(_$_.get(lazy_4)));
92
- }
102
+ {
103
+ _$_.output_push(_$_.escape(_$_.get(lazy_4)));
104
+ }
105
+
106
+ _$_.output_push('</div>');
107
+ });
93
108
 
94
- __output.push('</div>');
95
- __output.push('<div');
96
- __output.push(' class="y"');
97
- __output.push('>');
109
+ _$_.regular_block(() => {
110
+ _$_.output_push('<div');
111
+ _$_.output_push(' class="y"');
112
+ _$_.output_push('>');
98
113
 
99
- {
100
- __output.push(_$_.escape(_$_.get(lazy_5)));
101
- }
114
+ {
115
+ _$_.output_push(_$_.escape(_$_.get(lazy_5)));
116
+ }
102
117
 
103
- __output.push('</div>');
104
- __output.push('<div');
105
- __output.push(' class="z"');
106
- __output.push('>');
118
+ _$_.output_push('</div>');
119
+ });
107
120
 
108
- {
109
- __output.push(_$_.escape(_$_.get(lazy_6)));
110
- }
121
+ _$_.regular_block(() => {
122
+ _$_.output_push('<div');
123
+ _$_.output_push(' class="z"');
124
+ _$_.output_push('>');
125
+
126
+ {
127
+ _$_.output_push(_$_.escape(_$_.get(lazy_6)));
128
+ }
129
+
130
+ _$_.output_push('</div>');
131
+ });
111
132
 
112
- __output.push('</div>');
113
133
  _$_.pop_component();
114
134
  }
115
135
 
116
- export function DerivedState(__output) {
136
+ export function DerivedState() {
117
137
  _$_.push_component();
118
138
 
119
139
  let lazy_7 = _$_.track('John');
120
140
  let lazy_8 = _$_.track('Doe');
121
141
  const fullName = () => `${_$_.get(lazy_7)} ${_$_.get(lazy_8)}`;
122
142
 
123
- __output.push('<div');
124
- __output.push(' class="name"');
125
- __output.push('>');
143
+ _$_.regular_block(() => {
144
+ _$_.output_push('<div');
145
+ _$_.output_push(' class="name"');
146
+ _$_.output_push('>');
147
+
148
+ {
149
+ _$_.output_push(_$_.escape(fullName()));
150
+ }
126
151
 
127
- {
128
- __output.push(_$_.escape(fullName()));
129
- }
152
+ _$_.output_push('</div>');
153
+ });
130
154
 
131
- __output.push('</div>');
132
155
  _$_.pop_component();
133
156
  }