ripple 0.4.2 → 0.4.3

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 (94) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/package.json +9 -3
  3. package/src/jsx-runtime.d.ts +2 -1
  4. package/src/runtime/array.js +15 -9
  5. package/src/runtime/index-client.js +25 -7
  6. package/src/runtime/index-server.js +1 -0
  7. package/src/runtime/internal/client/attributes.js +313 -0
  8. package/src/runtime/internal/client/blocks.js +4 -14
  9. package/src/runtime/internal/client/component.js +2 -5
  10. package/src/runtime/internal/client/composite.js +14 -6
  11. package/src/runtime/internal/client/constants.js +6 -6
  12. package/src/runtime/internal/client/context.js +3 -2
  13. package/src/runtime/internal/client/css.js +11 -26
  14. package/src/runtime/internal/client/errors.js +188 -0
  15. package/src/runtime/internal/client/events.js +79 -34
  16. package/src/runtime/internal/client/expression.js +21 -116
  17. package/src/runtime/internal/client/for.js +108 -232
  18. package/src/runtime/internal/client/head.js +4 -3
  19. package/src/runtime/internal/client/html.js +5 -3
  20. package/src/runtime/internal/client/hydrate.js +484 -0
  21. package/src/runtime/internal/client/hydration-enabled.js +7 -0
  22. package/src/runtime/internal/client/hydration.js +16 -81
  23. package/src/runtime/internal/client/if.js +13 -9
  24. package/src/runtime/internal/client/index.js +14 -6
  25. package/src/runtime/internal/client/operations.js +11 -7
  26. package/src/runtime/internal/client/portal.js +3 -2
  27. package/src/runtime/internal/client/render.js +42 -325
  28. package/src/runtime/internal/client/root-boundary-enabled.js +7 -0
  29. package/src/runtime/internal/client/runtime.js +87 -363
  30. package/src/runtime/internal/client/template-ns.js +47 -0
  31. package/src/runtime/internal/client/template.js +63 -140
  32. package/src/runtime/internal/client/track-async.js +356 -0
  33. package/src/runtime/internal/client/try.js +133 -319
  34. package/src/runtime/internal/client/types.d.ts +48 -24
  35. package/src/runtime/internal/server/index.js +31 -29
  36. package/src/runtime/internal/server/prerender.js +27 -0
  37. package/src/server/index.js +1 -0
  38. package/src/utils/class-name.js +28 -0
  39. package/tests/client/basic/basic.errors.test.tsrx +3 -3
  40. package/tests/client/compiler/__snapshots__/compiler.typescript.test.tsrx.snap +0 -2
  41. package/tests/client/compiler/compiler.basic.test.tsrx +2 -2
  42. package/tests/client/compiler/compiler.tracked-access.test.tsrx +3 -3
  43. package/tests/client/composite/composite.props.test.tsrx +10 -10
  44. package/tests/client/derived-release.test.tsrx +3 -3
  45. package/tests/client/for-item.test.tsrx +39 -0
  46. package/tests/client/for-selector.test.tsrx +95 -0
  47. package/tests/hydration/compiled/client/basic.js +87 -87
  48. package/tests/hydration/compiled/client/composite.js +5 -5
  49. package/tests/hydration/compiled/client/events.js +40 -48
  50. package/tests/hydration/compiled/client/for.js +162 -181
  51. package/tests/hydration/compiled/client/fragment-cursor.js +521 -289
  52. package/tests/hydration/compiled/client/head.js +22 -22
  53. package/tests/hydration/compiled/client/hmr.js +4 -4
  54. package/tests/hydration/compiled/client/html-in-template.js +5 -5
  55. package/tests/hydration/compiled/client/html.js +152 -162
  56. package/tests/hydration/compiled/client/if-children.js +58 -53
  57. package/tests/hydration/compiled/client/if-fragment-controlflow.js +39 -39
  58. package/tests/hydration/compiled/client/if.js +26 -26
  59. package/tests/hydration/compiled/client/mixed-control-flow.js +56 -68
  60. package/tests/hydration/compiled/client/nested-control-flow.js +139 -271
  61. package/tests/hydration/compiled/client/portal.js +10 -10
  62. package/tests/hydration/compiled/client/reactivity.js +29 -29
  63. package/tests/hydration/compiled/client/return.js +2 -2
  64. package/tests/hydration/compiled/client/streaming.js +33 -35
  65. package/tests/hydration/compiled/client/switch.js +25 -25
  66. package/tests/hydration/compiled/client/track-async-serialization.js +41 -41
  67. package/tests/hydration/compiled/client/try.js +15 -15
  68. package/tests/hydration/compiled/client/typed-text.js +7 -7
  69. package/tests/hydration/compiled/server/basic.js +6 -6
  70. package/tests/hydration/compiled/server/events.js +8 -8
  71. package/tests/hydration/compiled/server/for.js +22 -22
  72. package/tests/hydration/compiled/server/fragment-cursor.js +188 -52
  73. package/tests/hydration/compiled/server/head.js +6 -6
  74. package/tests/hydration/compiled/server/hmr.js +1 -1
  75. package/tests/hydration/compiled/server/html.js +1 -1
  76. package/tests/hydration/compiled/server/if-children.js +9 -9
  77. package/tests/hydration/compiled/server/if.js +5 -5
  78. package/tests/hydration/compiled/server/mixed-control-flow.js +4 -4
  79. package/tests/hydration/compiled/server/portal.js +1 -1
  80. package/tests/hydration/compiled/server/reactivity.js +9 -9
  81. package/tests/hydration/compiled/server/streaming.js +9 -9
  82. package/tests/hydration/compiled/server/switch.js +4 -4
  83. package/tests/hydration/compiled/server/track-async-serialization.js +16 -16
  84. package/tests/hydration/compiled/server/try.js +4 -4
  85. package/tests/hydration/compiled/server/typed-text.js +1 -1
  86. package/tests/hydration/components/fragment-cursor.tsrx +60 -0
  87. package/tests/hydration/components/track-async-serialization.tsrx +2 -2
  88. package/tests/hydration/fragment-cursor.test.js +34 -1
  89. package/tests/hydration/track-async-serialization.test.js +1 -1
  90. package/tests/server/basic.components.test.tsrx +3 -3
  91. package/tests/server/track-async-serialization.test.tsrx +6 -6
  92. package/tests/utils/tracked-types.test.js +3 -3
  93. package/types/index.d.ts +8 -8
  94. package/types/server.d.ts +17 -0
