ripple 0.3.72 → 0.3.76

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 (172) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/package.json +3 -3
  3. package/src/jsx-runtime.d.ts +4 -10
  4. package/src/runtime/dynamic-client.js +33 -0
  5. package/src/runtime/dynamic-server.js +80 -0
  6. package/src/runtime/index-client.js +5 -13
  7. package/src/runtime/index-server.js +2 -0
  8. package/src/runtime/internal/client/blocks.js +6 -27
  9. package/src/runtime/internal/client/composite.js +11 -6
  10. package/src/runtime/internal/client/for.js +80 -5
  11. package/src/runtime/internal/client/index.js +0 -2
  12. package/src/runtime/internal/client/render.js +5 -2
  13. package/src/runtime/internal/client/types.d.ts +0 -10
  14. package/src/runtime/internal/server/index.js +8 -1
  15. package/tests/client/__snapshots__/computed-properties.test.tsrx.snap +8 -0
  16. package/tests/client/__snapshots__/for.test.tsrx.snap +22 -0
  17. package/tests/client/__snapshots__/html.test.tsrx.snap +4 -0
  18. package/tests/client/array/array.copy-within.test.tsrx +19 -19
  19. package/tests/client/array/array.derived.test.tsrx +97 -109
  20. package/tests/client/array/array.iteration.test.tsrx +28 -28
  21. package/tests/client/array/array.mutations.test.tsrx +68 -68
  22. package/tests/client/array/array.static.test.tsrx +82 -92
  23. package/tests/client/array/array.to-methods.test.tsrx +15 -15
  24. package/tests/client/async-suspend.test.tsrx +180 -179
  25. package/tests/client/basic/__snapshots__/basic.attributes.test.tsrx.snap +2 -0
  26. package/tests/client/basic/__snapshots__/basic.rendering.test.tsrx.snap +4 -0
  27. package/tests/client/basic/basic.attributes.test.tsrx +273 -317
  28. package/tests/client/basic/basic.collections.test.tsrx +55 -61
  29. package/tests/client/basic/basic.components.test.tsrx +198 -220
  30. package/tests/client/basic/basic.errors.test.tsrx +70 -76
  31. package/tests/client/basic/basic.events.test.tsrx +80 -85
  32. package/tests/client/basic/basic.get-set.test.tsrx +54 -64
  33. package/tests/client/basic/basic.hmr.test.tsrx +15 -19
  34. package/tests/client/basic/basic.reactivity.test.tsrx +121 -135
  35. package/tests/client/basic/basic.rendering.test.tsrx +273 -178
  36. package/tests/client/basic/basic.styling.test.tsrx +16 -14
  37. package/tests/client/basic/basic.utilities.test.tsrx +8 -10
  38. package/tests/client/boundaries.test.tsrx +18 -18
  39. package/tests/client/compiler/compiler.assignments.test.tsrx +77 -76
  40. package/tests/client/compiler/compiler.attributes.test.tsrx +18 -14
  41. package/tests/client/compiler/compiler.basic.test.tsrx +357 -288
  42. package/tests/client/compiler/compiler.regex.test.tsrx +40 -44
  43. package/tests/client/compiler/compiler.tracked-access.test.tsrx +57 -38
  44. package/tests/client/compiler/compiler.try-in-function.test.tsrx +16 -16
  45. package/tests/client/compiler/compiler.typescript.test.tsrx +4 -3
  46. package/tests/client/composite/composite.dynamic-components.test.tsrx +62 -47
  47. package/tests/client/composite/composite.generics.test.tsrx +165 -167
  48. package/tests/client/composite/composite.props.test.tsrx +66 -74
  49. package/tests/client/composite/composite.reactivity.test.tsrx +132 -166
  50. package/tests/client/composite/composite.render.test.tsrx +92 -101
  51. package/tests/client/computed-properties.test.tsrx +14 -18
  52. package/tests/client/context.test.tsrx +14 -18
  53. package/tests/client/css/global-additional-cases.test.tsrx +493 -439
  54. package/tests/client/css/global-advanced-selectors.test.tsrx +169 -153
  55. package/tests/client/css/global-at-rules.test.tsrx +71 -66
  56. package/tests/client/css/global-basic.test.tsrx +105 -98
  57. package/tests/client/css/global-classes-ids.test.tsrx +128 -114
  58. package/tests/client/css/global-combinators.test.tsrx +83 -78
  59. package/tests/client/css/global-complex-nesting.test.tsrx +134 -120
  60. package/tests/client/css/global-edge-cases.test.tsrx +138 -120
  61. package/tests/client/css/global-keyframes.test.tsrx +108 -96
  62. package/tests/client/css/global-nested.test.tsrx +88 -78
  63. package/tests/client/css/global-pseudo.test.tsrx +104 -98
  64. package/tests/client/css/global-scoping.test.tsrx +145 -125
  65. package/tests/client/css/style-identifier.test.tsrx +65 -72
  66. package/tests/client/date.test.tsrx +83 -83
  67. package/tests/client/dynamic-elements.test.tsrx +318 -299
  68. package/tests/client/events.test.tsrx +252 -266
  69. package/tests/client/for.test.tsrx +120 -127
  70. package/tests/client/head.test.tsrx +74 -48
  71. package/tests/client/html.test.tsrx +37 -49
  72. package/tests/client/input-value.test.tsrx +1125 -1354
  73. package/tests/client/lazy-array.test.tsrx +10 -16
  74. package/tests/client/lazy-destructuring.test.tsrx +169 -221
  75. package/tests/client/map.test.tsrx +39 -41
  76. package/tests/client/media-query.test.tsrx +15 -19
  77. package/tests/client/object.test.tsrx +46 -56
  78. package/tests/client/portal.test.tsrx +31 -37
  79. package/tests/client/ref.test.tsrx +173 -193
  80. package/tests/client/return.test.tsrx +62 -37
  81. package/tests/client/set.test.tsrx +33 -33
  82. package/tests/client/svg.test.tsrx +197 -216
  83. package/tests/client/switch.test.tsrx +201 -191
  84. package/tests/client/track-async-hydration.test.tsrx +14 -18
  85. package/tests/client/tracked-index-access.test.tsrx +18 -28
  86. package/tests/client/try.test.tsrx +494 -619
  87. package/tests/client/tsx.test.tsrx +286 -292
  88. package/tests/client/typescript-generics.test.tsrx +121 -129
  89. package/tests/client/url/url.derived.test.tsrx +21 -25
  90. package/tests/client/url/url.parsing.test.tsrx +35 -35
  91. package/tests/client/url/url.partial-removal.test.tsrx +32 -32
  92. package/tests/client/url/url.reactivity.test.tsrx +68 -72
  93. package/tests/client/url/url.serialization.test.tsrx +8 -8
  94. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +21 -27
  95. package/tests/client/url-search-params/url-search-params.initialization.test.tsrx +16 -16
  96. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +37 -37
  97. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +56 -60
  98. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +32 -34
  99. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +9 -9
  100. package/tests/client/url-search-params/url-search-params.tracked-url.test.tsrx +10 -10
  101. package/tests/hydration/compiled/client/basic.js +390 -319
  102. package/tests/hydration/compiled/client/composite.js +52 -44
  103. package/tests/hydration/compiled/client/for.js +734 -604
  104. package/tests/hydration/compiled/client/head.js +183 -103
  105. package/tests/hydration/compiled/client/html.js +93 -86
  106. package/tests/hydration/compiled/client/if-children.js +95 -71
  107. package/tests/hydration/compiled/client/if.js +113 -89
  108. package/tests/hydration/compiled/client/mixed-control-flow.js +225 -209
  109. package/tests/hydration/compiled/client/nested-control-flow.js +94 -98
  110. package/tests/hydration/compiled/client/reactivity.js +26 -24
  111. package/tests/hydration/compiled/client/return.js +8 -42
  112. package/tests/hydration/compiled/client/switch.js +208 -173
  113. package/tests/hydration/compiled/client/track-async-serialization.js +176 -128
  114. package/tests/hydration/compiled/client/try.js +29 -21
  115. package/tests/hydration/compiled/server/basic.js +210 -221
  116. package/tests/hydration/compiled/server/composite.js +13 -14
  117. package/tests/hydration/compiled/server/for.js +427 -444
  118. package/tests/hydration/compiled/server/head.js +199 -189
  119. package/tests/hydration/compiled/server/html.js +33 -41
  120. package/tests/hydration/compiled/server/if-children.js +114 -117
  121. package/tests/hydration/compiled/server/if.js +77 -83
  122. package/tests/hydration/compiled/server/mixed-control-flow.js +145 -150
  123. package/tests/hydration/compiled/server/nested-control-flow.js +10 -0
  124. package/tests/hydration/compiled/server/reactivity.js +24 -22
  125. package/tests/hydration/compiled/server/return.js +6 -18
  126. package/tests/hydration/compiled/server/switch.js +179 -176
  127. package/tests/hydration/compiled/server/track-async-serialization.js +88 -70
  128. package/tests/hydration/compiled/server/try.js +31 -35
  129. package/tests/hydration/components/basic.tsrx +216 -258
  130. package/tests/hydration/components/composite.tsrx +32 -42
  131. package/tests/hydration/components/events.tsrx +81 -101
  132. package/tests/hydration/components/for.tsrx +270 -336
  133. package/tests/hydration/components/head.tsrx +43 -39
  134. package/tests/hydration/components/hmr.tsrx +16 -22
  135. package/tests/hydration/components/html-in-template.tsrx +15 -21
  136. package/tests/hydration/components/html.tsrx +442 -526
  137. package/tests/hydration/components/if-children.tsrx +107 -125
  138. package/tests/hydration/components/if.tsrx +68 -90
  139. package/tests/hydration/components/mixed-control-flow.tsrx +65 -72
  140. package/tests/hydration/components/nested-control-flow.tsrx +202 -216
  141. package/tests/hydration/components/portal.tsrx +33 -41
  142. package/tests/hydration/components/reactivity.tsrx +26 -34
  143. package/tests/hydration/components/return.tsrx +4 -6
  144. package/tests/hydration/components/switch.tsrx +73 -78
  145. package/tests/hydration/components/track-async-serialization.tsrx +83 -93
  146. package/tests/hydration/components/try.tsrx +37 -51
  147. package/tests/hydration/switch.test.js +8 -8
  148. package/tests/server/await.test.tsrx +3 -3
  149. package/tests/server/basic.attributes.test.tsrx +117 -162
  150. package/tests/server/basic.components.test.tsrx +164 -194
  151. package/tests/server/basic.test.tsrx +299 -199
  152. package/tests/server/compiler.test.tsrx +142 -72
  153. package/tests/server/composite.props.test.tsrx +54 -58
  154. package/tests/server/composite.test.tsrx +165 -167
  155. package/tests/server/context.test.tsrx +13 -17
  156. package/tests/server/dynamic-elements.test.tsrx +147 -148
  157. package/tests/server/for.test.tsrx +115 -84
  158. package/tests/server/head.test.tsrx +54 -31
  159. package/tests/server/html-nesting-validation.test.tsrx +16 -8
  160. package/tests/server/if.test.tsrx +49 -59
  161. package/tests/server/lazy-destructuring.test.tsrx +288 -366
  162. package/tests/server/return.test.tsrx +58 -36
  163. package/tests/server/streaming-ssr.test.tsrx +4 -4
  164. package/tests/server/style-identifier.test.tsrx +61 -69
  165. package/tests/server/switch.test.tsrx +89 -97
  166. package/tests/server/track-async-serialization.test.tsrx +85 -103
  167. package/tests/server/try.test.tsrx +275 -360
  168. package/tests/utils/ref-types.test.js +72 -0
  169. package/tests/utils/vite-plugin-config.test.js +41 -74
  170. package/types/index.d.ts +29 -4
  171. package/src/runtime/internal/client/compat.js +0 -40
  172. package/tests/utils/compiler-compat-config.test.js +0 -38
