ripple 0.3.10 → 0.3.11

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 (39) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.json +2 -2
  3. package/src/compiler/errors.js +1 -1
  4. package/src/compiler/index.d.ts +3 -1
  5. package/src/compiler/phases/1-parse/index.js +170 -8
  6. package/src/compiler/phases/2-analyze/index.js +231 -20
  7. package/src/compiler/phases/3-transform/client/index.js +169 -77
  8. package/src/compiler/phases/3-transform/server/index.js +46 -3
  9. package/src/compiler/types/index.d.ts +19 -2
  10. package/src/compiler/types/parse.d.ts +1 -1
  11. package/src/compiler/utils.js +174 -0
  12. package/src/runtime/index-client.js +14 -4
  13. package/src/runtime/internal/client/composite.js +2 -2
  14. package/src/runtime/internal/client/expression.js +64 -2
  15. package/src/runtime/internal/client/portal.js +1 -1
  16. package/src/utils/builders.js +30 -0
  17. package/tests/client/basic/__snapshots__/basic.rendering.test.ripple.snap +1 -0
  18. package/tests/client/basic/basic.rendering.test.ripple +4 -2
  19. package/tests/client/composite/composite.render.test.ripple +46 -0
  20. package/tests/client/return.test.ripple +101 -0
  21. package/tests/client/tsx.test.ripple +486 -0
  22. package/tests/hydration/compiled/client/basic.js +8 -24
  23. package/tests/hydration/compiled/client/composite.js +6 -24
  24. package/tests/hydration/compiled/client/events.js +9 -54
  25. package/tests/hydration/compiled/client/for.js +59 -152
  26. package/tests/hydration/compiled/client/head.js +5 -20
  27. package/tests/hydration/compiled/client/hmr.js +2 -8
  28. package/tests/hydration/compiled/client/html.js +59 -226
  29. package/tests/hydration/compiled/client/if-children.js +6 -22
  30. package/tests/hydration/compiled/client/mixed-control-flow.js +18 -66
  31. package/tests/hydration/compiled/client/nested-control-flow.js +92 -368
  32. package/tests/hydration/compiled/client/portal.js +4 -16
  33. package/tests/hydration/compiled/client/reactivity.js +7 -40
  34. package/tests/hydration/compiled/client/return.js +1 -4
  35. package/tests/hydration/compiled/client/try.js +2 -2
  36. package/tests/utils/compiler-compat-config.test.js +38 -0
  37. package/tests/utils/vite-plugin-config.test.js +113 -0
  38. package/tsconfig.typecheck.json +2 -1
  39. package/types/index.d.ts +2 -12
@@ -226,14 +226,11 @@ export function HtmlWrapper(__anchor, { children }, __block) {
226
226
  {
227
227
  var expression = _$_.child(div_7);
228
228
 
229
+ _$_.expression(expression, () => children);
229
230
  _$_.pop(div_7);
230
231
  }
231
232
  }
232
233
 
233
- _$_.render(() => {
234
- _$_.expression(expression, () => children);
235
- });
236
-
237
234
  _$_.append(__anchor, div_6);
238
235
  _$_.pop_component();
239
236
  }
@@ -248,9 +245,7 @@ export function HtmlInChildren(__anchor, _, __block) {
248
245
  HtmlWrapper(
249
246
  node_7,
250
247
  {
251
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
252
- _$_.push_component();
253
-
248
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
254
249
  var div_8 = root_8();
255
250
 
256
251
  {
@@ -264,7 +259,6 @@ export function HtmlInChildren(__anchor, _, __block) {
264
259
  });
265
260
 
266
261
  _$_.append(__anchor, div_8);
267
- _$_.pop_component();
268
262
  })
269
263
  },
270
264
  _$_.active_block
@@ -284,9 +278,7 @@ export function HtmlInChildrenWithSiblings(__anchor, _, __block) {
284
278
  HtmlWrapper(
285
279
  node_9,
286
280
  {
287
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
288
- _$_.push_component();
289
-
281
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
290
282
  var fragment_2 = root_10();
291
283
  var h1_1 = _$_.first_child_frag(fragment_2);
292
284
  var div_9 = _$_.sibling(h1_1);
@@ -304,7 +296,6 @@ export function HtmlInChildrenWithSiblings(__anchor, _, __block) {
304
296
  });
305
297
 
306
298
  _$_.append(__anchor, fragment_2, true);
307
- _$_.pop_component();
308
299
  })
