ripple 0.3.84 → 0.3.86

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 (59) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/package.json +3 -3
  3. package/src/constants.js +4 -0
  4. package/src/runtime/internal/client/blocks.js +53 -0
  5. package/src/runtime/internal/client/component.js +3 -3
  6. package/src/runtime/internal/client/constants.js +4 -0
  7. package/src/runtime/internal/client/for.js +87 -14
  8. package/src/runtime/internal/client/if.js +18 -2
  9. package/src/runtime/internal/client/index.js +1 -0
  10. package/src/runtime/internal/client/operations.js +25 -0
  11. package/src/runtime/internal/client/runtime.js +62 -10
  12. package/src/runtime/internal/client/switch.js +33 -5
  13. package/src/runtime/internal/client/template.js +10 -2
  14. package/src/runtime/internal/client/try.js +12 -2
  15. package/src/runtime/internal/client/types.d.ts +4 -0
  16. package/tests/client/__snapshots__/for.test.tsrx.snap +0 -2
  17. package/tests/client/compiler/compiler.basic.test.tsrx +5 -2
  18. package/tests/client/composite/__snapshots__/composite.render.test.tsrx.snap +0 -4
  19. package/tests/client/for-single-root-items.test.tsrx +130 -0
  20. package/tests/client/scoped-flush.test.tsrx +105 -0
  21. package/tests/hydration/compiled/client/basic.js +198 -214
  22. package/tests/hydration/compiled/client/composite.js +23 -72
  23. package/tests/hydration/compiled/client/for.js +66 -72
  24. package/tests/hydration/compiled/client/hmr.js +2 -13
  25. package/tests/hydration/compiled/client/html.js +619 -479
  26. package/tests/hydration/compiled/client/if-children.js +72 -84
  27. package/tests/hydration/compiled/client/if-fragment-controlflow.js +463 -0
  28. package/tests/hydration/compiled/client/if.js +87 -92
  29. package/tests/hydration/compiled/client/mixed-control-flow.js +120 -160
  30. package/tests/hydration/compiled/client/nested-control-flow.js +288 -360
  31. package/tests/hydration/compiled/client/portal.js +15 -21
  32. package/tests/hydration/compiled/client/reactivity.js +7 -12
  33. package/tests/hydration/compiled/client/switch.js +113 -115
  34. package/tests/hydration/compiled/client/track-async-serialization.js +71 -122
  35. package/tests/hydration/compiled/client/try.js +26 -41
  36. package/tests/hydration/compiled/server/basic.js +295 -556
  37. package/tests/hydration/compiled/server/composite.js +31 -50
  38. package/tests/hydration/compiled/server/events.js +37 -173
  39. package/tests/hydration/compiled/server/for.js +236 -847
  40. package/tests/hydration/compiled/server/head.js +110 -241
  41. package/tests/hydration/compiled/server/hmr.js +14 -41
  42. package/tests/hydration/compiled/server/html-in-template.js +14 -38
  43. package/tests/hydration/compiled/server/html.js +951 -1176
  44. package/tests/hydration/compiled/server/if-children.js +59 -493
  45. package/tests/hydration/compiled/server/if-fragment-controlflow.js +227 -0
  46. package/tests/hydration/compiled/server/if.js +57 -209
  47. package/tests/hydration/compiled/server/mixed-control-flow.js +144 -250
  48. package/tests/hydration/compiled/server/nested-control-flow.js +309 -559
  49. package/tests/hydration/compiled/server/portal.js +94 -156
  50. package/tests/hydration/compiled/server/reactivity.js +23 -65
  51. package/tests/hydration/compiled/server/return.js +6 -16
  52. package/tests/hydration/compiled/server/switch.js +91 -219
  53. package/tests/hydration/compiled/server/track-async-serialization.js +211 -256
  54. package/tests/hydration/compiled/server/try.js +67 -126
  55. package/tests/hydration/components/html.tsrx +75 -0
  56. package/tests/hydration/components/if-fragment-controlflow.tsrx +145 -0
  57. package/tests/hydration/html.test.js +50 -0
  58. package/tests/hydration/if-fragment-controlflow.test.js +95 -0
  59. package/tests/server/compiler.test.tsrx +6 -2