@@ -1,19 +1,19 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
- var root = _$_.template(`<div><button class="increment">Increment</button><span class="count"></span></div>`, 0);
4
+ var root = _$_.template(`<div><button class=increment>Increment</button><span class=count>`);
5
5
 
6
6
  function render(__prev) {
7
- var __a = __prev._count.value;
7
+ var __a = __prev._a.value;
8
8
 
9
9
  if (__prev.a !== __a) {
10
- _$_.set_text_content(__prev._span, __a, __prev.a);
10
+ _$_.set_text_content(__prev._b, __a, __prev.a);
11
11
  __prev.a = __a;
12
12
  }
13
13
  }
14
14
 
15
15
  function ClickCounter_render(__anchor, __block) {
16
- const count = _$_.track(0, __block, 'a070e3a7');
16
+ const count = _$_.track(0, __block, '18illt3');
17
17
  var div = root();
18
18
 
19
19
  {
@@ -26,25 +26,25 @@ function ClickCounter_render(__anchor, __block) {
26
26
  var span = _$_.hydrating ? _$_.hydrate_sibling() : button.nextSibling;
27
27
  }
28
28
 
29
- _$_.render(render, { a: '', _count: count, _span: span });
29
+ _$_.render(render, { a: '', _a: count, _b: span });
30
30
  _$_.append(__anchor, div);
31
31
  }
32
32
 
33
33
  ClickCounter[_$_.$r] = ClickCounter_render;
34
34
 
35
- var root_1 = _$_.template(`<div><button class="decrement">-</button><span class="count"></span><button class="increment">+</button></div>`, 0);
35
+ var root_1 = _$_.template(`<div><button class=decrement>-</button><span class=count></span><button class=increment>+`);
36
36
 
37
37
  function render_1(__prev) {
38
- var __a = __prev._count.value;
38
+ var __a = __prev._a.value;
39
39
 
40
40
  if (__prev.a !== __a) {
41
- _$_.set_text_content(__prev._span_1, __a, __prev.a);
41
+ _$_.set_text_content(__prev._b, __a, __prev.a);
42
42
  __prev.a = __a;
43
43
  }
44
44
  }
45
45
 
46
46
  function IncrementDecrement_render(__anchor, __block) {
47
- const count = _$_.track(0, __block, '87fcabdd');
47
+ const count = _$_.track(0, __block, '11qc3q5');
48
48
  var div_1 = root_1();
49
49
 
50
50
  {
@@ -62,33 +62,33 @@ function IncrementDecrement_render(__anchor, __block) {
62
62
  };
63
63
  }
64
64
 
65
- _$_.render(render_1, { a: '', _count: count, _span_1: span_1 });
65
+ _$_.render(render_1, { a: '', _a: count, _b: span_1 });
66
66
  _$_.append(__anchor, div_1);
67
67
  }
68
68
 
69
69
  IncrementDecrement[_$_.$r] = IncrementDecrement_render;
70
70
 
71
- var root_2 = _$_.template(`<div><button class="target">Target</button><span class="clicks"></span><span class="hovers"></span></div>`, 0);
71
+ var root_2 = _$_.template(`<div><button class=target>Target</button><span class=clicks></span><span class=hovers>`);
72
72
 
73
73
  function render_2(__prev) {
74
- var __a = __prev._clicks.value;
74
+ var __a = __prev._a.value;
75
75
 
76
76
  if (__prev.a !== __a) {
77
- _$_.set_text_content(__prev._span_2, __a, __prev.a);
77
+ _$_.set_text_content(__prev._b, __a, __prev.a);
78
78
  __prev.a = __a;
79
79
  }
80
80
 
81
- var __b = __prev._hovers.value;
81
+ var __b = __prev._c.value;
82
82
 
83
83
  if (__prev.b !== __b) {
84
- _$_.set_text_content(__prev._span_3, __b, __prev.b);
84
+ _$_.set_text_content(__prev._d, __b, __prev.b);
85
85
  __prev.b = __b;
86
86
  }
87
87
  }
88
88
 
89
89
  function MultipleEvents_render(__anchor, __block) {
90
- const clicks = _$_.track(0, __block, '41b9f0b0');
91
- const hovers = _$_.track(0, __block, '72789f75');
90
+ const clicks = _$_.track(0, __block, 'i8ishc');
91
+ const hovers = _$_.track(0, __block, 'vrf59x');
92
92
  var div_2 = root_2();
93
93
 
94
94
  {
@@ -98,7 +98,7 @@ function MultipleEvents_render(__anchor, __block) {
98
98
  clicks.value++;
99
99
  };
100
100
 
101
- _$_.event('MouseEnter', button_3, () => {
101
+ _$_.listen('mouseenter', button_3, () => {
102
102
  hovers.value++;
103
103
  });
104
104
 
@@ -106,34 +106,26 @@ function MultipleEvents_render(__anchor, __block) {
106
106
  var span_3 = _$_.hydrating ? _$_.hydrate_sibling() : span_2.nextSibling;
107
107
  }
108
108
 
109
- _$_.render(render_2, {
110
- a: '',
111
- b: '',
112
- _clicks: clicks,
113
- _span_2: span_2,
114
- _hovers: hovers,
115
- _span_3: span_3
116
- });
117
-
109
+ _$_.render(render_2, { a: '', b: '', _a: clicks, _b: span_2, _c: hovers, _d: span_3 });
118
110
  _$_.append(__anchor, div_2);
119
111
  }
120
112
 
121
113
  MultipleEvents[_$_.$r] = MultipleEvents_render;
122
114
 
123
- var root_3 = _$_.template(`<div><button class="btn">Click</button><span class="count"></span><span class="action"> </span></div>`, 0);
115
+ var root_3 = _$_.template(`<div><button class=btn>Click</button><span class=count></span><span class=action> `);
124
116
 
125
117
  function render_3(__prev) {
126
- var __a = __prev._count.value;
118
+ var __a = __prev._a.value;
127
119
 
128
120
  if (__prev.a !== __a) {
129
- _$_.set_text_content(__prev._span_4, __a, __prev.a);
121
+ _$_.set_text_content(__prev._b, __a, __prev.a);
130
122
  __prev.a = __a;
131
123
  }
132
124
  }
133
125
 
134
126
  function MultiStateUpdate_render(__anchor, __block) {
135
- const count = _$_.track(0, __block, '5a375160');
136
- const lastAction = _$_.track('none', __block, '3ceeb88c');
127
+ const count = _$_.track(0, __block, 'p155r4');
128
+ const lastAction = _$_.track('none', __block, 'gwmyks');
137
129
 
138
130
  const handleClick = () => {
139
131
  count.value++;
@@ -158,25 +150,25 @@ function MultiStateUpdate_render(__anchor, __block) {
158
150
  }
159
151
  }
160
152
 
161
- _$_.render(render_3, { a: '', _count: count, _span_4: span_4 });
153
+ _$_.render(render_3, { a: '', _a: count, _b: span_4 });
162
154
  _$_.append(__anchor, div_3);
163
155
  }
164
156
 
165
157
  MultiStateUpdate[_$_.$r] = MultiStateUpdate_render;
166
158
 
167
- var root_4 = _$_.template(`<div><button class="toggle"></button></div>`, 0);
159
+ var root_4 = _$_.template(`<div><button class=toggle>`);
168
160
 
169
161
  function render_4(__prev) {
170
- var __a = __prev._isOn.value ? 'ON' : 'OFF';
162
+ var __a = __prev._a.value ? 'ON' : 'OFF';
171
163
 
172
164
  if (__prev.a !== __a) {
173
- _$_.set_text_content(__prev._button_5, __a, __prev.a);
165
+ _$_.set_text_content(__prev._b, __a, __prev.a);
174
166
  __prev.a = __a;
175
167
  }
176
168
  }
177
169
 
178
170
  function ToggleButton_render(__anchor, __block) {
179
- const isOn = _$_.track(false, __block, 'be823ec7');
171
+ const isOn = _$_.track(false, __block, '1guxsxz');
180
172
  var div_4 = root_4();
181
173
 
182
174
  {
@@ -187,19 +179,19 @@ function ToggleButton_render(__anchor, __block) {
187
179
  };
188
180
  }
189
181
 
190
- _$_.render(render_4, { a: '', _isOn: isOn, _button_5: button_5 });
182
+ _$_.render(render_4, { a: '', _a: isOn, _b: button_5 });
191
183
  _$_.append(__anchor, div_4);
192
184
  }
193
185
 
194
186
  ToggleButton[_$_.$r] = ToggleButton_render;
195
187
 
196
- var root_5 = _$_.template(`<button class="child-btn"></button>`, 0);
188
+ var root_5 = _$_.template(`<button class=child-btn>`);
197
189
 
198
190
  function render_5(__prev) {
199
- var __a = __prev._props.label;
191
+ var __a = __prev._a.label;
200
192
 
201
193
  if (__prev.a !== __a) {
202
- _$_.set_text_content(__prev._button_6, __a, __prev.a);
194
+ _$_.set_text_content(__prev._b, __a, __prev.a);
203
195
  __prev.a = __a;
204
196
  }
205
197
  }
@@ -208,25 +200,25 @@ function ChildButton_render(__anchor, __block, props) {
208
200
  var button_6 = root_5();
209
201
 
210
202
  _$_.render_event('Click', button_6, () => props.onClick);
211
- _$_.render(render_5, { a: '', _props: props, _button_6: button_6 });
203
+ _$_.render(render_5, { a: '', _a: props, _b: button_6 });
212
204
  _$_.append(__anchor, button_6);
213
205
  }
214
206
 
215
207
  ChildButton[_$_.$r] = ChildButton_render;
216
208
 
217
- var root_6 = _$_.template(`<div><!><span class="count"></span></div>`, 0);
209
+ var root_6 = _$_.template(`<div><span class=count>`);
218
210
 
219
211
  function render_6(__prev) {
220
- var __a = __prev._count.value;
212
+ var __a = __prev._a.value;
221
213
 
222
214
  if (__prev.a !== __a) {
223
- _$_.set_text_content(__prev._span_6, __a, __prev.a);
215
+ _$_.set_text_content(__prev._b, __a, __prev.a);
224
216
  __prev.a = __a;
225
217
  }
226
218
  }
227
219
 
228
220
  function ParentWithChildButton_render(__anchor, __block) {
229
- const count = _$_.track(0, __block, 'dcc2e0f9');
221
+ const count = _$_.track(0, __block, '1p94et5');
230
222
  var div_5 = root_6();
231
223
 
232
224
  {
@@ -239,12 +231,12 @@ function ParentWithChildButton_render(__anchor, __block) {
239
231
  label: "Click me"
240
232
  });
241
233
 
242
- var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node.nextSibling;
234
+ var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node;
243
235
 
244
236
  _$_.hydrating && _$_.pop(div_5);
245
237
  }
246
238
 
247
- _$_.render(render_6, { a: '', _count: count, _span_6: span_6 });
239
+ _$_.render(render_6, { a: '', _a: count, _b: span_6 });
248
240
  _$_.append(__anchor, div_5);
249
241
  }
250
242