309
300
  },
310
301
  _$_.active_block
@@ -325,9 +316,7 @@ export function MultipleHtmlInChildren(__anchor, _, __block) {
325
316
  HtmlWrapper(
326
317
  node_11,
327
318
  {
328
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
329
- _$_.push_component();
330
-
319
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
331
320
  var div_10 = root_12();
332
321
 
333
322
  {
@@ -346,7 +335,6 @@ export function MultipleHtmlInChildren(__anchor, _, __block) {
346
335
  );
347
336
 
348
337
  _$_.append(__anchor, div_10);
349
- _$_.pop_component();
350
338
  })
351
339
  },
352
340
  _$_.active_block
@@ -406,9 +394,7 @@ export function HtmlWithCommentsInChildren(__anchor, _, __block) {
406
394
  HtmlWrapper(
407
395
  node_16,
408
396
  {
409
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
410
- _$_.push_component();
411
-
397
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
412
398
  var div_13 = root_16();
413
399
 
414
400
  {
@@ -422,7 +408,6 @@ export function HtmlWithCommentsInChildren(__anchor, _, __block) {
422
408
  });
423
409
 
424
410
  _$_.append(__anchor, div_13);
425
- _$_.pop_component();
426
411
  })
427
412
  },
428
413
  _$_.active_block
@@ -462,6 +447,7 @@ export function DocLayout(
462
447
  {
463
448
  var expression_1 = _$_.child(div_15);
464
449
 
450
+ _$_.expression(expression_1, () => children);
465
451
  _$_.pop(div_15);
466
452
  }
467
453
  }
@@ -500,26 +486,14 @@ export function DocLayout(
500
486
  {
501
487
  var expression_2 = _$_.child(a_2, true);
502
488
 
489
+ _$_.expression(expression_2, () => nextLink.text);
503
490
  _$_.pop(a_2);
504
491
  }
505
492
  }
506
493
 
507
- _$_.render(
508
- (__prev) => {
509
- var __a = nextLink.text;
510
-
511
- if (__prev.a !== __a) {
512
- _$_.set_text(expression_2, __prev.a = __a);
513
- }
514
-
515
- var __b = nextLink.href;
516
-
517
- if (__prev.b !== __b) {
518
- _$_.set_attribute(a_2, 'href', __prev.b = __b);
519
- }
520
- },
521
- { a: ' ', b: void 0 }
522
- );
494
+ _$_.render(() => {
495
+ _$_.set_attribute(a_2, 'href', nextLink.href);
496
+ });
523
497
 
524
498
  _$_.append(__anchor, nav_1);
525
499
  };
@@ -560,26 +534,14 @@ export function DocLayout(
560
534
  {
561
535
  var expression_3 = _$_.child(a_3, true);
562
536
 
537
+ _$_.expression(expression_3, () => item.text);
563
538
  _$_.pop(a_3);
564
539
  }
565
540
  }
566
541
 
567
- _$_.render(
568
- (__prev) => {
569
- var __a = item.text;
570
-
571
- if (__prev.a !== __a) {
572
- _$_.set_text(expression_3, __prev.a = __a);
573
- }
574
-
575
- var __b = item.href;
576
-
577
- if (__prev.b !== __b) {
578
- _$_.set_attribute(a_3, 'href', __prev.b = __b);
579
- }
580
- },
581
- { a: ' ', b: void 0 }
582
- );
542
+ _$_.render(() => {
543
+ _$_.set_attribute(a_3, 'href', item.href);
544
+ });
583
545
 
584
546
  _$_.append(__anchor, li_1);
585
547
  },
@@ -602,10 +564,6 @@ export function DocLayout(
602
564
  }
603
565
  }
604
566
 
605
- _$_.render(() => {
606
- _$_.expression(expression_1, () => children);
607
- });
608
-
609
567
  _$_.append(__anchor, div_14);
610
568
  _$_.pop_component();
611
569
  }
@@ -627,9 +585,7 @@ export function HtmlWithServerData(__anchor, _, __block) {
627
585
  { href: '#features', text: 'Features' }
628
586
  ],