@@ -1,177 +1,173 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
+ var root = _$_.template(`<div class="shown">Visible</div>`, 0);
4
5
  var root_1 = _$_.template(`<div class="shown">Visible</div>`, 0);
5
- var root = _$_.template(`<!>`, 1, 1);
6
- var root_3 = _$_.template(`<div class="shown">Visible</div>`, 0);
7
- var root_2 = _$_.template(`<!>`, 1, 1);
8
- var root_5 = _$_.template(`<div class="logged-in">Welcome back!</div>`, 0);
9
- var root_6 = _$_.template(`<div class="logged-out">Please log in</div>`, 0);
6
+ var root_2 = _$_.template(`<div class="logged-in">Welcome back!</div>`, 0);
7
+ var root_3 = _$_.template(`<div class="logged-out">Please log in</div>`, 0);
8
+ var root_6 = _$_.template(`<div class="content">Content visible</div>`, 0);
9
+ var root_5 = _$_.template(`<button class="toggle">Toggle</button><!>`, 1, 2);
10
10
  var root_4 = _$_.template(`<!>`, 1, 1);
11
- var root_9 = _$_.template(`<div class="content">Content visible</div>`, 0);
11
+ var root_9 = _$_.template(`<div class="on">ON</div>`, 0);
12
+ var root_10 = _$_.template(`<div class="off">OFF</div>`, 0);
12
13
  var root_8 = _$_.template(`<button class="toggle">Toggle</button><!>`, 1, 2);
13
14
  var root_7 = _$_.template(`<!>`, 1, 1);
14
- var root_12 = _$_.template(`<div class="on">ON</div>`, 0);
15
- var root_13 = _$_.template(`<div class="off">OFF</div>`, 0);
16
- var root_11 = _$_.template(`<button class="toggle">Toggle</button><!>`, 1, 2);
17
- var root_10 = _$_.template(`<!>`, 1, 1);
18
- var root_17 = _$_.template(`<span class="inner-content">Inner</span>`, 0);
19
- var root_16 = _$_.template(`<div class="outer-content">Outer<!></div>`, 0);
20
- var root_15 = _$_.template(`<button class="outer-toggle">Outer</button><button class="inner-toggle">Inner</button><!>`, 1, 3);
21
- var root_14 = _$_.template(`<!>`, 1, 1);
22
- var root_19 = _$_.template(`<div class="state">Loading...</div>`, 0);
23
- var root_21 = _$_.template(`<div class="state">Success!</div>`, 0);
24
- var root_22 = _$_.template(`<div class="state">Error occurred</div>`, 0);
25
- var root_20 = _$_.template(`<!>`, 1, 1);
26
- var root_18 = _$_.template(`<div><button class="success">Success</button><button class="error">Error</button><button class="loading">Loading</button><!></div>`, 0);
15
+ var root_14 = _$_.template(`<span class="inner-content">Inner</span>`, 0);
16
+ var root_13 = _$_.template(`<div class="outer-content">Outer<!></div>`, 0);
17
+ var root_12 = _$_.template(`<button class="outer-toggle">Outer</button><button class="inner-toggle">Inner</button><!>`, 1, 3);
18
+ var root_11 = _$_.template(`<!>`, 1, 1);
19
+ var root_16 = _$_.template(`<div class="state">Loading...</div>`, 0);
20
+ var root_17 = _$_.template(`<div class="state">Success!</div>`, 0);
21
+ var root_18 = _$_.template(`<div class="state">Error occurred</div>`, 0);
22
+ var root_15 = _$_.template(`<div><button class="success">Success</button><button class="error">Error</button><button class="loading">Loading</button><!></div>`, 0);
27
23
 
28
24
  import { track } from 'ripple';
29
25
 
