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
@@ -17,61 +17,70 @@ const formatValue = function (...args) {
17
17
  return _$_server_$_.formatValue(...args);
18
18
  };
19
19
 
20
- export function AsyncWithServerCall() {
20
+ function ServerCallResult({ count }) {
21
21
  return _$_.tsrx_element(() => {
22
- let lazy = _$_.track(0, '2e21cbe9');
22
+ let lazy = _$_.track_async(() => formatValue(count.value), '2e21cbe9');
23
23
 
24
24
  _$_.regular_block(() => {
25
- _$_.output_push('<button');
26
- _$_.output_push(' class="increment"');
25
+ _$_.output_push('<p');
26
+ _$_.output_push(' class="result"');
27
27
  _$_.output_push('>');
28
28
 
29
29
  {
30
- _$_.output_push('increment');
30
+ _$_.output_push(_$_.escape(lazy.value));
31
31
  }
32
32
 
33
- _$_.output_push('</button>');
33
+ _$_.output_push('</p>');
34
34
  });
35
+ });
36
+ }
35
37
 
36
- _$_.try_block(
37
- () => {
38
- _$_.output_push('<!--[-->');
38
+ export function AsyncWithServerCall() {
39
+ return _$_.tsrx_element(() => {
40
+ let lazy_1 = _$_.track(0, 'f0c2b41e');
39
41
 
40
- let lazy_1 = _$_.track_async(() => formatValue(lazy.value), 'f0c2b41e');
42
+ _$_.regular_block(() => {
43
+ {
44
+ _$_.output_push('<button');
45
+ _$_.output_push(' class="increment"');
46
+ _$_.output_push('>');
41
47
 
42
- _$_.regular_block(() => {
43
- _$_.output_push('<p');
44
- _$_.output_push(' class="result"');
45
- _$_.output_push('>');
48
+ {
49
+ _$_.output_push('increment');
50
+ }
46
51
 
47
- {
48
- _$_.output_push(_$_.escape(lazy_1.value));
49
- }
52
+ _$_.output_push('</button>');
50
53
 
51
- _$_.output_push('</p>');
52
- });
54
+ _$_.try_block(
55
+ () => {
56
+ _$_.output_push('<!--[-->');
53
57
 
54
- _$_.output_push('<!--]-->');
55
- },
56
- null,
57
- () => {
58
- _$_.output_push('<!--[-->');
58
+ {
59
+ const comp = ServerCallResult;
60
+ const args = [{ count: lazy_1 }];
59
61
 
60
- _$_.regular_block(() => {
61
- _$_.output_push('<p');
62
- _$_.output_push(' class="loading"');
63
- _$_.output_push('>');
62
+ _$_.render_component(comp, ...args);
63
+ }
64
64
 
65
- {
66
- _$_.output_push('loading...');
67
- }
65
+ _$_.output_push('<!--]-->');
66
+ },
67
+ null,
68
+ () => {
69
+ _$_.output_push('<!--[-->');
70
+ _$_.output_push('<p');
71
+ _$_.output_push(' class="loading"');
72
+ _$_.output_push('>');
68
73
 
69
- _$_.output_push('</p>');
70
- });
74
+ {
75
+ _$_.output_push('loading...');
76
+ }
71
77
 
72
- _$_.output_push('<!--]-->');
78
+ _$_.output_push('</p>');
79
+ _$_.output_push('<!--]-->');
80
+ }
81
+ );
73
82
  }
74
- );
83
+ });
75
84
  });
76
85
  }
77
86
 
@@ -429,60 +438,69 @@ export function ParentWithCatch() {
429
438
  });
430
439
  }
431
440
 