629
587
 
630
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
631
- _$_.push_component();
632
-
588
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
633
589
  var div_19 = root_24();
634
590
 
635
591
  {
@@ -643,7 +599,6 @@ export function HtmlWithServerData(__anchor, _, __block) {
643
599
  });
644
600
 
645
601
  _$_.append(__anchor, div_19);
646
- _$_.pop_component();
647
602
  })
648
603
  },
649
604
  _$_.active_block
@@ -663,9 +618,7 @@ export function HtmlWithClientDefaults(__anchor, _, __block) {
663
618
  DocLayout(
664
619
  node_24,
665
620
  {
666
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
667
- _$_.push_component();
668
-
621
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
669
622
  var div_20 = root_26();
670
623
 
671
624
  {
@@ -679,7 +632,6 @@ export function HtmlWithClientDefaults(__anchor, _, __block) {
679
632
  });
680
633
 
681
634
  _$_.append(__anchor, div_20);
682
- _$_.pop_component();
683
635
  })
684
636
  },
685
637
  _$_.active_block
@@ -699,9 +651,7 @@ export function HtmlWithUndefinedContent(__anchor, _, __block) {
699
651
  DocLayout(
700
652
  node_26,
701
653
  {
702
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
703
- _$_.push_component();
704
-
654
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
705
655
  var div_21 = root_28();
706
656
 
707
657
  {
@@ -715,7 +665,6 @@ export function HtmlWithUndefinedContent(__anchor, _, __block) {
715
665
  });
716
666
 
717
667
  _$_.append(__anchor, div_21);
718
- _$_.pop_component();
719
668
  })
720
669
  },
721
670
  _$_.active_block
@@ -738,13 +687,10 @@ function DynamicHeading(__anchor, { level, children }, __block) {
738
687
  {
739
688
  var expression_4 = _$_.child(h1_2);
740
689
 
690
+ _$_.expression(expression_4, () => children);
741
691
  _$_.pop(h1_2);
742
692
  }
743
693
 
744
- _$_.render(() => {
745
- _$_.expression(expression_4, () => children);
746
- });
747
-
748
694
  _$_.append(__anchor, h1_2);
749
695
  };
750
696
 
@@ -754,13 +700,10 @@ function DynamicHeading(__anchor, { level, children }, __block) {
754
700
  {
755
701
  var expression_5 = _$_.child(h2_1);
756
702
 
703
+ _$_.expression(expression_5, () => children);
757
704
  _$_.pop(h2_1);
758
705
  }
759
706
 
760
- _$_.render(() => {
761
- _$_.expression(expression_5, () => children);
762
- });
763
-
764
707
  _$_.append(__anchor, h2_1);
765
708
  };
766
709
 
@@ -821,14 +764,11 @@ function ContentWrapper(__anchor, { children }, __block) {
821
764
  {
822
765
  var expression_6 = _$_.child(div_26);
823
766
 
767
+ _$_.expression(expression_6, () => children);
824
768
  _$_.pop(div_26);
825
769
  }
826
770
  }
827
771
 
828
- _$_.render(() => {
829
- _$_.expression(expression_6, () => children);
830
- });
831
-
832
772
  _$_.append(__anchor, div_25);
833
773
  _$_.pop_component();
834
774
  }
@@ -842,9 +782,7 @@ export function HtmlAfterSwitchInChildren(__anchor, _, __block) {
842
782
  ContentWrapper(
843
783
  node_30,
844
784
  {
845
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
846
- _$_.push_component();
847
-
785
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
848
786
  var fragment_10 = root_35();
849
787
  var node_31 = _$_.first_child_frag(fragment_10);
850
788
 
@@ -852,13 +790,10 @@ export function HtmlAfterSwitchInChildren(__anchor, _, __block) {
852
790
  node_31,
853
791
  {
854
792
  level: 1,
855
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
856
- _$_.push_component();
857
-
793
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
858
794
  var expression_7 = _$_.text('Title');
859
795
 
860
796
  _$_.append(__anchor, expression_7);
861
- _$_.pop_component();
862
797
  })
863
798
  },
864
799
  _$_.active_block
@@ -870,7 +805,6 @@ export function HtmlAfterSwitchInChildren(__anchor, _, __block) {
870
805
 
871
806
  CodeBlock(node_32, { code: "const x = 1;" }, _$_.active_block);
872
807
  _$_.append(__anchor, fragment_10);
873
- _$_.pop_component();
874
808
  })
875
809
  },
