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,610 +3,732 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { track } from 'ripple/server';
5
5
 
6
- export function StaticText(__output) {
6
+ export function StaticText() {
7
7
  _$_.push_component();
8
- __output.push('<div');
9
- __output.push('>');
10
8
 
11
- {
12
- __output.push('Hello World');
13
- }
9
+ _$_.regular_block(() => {
10
+ _$_.output_push('<div');
11
+ _$_.output_push('>');
12
+
13
+ {
14
+ _$_.output_push('Hello World');
15
+ }
16
+
17
+ _$_.output_push('</div>');
18
+ });
14
19
 
15
- __output.push('</div>');
16
20
  _$_.pop_component();
17
21
  }
18
22
 
19
- export function MultipleElements(__output) {
23
+ export function MultipleElements() {
20
24
  _$_.push_component();
21
- __output.push('<h1');
22
- __output.push('>');
23
25
 
24
- {
25
- __output.push('Title');
26
- }
26
+ _$_.regular_block(() => {
27
+ _$_.output_push('<h1');
28
+ _$_.output_push('>');
29
+
30
+ {
31
+ _$_.output_push('Title');
32
+ }
33
+
34
+ _$_.output_push('</h1>');
35
+ });
36
+
37
+ _$_.regular_block(() => {
38
+ _$_.output_push('<p');
39
+ _$_.output_push('>');
40
+
41
+ {
42
+ _$_.output_push('Paragraph text');
43
+ }
27
44
 
28
- __output.push('</h1>');
29
- __output.push('<p');
30
- __output.push('>');
45
+ _$_.output_push('</p>');
46
+ });
31
47
 
32
- {
33
- __output.push('Paragraph text');
34
- }
48
+ _$_.regular_block(() => {
49
+ _$_.output_push('<span');
50
+ _$_.output_push('>');
35
51
 
36
- __output.push('</p>');
37
- __output.push('<span');
38
- __output.push('>');
52
+ {
53
+ _$_.output_push('Span text');
54
+ }
39
55
 
40
- {
41
- __output.push('Span text');
42
- }
56
+ _$_.output_push('</span>');
57
+ });
43
58
 
44
- __output.push('</span>');
45
59
  _$_.pop_component();
46
60
  }
47
61
 
48
- export function NestedElements(__output) {
62
+ export function NestedElements() {
49
63
  _$_.push_component();
50
- __output.push('<div');
51
- __output.push(' class="outer"');
52
- __output.push('>');
53
64
 
54
- {
55
- __output.push('<div');
56
- __output.push(' class="inner"');
57
- __output.push('>');
65
+ _$_.regular_block(() => {
66
+ _$_.output_push('<div');
67
+ _$_.output_push(' class="outer"');
68
+ _$_.output_push('>');
58
69
 
59
70
  {
60
- __output.push('<span');
61
- __output.push('>');
71
+ _$_.output_push('<div');
72
+ _$_.output_push(' class="inner"');
73
+ _$_.output_push('>');
62
74
 
63
75
  {
64
- __output.push('Nested content');
76
+ _$_.output_push('<span');
77
+ _$_.output_push('>');
78
+
79
+ {
80
+ _$_.output_push('Nested content');
81
+ }
82
+
83
+ _$_.output_push('</span>');
65
84
  }
66
85
 
67
- __output.push('</span>');
86
+ _$_.output_push('</div>');
68
87
  }
69
88
 
70
- __output.push('</div>');
71
- }
89
+ _$_.output_push('</div>');
90
+ });
72
91
 
73
- __output.push('</div>');
74
92
  _$_.pop_component();
75
93
  }
76
94
 
77
- export function WithAttributes(__output) {
95
+ export function WithAttributes() {
78
96
  _$_.push_component();
79
- __output.push('<input');
80
- __output.push(' type="text"');
81
- __output.push(' placeholder="Enter text"');
82
- __output.push(' disabled');
83
- __output.push(' />');
84
- __output.push('<a');
85
- __output.push(' href="/link"');
86
- __output.push(' target="_blank"');
87
- __output.push('>');
88
-
89
- {
90
- __output.push('Link');
91
- }
92
-
93
- __output.push('</a>');
97
+
98
+ _$_.regular_block(() => {
99
+ _$_.output_push('<input');
100
+ _$_.output_push(' type="text"');
101
+ _$_.output_push(' placeholder="Enter text"');
102
+ _$_.output_push(' disabled');
103
+ _$_.output_push(' />');
104
+ });
105
+
106
+ _$_.regular_block(() => {
107
+ _$_.output_push('<a');
108
+ _$_.output_push(' href="/link"');
109
+ _$_.output_push(' target="_blank"');
110
+ _$_.output_push('>');
111
+
112
+ {
113
+ _$_.output_push('Link');
114
+ }
115
+
116
+ _$_.output_push('</a>');
117
+ });
118
+
94
119
  _$_.pop_component();
95
120
  }
96
121
 
97
- export function ChildComponent(__output) {
122
+ export function ChildComponent() {
98
123
  _$_.push_component();
99
- __output.push('<span');
100
- __output.push(' class="child"');
101
- __output.push('>');
102
124
 
103
- {
104
- __output.push('Child content');
105
- }
125
+ _$_.regular_block(() => {
126
+ _$_.output_push('<span');
127
+ _$_.output_push(' class="child"');
128
+ _$_.output_push('>');
129
+
130
+ {
131
+ _$_.output_push('Child content');
132
+ }
133
+
134
+ _$_.output_push('</span>');
135
+ });
106
136
 
107
- __output.push('</span>');
108
137
  _$_.pop_component();
109
138
  }
110
139
 
111
- export function ParentWithChild(__output) {
140
+ export function ParentWithChild() {
112
141
  _$_.push_component();
113
- __output.push('<div');
114
- __output.push(' class="parent"');
115
- __output.push('>');
116
142
 
117
- {
143
+ _$_.regular_block(() => {
144
+ _$_.output_push('<div');
145
+ _$_.output_push(' class="parent"');
146
+ _$_.output_push('>');
147
+
118
148
  {
119
- const comp = ChildComponent;
120
- const args = [__output, {}];
149
+ {
150
+ const comp = ChildComponent;
151
+ const args = [{}];
121
152
 
122
- comp(...args);
153
+ comp(...args);
154
+ }
123
155
  }
124
- }
125
156
 
126
- __output.push('</div>');
157
+ _$_.output_push('</div>');
158
+ });
159
+
127
160
  _$_.pop_component();
128
161
  }
129
162
 
130
- export function FirstSibling(__output) {
163
+ export function FirstSibling() {
131
164
  _$_.push_component();
132
- __output.push('<div');
133
- __output.push(' class="first"');
134
- __output.push('>');
135
165
 
136
- {
137
- __output.push('First');
138
- }
166
+ _$_.regular_block(() => {
167
+ _$_.output_push('<div');
168
+ _$_.output_push(' class="first"');
169
+ _$_.output_push('>');
170
+
171
+ {
172
+ _$_.output_push('First');
173
+ }
174
+
175
+ _$_.output_push('</div>');
176
+ });
139
177
 
140
- __output.push('</div>');
141
178
  _$_.pop_component();
142
179
  }
143
180
 
144
- export function SecondSibling(__output) {
181
+ export function SecondSibling() {
145
182
  _$_.push_component();
146
- __output.push('<div');
147
- __output.push(' class="second"');
148
- __output.push('>');
149
183
 
150
- {
151
- __output.push('Second');
152
- }
184
+ _$_.regular_block(() => {
185
+ _$_.output_push('<div');
186
+ _$_.output_push(' class="second"');
187
+ _$_.output_push('>');
188
+
189
+ {
190
+ _$_.output_push('Second');
191
+ }
192
+
193
+ _$_.output_push('</div>');
194
+ });
153
195
 
154
- __output.push('</div>');
155
196
  _$_.pop_component();
156
197
  }
157
198
 
158
- export function SiblingComponents(__output) {
199
+ export function SiblingComponents() {
159
200
  _$_.push_component();
160
201
 
161
- {
162
- const comp = FirstSibling;
163
- const args = [__output, {}];
202
+ _$_.regular_block(() => {
203
+ {
204
+ const comp = FirstSibling;
205
+ const args = [{}];
164
206
 
165
- comp(...args);
166
- }
207
+ comp(...args);
208
+ }
209
+ });
167
210
 
168
- {
169
- const comp = SecondSibling;
170
- const args = [__output, {}];
211
+ _$_.regular_block(() => {
212
+ {
213
+ const comp = SecondSibling;
214
+ const args = [{}];
171
215
 
172
- comp(...args);
173
- }
216
+ comp(...args);
217
+ }
218
+ });
174
219
 
175
220
  _$_.pop_component();
176
221
  }
177
222
 
178
- export function Greeting(__output, props) {
223
+ export function Greeting(props) {
179
224
  _$_.push_component();
180
- __output.push('<div');
181
- __output.push('>');
182
225
 
183
- {
184
- __output.push(_$_.escape('Hello ' + String(props.name)));
185
- }
226
+ _$_.regular_block(() => {
227
+ _$_.output_push('<div');
228
+ _$_.output_push('>');
229
+
230
+ {
231
+ _$_.output_push(_$_.escape('Hello ' + String(props.name)));
232
+ }
233
+
234
+ _$_.output_push('</div>');
235
+ });
186
236
 
187
- __output.push('</div>');
188
237
  _$_.pop_component();
189
238
  }
190
239
 
191
- export function WithGreeting(__output) {
240
+ export function WithGreeting() {
192
241
  _$_.push_component();
193
242
 
194
- {
195
- const comp = Greeting;
196
- const args = [__output, { name: "World" }];
243
+ _$_.regular_block(() => {
244
+ {
245
+ const comp = Greeting;
246
+ const args = [{ name: "World" }];
197
247
 
198
- comp(...args);
199
- }
248
+ comp(...args);
249
+ }
250
+ });
200
251
 
201
252
  _$_.pop_component();
202
253
  }
203
254
 
204
- export function ExpressionContent(__output) {
255
+ export function ExpressionContent() {
205
256
  _$_.push_component();
206
257
 
207
258
  const value = 42;
208
259
  const label = 'computed';
209
260
 
210
- __output.push('<div');
211
- __output.push('>');
261
+ _$_.regular_block(() => {
262
+ _$_.output_push('<div');
263
+ _$_.output_push('>');
264
+
265
+ {
266
+ _$_.output_push(_$_.escape(value));
267
+ }
268
+
269
+ _$_.output_push('</div>');
270
+ });
212
271
 
213
- {
214
- __output.push(_$_.escape(value));
215
- }
272
+ _$_.regular_block(() => {
273
+ _$_.output_push('<span');
274
+ _$_.output_push('>');
216
275
 
217
- __output.push('</div>');
218
- __output.push('<span');
219
- __output.push('>');
276
+ {
277
+ _$_.output_push(_$_.escape(label.toUpperCase()));
278
+ }
220
279
 
221
- {
222
- __output.push(_$_.escape(label.toUpperCase()));
223
- }
280
+ _$_.output_push('</span>');
281
+ });
224
282
 
225
- __output.push('</span>');
226
283
  _$_.pop_component();
227
284
  }
228
285
 
229
- function TextProp(__output, __props) {
286
+ function TextProp(__props) {
230
287
  _$_.push_component();
231
- __output.push('<div');
232
- __output.push(' class="text-prop"');
233
- __output.push('>');
234
288
 
235
- {
236
- _$_.render_expression(__output, __props.children);
237
- }
289
+ _$_.regular_block(() => {
290
+ _$_.output_push('<div');
291
+ _$_.output_push(' class="text-prop"');
292
+ _$_.output_push('>');
293
+
294
+ {
295
+ _$_.render_expression(__props.children);
296
+ }
297
+
298
+ _$_.output_push('</div>');
299
+ });
238
300
 
239
- __output.push('</div>');
240
301
  _$_.pop_component();
241
302
  }
242
303
 
243
- export function TextPropWithToggle(__output) {
304
+ export function TextPropWithToggle() {
244
305
  _$_.push_component();
245
306
 
246
307
  let lazy = _$_.track(false);
247
308
 
248
- {
249
- const comp = TextProp;
309
+ _$_.regular_block(() => {
310
+ {
311
+ const comp = TextProp;
250
312
 
251
- const args = [
252
- __output,
253
- {
254
- children: _$_.normalize_children(_$_.get(lazy) ? 'hello' : '')
255
- }
256
- ];
313
+ const args = [
314
+ {
315
+ children: _$_.normalize_children(_$_.get(lazy) ? 'hello' : '')
316
+ }
317
+ ];
257
318
 
258
- comp(...args);
259
- }
319
+ comp(...args);
320
+ }
321
+ });
260
322
 
261
- __output.push('<button');
262
- __output.push(' class="show-text"');
263
- __output.push('>');
323
+ _$_.regular_block(() => {
324
+ _$_.output_push('<button');
325
+ _$_.output_push(' class="show-text"');
326
+ _$_.output_push('>');
264
327
 
265
- {
266
- __output.push('Show');
267
- }
328
+ {
329
+ _$_.output_push('Show');
330
+ }
331
+
332
+ _$_.output_push('</button>');
333
+ });
268
334
 
269
- __output.push('</button>');
270
335
  _$_.pop_component();
271
336
  }
272
337
 
273
- function StaticHeader(__output) {
338
+ function StaticHeader() {
274
339
  _$_.push_component();
275
- __output.push('<h1');
276
- __output.push(' class="sr-only"');
277
- __output.push('>');
278
340
 
279
- {
280
- __output.push('heading');
281
- }
341
+ _$_.regular_block(() => {
342
+ _$_.output_push('<h1');
343
+ _$_.output_push(' class="sr-only"');
344
+ _$_.output_push('>');
345
+
346
+ {
347
+ _$_.output_push('heading');
348
+ }
349
+
350
+ _$_.output_push('</h1>');
351
+ });
352
+
353
+ _$_.regular_block(() => {
354
+ _$_.output_push('<p');
355
+ _$_.output_push(' class="subtitle"');
356
+ _$_.output_push('>');
357
+
358
+ {
359
+ _$_.output_push('first paragraph');
360
+ }
282
361
 
283
- __output.push('</h1>');
284
- __output.push('<p');
285
- __output.push(' class="subtitle"');
286
- __output.push('>');
362
+ _$_.output_push('</p>');
363
+ });
287
364
 
288
- {
289
- __output.push('first paragraph');
290
- }
365
+ _$_.regular_block(() => {
366
+ _$_.output_push('<p');
367
+ _$_.output_push(' class="subtitle"');
368
+ _$_.output_push('>');
291
369
 
292
- __output.push('</p>');
293
- __output.push('<p');
294
- __output.push(' class="subtitle"');
295
- __output.push('>');
370
+ {
371
+ _$_.output_push('second paragraph');
372
+ }
296
373
 
297
- {
298
- __output.push('second paragraph');
299
- }
374
+ _$_.output_push('</p>');
375
+ });
300
376
 
301
- __output.push('</p>');
302
377
  _$_.pop_component();
303
378
  }
304
379
 
305
- export function StaticChildWithSiblings(__output) {
380
+ export function StaticChildWithSiblings() {
306
381
  _$_.push_component();
307
382
 
308
383
  const foo = 'bar';
309
384
 
310
- {
311
- const comp = StaticHeader;
312
- const args = [__output, {}];
385
+ _$_.regular_block(() => {
386
+ {
387
+ const comp = StaticHeader;
388
+ const args = [{}];
313
389
 
314
- comp(...args);
315
- }
390
+ comp(...args);
391
+ }
392
+ });
316
393
 
317
- __output.push('<span');
318
- __output.push(' class="sibling1"');
319
- __output.push('>');
394
+ _$_.regular_block(() => {
395
+ _$_.output_push('<span');
396
+ _$_.output_push(' class="sibling1"');
397
+ _$_.output_push('>');
320
398
 
321
- {
322
- __output.push(_$_.escape(foo));
323
- }
399
+ {
400
+ _$_.output_push(_$_.escape(foo));
401
+ }
324
402
 
325
- __output.push('</span>');
326
- __output.push('<span');
327
- __output.push(' class="sibling2"');
328
- __output.push('>');
403
+ _$_.output_push('</span>');
404
+ });
329
405
 
330
- {
331
- __output.push(_$_.escape(foo));
332
- }
406
+ _$_.regular_block(() => {
407
+ _$_.output_push('<span');
408
+ _$_.output_push(' class="sibling2"');
409
+ _$_.output_push('>');
333
410
 
334
- __output.push('</span>');
335
- _$_.pop_component();
336
- }
411
+ {
412
+ _$_.output_push(_$_.escape(foo));
413
+ }
414
+
415
+ _$_.output_push('</span>');
416
+ });
337
417
 
338
- function Header(__output) {
339
- _$_.push_component();
340
- __output.push('<h1');
341
- __output.push(' class="sr-only"');
342
- __output.push('>');
343
-
344
- {
345
- __output.push('Ripple');
346
- }
347
-
348
- __output.push('</h1>');
349
- __output.push('<img');
350
- __output.push(' src="/images/logo.png"');
351
- __output.push(' alt="Logo"');
352
- __output.push(' class="logo"');
353
- __output.push(' />');
354
- __output.push('<p');
355
- __output.push(' class="subtitle"');
356
- __output.push('>');
357
-
358
- {
359
- __output.push('the elegant TypeScript UI framework');
360
- }
361
-
362
- __output.push('</p>');
363
418
  _$_.pop_component();
364
419
  }
365
420
 
366
- function Actions(__output, { playgroundVisible = false }) {
421
+ function Header() {
367
422
  _$_.push_component();
368
- __output.push('<div');
369
- __output.push(' class="social-links"');
370
- __output.push('>');
371
423
 
372
- {
373
- __output.push('<a');
374
- __output.push(' href="https://github.com"');
375
- __output.push(' class="github-link"');
376
- __output.push('>');
424
+ _$_.regular_block(() => {
425
+ _$_.output_push('<h1');
426
+ _$_.output_push(' class="sr-only"');
427
+ _$_.output_push('>');
377
428
 
378
429
  {
379
- __output.push('GitHub');
430
+ _$_.output_push('Ripple');
380
431
  }
381
432
 
382
- __output.push('</a>');
383
- __output.push('<a');
384
- __output.push(' href="https://discord.com"');
385
- __output.push(' class="discord-link"');
386
- __output.push('>');
433
+ _$_.output_push('</h1>');
434
+ });
435
+
436
+ _$_.regular_block(() => {
437
+ _$_.output_push('<img');
438
+ _$_.output_push(' src="/images/logo.png"');
439
+ _$_.output_push(' alt="Logo"');
440
+ _$_.output_push(' class="logo"');
441
+ _$_.output_push(' />');
442
+ });
443
+
444
+ _$_.regular_block(() => {
445
+ _$_.output_push('<p');
446
+ _$_.output_push(' class="subtitle"');
447
+ _$_.output_push('>');
387
448
 
388
449
  {
389
- __output.push('Discord');
450
+ _$_.output_push('the elegant TypeScript UI framework');
390
451
  }
391
452
 
392
- __output.push('</a>');
393
- __output.push('<!--[-->');
453
+ _$_.output_push('</p>');
454
+ });
455
+
456
+ _$_.pop_component();
457
+ }
458
+
459
+ function Actions({ playgroundVisible = false }) {
460
+ _$_.push_component();
461
+
462
+ _$_.regular_block(() => {
463
+ _$_.output_push('<div');
464
+ _$_.output_push(' class="social-links"');
465
+ _$_.output_push('>');
466
+
467
+ {
468
+ _$_.output_push('<a');
469
+ _$_.output_push(' href="https://github.com"');
470
+ _$_.output_push(' class="github-link"');
471
+ _$_.output_push('>');
472
+
473
+ {
474
+ _$_.output_push('GitHub');
475
+ }
394
476
 
395
- if (playgroundVisible) {
396
- __output.push('<a');
397
- __output.push(' href="/playground"');
398
- __output.push(' class="playground-link"');
399
- __output.push('>');
477
+ _$_.output_push('</a>');
478
+ _$_.output_push('<a');
479
+ _$_.output_push(' href="https://discord.com"');
480
+ _$_.output_push(' class="discord-link"');
481
+ _$_.output_push('>');
400
482
 
401
483
  {
402
- __output.push('Playground');
484
+ _$_.output_push('Discord');
485
+ }
486
+
487
+ _$_.output_push('</a>');
488
+ _$_.output_push('<!--[-->');
489
+
490
+ if (playgroundVisible) {
491
+ _$_.output_push('<a');
492
+ _$_.output_push(' href="/playground"');
493
+ _$_.output_push(' class="playground-link"');
494
+ _$_.output_push('>');
495
+
496
+ {
497
+ _$_.output_push('Playground');
498
+ }
499
+
500
+ _$_.output_push('</a>');
403
501
  }
404
502
 
405
- __output.push('</a>');
503
+ _$_.output_push('<!--]-->');
406
504
  }
407
505
 
408
- __output.push('<!--]-->');
409
- }
506
+ _$_.output_push('</div>');
507
+ });
410
508
 
411
- __output.push('</div>');
412
509
  _$_.pop_component();
413
510
  }
414
511
 
415
- function Layout(__output, { children }) {
512
+ function Layout({ children }) {
416
513
  _$_.push_component();
417
- __output.push('<main');
418
- __output.push('>');
419
514
 
420
- {
421
- __output.push('<div');
422
- __output.push(' class="container"');
423
- __output.push('>');
515
+ _$_.regular_block(() => {
516
+ _$_.output_push('<main');
517
+ _$_.output_push('>');
424
518
 
425
519
  {
426
- _$_.render_expression(__output, children);
520
+ _$_.output_push('<div');
521
+ _$_.output_push(' class="container"');
522
+ _$_.output_push('>');
523
+
524
+ {
525
+ _$_.render_expression(children);
526
+ }
527
+
528
+ _$_.output_push('</div>');
427
529
  }
428
530
 
429
- __output.push('</div>');
430
- }
531
+ _$_.output_push('</main>');
532
+ });
431
533
 
432
- __output.push('</main>');
433
534
  _$_.pop_component();
434
535
  }
435
536
 
436
- function Content(__output) {
537
+ function Content() {
437
538
  _$_.push_component();
438
- __output.push('<div');
439
- __output.push(' class="content"');
440
- __output.push('>');
441
539
 
442
- {
443
- __output.push('<p');
444
- __output.push('>');
540
+ _$_.regular_block(() => {
541
+ _$_.output_push('<div');
542
+ _$_.output_push(' class="content"');
543
+ _$_.output_push('>');
445
544
 
446
545
  {
447
- __output.push('Some content here');
546
+ _$_.output_push('<p');
547
+ _$_.output_push('>');
548
+
549
+ {
550
+ _$_.output_push('Some content here');
551
+ }
552
+
553
+ _$_.output_push('</p>');
448
554
  }
449
555
 
450
- __output.push('</p>');
451
- }
556
+ _$_.output_push('</div>');
557
+ });
452
558
 
453
- __output.push('</div>');
454
559
  _$_.pop_component();
455
560
  }
456
561
 
457
- export function WebsiteIndex(__output) {
562
+ export function WebsiteIndex() {
458
563
  _$_.push_component();
459
564
 
460
- {
461
- const comp = Layout;
565
+ _$_.regular_block(() => {
566
+ {
567
+ const comp = Layout;
462
568
 
463
- const args = [
464
- __output,
465
- {
466
- children: _$_.ripple_element(function render_children(__output) {
467
- _$_.push_component();
569
+ const args = [
570
+ {
571
+ children: _$_.ripple_element(function render_children() {
572
+ _$_.push_component();
468
573
 
469
- {
470
- const comp = Header;
471
- const args = [__output, {}];
574
+ {
575
+ const comp = Header;
576
+ const args = [{}];
472
577
 
473
- comp(...args);
474
- }
578
+ comp(...args);
579
+ }
475
580
 
476
- {
477
- const comp = Actions;
478
- const args = [__output, { playgroundVisible: true }];
581
+ {
582
+ const comp = Actions;
583
+ const args = [{ playgroundVisible: true }];
479
584
 
480
- comp(...args);
481
- }
585
+ comp(...args);
586
+ }
482
587
 
483
- {
484
- const comp = Content;
485
- const args = [__output, {}];
588
+ {
589
+ const comp = Content;
590
+ const args = [{}];
486
591
 
487
- comp(...args);
488
- }
592
+ comp(...args);
593
+ }
489
594
 
490
- {
491
- const comp = Actions;
492
- const args = [__output, { playgroundVisible: false }];
595
+ {
596
+ const comp = Actions;
597
+ const args = [{ playgroundVisible: false }];
493
598
 
494
- comp(...args);
495
- }
599
+ comp(...args);
600
+ }
496
601
 
497
- _$_.pop_component();
498
- })
499
- }
500
- ];
602
+ _$_.pop_component();
603
+ })
604
+ }
605
+ ];
501
606
 
502
- comp(...args);
503
- }
607
+ comp(...args);
608
+ }
609
+ });
504
610
 
505
611
  _$_.pop_component();
506
612
  }
507
613
 
508
- function LastChild(__output) {
614
+ function LastChild() {
509
615
  _$_.push_component();
510
- __output.push('<footer');
511
- __output.push(' class="last-child"');
512
- __output.push('>');
513
616
 
514
- {
515
- __output.push('I am the last child');
516
- }
617
+ _$_.regular_block(() => {
618
+ _$_.output_push('<footer');
619
+ _$_.output_push(' class="last-child"');
620
+ _$_.output_push('>');
621
+
622
+ {
623
+ _$_.output_push('I am the last child');
624
+ }
625
+
626
+ _$_.output_push('</footer>');
627
+ });
517
628
 
518
- __output.push('</footer>');
519
629
  _$_.pop_component();
520
630
  }
521
631
 
522
- export function ComponentAsLastSibling(__output) {
632
+ export function ComponentAsLastSibling() {
523
633
  _$_.push_component();
524
- __output.push('<div');
525
- __output.push(' class="wrapper"');
526
- __output.push('>');
527
634
 
528
- {
529
- __output.push('<h1');
530
- __output.push('>');
635
+ _$_.regular_block(() => {
636
+ _$_.output_push('<div');
637
+ _$_.output_push(' class="wrapper"');
638
+ _$_.output_push('>');
531
639
 
532
640
  {
533
- __output.push('Header');
534
- }
641
+ _$_.output_push('<h1');
642
+ _$_.output_push('>');
643
+
644
+ {
645
+ _$_.output_push('Header');
646
+ }
535
647
 
536
- __output.push('</h1>');
537
- __output.push('<p');
538
- __output.push('>');
648
+ _$_.output_push('</h1>');
649
+ _$_.output_push('<p');
650
+ _$_.output_push('>');
539
651
 
540
- {
541
- __output.push('Some content');
542
- }
652
+ {
653
+ _$_.output_push('Some content');
654
+ }
543
655
 
544
- __output.push('</p>');
656
+ _$_.output_push('</p>');
545
657
 
546
- {
547
- const comp = LastChild;
548
- const args = [__output, {}];
658
+ {
659
+ const comp = LastChild;
660
+ const args = [{}];
549
661
 
550
- comp(...args);
662
+ comp(...args);
663
+ }
551
664
  }
552
- }
553
665
 
554
- __output.push('</div>');
666
+ _$_.output_push('</div>');
667
+ });
668
+
555
669
  _$_.pop_component();
556
670
  }
557
671
 
558
- function InnerContent(__output) {
672
+ function InnerContent() {
559
673
  _$_.push_component();
560
- __output.push('<div');
561
- __output.push(' class="inner"');
562
- __output.push('>');
563
674
 
564
- {
565
- __output.push('<span');
566
- __output.push('>');
675
+ _$_.regular_block(() => {
676
+ _$_.output_push('<div');
677
+ _$_.output_push(' class="inner"');
678
+ _$_.output_push('>');
567
679
 
568
680
  {
569
- __output.push('Inner text');
570
- }
681
+ _$_.output_push('<span');
682
+ _$_.output_push('>');
571
683
 
572
- __output.push('</span>');
684
+ {
685
+ _$_.output_push('Inner text');
686
+ }
573
687
 
574
- {
575
- const comp = LastChild;
576
- const args = [__output, {}];
688
+ _$_.output_push('</span>');
577
689
 
578
- comp(...args);
690
+ {
691
+ const comp = LastChild;
692
+ const args = [{}];
693
+
694
+ comp(...args);
695
+ }
579
696
  }
580
- }
581
697
 
582
- __output.push('</div>');
698
+ _$_.output_push('</div>');
699
+ });
700
+
583
701
  _$_.pop_component();
584
702
  }
585
703
 
586
- export function NestedComponentAsLastSibling(__output) {
704
+ export function NestedComponentAsLastSibling() {
587
705
  _$_.push_component();
588
- __output.push('<section');
589
- __output.push(' class="outer"');
590
- __output.push('>');
591
706
 
592
- {
593
- __output.push('<h2');
594
- __output.push('>');
707
+ _$_.regular_block(() => {
708
+ _$_.output_push('<section');
709
+ _$_.output_push(' class="outer"');
710
+ _$_.output_push('>');
595
711
 
596
712
  {
597
- __output.push('Section title');
598
- }
713
+ _$_.output_push('<h2');
714
+ _$_.output_push('>');
599
715
 
600
- __output.push('</h2>');
716
+ {
717
+ _$_.output_push('Section title');
718
+ }
601
719
 
602
- {
603
- const comp = InnerContent;
604
- const args = [__output, {}];
720
+ _$_.output_push('</h2>');
605
721
 
606
- comp(...args);
722
+ {
723
+ const comp = InnerContent;
724
+ const args = [{}];
725
+
726
+ comp(...args);
727
+ }
607
728
  }
608
- }
609
729
 
610
- __output.push('</section>');
730
+ _$_.output_push('</section>');
731
+ });
732
+
611
733
  _$_.pop_component();
612
734
  }