30
26
  export function IfTruthy() {
31
27
  return _$_.tsrx_element((__anchor, __block) => {
32
28
  const show = true;
33
- var fragment = root();
34
- var node = _$_.first_child_frag(fragment);
35
29
 
36
30
  {
37
31
  var consequent = (__anchor) => {
38
- var div_1 = root_1();
32
+ var div_1 = root();
39
33
 
40
34
  _$_.append(__anchor, div_1);
41
35
  };
42
36
 
43
- _$_.if(node, (__render) => {
44
- if (show) __render(consequent);
45
- });
37
+ _$_.if(
38
+ __anchor,
39
+ (__render) => {
40
+ if (show) __render(consequent);
41
+ },
42
+ true
43
+ );
46
44
  }
47
-
48
- _$_.append(__anchor, fragment);
49
45
  });
50
46
  }
51
47
 
52
48
  export function IfFalsy() {
53
49
  return _$_.tsrx_element((__anchor, __block) => {
54
50
  const show = false;
55
- var fragment_1 = root_2();
56
- var node_1 = _$_.first_child_frag(fragment_1);
57
51
 
58
52
  {
59
53
  var consequent_1 = (__anchor) => {
60
- var div_2 = root_3();
54
+ var div_2 = root_1();
61
55
 
62
56
  _$_.append(__anchor, div_2);
63
57
  };
64
58
 
65
- _$_.if(node_1, (__render) => {
66
- if (show) __render(consequent_1);
67
- });
59
+ _$_.if(
60
+ __anchor,
61
+ (__render) => {
62
+ if (show) __render(consequent_1);
63
+ },
64
+ true
65
+ );
68
66
  }
69
-
70
- _$_.append(__anchor, fragment_1);
71
67
  });
72
68
  }
73
69
 
74
70
  export function IfElse() {
75
71
  return _$_.tsrx_element((__anchor, __block) => {
76
72
  const isLoggedIn = true;
77
- var fragment_2 = root_4();
78
- var node_2 = _$_.first_child_frag(fragment_2);
79
73
 
80
74
  {
81
75
  var consequent_2 = (__anchor) => {
82
- var div_3 = root_5();
76
+ var div_3 = root_2();
83
77
 
84
78
  _$_.append(__anchor, div_3);
85
79
  };
86
80
 
87
81
  var alternate = (__anchor) => {
88
- var div_4 = root_6();
82
+ var div_4 = root_3();
89
83
 
90
84
  _$_.append(__anchor, div_4);
91
85
  };
92
86
 
93
- _$_.if(node_2, (__render) => {
94
- if (isLoggedIn) __render(consequent_2); else __render(alternate, false);
95
- });
87
+ _$_.if(
88
+ __anchor,
89
+ (__render) => {
90
+ if (isLoggedIn) __render(consequent_2); else __render(alternate, false);
91
+ },
92
+ true
93
+ );
96
94
  }
97
-
98
- _$_.append(__anchor, fragment_2);
99
95
  });
100
96
  }
101
97
 