876
810
  _$_.active_block
@@ -912,7 +846,7 @@ function NavItem(__anchor, { href, text: label, active = false }, __block) {
912
846
  {
913
847
  var expression_8 = _$_.child(span_1, true);
914
848
 
915
- expression_8.nodeValue = label;
849
+ _$_.expression(expression_8, () => label);
916
850
  _$_.pop(span_1);
917
851
  }
918
852
  }
@@ -939,7 +873,7 @@ function SidebarSection(__anchor, { title, children }, __block) {
939
873
  {
940
874
  var expression_9 = _$_.child(h2_2, true);
941
875
 
942
- expression_9.nodeValue = title;
876
+ _$_.expression(expression_9, () => title);
943
877
  _$_.pop(h2_2);
944
878
  }
945
879
 
@@ -959,13 +893,10 @@ function SidebarSection(__anchor, { title, children }, __block) {
959
893
  {
960
894
  var expression_10 = _$_.child(div_30);
961
895
 
896
+ _$_.expression(expression_10, () => children);
962
897
  _$_.pop(div_30);
963
898
  }
964
899
 
965
- _$_.render(() => {
966
- _$_.expression(expression_10, () => children);
967
- });
968
-
969
900
  _$_.append(__anchor, div_30);
970
901
  };
971
902
 
@@ -999,9 +930,7 @@ function SideNav(__anchor, { currentPath }, __block) {
999
930
  node_35,
1000
931
  {
1001
932
  title: "Getting Started",
1002
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1003
- _$_.push_component();
1004
-
933
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1005
934
  var fragment_11 = root_41();
1006
935
  var node_36 = _$_.first_child_frag(fragment_11);
1007
936
 
@@ -1028,7 +957,6 @@ function SideNav(__anchor, { currentPath }, __block) {
1028
957
  );
1029
958
 
1030
959
  _$_.append(__anchor, fragment_11);
1031
- _$_.pop_component();
1032
960
  })
1033
961
  },
1034
962
  _$_.active_block
@@ -1046,9 +974,7 @@ function SideNav(__anchor, { currentPath }, __block) {
1046
974
  node_38,
1047
975
  {
1048
976
  title: "Guide",
1049
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1050
- _$_.push_component();
1051
-
977
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1052
978
  var fragment_12 = root_42();
1053
979
  var node_39 = _$_.first_child_frag(fragment_12);
1054
980
 
@@ -1075,7 +1001,6 @@ function SideNav(__anchor, { currentPath }, __block) {
1075
1001
  );
1076
1002
 
1077
1003
  _$_.append(__anchor, fragment_12);
1078
- _$_.pop_component();
1079
1004
  })
1080
1005
  },
1081
1006
  _$_.active_block
@@ -1164,14 +1089,11 @@ function ArticleWrapper(__anchor, { children }, __block) {
1164
1089
  {
1165
1090
  var expression_11 = _$_.child(div_37);
1166
1091
 
1092
+ _$_.expression(expression_11, () => children);
1167
1093
  _$_.pop(div_37);
1168
1094
  }
1169
1095
  }
1170
1096
 
1171
- _$_.render(() => {
1172
- _$_.expression(expression_11, () => children);
1173
- });
1174
-
1175
1097
  _$_.append(__anchor, article_2);
1176
1098
  _$_.pop_component();
1177
1099
  }
@@ -1196,13 +1118,10 @@ export function ArticleWithChildrenThenSibling(__anchor, _, __block) {
1196
1118
  ArticleWrapper(
1197
1119
  node_45,
1198
1120
  {
1199
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1200
- _$_.push_component();
1201
-
1121
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1202
1122
  var fragment_13 = root_49();
1203
1123
 
1204
1124
  _$_.append(__anchor, fragment_13);
1205
- _$_.pop_component();
1206
1125
  })
1207
1126
  },
1208
1127
  _$_.active_block