432
- export function AsyncWithReactiveDependency() {
441
+ function ReactiveDependencyResult({ count }) {
433
442
  return _$_.tsrx_element(() => {
434
- let lazy_9 = _$_.track(0, 'c9d12acf');
443
+ let lazy_9 = _$_.track_async(() => Promise.resolve(`count-${count.value}`), 'c9d12acf');
435
444
 
436
445
  _$_.regular_block(() => {
437
- _$_.output_push('<button');
438
- _$_.output_push(' class="increment"');
446
+ _$_.output_push('<p');
447
+ _$_.output_push(' class="result"');
439
448
  _$_.output_push('>');
440
449
 
441
450
  {
442
- _$_.output_push('increment');
451
+ _$_.output_push(_$_.escape(lazy_9.value));
443
452
  }
444
453
 
445
- _$_.output_push('</button>');
454
+ _$_.output_push('</p>');
446
455
  });
456
+ });
457
+ }
447
458
 
448
- _$_.try_block(
449
- () => {
450
- _$_.output_push('<!--[-->');
459
+ export function AsyncWithReactiveDependency() {
460
+ return _$_.tsrx_element(() => {
461
+ let lazy_10 = _$_.track(0, 'cdd1adb8');
451
462
 
452
- let lazy_10 = _$_.track_async(() => Promise.resolve(`count-${lazy_9.value}`), 'cdd1adb8');
463
+ _$_.regular_block(() => {
464
+ {
465
+ _$_.output_push('<button');
466
+ _$_.output_push(' class="increment"');
467
+ _$_.output_push('>');
453
468
 
454
- _$_.regular_block(() => {
455
- _$_.output_push('<p');
456
- _$_.output_push(' class="result"');
457
- _$_.output_push('>');
469
+ {
470
+ _$_.output_push('increment');
471
+ }
458
472
 
459
- {
460
- _$_.output_push(_$_.escape(lazy_10.value));
461
- }
473
+ _$_.output_push('</button>');
462
474
 
463
- _$_.output_push('</p>');
464
- });
475
+ _$_.try_block(
476
+ () => {
477
+ _$_.output_push('<!--[-->');
465
478
 
466
- _$_.output_push('<!--]-->');
467
- },
468
- null,
469
- () => {
470
- _$_.output_push('<!--[-->');
479
+ {
480
+ const comp = ReactiveDependencyResult;
481
+ const args = [{ count: lazy_10 }];
471
482
 
472
- _$_.regular_block(() => {
473
- _$_.output_push('<p');
474
- _$_.output_push(' class="loading"');
475
- _$_.output_push('>');
483
+ _$_.render_component(comp, ...args);
484
+ }
476
485
 
477
- {
478
- _$_.output_push('loading...');
479
- }
486
+ _$_.output_push('<!--]-->');
487
+ },
488
+ null,
489
+ () => {
490
+ _$_.output_push('<!--[-->');
491
+ _$_.output_push('<p');
492
+ _$_.output_push(' class="loading"');
493
+ _$_.output_push('>');
480
494
 
481
- _$_.output_push('</p>');
482
- });
495
+ {
496
+ _$_.output_push('loading...');
497
+ }
483
498
 
484
- _$_.output_push('<!--]-->');
499
+ _$_.output_push('</p>');
500
+ _$_.output_push('<!--]-->');
501
+ }
502
+ );
485
503
  }
486
- );
504
+ });
487
505
  });
488
506
  }
@@ -178,51 +178,47 @@ function AsyncList() {
178
178
  export function AsyncTryWithLeadingSibling() {
179
179
  return _$_.tsrx_element(() => {
180
180
  _$_.regular_block(() => {
181
- _$_.output_push('<div');
182
- _$_.output_push(' class="before"');
183
- _$_.output_push('>');
184
-
185
181
  {
186
- _$_.output_push('before');
187
- }
188
-
189
- _$_.output_push('</div>');
190
- });
182
+ _$_.output_push('<div');
183
+ _$_.output_push(' class="before"');
184
+ _$_.output_push('>');
191
185
 
192
- _$_.try_block(
193
- () => {
194
- _$_.output_push('<!--[-->');
186
+ {
187
+ _$_.output_push('before');
188
+ }
195
189
 
196
- _$_.regular_block(() => {
197
- {
198
- const comp = AsyncContent;
199
- const args = [{}];
190
+ _$_.output_push('</div>');
200
191
 
201
- _$_.render_component(comp, ...args);
202
- }
203
- });
192
+ _$_.try_block(
193
+ () => {
194
+ _$_.output_push('<!--[-->');
204
195
 
205
- _$_.output_push('<!--]-->');
206
- },
207
- null,
208
- () => {
209
- _$_.output_push('<!--[-->');
196
+ {
197
+ const comp = AsyncContent;
198
+ const args = [{}];
210
199
 
211
- _$_.regular_block(() => {
212
- _$_.output_push('<div');
213
- _$_.output_push(' class="loading"');
214
- _$_.output_push('>');
200
+ _$_.render_component(comp, ...args);
201
+ }
215
202
 
216
- {
217
- _$_.output_push('loading async content');
218
- }
203
+ _$_.output_push('<!--]-->');
204
+ },
205
+ null,
206
+ () => {
207
+ _$_.output_push('<!--[-->');
208
+ _$_.output_push('<div');
209
+ _$_.output_push(' class="loading"');
210
+ _$_.output_push('>');
219
211
 
220
- _$_.output_push('</div>');
221
- });
212
+ {
213
+ _$_.output_push('loading async content');
214
+ }
222
215
 
223
- _$_.output_push('<!--]-->');
216
+ _$_.output_push('</div>');
217
+ _$_.output_push('<!--]-->');
218
+ }
219
+ );
224
220
  }
225
- );
221
+ });
226
222
  });
227
223
  }
228
224