ripple 0.2.208 → 0.2.210
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.
- package/CHANGELOG.md +43 -0
- package/README.md +2 -1
- package/package.json +2 -6
- package/shims/rollup-estree-types.d.ts +1 -1
- package/src/compiler/index.d.ts +1 -0
- package/src/compiler/index.js +7 -1
- package/src/compiler/phases/1-parse/index.js +15 -6
- package/src/compiler/phases/2-analyze/css-analyze.js +100 -104
- package/src/compiler/phases/2-analyze/index.js +215 -2
- package/src/compiler/phases/3-transform/client/index.js +388 -50
- package/src/compiler/phases/3-transform/segments.js +123 -39
- package/src/compiler/phases/3-transform/server/index.js +266 -13
- package/src/compiler/types/index.d.ts +16 -3
- package/src/compiler/utils.js +1 -15
- package/src/constants.js +0 -2
- package/src/helpers.d.ts +4 -0
- package/src/html-tree-validation.js +211 -0
- package/src/jsx-runtime.d.ts +260 -259
- package/src/jsx-runtime.js +12 -12
- package/src/runtime/array.js +17 -17
- package/src/runtime/create-subscriber.js +1 -1
- package/src/runtime/index-client.js +1 -5
- package/src/runtime/index-server.js +15 -0
- package/src/runtime/internal/client/compat.js +3 -3
- package/src/runtime/internal/client/composite.js +6 -1
- package/src/runtime/internal/client/head.js +50 -4
- package/src/runtime/internal/client/html.js +73 -12
- package/src/runtime/internal/client/hydration.js +12 -0
- package/src/runtime/internal/client/index.js +1 -1
- package/src/runtime/internal/client/portal.js +54 -29
- package/src/runtime/internal/client/rpc.js +3 -1
- package/src/runtime/internal/client/switch.js +5 -0
- package/src/runtime/internal/client/template.js +117 -11
- package/src/runtime/internal/client/try.js +1 -0
- package/src/runtime/internal/server/index.js +113 -1
- package/src/runtime/internal/server/rpc.js +4 -4
- package/src/runtime/map.js +2 -2
- package/src/runtime/object.js +6 -6
- package/src/runtime/proxy.js +12 -11
- package/src/runtime/reactive-value.js +9 -1
- package/src/runtime/set.js +12 -7
- package/src/runtime/url-search-params.js +0 -1
- package/src/server/index.js +4 -0
- package/src/utils/hashing.js +15 -0
- package/src/utils/normalize_css_property_name.js +1 -1
- package/tests/client/array/array.mutations.test.ripple +8 -8
- package/tests/client/basic/basic.errors.test.ripple +28 -0
- package/tests/client/basic/basic.events.test.ripple +6 -3
- package/tests/client/basic/basic.utilities.test.ripple +1 -1
- package/tests/client/compiler/compiler.regex.test.ripple +10 -8
- package/tests/client/composite/composite.generics.test.ripple +5 -2
- package/tests/client/dynamic-elements.test.ripple +30 -1
- package/tests/client/function-overload-import.ripple +6 -7
- package/tests/client/html.test.ripple +0 -1
- package/tests/client/object.test.ripple +2 -2
- package/tests/client/portal.test.ripple +3 -3
- package/tests/client/return.test.ripple +2500 -0
- package/tests/client/try.test.ripple +69 -0
- package/tests/client/typescript-generics.test.ripple +1 -1
- package/tests/client/url/url.derived.test.ripple +1 -1
- package/tests/client/url/url.parsing.test.ripple +3 -3
- package/tests/client/url/url.partial-removal.test.ripple +7 -7
- package/tests/client/url/url.reactivity.test.ripple +15 -15
- package/tests/client/url/url.serialization.test.ripple +2 -2
- package/tests/hydration/basic.test.js +23 -0
- package/tests/hydration/build-components.js +10 -4
- package/tests/hydration/compiled/client/basic.js +165 -3
- package/tests/hydration/compiled/client/for.js +1140 -23
- package/tests/hydration/compiled/client/head.js +234 -0
- package/tests/hydration/compiled/client/html.js +135 -0
- package/tests/hydration/compiled/client/portal.js +172 -0
- package/tests/hydration/compiled/client/reactivity.js +3 -1
- package/tests/hydration/compiled/client/return.js +1976 -0
- package/tests/hydration/compiled/client/switch.js +162 -0
- package/tests/hydration/compiled/server/basic.js +249 -0
- package/tests/hydration/compiled/server/events.js +1 -1
- package/tests/hydration/compiled/server/for.js +891 -1
- package/tests/hydration/compiled/server/head.js +291 -0
- package/tests/hydration/compiled/server/html.js +133 -0
- package/tests/hydration/compiled/server/if.js +1 -1
- package/tests/hydration/compiled/server/portal.js +250 -0
- package/tests/hydration/compiled/server/reactivity.js +1 -1
- package/tests/hydration/compiled/server/return.js +1969 -0
- package/tests/hydration/compiled/server/switch.js +130 -0
- package/tests/hydration/components/basic.ripple +55 -0
- package/tests/hydration/components/for.ripple +403 -0
- package/tests/hydration/components/head.ripple +111 -0
- package/tests/hydration/components/html.ripple +38 -0
- package/tests/hydration/components/portal.ripple +49 -0
- package/tests/hydration/components/return.ripple +564 -0
- package/tests/hydration/components/switch.ripple +51 -0
- package/tests/hydration/for.test.js +363 -0
- package/tests/hydration/head.test.js +105 -0
- package/tests/hydration/html.test.js +46 -0
- package/tests/hydration/portal.test.js +71 -0
- package/tests/hydration/return.test.js +544 -0
- package/tests/hydration/switch.test.js +42 -0
- package/tests/server/basic.attributes.test.ripple +1 -1
- package/tests/server/compiler.test.ripple +22 -0
- package/tests/server/composite.test.ripple +5 -2
- package/tests/server/html-nesting-validation.test.ripple +237 -0
- package/tests/server/return.test.ripple +1379 -0
- package/tests/setup-hydration.js +6 -1
- package/tests/utils/escaping.test.js +3 -1
- package/tests/utils/normalize_css_property_name.test.js +0 -1
- package/tests/utils/patterns.test.js +6 -2
- package/tests/utils/sanitize_template_string.test.js +3 -2
- package/types/server.d.ts +16 -0
|
@@ -19,6 +19,49 @@ var root_16 = _$_.template(`<span> </span>`, 0);
|
|
|
19
19
|
var root_15 = _$_.template(`<div class="container"></div>`, 0);
|
|
20
20
|
var root_18 = _$_.template(`<div><span class="name"> </span><span class="role"> </span></div>`, 0);
|
|
21
21
|
var root_17 = _$_.template(`<div></div>`, 0);
|
|
22
|
+
var root_20 = _$_.template(`<li> </li>`, 0);
|
|
23
|
+
var root_19 = _$_.template(`<button class="reorder">Reorder</button><ul></ul>`, 1);
|
|
24
|
+
var root_22 = _$_.template(`<li> </li>`, 0);
|
|
25
|
+
var root_21 = _$_.template(`<button class="update">Update</button><ul></ul>`, 1);
|
|
26
|
+
var root_24 = _$_.template(`<li> </li>`, 0);
|
|
27
|
+
var root_23 = _$_.template(`<button class="shuffle">Shuffle</button><ul></ul>`, 1);
|
|
28
|
+
var root_27 = _$_.template(`<li> </li>`, 0);
|
|
29
|
+
var root_26 = _$_.template(`<ul class="list"></ul>`, 0);
|
|
30
|
+
var root_25 = _$_.template(`<button class="toggle">Toggle List</button><button class="add">Add Item</button><!>`, 1);
|
|
31
|
+
var root_29 = _$_.template(`<li> </li>`, 0);
|
|
32
|
+
var root_28 = _$_.template(`<button class="populate">Populate</button><ul class="list"></ul>`, 1);
|
|
33
|
+
var root_31 = _$_.template(`<li> </li>`, 0);
|
|
34
|
+
var root_30 = _$_.template(`<button class="clear">Clear</button><ul class="list"></ul>`, 1);
|
|
35
|
+
var root_34 = _$_.template(`<span> </span>`, 0);
|
|
36
|
+
var root_33 = _$_.template(`<div></div>`, 0);
|
|
37
|
+
var root_32 = _$_.template(`<button class="add-row">Add Row</button><button class="update-cell">Update Cell</button><div class="grid"></div>`, 1);
|
|
38
|
+
var root_38 = _$_.template(`<li class="member"> </li>`, 0);
|
|
39
|
+
var root_37 = _$_.template(`<div><h3 class="team-name"> </h3><ul></ul></div>`, 0);
|
|
40
|
+
var root_36 = _$_.template(`<div><h2 class="dept-name"> </h2><!></div>`, 0);
|
|
41
|
+
var root_35 = _$_.template(`<div class="org"></div>`, 0);
|
|
42
|
+
var root_40 = _$_.template(`<li> </li>`, 0);
|
|
43
|
+
var root_39 = _$_.template(`<button class="prepend">Prepend</button><ul></ul>`, 1);
|
|
44
|
+
var root_42 = _$_.template(`<li> </li>`, 0);
|
|
45
|
+
var root_41 = _$_.template(`<button class="reorder">Rotate</button><ul></ul>`, 1);
|
|
46
|
+
var root_44 = _$_.template(`<div> </div>`, 0);
|
|
47
|
+
var root_43 = _$_.template(`<div class="wrapper"><header class="before">Before</header><!><footer class="after">After</footer></div><button class="add">Add</button>`, 1);
|
|
48
|
+
var root_46 = _$_.template(`<!>`, 1);
|
|
49
|
+
var root_45 = _$_.template(`<div></div>`, 0);
|
|
50
|
+
var root_47 = _$_.template(`<div><input type="checkbox" class="checkbox"><span> </span></div>`, 0);
|
|
51
|
+
var root_49 = _$_.template(`<li class="single"> </li>`, 0);
|
|
52
|
+
var root_48 = _$_.template(`<ul></ul>`, 0);
|
|
53
|
+
var root_51 = _$_.template(`<li> </li>`, 0);
|
|
54
|
+
var root_50 = _$_.template(`<button class="prepend">Prepend A</button><ul></ul>`, 1);
|
|
55
|
+
var root_53 = _$_.template(`<li> </li>`, 0);
|
|
56
|
+
var root_52 = _$_.template(`<button class="insert">Insert B</button><ul></ul>`, 1);
|
|
57
|
+
var root_55 = _$_.template(`<li> </li>`, 0);
|
|
58
|
+
var root_54 = _$_.template(`<button class="remove-middle">Remove B</button><ul></ul>`, 1);
|
|
59
|
+
var root_57 = _$_.template(`<li> </li>`, 0);
|
|
60
|
+
var root_56 = _$_.template(`<ul class="large-list"></ul>`, 0);
|
|
61
|
+
var root_59 = _$_.template(`<li> </li>`, 0);
|
|
62
|
+
var root_58 = _$_.template(`<button class="swap">Swap First and Last</button><ul></ul>`, 1);
|
|
63
|
+
var root_61 = _$_.template(`<li> </li>`, 0);
|
|
64
|
+
var root_60 = _$_.template(`<button class="reverse">Reverse</button><ul></ul>`, 1);
|
|
22
65
|
|
|
23
66
|
import { track } from 'ripple';
|
|
24
67
|
|
|
@@ -36,9 +79,9 @@ export function StaticForLoop(__anchor, _, __block) {
|
|
|
36
79
|
var li_1 = root_1();
|
|
37
80
|
|
|
38
81
|
{
|
|
39
|
-
var
|
|
82
|
+
var text_1 = _$_.child(li_1, true);
|
|
40
83
|
|
|
41
|
-
|
|
84
|
+
text_1.nodeValue = item;
|
|
42
85
|
_$_.pop(li_1);
|
|
43
86
|
}
|
|
44
87
|
|
|
@@ -68,13 +111,13 @@ export function ForLoopWithIndex(__anchor, _, __block) {
|
|
|
68
111
|
var li_2 = root_3();
|
|
69
112
|
|
|
70
113
|
{
|
|
71
|
-
var
|
|
114
|
+
var text_2 = _$_.child(li_2, true);
|
|
72
115
|
|
|
73
116
|
_$_.pop(li_2);
|
|
74
117
|
}
|
|
75
118
|
|
|
76
119
|
_$_.render(() => {
|
|
77
|
-
_$_.set_text(
|
|
120
|
+
_$_.set_text(text_2, `${_$_.get(i)}: ${item}`);
|
|
78
121
|
});
|
|
79
122
|
|
|
80
123
|
_$_.append(__anchor, li_2);
|
|
@@ -108,13 +151,13 @@ export function KeyedForLoop(__anchor, _, __block) {
|
|
|
108
151
|
var li_3 = root_5();
|
|
109
152
|
|
|
110
153
|
{
|
|
111
|
-
var
|
|
154
|
+
var text_3 = _$_.child(li_3, true);
|
|
112
155
|
|
|
113
156
|
_$_.pop(li_3);
|
|
114
157
|
}
|
|
115
158
|
|
|
116
159
|
_$_.render(() => {
|
|
117
|
-
_$_.set_text(
|
|
160
|
+
_$_.set_text(text_3, _$_.get(pattern).name);
|
|
118
161
|
});
|
|
119
162
|
|
|
120
163
|
_$_.append(__anchor, li_3);
|
|
@@ -151,9 +194,9 @@ export function ReactiveForLoopAdd(__anchor, _, __block) {
|
|
|
151
194
|
var li_4 = root_7();
|
|
152
195
|
|
|
153
196
|
{
|
|
154
|
-
var
|
|
197
|
+
var text_4 = _$_.child(li_4, true);
|
|
155
198
|
|
|
156
|
-
|
|
199
|
+
text_4.nodeValue = item;
|
|
157
200
|
_$_.pop(li_4);
|
|
158
201
|
}
|
|
159
202
|
|
|
@@ -165,7 +208,8 @@ export function ReactiveForLoopAdd(__anchor, _, __block) {
|
|
|
165
208
|
_$_.pop(ul_4);
|
|
166
209
|
}
|
|
167
210
|
|
|
168
|
-
_$_.
|
|
211
|
+
_$_.next();
|
|
212
|
+
_$_.append(__anchor, fragment, true);
|
|
169
213
|
_$_.pop_component();
|
|
170
214
|
}
|
|
171
215
|
|
|
@@ -190,9 +234,9 @@ export function ReactiveForLoopRemove(__anchor, _, __block) {
|
|
|
190
234
|
var li_5 = root_9();
|
|
191
235
|
|
|
192
236
|
{
|
|
193
|
-
var
|
|
237
|
+
var text_5 = _$_.child(li_5, true);
|
|
194
238
|
|
|
195
|
-
|
|
239
|
+
text_5.nodeValue = item;
|
|
196
240
|
_$_.pop(li_5);
|
|
197
241
|
}
|
|
198
242
|
|
|
@@ -204,7 +248,8 @@ export function ReactiveForLoopRemove(__anchor, _, __block) {
|
|
|
204
248
|
_$_.pop(ul_5);
|
|
205
249
|
}
|
|
206
250
|
|
|
207
|
-
_$_.
|
|
251
|
+
_$_.next();
|
|
252
|
+
_$_.append(__anchor, fragment_1, true);
|
|
208
253
|
_$_.pop_component();
|
|
209
254
|
}
|
|
210
255
|
|
|
@@ -225,9 +270,9 @@ export function ForLoopInteractive(__anchor, _, __block) {
|
|
|
225
270
|
var span_1 = _$_.child(div_2);
|
|
226
271
|
|
|
227
272
|
{
|
|
228
|
-
var
|
|
273
|
+
var text_6 = _$_.child(span_1, true);
|
|
229
274
|
|
|
230
|
-
|
|
275
|
+
text_6.nodeValue = count;
|
|
231
276
|
_$_.pop(span_1);
|
|
232
277
|
}
|
|
233
278
|
|
|
@@ -278,9 +323,9 @@ export function NestedForLoop(__anchor, _, __block) {
|
|
|
278
323
|
var span_2 = root_14();
|
|
279
324
|
|
|
280
325
|
{
|
|
281
|
-
var
|
|
326
|
+
var text_7 = _$_.child(span_2, true);
|
|
282
327
|
|
|
283
|
-
|
|
328
|
+
text_7.nodeValue = cell;
|
|
284
329
|
_$_.pop(span_2);
|
|
285
330
|
}
|
|
286
331
|
|
|
@@ -326,9 +371,9 @@ export function EmptyForLoop(__anchor, _, __block) {
|
|
|
326
371
|
var span_3 = root_16();
|
|
327
372
|
|
|
328
373
|
{
|
|
329
|
-
var
|
|
374
|
+
var text_8 = _$_.child(span_3, true);
|
|
330
375
|
|
|
331
|
-
|
|
376
|
+
text_8.nodeValue = item;
|
|
332
377
|
_$_.pop(span_3);
|
|
333
378
|
}
|
|
334
379
|
|
|
@@ -365,7 +410,7 @@ export function ForLoopComplexObjects(__anchor, _, __block) {
|
|
|
365
410
|
var span_4 = _$_.child(div_7);
|
|
366
411
|
|
|
367
412
|
{
|
|
368
|
-
var
|
|
413
|
+
var text_9 = _$_.child(span_4, true);
|
|
369
414
|
|
|
370
415
|
_$_.pop(span_4);
|
|
371
416
|
}
|
|
@@ -373,7 +418,7 @@ export function ForLoopComplexObjects(__anchor, _, __block) {
|
|
|
373
418
|
var span_5 = _$_.sibling(span_4);
|
|
374
419
|
|
|
375
420
|
{
|
|
376
|
-
var
|
|
421
|
+
var text_10 = _$_.child(span_5, true);
|
|
377
422
|
|
|
378
423
|
_$_.pop(span_5);
|
|
379
424
|
}
|
|
@@ -384,13 +429,13 @@ export function ForLoopComplexObjects(__anchor, _, __block) {
|
|
|
384
429
|
var __a = _$_.get(pattern_1).name;
|
|
385
430
|
|
|
386
431
|
if (__prev.a !== __a) {
|
|
387
|
-
_$_.set_text(
|
|
432
|
+
_$_.set_text(text_9, __prev.a = __a);
|
|
388
433
|
}
|
|
389
434
|
|
|
390
435
|
var __b = _$_.get(pattern_1).role;
|
|
391
436
|
|
|
392
437
|
if (__prev.b !== __b) {
|
|
393
|
-
_$_.set_text(
|
|
438
|
+
_$_.set_text(text_10, __prev.b = __b);
|
|
394
439
|
}
|
|
395
440
|
|
|
396
441
|
var __c = `user-${_$_.get(pattern_1).id}`;
|
|
@@ -415,4 +460,1076 @@ export function ForLoopComplexObjects(__anchor, _, __block) {
|
|
|
415
460
|
_$_.pop_component();
|
|
416
461
|
}
|
|
417
462
|
|
|
418
|
-
_
|
|
463
|
+
export function KeyedForLoopReorder(__anchor, _, __block) {
|
|
464
|
+
_$_.push_component();
|
|
465
|
+
|
|
466
|
+
let items = track(
|
|
467
|
+
[
|
|
468
|
+
{ id: 1, name: 'First' },
|
|
469
|
+
{ id: 2, name: 'Second' },
|
|
470
|
+
{ id: 3, name: 'Third' }
|
|
471
|
+
],
|
|
472
|
+
void 0,
|
|
473
|
+
void 0,
|
|
474
|
+
__block
|
|
475
|
+
);
|
|
476
|
+
|
|
477
|
+
var fragment_2 = root_19();
|
|
478
|
+
var button_4 = _$_.first_child_frag(fragment_2);
|
|
479
|
+
|
|
480
|
+
button_4.__click = () => {
|
|
481
|
+
_$_.set(items, [_$_.get(items)[2], _$_.get(items)[0], _$_.get(items)[1]]);
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
var ul_6 = _$_.sibling(button_4);
|
|
485
|
+
|
|
486
|
+
{
|
|
487
|
+
_$_.for_keyed(
|
|
488
|
+
ul_6,
|
|
489
|
+
() => _$_.get(items),
|
|
490
|
+
(__anchor, pattern_2) => {
|
|
491
|
+
var li_6 = root_20();
|
|
492
|
+
|
|
493
|
+
{
|
|
494
|
+
var text_11 = _$_.child(li_6, true);
|
|
495
|
+
|
|
496
|
+
_$_.pop(li_6);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
_$_.render(
|
|
500
|
+
(__prev) => {
|
|
501
|
+
var __a = _$_.get(pattern_2).name;
|
|
502
|
+
|
|
503
|
+
if (__prev.a !== __a) {
|
|
504
|
+
_$_.set_text(text_11, __prev.a = __a);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
var __b = `item-${_$_.get(pattern_2).id}`;
|
|
508
|
+
|
|
509
|
+
if (__prev.b !== __b) {
|
|
510
|
+
_$_.set_class(li_6, __prev.b = __b, void 0, true);
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
{ a: ' ', b: Symbol() }
|
|
514
|
+
);
|
|
515
|
+
|
|
516
|
+
_$_.append(__anchor, li_6);
|
|
517
|
+
},
|
|
518
|
+
4,
|
|
519
|
+
(pattern_2) => _$_.get(pattern_2).id
|
|
520
|
+
);
|
|
521
|
+
|
|
522
|
+
_$_.pop(ul_6);
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
_$_.next();
|
|
526
|
+
_$_.append(__anchor, fragment_2, true);
|
|
527
|
+
_$_.pop_component();
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
export function KeyedForLoopUpdate(__anchor, _, __block) {
|
|
531
|
+
_$_.push_component();
|
|
532
|
+
|
|
533
|
+
let items = track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }], void 0, void 0, __block);
|
|
534
|
+
var fragment_3 = root_21();
|
|
535
|
+
var button_5 = _$_.first_child_frag(fragment_3);
|
|
536
|
+
|
|
537
|
+
button_5.__click = () => {
|
|
538
|
+
_$_.set(items, _$_.with_scope(__block, () => _$_.get(items).map((item) => item.id === 1 ? { ...item, name: 'Updated' } : item)));
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
var ul_7 = _$_.sibling(button_5);
|
|
542
|
+
|
|
543
|
+
{
|
|
544
|
+
_$_.for_keyed(
|
|
545
|
+
ul_7,
|
|
546
|
+
() => _$_.get(items),
|
|
547
|
+
(__anchor, pattern_3) => {
|
|
548
|
+
var li_7 = root_22();
|
|
549
|
+
|
|
550
|
+
{
|
|
551
|
+
var text_12 = _$_.child(li_7, true);
|
|
552
|
+
|
|
553
|
+
_$_.pop(li_7);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
_$_.render(
|
|
557
|
+
(__prev) => {
|
|
558
|
+
var __a = _$_.get(pattern_3).name;
|
|
559
|
+
|
|
560
|
+
if (__prev.a !== __a) {
|
|
561
|
+
_$_.set_text(text_12, __prev.a = __a);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
var __b = `item-${_$_.get(pattern_3).id}`;
|
|
565
|
+
|
|
566
|
+
if (__prev.b !== __b) {
|
|
567
|
+
_$_.set_class(li_7, __prev.b = __b, void 0, true);
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
{ a: ' ', b: Symbol() }
|
|
571
|
+
);
|
|
572
|
+
|
|
573
|
+
_$_.append(__anchor, li_7);
|
|
574
|
+
},
|
|
575
|
+
4,
|
|
576
|
+
(pattern_3) => _$_.get(pattern_3).id
|
|
577
|
+
);
|
|
578
|
+
|
|
579
|
+
_$_.pop(ul_7);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
_$_.next();
|
|
583
|
+
_$_.append(__anchor, fragment_3, true);
|
|
584
|
+
_$_.pop_component();
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
export function ForLoopMixedOperations(__anchor, _, __block) {
|
|
588
|
+
_$_.push_component();
|
|
589
|
+
|
|
590
|
+
let items = track(['A', 'B', 'C', 'D'], void 0, void 0, __block);
|
|
591
|
+
var fragment_4 = root_23();
|
|
592
|
+
var button_6 = _$_.first_child_frag(fragment_4);
|
|
593
|
+
|
|
594
|
+
button_6.__click = () => {
|
|
595
|
+
_$_.set(items, ['D', 'C', 'A', 'E']);
|
|
596
|
+
};
|
|
597
|
+
|
|
598
|
+
var ul_8 = _$_.sibling(button_6);
|
|
599
|
+
|
|
600
|
+
{
|
|
601
|
+
_$_.for(
|
|
602
|
+
ul_8,
|
|
603
|
+
() => _$_.get(items),
|
|
604
|
+
(__anchor, item) => {
|
|
605
|
+
var li_8 = root_24();
|
|
606
|
+
|
|
607
|
+
_$_.set_class(li_8, `item-${item}`, void 0, true);
|
|
608
|
+
|
|
609
|
+
{
|
|
610
|
+
var text_13 = _$_.child(li_8, true);
|
|
611
|
+
|
|
612
|
+
text_13.nodeValue = item;
|
|
613
|
+
_$_.pop(li_8);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
_$_.append(__anchor, li_8);
|
|
617
|
+
},
|
|
618
|
+
4
|
|
619
|
+
);
|
|
620
|
+
|
|
621
|
+
_$_.pop(ul_8);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
_$_.next();
|
|
625
|
+
_$_.append(__anchor, fragment_4, true);
|
|
626
|
+
_$_.pop_component();
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
export function ForLoopInsideIf(__anchor, _, __block) {
|
|
630
|
+
_$_.push_component();
|
|
631
|
+
|
|
632
|
+
let showList = track(true, void 0, void 0, __block);
|
|
633
|
+
let items = track(['X', 'Y', 'Z'], void 0, void 0, __block);
|
|
634
|
+
var fragment_5 = root_25();
|
|
635
|
+
var button_7 = _$_.first_child_frag(fragment_5);
|
|
636
|
+
|
|
637
|
+
button_7.__click = () => {
|
|
638
|
+
_$_.set(showList, !_$_.get(showList));
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
var button_8 = _$_.sibling(button_7);
|
|
642
|
+
|
|
643
|
+
button_8.__click = () => {
|
|
644
|
+
_$_.set(items, [..._$_.get(items), 'W']);
|
|
645
|
+
};
|
|
646
|
+
|
|
647
|
+
var node = _$_.sibling(button_8);
|
|
648
|
+
|
|
649
|
+
{
|
|
650
|
+
var consequent = (__anchor) => {
|
|
651
|
+
var ul_9 = root_26();
|
|
652
|
+
|
|
653
|
+
{
|
|
654
|
+
_$_.for(
|
|
655
|
+
ul_9,
|
|
656
|
+
() => _$_.get(items),
|
|
657
|
+
(__anchor, item) => {
|
|
658
|
+
var li_9 = root_27();
|
|
659
|
+
|
|
660
|
+
{
|
|
661
|
+
var text_14 = _$_.child(li_9, true);
|
|
662
|
+
|
|
663
|
+
text_14.nodeValue = item;
|
|
664
|
+
_$_.pop(li_9);
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
_$_.append(__anchor, li_9);
|
|
668
|
+
},
|
|
669
|
+
4
|
|
670
|
+
);
|
|
671
|
+
|
|
672
|
+
_$_.pop(ul_9);
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
_$_.append(__anchor, ul_9);
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
_$_.if(node, (__render) => {
|
|
679
|
+
if (_$_.get(showList)) __render(consequent);
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
_$_.append(__anchor, fragment_5);
|
|
684
|
+
_$_.pop_component();
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
export function ForLoopEmptyToPopulated(__anchor, _, __block) {
|
|
688
|
+
_$_.push_component();
|
|
689
|
+
|
|
690
|
+
let items = track([], void 0, void 0, __block);
|
|
691
|
+
var fragment_6 = root_28();
|
|
692
|
+
var button_9 = _$_.first_child_frag(fragment_6);
|
|
693
|
+
|
|
694
|
+
button_9.__click = () => {
|
|
695
|
+
_$_.set(items, ['One', 'Two', 'Three']);
|
|
696
|
+
};
|
|
697
|
+
|
|
698
|
+
var ul_10 = _$_.sibling(button_9);
|
|
699
|
+
|
|
700
|
+
{
|
|
701
|
+
_$_.for(
|
|
702
|
+
ul_10,
|
|
703
|
+
() => _$_.get(items),
|
|
704
|
+
(__anchor, item) => {
|
|
705
|
+
var li_10 = root_29();
|
|
706
|
+
|
|
707
|
+
{
|
|
708
|
+
var text_15 = _$_.child(li_10, true);
|
|
709
|
+
|
|
710
|
+
text_15.nodeValue = item;
|
|
711
|
+
_$_.pop(li_10);
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
_$_.append(__anchor, li_10);
|
|
715
|
+
},
|
|
716
|
+
4
|
|
717
|
+
);
|
|
718
|
+
|
|
719
|
+
_$_.pop(ul_10);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
_$_.next();
|
|
723
|
+
_$_.append(__anchor, fragment_6, true);
|
|
724
|
+
_$_.pop_component();
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
export function ForLoopPopulatedToEmpty(__anchor, _, __block) {
|
|
728
|
+
_$_.push_component();
|
|
729
|
+
|
|
730
|
+
let items = track(['One', 'Two', 'Three'], void 0, void 0, __block);
|
|
731
|
+
var fragment_7 = root_30();
|
|
732
|
+
var button_10 = _$_.first_child_frag(fragment_7);
|
|
733
|
+
|
|
734
|
+
button_10.__click = () => {
|
|
735
|
+
_$_.set(items, []);
|
|
736
|
+
};
|
|
737
|
+
|
|
738
|
+
var ul_11 = _$_.sibling(button_10);
|
|
739
|
+
|
|
740
|
+
{
|
|
741
|
+
_$_.for(
|
|
742
|
+
ul_11,
|
|
743
|
+
() => _$_.get(items),
|
|
744
|
+
(__anchor, item) => {
|
|
745
|
+
var li_11 = root_31();
|
|
746
|
+
|
|
747
|
+
{
|
|
748
|
+
var text_16 = _$_.child(li_11, true);
|
|
749
|
+
|
|
750
|
+
text_16.nodeValue = item;
|
|
751
|
+
_$_.pop(li_11);
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
_$_.append(__anchor, li_11);
|
|
755
|
+
},
|
|
756
|
+
4
|
|
757
|
+
);
|
|
758
|
+
|
|
759
|
+
_$_.pop(ul_11);
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
_$_.next();
|
|
763
|
+
_$_.append(__anchor, fragment_7, true);
|
|
764
|
+
_$_.pop_component();
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
export function NestedForLoopReactive(__anchor, _, __block) {
|
|
768
|
+
_$_.push_component();
|
|
769
|
+
|
|
770
|
+
let grid = track([[1, 2], [3, 4]], void 0, void 0, __block);
|
|
771
|
+
var fragment_8 = root_32();
|
|
772
|
+
var button_11 = _$_.first_child_frag(fragment_8);
|
|
773
|
+
|
|
774
|
+
button_11.__click = () => {
|
|
775
|
+
_$_.set(grid, [..._$_.get(grid), [5, 6]]);
|
|
776
|
+
};
|
|
777
|
+
|
|
778
|
+
var button_12 = _$_.sibling(button_11);
|
|
779
|
+
|
|
780
|
+
button_12.__click = () => {
|
|
781
|
+
const newGrid = _$_.with_scope(__block, () => _$_.get(grid).map((row) => [...row]));
|
|
782
|
+
|
|
783
|
+
newGrid[0][0] = 99;
|
|
784
|
+
_$_.set(grid, newGrid);
|
|
785
|
+
};
|
|
786
|
+
|
|
787
|
+
var div_8 = _$_.sibling(button_12);
|
|
788
|
+
|
|
789
|
+
{
|
|
790
|
+
_$_.for(
|
|
791
|
+
div_8,
|
|
792
|
+
() => _$_.get(grid),
|
|
793
|
+
(__anchor, row, rowIndex) => {
|
|
794
|
+
var div_9 = root_33();
|
|
795
|
+
|
|
796
|
+
{
|
|
797
|
+
_$_.for(
|
|
798
|
+
div_9,
|
|
799
|
+
() => row,
|
|
800
|
+
(__anchor, cell, colIndex) => {
|
|
801
|
+
var span_6 = root_34();
|
|
802
|
+
|
|
803
|
+
{
|
|
804
|
+
var text_17 = _$_.child(span_6, true);
|
|
805
|
+
|
|
806
|
+
text_17.nodeValue = cell;
|
|
807
|
+
_$_.pop(span_6);
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
_$_.render(() => {
|
|
811
|
+
_$_.set_class(span_6, `cell-${_$_.get(rowIndex)}-${_$_.get(colIndex)}`, void 0, true);
|
|
812
|
+
});
|
|
813
|
+
|
|
814
|
+
_$_.append(__anchor, span_6);
|
|
815
|
+
},
|
|
816
|
+
12
|
|
817
|
+
);
|
|
818
|
+
|
|
819
|
+
_$_.pop(div_9);
|
|
820
|
+
|
|
821
|
+
_$_.render(() => {
|
|
822
|
+
_$_.set_class(div_9, `row-${_$_.get(rowIndex)}`, void 0, true);
|
|
823
|
+
});
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
_$_.append(__anchor, div_9);
|
|
827
|
+
},
|
|
828
|
+
12
|
|
829
|
+
);
|
|
830
|
+
|
|
831
|
+
_$_.pop(div_8);
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
_$_.next(2);
|
|
835
|
+
_$_.append(__anchor, fragment_8, true);
|
|
836
|
+
_$_.pop_component();
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
export function ForLoopDeeplyNested(__anchor, _, __block) {
|
|
840
|
+
_$_.push_component();
|
|
841
|
+
|
|
842
|
+
const departments = [
|
|
843
|
+
{
|
|
844
|
+
id: 'd1',
|
|
845
|
+
name: 'Engineering',
|
|
846
|
+
|
|
847
|
+
teams: [
|
|
848
|
+
{ id: 't1', name: 'Frontend', members: ['Alice', 'Bob'] },
|
|
849
|
+
{ id: 't2', name: 'Backend', members: ['Charlie'] }
|
|
850
|
+
]
|
|
851
|
+
},
|
|
852
|
+
|
|
853
|
+
{
|
|
854
|
+
id: 'd2',
|
|
855
|
+
name: 'Design',
|
|
856
|
+
teams: [{ id: 't3', name: 'UX', members: ['Diana', 'Eve', 'Frank'] }]
|
|
857
|
+
}
|
|
858
|
+
];
|
|
859
|
+
|
|
860
|
+
var div_10 = root_35();
|
|
861
|
+
|
|
862
|
+
{
|
|
863
|
+
_$_.for_keyed(
|
|
864
|
+
div_10,
|
|
865
|
+
() => departments,
|
|
866
|
+
(__anchor, pattern_4) => {
|
|
867
|
+
var div_11 = root_36();
|
|
868
|
+
|
|
869
|
+
{
|
|
870
|
+
var h2_1 = _$_.child(div_11);
|
|
871
|
+
|
|
872
|
+
{
|
|
873
|
+
var text_18 = _$_.child(h2_1, true);
|
|
874
|
+
|
|
875
|
+
_$_.pop(h2_1);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
var node_1 = _$_.sibling(h2_1);
|
|
879
|
+
|
|
880
|
+
_$_.for_keyed(
|
|
881
|
+
node_1,
|
|
882
|
+
() => _$_.get(pattern_4).teams,
|
|
883
|
+
(__anchor, pattern_5) => {
|
|
884
|
+
var div_12 = root_37();
|
|
885
|
+
|
|
886
|
+
{
|
|
887
|
+
var h3_1 = _$_.child(div_12);
|
|
888
|
+
|
|
889
|
+
{
|
|
890
|
+
var text_19 = _$_.child(h3_1, true);
|
|
891
|
+
|
|
892
|
+
_$_.pop(h3_1);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
var ul_12 = _$_.sibling(h3_1);
|
|
896
|
+
|
|
897
|
+
{
|
|
898
|
+
_$_.for(
|
|
899
|
+
ul_12,
|
|
900
|
+
() => _$_.get(pattern_5).members,
|
|
901
|
+
(__anchor, member) => {
|
|
902
|
+
var li_12 = root_38();
|
|
903
|
+
|
|
904
|
+
{
|
|
905
|
+
var text_20 = _$_.child(li_12, true);
|
|
906
|
+
|
|
907
|
+
text_20.nodeValue = member;
|
|
908
|
+
_$_.pop(li_12);
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
_$_.append(__anchor, li_12);
|
|
912
|
+
},
|
|
913
|
+
4
|
|
914
|
+
);
|
|
915
|
+
|
|
916
|
+
_$_.pop(ul_12);
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
_$_.render(
|
|
921
|
+
(__prev) => {
|
|
922
|
+
var __a = _$_.get(pattern_5).name;
|
|
923
|
+
|
|
924
|
+
if (__prev.a !== __a) {
|
|
925
|
+
_$_.set_text(text_19, __prev.a = __a);
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
var __b = `team-${_$_.get(pattern_5).id}`;
|
|
929
|
+
|
|
930
|
+
if (__prev.b !== __b) {
|
|
931
|
+
_$_.set_class(div_12, __prev.b = __b, void 0, true);
|
|
932
|
+
}
|
|
933
|
+
},
|
|
934
|
+
{ a: ' ', b: Symbol() }
|
|
935
|
+
);
|
|
936
|
+
|
|
937
|
+
_$_.append(__anchor, div_12);
|
|
938
|
+
},
|
|
939
|
+
0,
|
|
940
|
+
(pattern_5) => _$_.get(pattern_5).id
|
|
941
|
+
);
|
|
942
|
+
|
|
943
|
+
_$_.pop(div_11);
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
_$_.render(
|
|
947
|
+
(__prev) => {
|
|
948
|
+
var __a = _$_.get(pattern_4).name;
|
|
949
|
+
|
|
950
|
+
if (__prev.a !== __a) {
|
|
951
|
+
_$_.set_text(text_18, __prev.a = __a);
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
var __b = `dept-${_$_.get(pattern_4).id}`;
|
|
955
|
+
|
|
956
|
+
if (__prev.b !== __b) {
|
|
957
|
+
_$_.set_class(div_11, __prev.b = __b, void 0, true);
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
{ a: ' ', b: Symbol() }
|
|
961
|
+
);
|
|
962
|
+
|
|
963
|
+
_$_.append(__anchor, div_11);
|
|
964
|
+
},
|
|
965
|
+
4,
|
|
966
|
+
(pattern_4) => _$_.get(pattern_4).id
|
|
967
|
+
);
|
|
968
|
+
|
|
969
|
+
_$_.pop(div_10);
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
_$_.append(__anchor, div_10);
|
|
973
|
+
_$_.pop_component();
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
export function ForLoopIndexUpdate(__anchor, _, __block) {
|
|
977
|
+
_$_.push_component();
|
|
978
|
+
|
|
979
|
+
let items = track(['First', 'Second', 'Third'], void 0, void 0, __block);
|
|
980
|
+
var fragment_9 = root_39();
|
|
981
|
+
var button_13 = _$_.first_child_frag(fragment_9);
|
|
982
|
+
|
|
983
|
+
button_13.__click = () => {
|
|
984
|
+
_$_.set(items, ['Zeroth', ..._$_.get(items)]);
|
|
985
|
+
};
|
|
986
|
+
|
|
987
|
+
var ul_13 = _$_.sibling(button_13);
|
|
988
|
+
|
|
989
|
+
{
|
|
990
|
+
_$_.for(
|
|
991
|
+
ul_13,
|
|
992
|
+
() => _$_.get(items),
|
|
993
|
+
(__anchor, item, i) => {
|
|
994
|
+
var li_13 = root_40();
|
|
995
|
+
|
|
996
|
+
{
|
|
997
|
+
var text_21 = _$_.child(li_13, true);
|
|
998
|
+
|
|
999
|
+
_$_.pop(li_13);
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
_$_.render(
|
|
1003
|
+
(__prev) => {
|
|
1004
|
+
var __a = `[${_$_.get(i)}] ${item}`;
|
|
1005
|
+
|
|
1006
|
+
if (__prev.a !== __a) {
|
|
1007
|
+
_$_.set_text(text_21, __prev.a = __a);
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
var __b = `item-${_$_.get(i)}`;
|
|
1011
|
+
|
|
1012
|
+
if (__prev.b !== __b) {
|
|
1013
|
+
_$_.set_class(li_13, __prev.b = __b, void 0, true);
|
|
1014
|
+
}
|
|
1015
|
+
},
|
|
1016
|
+
{ a: ' ', b: Symbol() }
|
|
1017
|
+
);
|
|
1018
|
+
|
|
1019
|
+
_$_.append(__anchor, li_13);
|
|
1020
|
+
},
|
|
1021
|
+
12
|
|
1022
|
+
);
|
|
1023
|
+
|
|
1024
|
+
_$_.pop(ul_13);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
_$_.next();
|
|
1028
|
+
_$_.append(__anchor, fragment_9, true);
|
|
1029
|
+
_$_.pop_component();
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
export function KeyedForLoopWithIndex(__anchor, _, __block) {
|
|
1033
|
+
_$_.push_component();
|
|
1034
|
+
|
|
1035
|
+
let items = track(
|
|
1036
|
+
[
|
|
1037
|
+
{ id: 'a', value: 'Alpha' },
|
|
1038
|
+
{ id: 'b', value: 'Beta' },
|
|
1039
|
+
{ id: 'c', value: 'Gamma' }
|
|
1040
|
+
],
|
|
1041
|
+
void 0,
|
|
1042
|
+
void 0,
|
|
1043
|
+
__block
|
|
1044
|
+
);
|
|
1045
|
+
|
|
1046
|
+
var fragment_10 = root_41();
|
|
1047
|
+
var button_14 = _$_.first_child_frag(fragment_10);
|
|
1048
|
+
|
|
1049
|
+
button_14.__click = () => {
|
|
1050
|
+
_$_.set(items, [_$_.get(items)[1], _$_.get(items)[2], _$_.get(items)[0]]);
|
|
1051
|
+
};
|
|
1052
|
+
|
|
1053
|
+
var ul_14 = _$_.sibling(button_14);
|
|
1054
|
+
|
|
1055
|
+
{
|
|
1056
|
+
_$_.for_keyed(
|
|
1057
|
+
ul_14,
|
|
1058
|
+
() => _$_.get(items),
|
|
1059
|
+
(__anchor, pattern_6, i) => {
|
|
1060
|
+
var li_14 = root_42();
|
|
1061
|
+
|
|
1062
|
+
{
|
|
1063
|
+
var text_22 = _$_.child(li_14, true);
|
|
1064
|
+
|
|
1065
|
+
_$_.pop(li_14);
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
_$_.render(
|
|
1069
|
+
(__prev) => {
|
|
1070
|
+
var __a = `[${_$_.get(i)}] ${_$_.get(pattern_6).id}: ${_$_.get(pattern_6).value}`;
|
|
1071
|
+
|
|
1072
|
+
if (__prev.a !== __a) {
|
|
1073
|
+
_$_.set_text(text_22, __prev.a = __a);
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
var __b = _$_.get(i);
|
|
1077
|
+
|
|
1078
|
+
if (__prev.b !== __b) {
|
|
1079
|
+
_$_.set_attribute(li_14, 'data-index', __prev.b = __b);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
var __c = `item-${_$_.get(pattern_6).id}`;
|
|
1083
|
+
|
|
1084
|
+
if (__prev.c !== __c) {
|
|
1085
|
+
_$_.set_class(li_14, __prev.c = __c, void 0, true);
|
|
1086
|
+
}
|
|
1087
|
+
},
|
|
1088
|
+
{ a: ' ', b: void 0, c: Symbol() }
|
|
1089
|
+
);
|
|
1090
|
+
|
|
1091
|
+
_$_.append(__anchor, li_14);
|
|
1092
|
+
},
|
|
1093
|
+
12,
|
|
1094
|
+
(pattern_6, i) => _$_.get(pattern_6).id
|
|
1095
|
+
);
|
|
1096
|
+
|
|
1097
|
+
_$_.pop(ul_14);
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
_$_.next();
|
|
1101
|
+
_$_.append(__anchor, fragment_10, true);
|
|
1102
|
+
_$_.pop_component();
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
export function ForLoopWithSiblings(__anchor, _, __block) {
|
|
1106
|
+
_$_.push_component();
|
|
1107
|
+
|
|
1108
|
+
let items = track(['A', 'B'], void 0, void 0, __block);
|
|
1109
|
+
var fragment_11 = root_43();
|
|
1110
|
+
var div_13 = _$_.first_child_frag(fragment_11);
|
|
1111
|
+
|
|
1112
|
+
{
|
|
1113
|
+
var header_1 = _$_.child(div_13);
|
|
1114
|
+
var node_2 = _$_.sibling(header_1);
|
|
1115
|
+
|
|
1116
|
+
_$_.for(
|
|
1117
|
+
node_2,
|
|
1118
|
+
() => _$_.get(items),
|
|
1119
|
+
(__anchor, item) => {
|
|
1120
|
+
var div_14 = root_44();
|
|
1121
|
+
|
|
1122
|
+
_$_.set_class(div_14, `item-${item}`, void 0, true);
|
|
1123
|
+
|
|
1124
|
+
{
|
|
1125
|
+
var text_23 = _$_.child(div_14, true);
|
|
1126
|
+
|
|
1127
|
+
text_23.nodeValue = item;
|
|
1128
|
+
_$_.pop(div_14);
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
_$_.append(__anchor, div_14);
|
|
1132
|
+
},
|
|
1133
|
+
0
|
|
1134
|
+
);
|
|
1135
|
+
|
|
1136
|
+
_$_.pop(div_13);
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
var button_15 = _$_.sibling(div_13);
|
|
1140
|
+
|
|
1141
|
+
button_15.__click = () => {
|
|
1142
|
+
_$_.set(items, [..._$_.get(items), 'C']);
|
|
1143
|
+
};
|
|
1144
|
+
|
|
1145
|
+
_$_.next();
|
|
1146
|
+
_$_.append(__anchor, fragment_11, true);
|
|
1147
|
+
_$_.pop_component();
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
export function ForLoopItemState(__anchor, _, __block) {
|
|
1151
|
+
_$_.push_component();
|
|
1152
|
+
|
|
1153
|
+
const initialItems = [
|
|
1154
|
+
{ id: 1, text: 'Todo 1' },
|
|
1155
|
+
{ id: 2, text: 'Todo 2' },
|
|
1156
|
+
{ id: 3, text: 'Todo 3' }
|
|
1157
|
+
];
|
|
1158
|
+
|
|
1159
|
+
var div_15 = root_45();
|
|
1160
|
+
|
|
1161
|
+
{
|
|
1162
|
+
_$_.for_keyed(
|
|
1163
|
+
div_15,
|
|
1164
|
+
() => initialItems,
|
|
1165
|
+
(__anchor, pattern_7) => {
|
|
1166
|
+
var fragment_12 = root_46();
|
|
1167
|
+
var node_3 = _$_.first_child_frag(fragment_12);
|
|
1168
|
+
|
|
1169
|
+
TodoItem(
|
|
1170
|
+
node_3,
|
|
1171
|
+
{
|
|
1172
|
+
get id() {
|
|
1173
|
+
return _$_.get(pattern_7).id;
|
|
1174
|
+
},
|
|
1175
|
+
|
|
1176
|
+
get text() {
|
|
1177
|
+
return _$_.get(pattern_7).text;
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
_$_.active_block
|
|
1181
|
+
);
|
|
1182
|
+
|
|
1183
|
+
_$_.append(__anchor, fragment_12);
|
|
1184
|
+
},
|
|
1185
|
+
4,
|
|
1186
|
+
(pattern_7) => _$_.get(pattern_7).id
|
|
1187
|
+
);
|
|
1188
|
+
|
|
1189
|
+
_$_.pop(div_15);
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
_$_.append(__anchor, div_15);
|
|
1193
|
+
_$_.pop_component();
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
function TodoItem(__anchor, props, __block) {
|
|
1197
|
+
_$_.push_component();
|
|
1198
|
+
|
|
1199
|
+
let done = track(false, void 0, void 0, __block);
|
|
1200
|
+
var div_16 = root_47();
|
|
1201
|
+
|
|
1202
|
+
{
|
|
1203
|
+
var input_1 = _$_.child(div_16);
|
|
1204
|
+
|
|
1205
|
+
input_1.__change = (e) => {
|
|
1206
|
+
_$_.set(done, e.target.checked);
|
|
1207
|
+
};
|
|
1208
|
+
|
|
1209
|
+
var span_7 = _$_.sibling(input_1);
|
|
1210
|
+
|
|
1211
|
+
{
|
|
1212
|
+
var text_24 = _$_.child(span_7, true);
|
|
1213
|
+
|
|
1214
|
+
_$_.pop(span_7);
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
_$_.render(
|
|
1219
|
+
(__prev) => {
|
|
1220
|
+
var __a = _$_.get(done);
|
|
1221
|
+
|
|
1222
|
+
if (__prev.a !== __a) {
|
|
1223
|
+
_$_.set_checked(input_1, __prev.a = __a);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
var __b = props.text;
|
|
1227
|
+
|
|
1228
|
+
if (__prev.b !== __b) {
|
|
1229
|
+
_$_.set_text(text_24, __prev.b = __b);
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
var __c = _$_.get(done) ? 'completed' : 'pending';
|
|
1233
|
+
|
|
1234
|
+
if (__prev.c !== __c) {
|
|
1235
|
+
_$_.set_class(span_7, __prev.c = __c, void 0, true);
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
var __d = `todo-${props.id}`;
|
|
1239
|
+
|
|
1240
|
+
if (__prev.d !== __d) {
|
|
1241
|
+
_$_.set_class(div_16, __prev.d = __d, void 0, true);
|
|
1242
|
+
}
|
|
1243
|
+
},
|
|
1244
|
+
{ a: void 0, b: ' ', c: Symbol(), d: Symbol() }
|
|
1245
|
+
);
|
|
1246
|
+
|
|
1247
|
+
_$_.append(__anchor, div_16);
|
|
1248
|
+
_$_.pop_component();
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
export function ForLoopSingleItem(__anchor, _, __block) {
|
|
1252
|
+
_$_.push_component();
|
|
1253
|
+
|
|
1254
|
+
const items = ['Only'];
|
|
1255
|
+
var ul_15 = root_48();
|
|
1256
|
+
|
|
1257
|
+
{
|
|
1258
|
+
_$_.for(
|
|
1259
|
+
ul_15,
|
|
1260
|
+
() => items,
|
|
1261
|
+
(__anchor, item) => {
|
|
1262
|
+
var li_15 = root_49();
|
|
1263
|
+
|
|
1264
|
+
{
|
|
1265
|
+
var text_25 = _$_.child(li_15, true);
|
|
1266
|
+
|
|
1267
|
+
text_25.nodeValue = item;
|
|
1268
|
+
_$_.pop(li_15);
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
_$_.append(__anchor, li_15);
|
|
1272
|
+
},
|
|
1273
|
+
4
|
|
1274
|
+
);
|
|
1275
|
+
|
|
1276
|
+
_$_.pop(ul_15);
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
_$_.append(__anchor, ul_15);
|
|
1280
|
+
_$_.pop_component();
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
export function ForLoopAddAtBeginning(__anchor, _, __block) {
|
|
1284
|
+
_$_.push_component();
|
|
1285
|
+
|
|
1286
|
+
let items = track(['B', 'C'], void 0, void 0, __block);
|
|
1287
|
+
var fragment_13 = root_50();
|
|
1288
|
+
var button_16 = _$_.first_child_frag(fragment_13);
|
|
1289
|
+
|
|
1290
|
+
button_16.__click = () => {
|
|
1291
|
+
_$_.set(items, ['A', ..._$_.get(items)]);
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
var ul_16 = _$_.sibling(button_16);
|
|
1295
|
+
|
|
1296
|
+
{
|
|
1297
|
+
_$_.for(
|
|
1298
|
+
ul_16,
|
|
1299
|
+
() => _$_.get(items),
|
|
1300
|
+
(__anchor, item) => {
|
|
1301
|
+
var li_16 = root_51();
|
|
1302
|
+
|
|
1303
|
+
_$_.set_class(li_16, `item-${item}`, void 0, true);
|
|
1304
|
+
|
|
1305
|
+
{
|
|
1306
|
+
var text_26 = _$_.child(li_16, true);
|
|
1307
|
+
|
|
1308
|
+
text_26.nodeValue = item;
|
|
1309
|
+
_$_.pop(li_16);
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
_$_.append(__anchor, li_16);
|
|
1313
|
+
},
|
|
1314
|
+
4
|
|
1315
|
+
);
|
|
1316
|
+
|
|
1317
|
+
_$_.pop(ul_16);
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
_$_.next();
|
|
1321
|
+
_$_.append(__anchor, fragment_13, true);
|
|
1322
|
+
_$_.pop_component();
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
export function ForLoopAddInMiddle(__anchor, _, __block) {
|
|
1326
|
+
_$_.push_component();
|
|
1327
|
+
|
|
1328
|
+
let items = track(['A', 'C'], void 0, void 0, __block);
|
|
1329
|
+
var fragment_14 = root_52();
|
|
1330
|
+
var button_17 = _$_.first_child_frag(fragment_14);
|
|
1331
|
+
|
|
1332
|
+
button_17.__click = () => {
|
|
1333
|
+
const copy = [..._$_.get(items)];
|
|
1334
|
+
|
|
1335
|
+
_$_.with_scope(__block, () => copy.splice(1, 0, 'B'));
|
|
1336
|
+
_$_.set(items, copy);
|
|
1337
|
+
};
|
|
1338
|
+
|
|
1339
|
+
var ul_17 = _$_.sibling(button_17);
|
|
1340
|
+
|
|
1341
|
+
{
|
|
1342
|
+
_$_.for(
|
|
1343
|
+
ul_17,
|
|
1344
|
+
() => _$_.get(items),
|
|
1345
|
+
(__anchor, item) => {
|
|
1346
|
+
var li_17 = root_53();
|
|
1347
|
+
|
|
1348
|
+
_$_.set_class(li_17, `item-${item}`, void 0, true);
|
|
1349
|
+
|
|
1350
|
+
{
|
|
1351
|
+
var text_27 = _$_.child(li_17, true);
|
|
1352
|
+
|
|
1353
|
+
text_27.nodeValue = item;
|
|
1354
|
+
_$_.pop(li_17);
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
_$_.append(__anchor, li_17);
|
|
1358
|
+
},
|
|
1359
|
+
4
|
|
1360
|
+
);
|
|
1361
|
+
|
|
1362
|
+
_$_.pop(ul_17);
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
_$_.next();
|
|
1366
|
+
_$_.append(__anchor, fragment_14, true);
|
|
1367
|
+
_$_.pop_component();
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
export function ForLoopRemoveFromMiddle(__anchor, _, __block) {
|
|
1371
|
+
_$_.push_component();
|
|
1372
|
+
|
|
1373
|
+
let items = track(['A', 'B', 'C'], void 0, void 0, __block);
|
|
1374
|
+
var fragment_15 = root_54();
|
|
1375
|
+
var button_18 = _$_.first_child_frag(fragment_15);
|
|
1376
|
+
|
|
1377
|
+
button_18.__click = () => {
|
|
1378
|
+
_$_.set(items, _$_.with_scope(__block, () => _$_.get(items).filter((item) => item !== 'B')));
|
|
1379
|
+
};
|
|
1380
|
+
|
|
1381
|
+
var ul_18 = _$_.sibling(button_18);
|
|
1382
|
+
|
|
1383
|
+
{
|
|
1384
|
+
_$_.for(
|
|
1385
|
+
ul_18,
|
|
1386
|
+
() => _$_.get(items),
|
|
1387
|
+
(__anchor, item) => {
|
|
1388
|
+
var li_18 = root_55();
|
|
1389
|
+
|
|
1390
|
+
_$_.set_class(li_18, `item-${item}`, void 0, true);
|
|
1391
|
+
|
|
1392
|
+
{
|
|
1393
|
+
var text_28 = _$_.child(li_18, true);
|
|
1394
|
+
|
|
1395
|
+
text_28.nodeValue = item;
|
|
1396
|
+
_$_.pop(li_18);
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
_$_.append(__anchor, li_18);
|
|
1400
|
+
},
|
|
1401
|
+
4
|
|
1402
|
+
);
|
|
1403
|
+
|
|
1404
|
+
_$_.pop(ul_18);
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1407
|
+
_$_.next();
|
|
1408
|
+
_$_.append(__anchor, fragment_15, true);
|
|
1409
|
+
_$_.pop_component();
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
export function ForLoopLargeList(__anchor, _, __block) {
|
|
1413
|
+
_$_.push_component();
|
|
1414
|
+
|
|
1415
|
+
const items = _$_.with_scope(__block, () => Array.from({ length: 50 }, (_, i) => `Item ${i + 1}`));
|
|
1416
|
+
var ul_19 = root_56();
|
|
1417
|
+
|
|
1418
|
+
{
|
|
1419
|
+
_$_.for(
|
|
1420
|
+
ul_19,
|
|
1421
|
+
() => items,
|
|
1422
|
+
(__anchor, item, i) => {
|
|
1423
|
+
var li_19 = root_57();
|
|
1424
|
+
|
|
1425
|
+
{
|
|
1426
|
+
var text_29 = _$_.child(li_19, true);
|
|
1427
|
+
|
|
1428
|
+
text_29.nodeValue = item;
|
|
1429
|
+
_$_.pop(li_19);
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
_$_.render(() => {
|
|
1433
|
+
_$_.set_class(li_19, `item-${_$_.get(i)}`, void 0, true);
|
|
1434
|
+
});
|
|
1435
|
+
|
|
1436
|
+
_$_.append(__anchor, li_19);
|
|
1437
|
+
},
|
|
1438
|
+
12
|
|
1439
|
+
);
|
|
1440
|
+
|
|
1441
|
+
_$_.pop(ul_19);
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
_$_.append(__anchor, ul_19);
|
|
1445
|
+
_$_.pop_component();
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
export function ForLoopSwap(__anchor, _, __block) {
|
|
1449
|
+
_$_.push_component();
|
|
1450
|
+
|
|
1451
|
+
let items = track(['A', 'B', 'C', 'D'], void 0, void 0, __block);
|
|
1452
|
+
var fragment_16 = root_58();
|
|
1453
|
+
var button_19 = _$_.first_child_frag(fragment_16);
|
|
1454
|
+
|
|
1455
|
+
button_19.__click = () => {
|
|
1456
|
+
const copy = [..._$_.get(items)];
|
|
1457
|
+
|
|
1458
|
+
[copy[0], copy[3]] = [copy[3], copy[0]];
|
|
1459
|
+
_$_.set(items, copy);
|
|
1460
|
+
};
|
|
1461
|
+
|
|
1462
|
+
var ul_20 = _$_.sibling(button_19);
|
|
1463
|
+
|
|
1464
|
+
{
|
|
1465
|
+
_$_.for(
|
|
1466
|
+
ul_20,
|
|
1467
|
+
() => _$_.get(items),
|
|
1468
|
+
(__anchor, item) => {
|
|
1469
|
+
var li_20 = root_59();
|
|
1470
|
+
|
|
1471
|
+
_$_.set_class(li_20, `item-${item}`, void 0, true);
|
|
1472
|
+
|
|
1473
|
+
{
|
|
1474
|
+
var text_30 = _$_.child(li_20, true);
|
|
1475
|
+
|
|
1476
|
+
text_30.nodeValue = item;
|
|
1477
|
+
_$_.pop(li_20);
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
_$_.append(__anchor, li_20);
|
|
1481
|
+
},
|
|
1482
|
+
4
|
|
1483
|
+
);
|
|
1484
|
+
|
|
1485
|
+
_$_.pop(ul_20);
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
_$_.next();
|
|
1489
|
+
_$_.append(__anchor, fragment_16, true);
|
|
1490
|
+
_$_.pop_component();
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
export function ForLoopReverse(__anchor, _, __block) {
|
|
1494
|
+
_$_.push_component();
|
|
1495
|
+
|
|
1496
|
+
let items = track(['A', 'B', 'C', 'D'], void 0, void 0, __block);
|
|
1497
|
+
var fragment_17 = root_60();
|
|
1498
|
+
var button_20 = _$_.first_child_frag(fragment_17);
|
|
1499
|
+
|
|
1500
|
+
button_20.__click = () => {
|
|
1501
|
+
_$_.set(items, _$_.with_scope(__block, () => [..._$_.get(items)].reverse()));
|
|
1502
|
+
};
|
|
1503
|
+
|
|
1504
|
+
var ul_21 = _$_.sibling(button_20);
|
|
1505
|
+
|
|
1506
|
+
{
|
|
1507
|
+
_$_.for(
|
|
1508
|
+
ul_21,
|
|
1509
|
+
() => _$_.get(items),
|
|
1510
|
+
(__anchor, item) => {
|
|
1511
|
+
var li_21 = root_61();
|
|
1512
|
+
|
|
1513
|
+
_$_.set_class(li_21, `item-${item}`, void 0, true);
|
|
1514
|
+
|
|
1515
|
+
{
|
|
1516
|
+
var text_31 = _$_.child(li_21, true);
|
|
1517
|
+
|
|
1518
|
+
text_31.nodeValue = item;
|
|
1519
|
+
_$_.pop(li_21);
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
_$_.append(__anchor, li_21);
|
|
1523
|
+
},
|
|
1524
|
+
4
|
|
1525
|
+
);
|
|
1526
|
+
|
|
1527
|
+
_$_.pop(ul_21);
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
_$_.next();
|
|
1531
|
+
_$_.append(__anchor, fragment_17, true);
|
|
1532
|
+
_$_.pop_component();
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
_$_.delegate(['click', 'change']);
|