@@ -1258,9 +1177,7 @@ export function ArticleWithHtmlChildThenSibling(__anchor, _, __block) {
1258
1177
  ArticleWrapper(
1259
1178
  node_49,
1260
1179
  {
1261
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1262
- _$_.push_component();
1263
-
1180
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1264
1181
  var div_41 = root_53();
1265
1182
 
1266
1183
  {
@@ -1274,7 +1191,6 @@ export function ArticleWithHtmlChildThenSibling(__anchor, _, __block) {
1274
1191
  });
1275
1192
 
1276
1193
  _$_.append(__anchor, div_41);
1277
- _$_.pop_component();
1278
1194
  })
1279
1195
  },
1280
1196
  _$_.active_block
@@ -1318,6 +1234,7 @@ function InlineArticleLayout(__anchor, { children }, __block) {
1318
1234
  {
1319
1235
  var expression_12 = _$_.child(div_44);
1320
1236
 
1237
+ _$_.expression(expression_12, () => children);
1321
1238
  _$_.pop(div_44);
1322
1239
  }
1323
1240
  }
@@ -1344,10 +1261,6 @@ function InlineArticleLayout(__anchor, { children }, __block) {
1344
1261
  _$_.pop(div_43);
1345
1262
  }
1346
1263
 
1347
- _$_.render(() => {
1348
- _$_.expression(expression_12, () => children);
1349
- });
1350
-
1351
1264
  _$_.append(__anchor, div_43);
1352
1265
  _$_.pop_component();
1353
1266
  }
@@ -1362,9 +1275,7 @@ export function InlineArticleWithHtmlChild(__anchor, _, __block) {
1362
1275
  InlineArticleLayout(
1363
1276
  node_55,
1364
1277
  {
1365
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1366
- _$_.push_component();
1367
-
1278
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1368
1279
  var div_46 = root_58();
1369
1280
 
1370
1281
  {
@@ -1378,7 +1289,6 @@ export function InlineArticleWithHtmlChild(__anchor, _, __block) {
1378
1289
  });
1379
1290
 
1380
1291
  _$_.append(__anchor, div_46);
1381
- _$_.pop_component();
1382
1292
  })
1383
1293
  },
1384
1294
  _$_.active_block
@@ -1456,6 +1366,7 @@ function DocsLayoutInner(
1456
1366
  {
1457
1367
  var expression_13 = _$_.child(div_49);
1458
1368
 
1369
+ _$_.expression(expression_13, () => children);
1459
1370
  _$_.pop(div_49);
1460
1371
  }
1461
1372
  }
@@ -1488,26 +1399,14 @@ function DocsLayoutInner(
1488
1399
  {
1489
1400
  var expression_14 = _$_.child(a_5, true);
1490
1401
 
1402
+ _$_.expression(expression_14, () => nextLink.text);
1491
1403
  _$_.pop(a_5);
1492
1404
  }
1493
1405
  }
1494
1406
 
1495
- _$_.render(
1496
- (__prev) => {
1497
- var __a = nextLink.text;
1498
-
1499
- if (__prev.a !== __a) {
1500
- _$_.set_text(expression_14, __prev.a = __a);
1501
- }
1502
-
1503
- var __b = nextLink.href;
1504
-
1505
- if (__prev.b !== __b) {
1506
- _$_.set_attribute(a_5, 'href', __prev.b = __b);
1507
- }
1508
- },
1509
- { a: ' ', b: void 0 }
1510
- );
1407
+ _$_.render(() => {
1408
+ _$_.set_attribute(a_5, 'href', nextLink.href);
1409
+ });
1511
1410
 
1512
1411
  _$_.append(__anchor, nav_4);
1513
1412
  };
@@ -1532,10 +1431,6 @@ function DocsLayoutInner(
1532
1431
  _$_.pop(div_47);
1533
1432
  }
1534
1433
 
1535
- _$_.render(() => {
1536
- _$_.expression(expression_13, () => children);
1537
- });
1538
-
1539
1434
  _$_.append(__anchor, div_47);
1540
1435
  _$_.pop_component();
1541
1436
  }