@@ -4,16 +4,17 @@ import * as _$_ from 'ripple/internal/client';
4
4
  var root = _$_.template(`<div class="layout"><!></div>`, 0);
5
5
  var root_1 = _$_.template(`<div class="layout">before<!>after</div>`, 0);
6
6
  var root_2 = _$_.template(`<div class="single">single</div>`, 0);
7
- var root_3 = _$_.template(`<h1>title</h1><p>description</p>`, 1, 2);
8
- var root_4 = _$_.template(`<!>`, 1, 1);
9
- var root_6 = _$_.template(`<!>`, 1, 1);
7
+ var root_4 = _$_.template(`<h1>title</h1><p>description</p>`, 1, 2);
8
+ var root_3 = _$_.template(`<!>`, 1, 1);
10
9
  var root_5 = _$_.template(`<!>`, 1, 1);
11
- var root_8 = _$_.template(`<!><div class="extra">extra</div>`, 1, 2);
12
10
  var root_7 = _$_.template(`<!>`, 1, 1);
11
+ var root_6 = _$_.template(`<!>`, 1, 1);
12
+ var root_9 = _$_.template(`<!><div class="extra">extra</div>`, 1, 2);
13
+ var root_8 = _$_.template(`<!>`, 1, 1);
14
+ var root_11 = _$_.template(`<!>`, 1, 1);
13
15
  var root_10 = _$_.template(`<!>`, 1, 1);