102
98
  export function ReactiveIf() {
103
99
  return _$_.tsrx_element((__anchor, __block) => {
104
100
  let lazy = _$_.track(true, __block, '19a16ff0');
105
- var fragment_3 = root_7();
106
- var node_4 = _$_.first_child_frag(fragment_3);
101
+ var fragment = root_4();
102
+ var node_1 = _$_.first_child_frag(fragment);
107
103
 
108
- _$_.expression(node_4, () => _$_.tsrx_element((__anchor, __block) => {
109
- var fragment_4 = root_8();
110
- var button_1 = _$_.first_child_frag(fragment_4);
104
+ _$_.expression(node_1, () => _$_.tsrx_element((__anchor, __block) => {
105
+ var fragment_1 = root_5();
106
+ var button_1 = _$_.first_child_frag(fragment_1);
111
107
 
112
108
  button_1.__click = () => {
113
109
  _$_.set(lazy, !lazy.value);
114
110
  };
115
111
 
116
- var node_3 = _$_.sibling(button_1);
112
+ var node = _$_.sibling(button_1);
117
113
 
118
114
  {
119
115
  var consequent_3 = (__anchor) => {
120
- var div_5 = root_9();
116
+ var div_5 = root_6();
121
117
 
122
118
  _$_.append(__anchor, div_5);
123
119
  };
124
120
 
125
- _$_.if(node_3, (__render) => {
121
+ _$_.if(node, (__render) => {
126
122
  if (lazy.value) __render(consequent_3);
127
123
  });
128
124
  }
129
125
 
130
- _$_.append(__anchor, fragment_4);
126
+ _$_.append(__anchor, fragment_1);
131
127
  }));
132
128
 
133
- _$_.append(__anchor, fragment_3);
129
+ _$_.append(__anchor, fragment);
134
130
  });
135
131
  }
136
132
 
137
133
  export function ReactiveIfElse() {
138
134
  return _$_.tsrx_element((__anchor, __block) => {
139
135
  let lazy_1 = _$_.track(false, __block, '41177f39');
140
- var fragment_5 = root_10();
141
- var node_6 = _$_.first_child_frag(fragment_5);
136
+ var fragment_2 = root_7();
137
+ var node_3 = _$_.first_child_frag(fragment_2);
142
138
 
143
- _$_.expression(node_6, () => _$_.tsrx_element((__anchor, __block) => {
144
- var fragment_6 = root_11();
145
- var button_2 = _$_.first_child_frag(fragment_6);
139
+ _$_.expression(node_3, () => _$_.tsrx_element((__anchor, __block) => {
140
+ var fragment_3 = root_8();
141
+ var button_2 = _$_.first_child_frag(fragment_3);
146
142
 
147
143
  button_2.__click = () => {
148
144
  _$_.set(lazy_1, !lazy_1.value);
149
145
  };
150
146
 
151
- var node_5 = _$_.sibling(button_2);
147
+ var node_2 = _$_.sibling(button_2);
152
148
 
153
149
  {
154
150
  var consequent_4 = (__anchor) => {
155
- var div_6 = root_12();
151
+ var div_6 = root_9();
156
152
 
157
153
  _$_.append(__anchor, div_6);
158
154
  };
159
155
 
160
156
  var alternate_1 = (__anchor) => {
161
- var div_7 = root_13();
157
+ var div_7 = root_10();
162
158
 
163
159
  _$_.append(__anchor, div_7);
164
160
  };
165
161
 
166
- _$_.if(node_5, (__render) => {
162
+ _$_.if(node_2, (__render) => {
167
163
  if (lazy_1.value) __render(consequent_4); else __render(alternate_1, false);
168
164
  });
169
165
  }
170
166
 
171
- _$_.append(__anchor, fragment_6);
167
+ _$_.append(__anchor, fragment_3);
172
168
  }));
173
169
 
174
- _$_.append(__anchor, fragment_5);
170
+ _$_.append(__anchor, fragment_2);
175
171
  });
176
172
  }
177
173
 
@@ -179,12 +175,12 @@ export function NestedIf() {
179
175
  return _$_.tsrx_element((__anchor, __block) => {
180
176
  let lazy_2 = _$_.track(true, __block, '7894e1df');
181
177
  let lazy_3 = _$_.track(true, __block, 'f21b8c26');
182
- var fragment_7 = root_14();
183
- var node_9 = _$_.first_child_frag(fragment_7);
178
+ var fragment_4 = root_11();
179
+ var node_6 = _$_.first_child_frag(fragment_4);
184
180
 
185
- _$_.expression(node_9, () => _$_.tsrx_element((__anchor, __block) => {
186
- var fragment_8 = root_15();
187
- var button_3 = _$_.first_child_frag(fragment_8);
181
+ _$_.expression(node_6, () => _$_.tsrx_element((__anchor, __block) => {
182
+ var fragment_5 = root_12();
183
+ var button_3 = _$_.first_child_frag(fragment_5);
188
184
 
189
185
  button_3.__click = () => {
190
186
  _$_.set(lazy_2, !lazy_2.value);
@@ -196,24 +192,24 @@ export function NestedIf() {
196
192
  _$_.set(lazy_3, !lazy_3.value);
197
193
  };
198
194
 
199
- var node_7 = _$_.sibling(button_4);
195
+ var node_4 = _$_.sibling(button_4);
200
196
 
201
197
  {
202
198
  var consequent_6 = (__anchor) => {
203
- var div_8 = root_16();
199
+ var div_8 = root_13();
204
200
 
205
201
  {
206
202
  var expression = _$_.child(div_8);
207
- var node_8 = _$_.sibling(expression);
203
+ var node_5 = _$_.sibling(expression);
208
204
 
209
205
  {
210
206
  var consequent_5 = (__anchor) => {
211
- var span_1 = root_17();
207
+ var span_1 = root_14();
212
208
 
213
209
  _$_.append(__anchor, span_1);
214
210
  };
215
211
 
216
- _$_.if(node_8, (__render) => {
212
+ _$_.if(node_5, (__render) => {
217
213
  if (lazy_3.value) __render(consequent_5);
218
214
  });
219
215
  }
@@ -224,22 +220,22 @@ export function NestedIf() {
224
220
  _$_.append(__anchor, div_8);
225
221
  };
226
222
 
227
- _$_.if(node_7, (__render) => {
223
+ _$_.if(node_4, (__render) => {
228
224
  if (lazy_2.value) __render(consequent_6);
229
225
  });
230
226
  }
231
227
 
232
- _$_.append(__anchor, fragment_8);
228
+ _$_.append(__anchor, fragment_5);
233
229
  }));
234
230
 
235
- _$_.append(__anchor, fragment_7);
231
+ _$_.append(__anchor, fragment_4);
236
232
  });
237
233
  }
238
234
 
239
235
  export function IfElseIfChain() {
240
236
  return _$_.tsrx_element((__anchor, __block) => {
241
237
  let lazy_4 = _$_.track('loading', __block, '4c69c94a');
242
- var div_9 = root_18();
238
+ var div_9 = root_15();
243
239
 
244
240
  {
245
241
  var button_5 = _$_.child(div_9);
@@ -260,41 +256,40 @@ export function IfElseIfChain() {
260
256
  _$_.set(lazy_4, 'loading');
261
257
  };
262
258
 
263
- var node_10 = _$_.sibling(button_7);
259
+ var node_7 = _$_.sibling(button_7);
264
260
 
265
261
  {
266
262
  var consequent_7 = (__anchor) => {
267
- var div_10 = root_19();
263
+ var div_10 = root_16();
268
264
 
269
265
  _$_.append(__anchor, div_10);
270
266
  };
271
267
 
272
268
  var alternate_3 = (__anchor) => {
273
- var fragment_9 = root_20();
274
- var node_11 = _$_.first_child_frag(fragment_9);
275
-
276
269
  {
277
270
  var consequent_8 = (__anchor) => {
278
- var div_11 = root_21();
271
+ var div_11 = root_17();
279
272
 
280
273
  _$_.append(__anchor, div_11);
281
274
  };
282
275
 
283
276
  var alternate_2 = (__anchor) => {
284
- var div_12 = root_22();
277
+ var div_12 = root_18();
285
278
 
286
279
  _$_.append(__anchor, div_12);
287
280
  };
288
281
 
289
- _$_.if(node_11, (__render) => {
290
- if (lazy_4.value === 'success') __render(consequent_8); else __render(alternate_2, false);
291
- });
282
+ _$_.if(
283
+ __anchor,
284
+ (__render) => {
285
+ if (lazy_4.value === 'success') __render(consequent_8); else __render(alternate_2, false);
286
+ },
287
+ true
288
+ );
292
289
  }
293
-
294
- _$_.append(__anchor, fragment_9);
295
290
  };
296
291
 
297
- _$_.if(node_10, (__render) => {
292
+ _$_.if(node_7, (__render) => {
298
293
  if (lazy_4.value === 'loading') __render(consequent_7); else __render(alternate_3, false);
299
294
  });
300
295
  }