@@ -1552,9 +1447,7 @@ export function DocsLayoutWithData(__anchor, _, __block) {
1552
1447
  {
1553
1448
  editPath: "docs/styling.md",
1554
1449
  nextLink: { href: '/next', text: 'Next' },
1555
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1556
- _$_.push_component();
1557
-
1450
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1558
1451
  var div_54 = root_66();
1559
1452
 
1560
1453
  {
@@ -1568,7 +1461,6 @@ export function DocsLayoutWithData(__anchor, _, __block) {
1568
1461
  });
1569
1462
 
1570
1463
  _$_.append(__anchor, div_54);
1571
- _$_.pop_component();
1572
1464
  })
1573
1465
  },
1574
1466
  _$_.active_block
@@ -1588,9 +1480,7 @@ export function DocsLayoutWithoutData(__anchor, _, __block) {
1588
1480
  DocsLayoutInner(
1589
1481
  node_64,
1590
1482
  {
1591
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1592
- _$_.push_component();
1593
-
1483
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1594
1484
  var div_55 = root_68();
1595
1485
 
1596
1486
  {
@@ -1604,7 +1494,6 @@ export function DocsLayoutWithoutData(__anchor, _, __block) {
1604
1494
  });
1605
1495
 
1606
1496
  _$_.append(__anchor, div_55);
1607
- _$_.pop_component();
1608
1497
  })
1609
1498
  },
1610
1499
  _$_.active_block
@@ -1661,6 +1550,7 @@ function DocsLayoutExact(
1661
1550
  {
1662
1551
  var expression_15 = _$_.child(div_58);
1663
1552
 
1553
+ _$_.expression(expression_15, () => children);
1664
1554
  _$_.pop(div_58);
1665
1555
  }
1666
1556
  }
@@ -1706,26 +1596,14 @@ function DocsLayoutExact(
1706
1596
  {
1707
1597
  var expression_16 = _$_.child(span_2, true);
1708
1598
 
1599
+ _$_.expression(expression_16, () => prevLink.text);
1709
1600
  _$_.pop(span_2);
1710
1601
  }
1711
1602
  }
1712
1603
 
1713
- _$_.render(
1714
- (__prev) => {
1715
- var __a = prevLink.text;
1716
-
1717
- if (__prev.a !== __a) {
1718
- _$_.set_text(expression_16, __prev.a = __a);
1719
- }
1720
-
1721
- var __b = prevLink.href;
1722
-
1723
- if (__prev.b !== __b) {
1724
- _$_.set_attribute(a_7, 'href', __prev.b = __b);
1725
- }
1726
- },
1727
- { a: ' ', b: void 0 }
1728
- );
1604
+ _$_.render(() => {
1605
+ _$_.set_attribute(a_7, 'href', prevLink.href);
1606
+ });
1729
1607
 
1730
1608
  _$_.append(__anchor, a_7);
1731
1609
  };
@@ -1753,26 +1631,14 @@ function DocsLayoutExact(
1753
1631
  {
1754
1632
  var expression_17 = _$_.child(span_4, true);
1755
1633
 
1634
+ _$_.expression(expression_17, () => nextLink.text);
1756
1635
  _$_.pop(span_4);
1757
1636
  }
1758
1637
  }
1759
1638
 
1760
- _$_.render(
1761
- (__prev) => {
1762
- var __a = nextLink.text;
1763
-
1764
- if (__prev.a !== __a) {
1765
- _$_.set_text(expression_17, __prev.a = __a);
1766
- }
1767
-
1768
- var __b = nextLink.href;
1769
-
1770
- if (__prev.b !== __b) {
1771
- _$_.set_attribute(a_8, 'href', __prev.b = __b);
1772
- }
1773
- },
1774
- { a: ' ', b: void 0 }
1775
- );
1639
+ _$_.render(() => {
1640
+ _$_.set_attribute(a_8, 'href', nextLink.href);
1641
+ });
1776
1642
 
1777
1643
  _$_.append(__anchor, a_8);
1778
1644
  };