14
- var root_9 = _$_.template(`<!>`, 1, 1);
16
+ var root_13 = _$_.template(`<!>`, 1, 1);
15
17
  var root_12 = _$_.template(`<!>`, 1, 1);
16
- var root_11 = _$_.template(`<!>`, 1, 1);
17
18
 
18
19
  export function Layout(__props) {
19
20
  return _$_.tsrx_element((__anchor, __block) => {
@@ -57,94 +58,101 @@ export function SingleChild() {
57
58
  export function MultiRootChild() {
58
59
  return _$_.tsrx_element((__anchor, __block) => {
59
60
  var fragment = root_3();
61
+ var node = _$_.first_child_frag(fragment);
62
+
63
+ _$_.expression(node, () => _$_.tsrx_element((__anchor, __block) => {
64
+ var fragment_1 = root_4();
65
+
66
+ _$_.next();
67
+ _$_.append(__anchor, fragment_1, true);
68
+ }));
60
69
 
61
- _$_.next();
62
- _$_.append(__anchor, fragment, true);
70
+ _$_.append(__anchor, fragment);
63
71
  });
64
72
  }
65
73
 
66
74
  export function EmptyLayout() {
67
75
  return _$_.tsrx_element((__anchor, __block) => {
68
- var fragment_1 = root_4();
69
- var node = _$_.first_child_frag(fragment_1);
76
+ var fragment_2 = root_5();
77
+ var node_1 = _$_.first_child_frag(fragment_2);
70
78
 
71
- _$_.render_component(Layout, node, {});
72
- _$_.append(__anchor, fragment_1);
79
+ _$_.render_component(Layout, node_1, {});
80
+ _$_.append(__anchor, fragment_2);
73
81
  });
74
82
  }
75
83
 
76
84
  export function LayoutWithSingleChild() {
77
85
  return _$_.tsrx_element((__anchor, __block) => {
78
- var fragment_2 = root_5();
79
- var node_1 = _$_.first_child_frag(fragment_2);
86
+ var fragment_3 = root_6();
87
+ var node_2 = _$_.first_child_frag(fragment_3);
80
88
 
81
- _$_.render_component(Layout, node_1, {
89
+ _$_.render_component(Layout, node_2, {
82
90
  children: _$_.tsrx_element((__anchor, __block) => {
83
- var fragment_3 = root_6();
84
- var node_2 = _$_.first_child_frag(fragment_3);
91
+ var fragment_4 = root_7();
92
+ var node_3 = _$_.first_child_frag(fragment_4);
85
93
 
86
- _$_.render_component(SingleChild, node_2, {});
87
- _$_.append(__anchor, fragment_3);
94
+ _$_.render_component(SingleChild, node_3, {});
95
+ _$_.append(__anchor, fragment_4);
88
96
  })
89
97
  });
90
98
 
91
- _$_.append(__anchor, fragment_2);
99
+ _$_.append(__anchor, fragment_3);
92
100
  });
93
101
  }
94
102
 
95
103
  export function LayoutWithMultipleChildren() {
96
104
  return _$_.tsrx_element((__anchor, __block) => {
97
- var fragment_4 = root_7();
98
- var node_3 = _$_.first_child_frag(fragment_4);
105
+ var fragment_5 = root_8();
106
+ var node_4 = _$_.first_child_frag(fragment_5);
99
107
 
100
- _$_.render_component(Layout, node_3, {
108
+ _$_.render_component(Layout, node_4, {
101
109
  children: _$_.tsrx_element((__anchor, __block) => {
102
- var fragment_5 = root_8();
103
- var node_4 = _$_.first_child_frag(fragment_5);
110
+ var fragment_6 = root_9();
111
+ var node_5 = _$_.first_child_frag(fragment_6);
104
112
 
105
- _$_.render_component(SingleChild, node_4, {});
106
- _$_.append(__anchor, fragment_5);
113
+ _$_.render_component(SingleChild, node_5, {});
114
+ _$_.append(__anchor, fragment_6);
107
115
  })
108
116
  });
109
117
 
110
- _$_.append(__anchor, fragment_4);
118
+ _$_.append(__anchor, fragment_5);
111
119
  });
112
120
  }
113
121
 
114
122
  export function LayoutWithMultiRootChild() {
115
123
  return _$_.tsrx_element((__anchor, __block) => {
116
- var fragment_6 = root_9();
117
- var node_5 = _$_.first_child_frag(fragment_6);
124
+ var fragment_7 = root_10();
125
+ var node_6 = _$_.first_child_frag(fragment_7);
118
126
 
119
- _$_.render_component(Layout, node_5, {
127
+ _$_.render_component(Layout, node_6, {
120
128
  children: _$_.tsrx_element((__anchor, __block) => {
121
- var fragment_7 = root_10();
122
- var node_6 = _$_.first_child_frag(fragment_7);
129
+ var fragment_8 = root_11();
130
+ var node_7 = _$_.first_child_frag(fragment_8);
123
131
 
124
- _$_.render_component(MultiRootChild, node_6, {});
125
- _$_.append(__anchor, fragment_7);
132
+ _$_.render_component(MultiRootChild, node_7, {});
133
+ _$_.append(__anchor, fragment_8);
126
134
  })
127
135
  });
128
136
 
129
- _$_.append(__anchor, fragment_6);
137
+ _$_.append(__anchor, fragment_7);
130
138
  });
131
139
  }
132
140
 
133
141
  export function LayoutWithTextAroundChildren() {
134
142
  return _$_.tsrx_element((__anchor, __block) => {
135
- var fragment_8 = root_11();
136
- var node_7 = _$_.first_child_frag(fragment_8);
143
+ var fragment_9 = root_12();
144
+ var node_8 = _$_.first_child_frag(fragment_9);
137
145
 
138
- _$_.render_component(TextWrappedLayout, node_7, {
146
+ _$_.render_component(TextWrappedLayout, node_8, {
139
147
  children: _$_.tsrx_element((__anchor, __block) => {
140
- var fragment_9 = root_12();
141
- var node_8 = _$_.first_child_frag(fragment_9);
148
+ var fragment_10 = root_13();
149
+ var node_9 = _$_.first_child_frag(fragment_10);
142
150
 
143
- _$_.render_component(SingleChild, node_8, {});
144
- _$_.append(__anchor, fragment_9);
151
+ _$_.render_component(SingleChild, node_9, {});
152
+ _$_.append(__anchor, fragment_10);
145
153
  })
146
154
  });
147
155
 
148
- _$_.append(__anchor, fragment_8);
156
+ _$_.append(__anchor, fragment_9);
149
157
  });
150
158
  }