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,290 +3,325 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { track } from 'ripple/server';
5
5
 
6
- export function StaticTitle(__output) {
6
+ export function StaticTitle() {
7
7
  _$_.push_component();
8
- __output.push('<div');
9
- __output.push('>');
10
8
 
11
- {
12
- __output.push('Content');
13
- }
9
+ _$_.regular_block(() => {
10
+ _$_.output_push('<div');
11
+ _$_.output_push('>');
14
12
 
15
- __output.push('</div>');
16
- __output.target = 'head';
17
- __output.push('<!--qwqurq-->');
18
- __output.push('<title');
19
- __output.push('>');
13
+ {
14
+ _$_.output_push('Content');
15
+ }
16
+
17
+ _$_.output_push('</div>');
18
+ });
19
+
20
+ _$_.set_output_target('head');
21
+ _$_.output_push('<!--p76zx7-->');
22
+ _$_.output_push('<title');
23
+ _$_.output_push('>');
20
24
 
21
25
  {
22
- __output.push('Static Test Title');
26
+ _$_.output_push('Static Test Title');
23
27
  }
24
28
 
25
- __output.push('</title>');
26
- __output.target = null;
29
+ _$_.output_push('</title>');
30
+ _$_.set_output_target(null);
27
31
  _$_.pop_component();
28
32
  }
29
33
 
30
- export function ReactiveTitle(__output) {
34
+ export function ReactiveTitle() {
31
35
  _$_.push_component();
32
36
 
33
37
  let lazy = _$_.track('Initial Title');
34
38
 
35
- __output.push('<div');
36
- __output.push('>');
37
-
38
- {
39
- __output.push('<span');
40
- __output.push('>');
39
+ _$_.regular_block(() => {
40
+ _$_.output_push('<div');
41
+ _$_.output_push('>');
41
42
 
42
43
  {
43
- __output.push(_$_.escape(_$_.get(lazy)));
44
+ _$_.output_push('<span');
45
+ _$_.output_push('>');
46
+
47
+ {
48
+ _$_.output_push(_$_.escape(_$_.get(lazy)));
49
+ }
50
+
51
+ _$_.output_push('</span>');
44
52
  }
45
53
 
46
- __output.push('</span>');
47
- }
54
+ _$_.output_push('</div>');
55
+ });
48
56
 
49
- __output.push('</div>');
50
- __output.target = 'head';
51
- __output.push('<!--9zxmq0-->');
52
- __output.push('<title');
53
- __output.push('>');
57
+ _$_.set_output_target('head');
58
+ _$_.output_push('<!--1nb8jjx-->');
59
+ _$_.output_push('<title');
60
+ _$_.output_push('>');
54
61
 
55
62
  {
56
- __output.push(_$_.escape(_$_.get(lazy)));
63
+ _$_.output_push(_$_.escape(_$_.get(lazy)));
57
64
  }
58
65
 
59
- __output.push('</title>');
60
- __output.target = null;
66
+ _$_.output_push('</title>');
67
+ _$_.set_output_target(null);
61
68
  _$_.pop_component();
62
69
  }
63
70
 
64
- export function MultipleHeadElements(__output) {
71
+ export function MultipleHeadElements() {
65
72
  _$_.push_component();
66
- __output.push('<div');
67
- __output.push('>');
68
73
 
69
- {
70
- __output.push('Page content');
71
- }
74
+ _$_.regular_block(() => {
75
+ _$_.output_push('<div');
76
+ _$_.output_push('>');
77
+
78
+ {
79
+ _$_.output_push('Page content');
80
+ }
72
81
 
73
- __output.push('</div>');
74
- __output.target = 'head';
75
- __output.push('<!--16pnxms-->');
76
- __output.push('<title');
77
- __output.push('>');
82
+ _$_.output_push('</div>');
83
+ });
84
+
85
+ _$_.set_output_target('head');
86
+ _$_.output_push('<!--8n8nfd-->');
87
+ _$_.output_push('<title');
88
+ _$_.output_push('>');
78
89
 
79
90
  {
80
- __output.push('Page Title');
91
+ _$_.output_push('Page Title');
81
92
  }
82
93
 
83
- __output.push('</title>');
84
- __output.push('<meta');
85
- __output.push(' name="description"');
86
- __output.push(' content="Page description"');
87
- __output.push(' />');
88
- __output.push('<link');
89
- __output.push(' rel="stylesheet"');
90
- __output.push(' href="/styles.css"');
91
- __output.push(' />');
92
- __output.target = null;
94
+ _$_.output_push('</title>');
95
+ _$_.output_push('<meta');
96
+ _$_.output_push(' name="description"');
97
+ _$_.output_push(' content="Page description"');
98
+ _$_.output_push(' />');
99
+ _$_.output_push('<link');
100
+ _$_.output_push(' rel="stylesheet"');
101
+ _$_.output_push(' href="/styles.css"');
102
+ _$_.output_push(' />');
103
+ _$_.set_output_target(null);
93
104
  _$_.pop_component();
94
105
  }
95
106
 
96
- export function ReactiveMetaTags(__output) {
107
+ export function ReactiveMetaTags() {
97
108
  _$_.push_component();
98
109
 
99
110
  let lazy_1 = _$_.track('Initial description');
100
111
 
101
- __output.push('<div');
102
- __output.push('>');
112
+ _$_.regular_block(() => {
113
+ _$_.output_push('<div');
114
+ _$_.output_push('>');
103
115
 
104
- {
105
- __output.push(_$_.escape(_$_.get(lazy_1)));
106
- }
116
+ {
117
+ _$_.output_push(_$_.escape(_$_.get(lazy_1)));
118
+ }
107
119
 
108
- __output.push('</div>');
109
- __output.target = 'head';
110
- __output.push('<!--w5ribf-->');
111
- __output.push('<title');
112
- __output.push('>');
120
+ _$_.output_push('</div>');
121
+ });
122
+
123
+ _$_.set_output_target('head');
124
+ _$_.output_push('<!--1u7li02-->');
125
+ _$_.output_push('<title');
126
+ _$_.output_push('>');
113
127
 
114
128
  {
115
- __output.push('My Page');
129
+ _$_.output_push('My Page');
116
130
  }
117
131
 
118
- __output.push('</title>');
119
- __output.push('<meta');
120
- __output.push(' name="description"');
121
- __output.push(_$_.attr('content', _$_.get(lazy_1), false));
122
- __output.push(' />');
123
- __output.target = null;
132
+ _$_.output_push('</title>');
133
+ _$_.output_push('<meta');
134
+ _$_.output_push(' name="description"');
135
+ _$_.output_push(_$_.attr('content', _$_.get(lazy_1), false));
136
+ _$_.output_push(' />');
137
+ _$_.set_output_target(null);
124
138
  _$_.pop_component();
125
139
  }
126
140
 
127
- export function TitleWithTemplate(__output) {
141
+ export function TitleWithTemplate() {
128
142
  _$_.push_component();
129
143
 
130
144
  let lazy_2 = _$_.track('World');
131
145
 
132
- __output.push('<div');
133
- __output.push('>');
146
+ _$_.regular_block(() => {
147
+ _$_.output_push('<div');
148
+ _$_.output_push('>');
134
149
 
135
- {
136
- __output.push(_$_.escape(_$_.get(lazy_2)));
137
- }
150
+ {
151
+ _$_.output_push(_$_.escape(_$_.get(lazy_2)));
152
+ }
153
+
154
+ _$_.output_push('</div>');
155
+ });
138
156
 
139
- __output.push('</div>');
140
- __output.target = 'head';
141
- __output.push('<!--2ch862-->');
142
- __output.push('<title');
143
- __output.push('>');
157
+ _$_.set_output_target('head');
158
+ _$_.output_push('<!--1wzb5pb-->');
159
+ _$_.output_push('<title');
160
+ _$_.output_push('>');
144
161
 
145
162
  {
146
- __output.push(_$_.escape(`Hello ${_$_.get(lazy_2)}!`));
163
+ _$_.output_push(_$_.escape(`Hello ${_$_.get(lazy_2)}!`));
147
164
  }
148
165
 
149
- __output.push('</title>');
150
- __output.target = null;
166
+ _$_.output_push('</title>');
167
+ _$_.set_output_target(null);
151
168
  _$_.pop_component();
152
169
  }
153
170
 
154
- export function EmptyTitle(__output) {
171
+ export function EmptyTitle() {
155
172
  _$_.push_component();
156
- __output.push('<div');
157
- __output.push('>');
158
173
 
159
- {
160
- __output.push('Empty title test');
161
- }
174
+ _$_.regular_block(() => {
175
+ _$_.output_push('<div');
176
+ _$_.output_push('>');
177
+
178
+ {
179
+ _$_.output_push('Empty title test');
180
+ }
162
181
 
163
- __output.push('</div>');
164
- __output.target = 'head';
165
- __output.push('<!--u2seuf-->');
166
- __output.push('<title');
167
- __output.push('>');
182
+ _$_.output_push('</div>');
183
+ });
184
+
185
+ _$_.set_output_target('head');
186
+ _$_.output_push('<!--1vtxclq-->');
187
+ _$_.output_push('<title');
188
+ _$_.output_push('>');
168
189
 
169
190
  {
170
- __output.push('');
191
+ _$_.output_push('');
171
192
  }
172
193
 
173
- __output.push('</title>');
174
- __output.target = null;
194
+ _$_.output_push('</title>');
195
+ _$_.set_output_target(null);
175
196
  _$_.pop_component();
176
197
  }
177
198
 
178
- export function ConditionalTitle(__output) {
199
+ export function ConditionalTitle() {
179
200
  _$_.push_component();
180
201
 
181
202
  let lazy_3 = _$_.track(true);
182
203
  let lazy_4 = _$_.track('Main Page');
183
204
 
184
- __output.push('<div');
185
- __output.push('>');
205
+ _$_.regular_block(() => {
206
+ _$_.output_push('<div');
207
+ _$_.output_push('>');
186
208
 
187
- {
188
- __output.push(_$_.escape(_$_.get(lazy_4)));
189
- }
209
+ {
210
+ _$_.output_push(_$_.escape(_$_.get(lazy_4)));
211
+ }
190
212
 
191
- __output.push('</div>');
192
- __output.target = 'head';
193
- __output.push('<!--a0y861-->');
194
- __output.push('<title');
195
- __output.push('>');
213
+ _$_.output_push('</div>');
214
+ });
215
+
216
+ _$_.set_output_target('head');
217
+ _$_.output_push('<!--23prgg-->');
218
+ _$_.output_push('<title');
219
+ _$_.output_push('>');
196
220
 
197
221
  {
198
- __output.push(_$_.escape(_$_.get(lazy_3) ? 'App - ' + _$_.get(lazy_4) : _$_.get(lazy_4)));
222
+ _$_.output_push(_$_.escape(_$_.get(lazy_3) ? 'App - ' + _$_.get(lazy_4) : _$_.get(lazy_4)));
199
223
  }
200
224
 
201
- __output.push('</title>');
202
- __output.target = null;
225
+ _$_.output_push('</title>');
226
+ _$_.set_output_target(null);
203
227
  _$_.pop_component();
204
228
  }
205
229
 
206
- export function ComputedTitle(__output) {
230
+ export function ComputedTitle() {
207
231
  _$_.push_component();
208
232
 
209
233
  let lazy_5 = _$_.track(0);
210
234
  let prefix = 'Count: ';
211
235
 
212
- __output.push('<div');
213
- __output.push('>');
214
-
215
- {
216
- __output.push('<span');
217
- __output.push('>');
236
+ _$_.regular_block(() => {
237
+ _$_.output_push('<div');
238
+ _$_.output_push('>');
218
239
 
219
240
  {
220
- __output.push(_$_.escape(_$_.get(lazy_5)));
241
+ _$_.output_push('<span');
242
+ _$_.output_push('>');
243
+
244
+ {
245
+ _$_.output_push(_$_.escape(_$_.get(lazy_5)));
246
+ }
247
+
248
+ _$_.output_push('</span>');
221
249
  }
222
250
 
223
- __output.push('</span>');
224
- }
251
+ _$_.output_push('</div>');
252
+ });
225
253
 
226
- __output.push('</div>');
227
- __output.target = 'head';
228
- __output.push('<!--1bmcw8x-->');
229
- __output.push('<title');
230
- __output.push('>');
254
+ _$_.set_output_target('head');
255
+ _$_.output_push('<!--dlz6ig-->');
256
+ _$_.output_push('<title');
257
+ _$_.output_push('>');
231
258
 
232
259
  {
233
- __output.push(_$_.escape(prefix + _$_.get(lazy_5)));
260
+ _$_.output_push(_$_.escape(prefix + _$_.get(lazy_5)));
234
261
  }
235
262
 
236
- __output.push('</title>');
237
- __output.target = null;
263
+ _$_.output_push('</title>');
264
+ _$_.set_output_target(null);
238
265
  _$_.pop_component();
239
266
  }
240
267
 
241
- export function MultipleHeadBlocks(__output) {
268
+ export function MultipleHeadBlocks() {
242
269
  _$_.push_component();
243
- __output.push('<div');
244
- __output.push('>');
245
270
 
246
- {
247
- __output.push('Content');
248
- }
271
+ _$_.regular_block(() => {
272
+ _$_.output_push('<div');
273
+ _$_.output_push('>');
274
+
275
+ {
276
+ _$_.output_push('Content');
277
+ }
278
+
279
+ _$_.output_push('</div>');
280
+ });
249
281
 
250
- __output.push('</div>');
251
- __output.target = 'head';
252
- __output.push('<!--1lpoxil-->');
253
- __output.push('<title');
254
- __output.push('>');
282
+ _$_.set_output_target('head');
283
+ _$_.output_push('<!--143y0j8-->');
284
+ _$_.output_push('<title');
285
+ _$_.output_push('>');
255
286
 
256
287
  {
257
- __output.push('First Head');
288
+ _$_.output_push('First Head');
258
289
  }
259
290
 
260
- __output.push('</title>');
261
- __output.push('<!--n4z677-->');
262
- __output.push('<meta');
263
- __output.push(' name="author"');
264
- __output.push(' content="Test Author"');
265
- __output.push(' />');
266
- __output.target = null;
291
+ _$_.output_push('</title>');
292
+ _$_.output_push('<!--ejrkl6-->');
293
+ _$_.output_push('<meta');
294
+ _$_.output_push(' name="author"');
295
+ _$_.output_push(' content="Test Author"');
296
+ _$_.output_push(' />');
297
+ _$_.set_output_target(null);
267
298
  _$_.pop_component();
268
299
  }
269
300
 
270
- export function HeadWithStyle(__output) {
301
+ export function HeadWithStyle() {
271
302
  _$_.push_component();
272
- __output.push('<div');
273
- __output.push('>');
274
303
 
275
- {
276
- __output.push('Styled content');
277
- }
304
+ _$_.regular_block(() => {
305
+ _$_.output_push('<div');
306
+ _$_.output_push('>');
307
+
308
+ {
309
+ _$_.output_push('Styled content');
310
+ }
311
+
312
+ _$_.output_push('</div>');
313
+ });
278
314
 
279
- __output.push('</div>');
280
- __output.target = 'head';
281
- __output.push('<!--7j37lr-->');
282
- __output.push('<title');
283
- __output.push('>');
315
+ _$_.set_output_target('head');
316
+ _$_.output_push('<!--1k4vrqu-->');
317
+ _$_.output_push('<title');
318
+ _$_.output_push('>');
284
319
 
285
320
  {
286
- __output.push('Styled Page');
321
+ _$_.output_push('Styled Page');
287
322
  }
288
323
 
289
- __output.push('</title>');
290
- __output.target = null;
324
+ _$_.output_push('</title>');
325
+ _$_.set_output_target(null);
291
326
  _$_.pop_component();
292
327
  }
@@ -3,94 +3,102 @@ import * as _$_ from 'ripple/internal/server';
3
3
 
4
4
  import { track } from 'ripple/server';
5
5
 
6
- export function Layout(__output, { children }) {
6
+ export function Layout({ children }) {
7
7
  _$_.push_component();
8
- __output.push('<div');
9
- __output.push(' class="layout"');
10
- __output.push('>');
11
8
 
12
- {
13
- __output.push('<nav');
14
- __output.push(' class="nav"');
15
- __output.push('>');
9
+ _$_.regular_block(() => {
10
+ _$_.output_push('<div');
11
+ _$_.output_push(' class="layout"');
12
+ _$_.output_push('>');
16
13
 
17
14
  {
18
- __output.push('Navigation');
19
- }
15
+ _$_.output_push('<nav');
16
+ _$_.output_push(' class="nav"');
17
+ _$_.output_push('>');
20
18
 
21
- __output.push('</nav>');
22
- __output.push('<main');
23
- __output.push(' class="main"');
24
- __output.push('>');
19
+ {
20
+ _$_.output_push('Navigation');
21
+ }
25
22
 
26
- {
27
- _$_.render_expression(__output, children);
23
+ _$_.output_push('</nav>');
24
+ _$_.output_push('<main');
25
+ _$_.output_push(' class="main"');
26
+ _$_.output_push('>');
27
+
28
+ {
29
+ _$_.render_expression(children);
30
+ }
31
+
32
+ _$_.output_push('</main>');
28
33
  }
29
34
 
30
- __output.push('</main>');
31
- }
35
+ _$_.output_push('</div>');
36
+ });
32
37
 
33
- __output.push('</div>');
34
38
  _$_.pop_component();
35
39
  }
36
40
 
37
- export function Content(__output) {
41
+ export function Content() {
38
42
  _$_.push_component();
39
43
 
40
44
  let lazy = _$_.track(true);
41
45
 
42
- __output.push('<div');
43
- __output.push(' class="content"');
44
- __output.push('>');
46
+ _$_.regular_block(() => {
47
+ _$_.output_push('<div');
48
+ _$_.output_push(' class="content"');
49
+ _$_.output_push('>');
45
50
 
46
- {
47
- __output.push('<!--[-->');
51
+ {
52
+ _$_.output_push('<!--[-->');
48
53
 
49
- if (_$_.get(lazy)) {
50
- __output.push('<p');
51
- __output.push(' class="text"');
52
- __output.push('>');
54
+ if (_$_.get(lazy)) {
55
+ _$_.output_push('<p');
56
+ _$_.output_push(' class="text"');
57
+ _$_.output_push('>');
53
58
 
54
- {
55
- __output.push('Hello world');
59
+ {
60
+ _$_.output_push('Hello world');
61
+ }
62
+
63
+ _$_.output_push('</p>');
56
64
  }
57
65
 
58
- __output.push('</p>');
66
+ _$_.output_push('<!--]-->');
59
67
  }
60
68
 
61
- __output.push('<!--]-->');
62
- }
69
+ _$_.output_push('</div>');
70
+ });
63
71
 
64
- __output.push('</div>');
65
72
  _$_.pop_component();
66
73
  }
67
74
 
68
- export function LayoutWithContent(__output) {
75
+ export function LayoutWithContent() {
69
76
  _$_.push_component();
70
77
 
71
- {
72
- const comp = Layout;
78
+ _$_.regular_block(() => {
79
+ {
80
+ const comp = Layout;
73
81
 
74
- const args = [
75
- __output,
76
- {
77
- children: _$_.ripple_element(function render_children(__output) {
78
- _$_.push_component();
82
+ const args = [
83
+ {
84
+ children: _$_.ripple_element(function render_children() {
85
+ _$_.push_component();
79
86
 
80
- {
81
- const comp = Content;
82
- const args = [__output, {}];
87
+ {
88
+ const comp = Content;
89
+ const args = [{}];
83
90
 
84
- comp(...args);
85
- }
91
+ comp(...args);
92
+ }
86
93
 
87
- _$_.pop_component();
88
- })
89
- }
90
- ];
94
+ _$_.pop_component();
95
+ })
96
+ }
97
+ ];
91
98
 
92
- comp(...args);
93
- }
99
+ comp(...args);
100
+ }
101
+ });
94
102
 
95
103
  _$_.pop_component();
96
104
  }