@@ -1824,25 +1690,13 @@ function DocsLayoutExact(
1824
1690
  {
1825
1691
  var expression_18 = _$_.child(a_9, true);
1826
1692
 
1693
+ _$_.expression(expression_18, () => item.text);
1827
1694
  _$_.pop(a_9);
1828
1695
  }
1829
1696
 
1830
- _$_.render(
1831
- (__prev) => {
1832
- var __a = item.text;
1833
-
1834
- if (__prev.a !== __a) {
1835
- _$_.set_text(expression_18, __prev.a = __a);
1836
- }
1837
-
1838
- var __b = item.href;
1839
-
1840
- if (__prev.b !== __b) {
1841
- _$_.set_attribute(a_9, 'href', __prev.b = __b);
1842
- }
1843
- },
1844
- { a: ' ', b: void 0 }
1845
- );
1697
+ _$_.render(() => {
1698
+ _$_.set_attribute(a_9, 'href', item.href);
1699
+ });
1846
1700
 
1847
1701
  _$_.append(__anchor, a_9);
1848
1702
  },
@@ -1872,10 +1726,6 @@ function DocsLayoutExact(
1872
1726
  _$_.pop(div_56);
1873
1727
  }
1874
1728
 
1875
- _$_.render(() => {
1876
- _$_.expression(expression_15, () => children);
1877
- });
1878
-
1879
1729
  _$_.append(__anchor, div_56);
1880
1730
  _$_.pop_component();
1881
1731
  }
@@ -1898,9 +1748,7 @@ export function DocsLayoutExactWithData(__anchor, _, __block) {
1898
1748
  { href: '#usage', text: 'Usage' }
1899
1749
  ],
1900
1750
 
1901
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1902
- _$_.push_component();
1903
-
1751
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1904
1752
  var div_64 = root_78();
1905
1753
 
1906
1754
  {
@@ -1914,7 +1762,6 @@ export function DocsLayoutExactWithData(__anchor, _, __block) {
1914
1762
  });
1915
1763
 
1916
1764
  _$_.append(__anchor, div_64);
1917
- _$_.pop_component();
1918
1765
  })
1919
1766
  },
1920
1767
  _$_.active_block
@@ -1942,9 +1789,7 @@ export function DocsLayoutExactWithoutData(__anchor, _, __block) {
1942
1789
  prevLink,
1943
1790
  nextLink,
1944
1791
  toc,
1945
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
1946
- _$_.push_component();
1947
-
1792
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
1948
1793
  var div_65 = root_80();
1949
1794
 
1950
1795
  {
@@ -1958,7 +1803,6 @@ export function DocsLayoutExactWithoutData(__anchor, _, __block) {
1958
1803
  });
1959
1804
 
1960
1805
  _$_.append(__anchor, div_65);
1961
- _$_.pop_component();
1962
1806
  })
1963
1807
  },
1964
1808
  _$_.active_block
@@ -2017,22 +1861,14 @@ function LayoutWithTemplate(__anchor, { children, data }, __block) {
2017
1861
  {
2018
1862
  var expression_19 = _$_.child(main_4);
2019
1863
 
1864
+ _$_.expression(expression_19, () => children);
2020
1865
  _$_.pop(main_4);
2021
1866
  }
2022
1867
  }
2023
1868
 
2024
- _$_.render(
2025
- (__prev) => {
2026
- var __a = _$_.with_scope(__block, () => JSON.stringify(data));
2027
-
2028
- if (__prev.a !== __a) {
2029
- template_3.innerHTML = __prev.a = __a;
2030
- }
2031
-
2032
- _$_.expression(expression_19, () => children);
2033
- },
2034
- { a: '' }
2035
- );
1869
+ _$_.render(() => {
1870
+ template_3.innerHTML = _$_.with_scope(__block, () => JSON.stringify(data));
1871
+ });
2036
1872
 
2037
1873
  _$_.append(__anchor, div_68);
2038
1874
  _$_.pop_component();
@@ -2049,9 +1885,7 @@ export function NestedTemplateInLayout(__anchor, _, __block) {
2049
1885
  node_78,
2050
1886
  {
2051
1887
  data: doc,
2052
- children: _$_.ripple_element(function render_children(__anchor, _, __block) {
2053
- _$_.push_component();
2054
-
1888
+ children: _$_.ripple_element(function render_children(__anchor, __block) {
2055
1889
  var div_69 = root_85();
2056
1890
 
2057
1891
  {
@@ -2065,7 +1899,6 @@ export function NestedTemplateInLayout(__anchor, _, __block) {
2065
1899
  });
2066
1900
 
2067
1901
  _$_.append(__anchor, div_69);
2068
- _$_.pop_component();
2069
1902
  })
2070
1903
  },
2071
1904
  _$_.active_block