@crediblemark/build 0.25.7 → 0.25.9

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 (50) hide show
  1. package/dist/ArrayField-HYHS4HCO.mjs +17 -0
  2. package/dist/{Editor-GDIQRAYD.mjs → Editor-P3UUWNSZ.mjs} +8 -10
  3. package/dist/ObjectField-4N5XWAFL.mjs +17 -0
  4. package/dist/{actions-LaZpJ1KE.d.ts → actions-CKSDxt4l.d.mts} +1 -1
  5. package/dist/{actions-LaZpJ1KE.d.mts → actions-CKSDxt4l.d.ts} +1 -1
  6. package/dist/{chunk-J2UWT4L6.mjs → chunk-44PQTFGV.mjs} +5 -7
  7. package/dist/{chunk-23V3TMNT.mjs → chunk-AZFZRLP7.mjs} +7 -7
  8. package/dist/{chunk-ETN6FGIH.mjs → chunk-E4F5M5JH.mjs} +1 -1
  9. package/dist/chunk-HHKM5MBJ.mjs +3163 -0
  10. package/dist/{chunk-ERLZ5CJF.mjs → chunk-HQYAIZI5.mjs} +1137 -3239
  11. package/dist/{chunk-M4S65TWW.mjs → chunk-KN26YZZJ.mjs} +285 -130
  12. package/dist/{chunk-64A37UUC.mjs → chunk-O44M27KT.mjs} +442 -7
  13. package/dist/{chunk-EDTYTRV5.mjs → chunk-P2AZFZ7Q.mjs} +2 -2
  14. package/dist/{chunk-GUUI5HW3.mjs → chunk-PFHKXXSV.mjs} +1 -1
  15. package/dist/{chunk-JERQUUM4.mjs → chunk-S32JZ2HU.mjs} +1 -1
  16. package/dist/{chunk-35OY5UFR.mjs → chunk-T2LBDQLG.mjs} +7 -7
  17. package/dist/{chunk-EWOJLVHT.mjs → chunk-XLRMLBFR.mjs} +1 -1
  18. package/dist/{chunk-BXF2PDCW.mjs → chunk-Z7DDX2XU.mjs} +2 -2
  19. package/dist/{full-Y52CQK4X.mjs → full-3VRJOFG5.mjs} +6 -8
  20. package/dist/{index-CD3PszvP.d.mts → index-Ds4Dkkyr.d.mts} +1 -1
  21. package/dist/{index-Bj2x5pZ7.d.ts → index-DwajIHZf.d.ts} +1 -1
  22. package/dist/index.css +188 -2
  23. package/dist/index.d.mts +8 -40
  24. package/dist/index.d.ts +8 -40
  25. package/dist/index.js +1205 -567
  26. package/dist/index.mjs +25 -25
  27. package/dist/internal.d.mts +2 -2
  28. package/dist/internal.d.ts +2 -2
  29. package/dist/internal.mjs +1 -2
  30. package/dist/{loaded-K43N3OFP.mjs → loaded-C2JGMUXV.mjs} +3 -5
  31. package/dist/{loaded-MWBOE5CB.mjs → loaded-FJHWTGH6.mjs} +3 -5
  32. package/dist/{loaded-IWWCJE75.mjs → loaded-NTEK7RT3.mjs} +3 -5
  33. package/dist/no-external.css +188 -2
  34. package/dist/no-external.d.mts +4 -4
  35. package/dist/no-external.d.ts +4 -4
  36. package/dist/no-external.js +1205 -567
  37. package/dist/no-external.mjs +25 -25
  38. package/dist/rsc.css +1420 -0
  39. package/dist/rsc.d.mts +2 -2
  40. package/dist/rsc.d.ts +2 -2
  41. package/dist/rsc.js +10324 -1007
  42. package/dist/rsc.mjs +20 -3
  43. package/dist/{walk-tree-BEw6kTXm.d.ts → walk-tree-B_jHFa3L.d.mts} +39 -2
  44. package/dist/{walk-tree-BO8uRNcW.d.mts → walk-tree-DHMRjk5Z.d.ts} +39 -2
  45. package/package.json +2 -2
  46. package/dist/ArrayField-OIQQLS2B.mjs +0 -19
  47. package/dist/ObjectField-WOW3T2WS.mjs +0 -19
  48. package/dist/chunk-2RLA42JA.mjs +0 -455
  49. package/dist/chunk-7LXZOPYT.mjs +0 -445
  50. package/dist/chunk-SMAWAXVX.mjs +0 -139
package/dist/index.js CHANGED
@@ -427,125 +427,152 @@ var init_chart_column = __esm({
427
427
  }
428
428
  });
429
429
 
430
+ // node_modules/lucide-react/dist/esm/icons/check.js
431
+ var __iconNode4, Check;
432
+ var init_check = __esm({
433
+ "node_modules/lucide-react/dist/esm/icons/check.js"() {
434
+ "use strict";
435
+ init_react_import();
436
+ init_createLucideIcon();
437
+ __iconNode4 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
438
+ Check = createLucideIcon("check", __iconNode4);
439
+ }
440
+ });
441
+
430
442
  // node_modules/lucide-react/dist/esm/icons/chevron-down.js
431
- var __iconNode4, ChevronDown;
443
+ var __iconNode5, ChevronDown;
432
444
  var init_chevron_down = __esm({
433
445
  "node_modules/lucide-react/dist/esm/icons/chevron-down.js"() {
434
446
  "use strict";
435
447
  init_react_import();
436
448
  init_createLucideIcon();
437
- __iconNode4 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
438
- ChevronDown = createLucideIcon("chevron-down", __iconNode4);
449
+ __iconNode5 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
450
+ ChevronDown = createLucideIcon("chevron-down", __iconNode5);
439
451
  }
440
452
  });
441
453
 
442
454
  // node_modules/lucide-react/dist/esm/icons/chevron-right.js
443
- var __iconNode5, ChevronRight;
455
+ var __iconNode6, ChevronRight;
444
456
  var init_chevron_right = __esm({
445
457
  "node_modules/lucide-react/dist/esm/icons/chevron-right.js"() {
446
458
  "use strict";
447
459
  init_react_import();
448
460
  init_createLucideIcon();
449
- __iconNode5 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
450
- ChevronRight = createLucideIcon("chevron-right", __iconNode5);
461
+ __iconNode6 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
462
+ ChevronRight = createLucideIcon("chevron-right", __iconNode6);
451
463
  }
452
464
  });
453
465
 
454
466
  // node_modules/lucide-react/dist/esm/icons/chevron-up.js
455
- var __iconNode6, ChevronUp;
467
+ var __iconNode7, ChevronUp;
456
468
  var init_chevron_up = __esm({
457
469
  "node_modules/lucide-react/dist/esm/icons/chevron-up.js"() {
458
470
  "use strict";
459
471
  init_react_import();
460
472
  init_createLucideIcon();
461
- __iconNode6 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
462
- ChevronUp = createLucideIcon("chevron-up", __iconNode6);
473
+ __iconNode7 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
474
+ ChevronUp = createLucideIcon("chevron-up", __iconNode7);
463
475
  }
464
476
  });
465
477
 
466
478
  // node_modules/lucide-react/dist/esm/icons/circle-check-big.js
467
- var __iconNode7, CircleCheckBig;
479
+ var __iconNode8, CircleCheckBig;
468
480
  var init_circle_check_big = __esm({
469
481
  "node_modules/lucide-react/dist/esm/icons/circle-check-big.js"() {
470
482
  "use strict";
471
483
  init_react_import();
472
484
  init_createLucideIcon();
473
- __iconNode7 = [
485
+ __iconNode8 = [
474
486
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
475
487
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
476
488
  ];
477
- CircleCheckBig = createLucideIcon("circle-check-big", __iconNode7);
489
+ CircleCheckBig = createLucideIcon("circle-check-big", __iconNode8);
490
+ }
491
+ });
492
+
493
+ // node_modules/lucide-react/dist/esm/icons/circle-check.js
494
+ var __iconNode9, CircleCheck;
495
+ var init_circle_check = __esm({
496
+ "node_modules/lucide-react/dist/esm/icons/circle-check.js"() {
497
+ "use strict";
498
+ init_react_import();
499
+ init_createLucideIcon();
500
+ __iconNode9 = [
501
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
502
+ ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
503
+ ];
504
+ CircleCheck = createLucideIcon("circle-check", __iconNode9);
478
505
  }
479
506
  });
480
507
 
481
508
  // node_modules/lucide-react/dist/esm/icons/code.js
482
- var __iconNode8, Code;
509
+ var __iconNode10, Code;
483
510
  var init_code = __esm({
484
511
  "node_modules/lucide-react/dist/esm/icons/code.js"() {
485
512
  "use strict";
486
513
  init_react_import();
487
514
  init_createLucideIcon();
488
- __iconNode8 = [
515
+ __iconNode10 = [
489
516
  ["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
490
517
  ["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
491
518
  ];
492
- Code = createLucideIcon("code", __iconNode8);
519
+ Code = createLucideIcon("code", __iconNode10);
493
520
  }
494
521
  });
495
522
 
496
523
  // node_modules/lucide-react/dist/esm/icons/copy.js
497
- var __iconNode9, Copy;
524
+ var __iconNode11, Copy;
498
525
  var init_copy = __esm({
499
526
  "node_modules/lucide-react/dist/esm/icons/copy.js"() {
500
527
  "use strict";
501
528
  init_react_import();
502
529
  init_createLucideIcon();
503
- __iconNode9 = [
530
+ __iconNode11 = [
504
531
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
505
532
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
506
533
  ];
507
- Copy = createLucideIcon("copy", __iconNode9);
534
+ Copy = createLucideIcon("copy", __iconNode11);
508
535
  }
509
536
  });
510
537
 
511
538
  // node_modules/lucide-react/dist/esm/icons/corner-left-up.js
512
- var __iconNode10, CornerLeftUp;
539
+ var __iconNode12, CornerLeftUp;
513
540
  var init_corner_left_up = __esm({
514
541
  "node_modules/lucide-react/dist/esm/icons/corner-left-up.js"() {
515
542
  "use strict";
516
543
  init_react_import();
517
544
  init_createLucideIcon();
518
- __iconNode10 = [
545
+ __iconNode12 = [
519
546
  ["path", { d: "M14 9 9 4 4 9", key: "1af5af" }],
520
547
  ["path", { d: "M20 20h-7a4 4 0 0 1-4-4V4", key: "1blwi3" }]
521
548
  ];
522
- CornerLeftUp = createLucideIcon("corner-left-up", __iconNode10);
549
+ CornerLeftUp = createLucideIcon("corner-left-up", __iconNode12);
523
550
  }
524
551
  });
525
552
 
526
553
  // node_modules/lucide-react/dist/esm/icons/credit-card.js
527
- var __iconNode11, CreditCard;
554
+ var __iconNode13, CreditCard;
528
555
  var init_credit_card = __esm({
529
556
  "node_modules/lucide-react/dist/esm/icons/credit-card.js"() {
530
557
  "use strict";
531
558
  init_react_import();
532
559
  init_createLucideIcon();
533
- __iconNode11 = [
560
+ __iconNode13 = [
534
561
  ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
535
562
  ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
536
563
  ];
537
- CreditCard = createLucideIcon("credit-card", __iconNode11);
564
+ CreditCard = createLucideIcon("credit-card", __iconNode13);
538
565
  }
539
566
  });
540
567
 
541
568
  // node_modules/lucide-react/dist/esm/icons/expand.js
542
- var __iconNode12, Expand;
569
+ var __iconNode14, Expand;
543
570
  var init_expand = __esm({
544
571
  "node_modules/lucide-react/dist/esm/icons/expand.js"() {
545
572
  "use strict";
546
573
  init_react_import();
547
574
  init_createLucideIcon();
548
- __iconNode12 = [
575
+ __iconNode14 = [
549
576
  ["path", { d: "m15 15 6 6", key: "1s409w" }],
550
577
  ["path", { d: "m15 9 6-6", key: "ko1vev" }],
551
578
  ["path", { d: "M21 16v5h-5", key: "1ck2sf" }],
@@ -555,34 +582,55 @@ var init_expand = __esm({
555
582
  ["path", { d: "M3 8V3h5", key: "1ln10m" }],
556
583
  ["path", { d: "M9 9 3 3", key: "v551iv" }]
557
584
  ];
558
- Expand = createLucideIcon("expand", __iconNode12);
585
+ Expand = createLucideIcon("expand", __iconNode14);
559
586
  }
560
587
  });
561
588
 
562
589
  // node_modules/lucide-react/dist/esm/icons/external-link.js
563
- var __iconNode13, ExternalLink;
590
+ var __iconNode15, ExternalLink;
564
591
  var init_external_link = __esm({
565
592
  "node_modules/lucide-react/dist/esm/icons/external-link.js"() {
566
593
  "use strict";
567
594
  init_react_import();
568
595
  init_createLucideIcon();
569
- __iconNode13 = [
596
+ __iconNode15 = [
570
597
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
571
598
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
572
599
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
573
600
  ];
574
- ExternalLink = createLucideIcon("external-link", __iconNode13);
601
+ ExternalLink = createLucideIcon("external-link", __iconNode15);
602
+ }
603
+ });
604
+
605
+ // node_modules/lucide-react/dist/esm/icons/eye.js
606
+ var __iconNode16, Eye;
607
+ var init_eye = __esm({
608
+ "node_modules/lucide-react/dist/esm/icons/eye.js"() {
609
+ "use strict";
610
+ init_react_import();
611
+ init_createLucideIcon();
612
+ __iconNode16 = [
613
+ [
614
+ "path",
615
+ {
616
+ d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
617
+ key: "1nclc0"
618
+ }
619
+ ],
620
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
621
+ ];
622
+ Eye = createLucideIcon("eye", __iconNode16);
575
623
  }
576
624
  });
577
625
 
578
626
  // node_modules/lucide-react/dist/esm/icons/file-text.js
579
- var __iconNode14, FileText;
627
+ var __iconNode17, FileText;
580
628
  var init_file_text = __esm({
581
629
  "node_modules/lucide-react/dist/esm/icons/file-text.js"() {
582
630
  "use strict";
583
631
  init_react_import();
584
632
  init_createLucideIcon();
585
- __iconNode14 = [
633
+ __iconNode17 = [
586
634
  [
587
635
  "path",
588
636
  {
@@ -595,18 +643,18 @@ var init_file_text = __esm({
595
643
  ["path", { d: "M16 13H8", key: "t4e002" }],
596
644
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
597
645
  ];
598
- FileText = createLucideIcon("file-text", __iconNode14);
646
+ FileText = createLucideIcon("file-text", __iconNode17);
599
647
  }
600
648
  });
601
649
 
602
650
  // node_modules/lucide-react/dist/esm/icons/grip-vertical.js
603
- var __iconNode15, GripVertical;
651
+ var __iconNode18, GripVertical;
604
652
  var init_grip_vertical = __esm({
605
653
  "node_modules/lucide-react/dist/esm/icons/grip-vertical.js"() {
606
654
  "use strict";
607
655
  init_react_import();
608
656
  init_createLucideIcon();
609
- __iconNode15 = [
657
+ __iconNode18 = [
610
658
  ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
611
659
  ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
612
660
  ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
@@ -614,105 +662,105 @@ var init_grip_vertical = __esm({
614
662
  ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
615
663
  ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
616
664
  ];
617
- GripVertical = createLucideIcon("grip-vertical", __iconNode15);
665
+ GripVertical = createLucideIcon("grip-vertical", __iconNode18);
618
666
  }
619
667
  });
620
668
 
621
669
  // node_modules/lucide-react/dist/esm/icons/hash.js
622
- var __iconNode16, Hash;
670
+ var __iconNode19, Hash;
623
671
  var init_hash = __esm({
624
672
  "node_modules/lucide-react/dist/esm/icons/hash.js"() {
625
673
  "use strict";
626
674
  init_react_import();
627
675
  init_createLucideIcon();
628
- __iconNode16 = [
676
+ __iconNode19 = [
629
677
  ["line", { x1: "4", x2: "20", y1: "9", y2: "9", key: "4lhtct" }],
630
678
  ["line", { x1: "4", x2: "20", y1: "15", y2: "15", key: "vyu0kd" }],
631
679
  ["line", { x1: "10", x2: "8", y1: "3", y2: "21", key: "1ggp8o" }],
632
680
  ["line", { x1: "16", x2: "14", y1: "3", y2: "21", key: "weycgp" }]
633
681
  ];
634
- Hash = createLucideIcon("hash", __iconNode16);
682
+ Hash = createLucideIcon("hash", __iconNode19);
635
683
  }
636
684
  });
637
685
 
638
686
  // node_modules/lucide-react/dist/esm/icons/heading-1.js
639
- var __iconNode17, Heading1;
687
+ var __iconNode20, Heading1;
640
688
  var init_heading_1 = __esm({
641
689
  "node_modules/lucide-react/dist/esm/icons/heading-1.js"() {
642
690
  "use strict";
643
691
  init_react_import();
644
692
  init_createLucideIcon();
645
- __iconNode17 = [
693
+ __iconNode20 = [
646
694
  ["path", { d: "M4 12h8", key: "17cfdx" }],
647
695
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
648
696
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
649
697
  ["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
650
698
  ];
651
- Heading1 = createLucideIcon("heading-1", __iconNode17);
699
+ Heading1 = createLucideIcon("heading-1", __iconNode20);
652
700
  }
653
701
  });
654
702
 
655
703
  // node_modules/lucide-react/dist/esm/icons/heading-2.js
656
- var __iconNode18, Heading2;
704
+ var __iconNode21, Heading2;
657
705
  var init_heading_2 = __esm({
658
706
  "node_modules/lucide-react/dist/esm/icons/heading-2.js"() {
659
707
  "use strict";
660
708
  init_react_import();
661
709
  init_createLucideIcon();
662
- __iconNode18 = [
710
+ __iconNode21 = [
663
711
  ["path", { d: "M4 12h8", key: "17cfdx" }],
664
712
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
665
713
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
666
714
  ["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }]
667
715
  ];
668
- Heading2 = createLucideIcon("heading-2", __iconNode18);
716
+ Heading2 = createLucideIcon("heading-2", __iconNode21);
669
717
  }
670
718
  });
671
719
 
672
720
  // node_modules/lucide-react/dist/esm/icons/heading-3.js
673
- var __iconNode19, Heading3;
721
+ var __iconNode22, Heading3;
674
722
  var init_heading_3 = __esm({
675
723
  "node_modules/lucide-react/dist/esm/icons/heading-3.js"() {
676
724
  "use strict";
677
725
  init_react_import();
678
726
  init_createLucideIcon();
679
- __iconNode19 = [
727
+ __iconNode22 = [
680
728
  ["path", { d: "M4 12h8", key: "17cfdx" }],
681
729
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
682
730
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
683
731
  ["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }],
684
732
  ["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }]
685
733
  ];
686
- Heading3 = createLucideIcon("heading-3", __iconNode19);
734
+ Heading3 = createLucideIcon("heading-3", __iconNode22);
687
735
  }
688
736
  });
689
737
 
690
738
  // node_modules/lucide-react/dist/esm/icons/heading-4.js
691
- var __iconNode20, Heading4;
739
+ var __iconNode23, Heading4;
692
740
  var init_heading_4 = __esm({
693
741
  "node_modules/lucide-react/dist/esm/icons/heading-4.js"() {
694
742
  "use strict";
695
743
  init_react_import();
696
744
  init_createLucideIcon();
697
- __iconNode20 = [
745
+ __iconNode23 = [
698
746
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
699
747
  ["path", { d: "M17 10v3a1 1 0 0 0 1 1h3", key: "tj5zdr" }],
700
748
  ["path", { d: "M21 10v8", key: "1kdml4" }],
701
749
  ["path", { d: "M4 12h8", key: "17cfdx" }],
702
750
  ["path", { d: "M4 18V6", key: "1rz3zl" }]
703
751
  ];
704
- Heading4 = createLucideIcon("heading-4", __iconNode20);
752
+ Heading4 = createLucideIcon("heading-4", __iconNode23);
705
753
  }
706
754
  });
707
755
 
708
756
  // node_modules/lucide-react/dist/esm/icons/heading-5.js
709
- var __iconNode21, Heading5;
757
+ var __iconNode24, Heading5;
710
758
  var init_heading_5 = __esm({
711
759
  "node_modules/lucide-react/dist/esm/icons/heading-5.js"() {
712
760
  "use strict";
713
761
  init_react_import();
714
762
  init_createLucideIcon();
715
- __iconNode21 = [
763
+ __iconNode24 = [
716
764
  ["path", { d: "M4 12h8", key: "17cfdx" }],
717
765
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
718
766
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
@@ -722,68 +770,68 @@ var init_heading_5 = __esm({
722
770
  { d: "M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17", key: "2nebdn" }
723
771
  ]
724
772
  ];
725
- Heading5 = createLucideIcon("heading-5", __iconNode21);
773
+ Heading5 = createLucideIcon("heading-5", __iconNode24);
726
774
  }
727
775
  });
728
776
 
729
777
  // node_modules/lucide-react/dist/esm/icons/heading-6.js
730
- var __iconNode22, Heading6;
778
+ var __iconNode25, Heading6;
731
779
  var init_heading_6 = __esm({
732
780
  "node_modules/lucide-react/dist/esm/icons/heading-6.js"() {
733
781
  "use strict";
734
782
  init_react_import();
735
783
  init_createLucideIcon();
736
- __iconNode22 = [
784
+ __iconNode25 = [
737
785
  ["path", { d: "M4 12h8", key: "17cfdx" }],
738
786
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
739
787
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
740
788
  ["circle", { cx: "19", cy: "16", r: "2", key: "15mx69" }],
741
789
  ["path", { d: "M20 10c-2 2-3 3.5-3 6", key: "f35dl0" }]
742
790
  ];
743
- Heading6 = createLucideIcon("heading-6", __iconNode22);
791
+ Heading6 = createLucideIcon("heading-6", __iconNode25);
744
792
  }
745
793
  });
746
794
 
747
795
  // node_modules/lucide-react/dist/esm/icons/heading.js
748
- var __iconNode23, Heading;
796
+ var __iconNode26, Heading;
749
797
  var init_heading = __esm({
750
798
  "node_modules/lucide-react/dist/esm/icons/heading.js"() {
751
799
  "use strict";
752
800
  init_react_import();
753
801
  init_createLucideIcon();
754
- __iconNode23 = [
802
+ __iconNode26 = [
755
803
  ["path", { d: "M6 12h12", key: "8npq4p" }],
756
804
  ["path", { d: "M6 20V4", key: "1w1bmo" }],
757
805
  ["path", { d: "M18 20V4", key: "o2hl4u" }]
758
806
  ];
759
- Heading = createLucideIcon("heading", __iconNode23);
807
+ Heading = createLucideIcon("heading", __iconNode26);
760
808
  }
761
809
  });
762
810
 
763
811
  // node_modules/lucide-react/dist/esm/icons/image.js
764
- var __iconNode24, Image;
812
+ var __iconNode27, Image;
765
813
  var init_image = __esm({
766
814
  "node_modules/lucide-react/dist/esm/icons/image.js"() {
767
815
  "use strict";
768
816
  init_react_import();
769
817
  init_createLucideIcon();
770
- __iconNode24 = [
818
+ __iconNode27 = [
771
819
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
772
820
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
773
821
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
774
822
  ];
775
- Image = createLucideIcon("image", __iconNode24);
823
+ Image = createLucideIcon("image", __iconNode27);
776
824
  }
777
825
  });
778
826
 
779
827
  // node_modules/lucide-react/dist/esm/icons/inbox.js
780
- var __iconNode25, Inbox;
828
+ var __iconNode28, Inbox;
781
829
  var init_inbox = __esm({
782
830
  "node_modules/lucide-react/dist/esm/icons/inbox.js"() {
783
831
  "use strict";
784
832
  init_react_import();
785
833
  init_createLucideIcon();
786
- __iconNode25 = [
834
+ __iconNode28 = [
787
835
  ["polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12", key: "o97t9d" }],
788
836
  [
789
837
  "path",
@@ -793,50 +841,50 @@ var init_inbox = __esm({
793
841
  }
794
842
  ]
795
843
  ];
796
- Inbox = createLucideIcon("inbox", __iconNode25);
844
+ Inbox = createLucideIcon("inbox", __iconNode28);
797
845
  }
798
846
  });
799
847
 
800
848
  // node_modules/lucide-react/dist/esm/icons/info.js
801
- var __iconNode26, Info;
849
+ var __iconNode29, Info;
802
850
  var init_info = __esm({
803
851
  "node_modules/lucide-react/dist/esm/icons/info.js"() {
804
852
  "use strict";
805
853
  init_react_import();
806
854
  init_createLucideIcon();
807
- __iconNode26 = [
855
+ __iconNode29 = [
808
856
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
809
857
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
810
858
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
811
859
  ];
812
- Info = createLucideIcon("info", __iconNode26);
860
+ Info = createLucideIcon("info", __iconNode29);
813
861
  }
814
862
  });
815
863
 
816
864
  // node_modules/lucide-react/dist/esm/icons/italic.js
817
- var __iconNode27, Italic;
865
+ var __iconNode30, Italic;
818
866
  var init_italic = __esm({
819
867
  "node_modules/lucide-react/dist/esm/icons/italic.js"() {
820
868
  "use strict";
821
869
  init_react_import();
822
870
  init_createLucideIcon();
823
- __iconNode27 = [
871
+ __iconNode30 = [
824
872
  ["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }],
825
873
  ["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }],
826
874
  ["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }]
827
875
  ];
828
- Italic = createLucideIcon("italic", __iconNode27);
876
+ Italic = createLucideIcon("italic", __iconNode30);
829
877
  }
830
878
  });
831
879
 
832
880
  // node_modules/lucide-react/dist/esm/icons/layers.js
833
- var __iconNode28, Layers;
881
+ var __iconNode31, Layers;
834
882
  var init_layers = __esm({
835
883
  "node_modules/lucide-react/dist/esm/icons/layers.js"() {
836
884
  "use strict";
837
885
  init_react_import();
838
886
  init_createLucideIcon();
839
- __iconNode28 = [
887
+ __iconNode31 = [
840
888
  [
841
889
  "path",
842
890
  {
@@ -859,83 +907,83 @@ var init_layers = __esm({
859
907
  }
860
908
  ]
861
909
  ];
862
- Layers = createLucideIcon("layers", __iconNode28);
910
+ Layers = createLucideIcon("layers", __iconNode31);
863
911
  }
864
912
  });
865
913
 
866
914
  // node_modules/lucide-react/dist/esm/icons/layout-dashboard.js
867
- var __iconNode29, LayoutDashboard;
915
+ var __iconNode32, LayoutDashboard;
868
916
  var init_layout_dashboard = __esm({
869
917
  "node_modules/lucide-react/dist/esm/icons/layout-dashboard.js"() {
870
918
  "use strict";
871
919
  init_react_import();
872
920
  init_createLucideIcon();
873
- __iconNode29 = [
921
+ __iconNode32 = [
874
922
  ["rect", { width: "7", height: "9", x: "3", y: "3", rx: "1", key: "10lvy0" }],
875
923
  ["rect", { width: "7", height: "5", x: "14", y: "3", rx: "1", key: "16une8" }],
876
924
  ["rect", { width: "7", height: "9", x: "14", y: "12", rx: "1", key: "1hutg5" }],
877
925
  ["rect", { width: "7", height: "5", x: "3", y: "16", rx: "1", key: "ldoo1y" }]
878
926
  ];
879
- LayoutDashboard = createLucideIcon("layout-dashboard", __iconNode29);
927
+ LayoutDashboard = createLucideIcon("layout-dashboard", __iconNode32);
880
928
  }
881
929
  });
882
930
 
883
931
  // node_modules/lucide-react/dist/esm/icons/layout-grid.js
884
- var __iconNode30, LayoutGrid;
932
+ var __iconNode33, LayoutGrid;
885
933
  var init_layout_grid = __esm({
886
934
  "node_modules/lucide-react/dist/esm/icons/layout-grid.js"() {
887
935
  "use strict";
888
936
  init_react_import();
889
937
  init_createLucideIcon();
890
- __iconNode30 = [
938
+ __iconNode33 = [
891
939
  ["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }],
892
940
  ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }],
893
941
  ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }],
894
942
  ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }]
895
943
  ];
896
- LayoutGrid = createLucideIcon("layout-grid", __iconNode30);
944
+ LayoutGrid = createLucideIcon("layout-grid", __iconNode33);
897
945
  }
898
946
  });
899
947
 
900
948
  // node_modules/lucide-react/dist/esm/icons/layout-template.js
901
- var __iconNode31, LayoutTemplate;
949
+ var __iconNode34, LayoutTemplate;
902
950
  var init_layout_template = __esm({
903
951
  "node_modules/lucide-react/dist/esm/icons/layout-template.js"() {
904
952
  "use strict";
905
953
  init_react_import();
906
954
  init_createLucideIcon();
907
- __iconNode31 = [
955
+ __iconNode34 = [
908
956
  ["rect", { width: "18", height: "7", x: "3", y: "3", rx: "1", key: "f1a2em" }],
909
957
  ["rect", { width: "9", height: "7", x: "3", y: "14", rx: "1", key: "jqznyg" }],
910
958
  ["rect", { width: "5", height: "7", x: "16", y: "14", rx: "1", key: "q5h2i8" }]
911
959
  ];
912
- LayoutTemplate = createLucideIcon("layout-template", __iconNode31);
960
+ LayoutTemplate = createLucideIcon("layout-template", __iconNode34);
913
961
  }
914
962
  });
915
963
 
916
964
  // node_modules/lucide-react/dist/esm/icons/link.js
917
- var __iconNode32, Link;
965
+ var __iconNode35, Link;
918
966
  var init_link = __esm({
919
967
  "node_modules/lucide-react/dist/esm/icons/link.js"() {
920
968
  "use strict";
921
969
  init_react_import();
922
970
  init_createLucideIcon();
923
- __iconNode32 = [
971
+ __iconNode35 = [
924
972
  ["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }],
925
973
  ["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]
926
974
  ];
927
- Link = createLucideIcon("link", __iconNode32);
975
+ Link = createLucideIcon("link", __iconNode35);
928
976
  }
929
977
  });
930
978
 
931
979
  // node_modules/lucide-react/dist/esm/icons/list-ordered.js
932
- var __iconNode33, ListOrdered;
980
+ var __iconNode36, ListOrdered;
933
981
  var init_list_ordered = __esm({
934
982
  "node_modules/lucide-react/dist/esm/icons/list-ordered.js"() {
935
983
  "use strict";
936
984
  init_react_import();
937
985
  init_createLucideIcon();
938
- __iconNode33 = [
986
+ __iconNode36 = [
939
987
  ["path", { d: "M11 5h10", key: "1cz7ny" }],
940
988
  ["path", { d: "M11 12h10", key: "1438ji" }],
941
989
  ["path", { d: "M11 19h10", key: "11t30w" }],
@@ -943,18 +991,18 @@ var init_list_ordered = __esm({
943
991
  ["path", { d: "M4 9h2", key: "r1h2o0" }],
944
992
  ["path", { d: "M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02", key: "xtkcd5" }]
945
993
  ];
946
- ListOrdered = createLucideIcon("list-ordered", __iconNode33);
994
+ ListOrdered = createLucideIcon("list-ordered", __iconNode36);
947
995
  }
948
996
  });
949
997
 
950
998
  // node_modules/lucide-react/dist/esm/icons/list.js
951
- var __iconNode34, List;
999
+ var __iconNode37, List;
952
1000
  var init_list = __esm({
953
1001
  "node_modules/lucide-react/dist/esm/icons/list.js"() {
954
1002
  "use strict";
955
1003
  init_react_import();
956
1004
  init_createLucideIcon();
957
- __iconNode34 = [
1005
+ __iconNode37 = [
958
1006
  ["path", { d: "M3 5h.01", key: "18ugdj" }],
959
1007
  ["path", { d: "M3 12h.01", key: "nlz23k" }],
960
1008
  ["path", { d: "M3 19h.01", key: "noohij" }],
@@ -962,65 +1010,65 @@ var init_list = __esm({
962
1010
  ["path", { d: "M8 12h13", key: "1za7za" }],
963
1011
  ["path", { d: "M8 19h13", key: "m83p4d" }]
964
1012
  ];
965
- List = createLucideIcon("list", __iconNode34);
1013
+ List = createLucideIcon("list", __iconNode37);
966
1014
  }
967
1015
  });
968
1016
 
969
1017
  // node_modules/lucide-react/dist/esm/icons/lock-open.js
970
- var __iconNode35, LockOpen;
1018
+ var __iconNode38, LockOpen;
971
1019
  var init_lock_open = __esm({
972
1020
  "node_modules/lucide-react/dist/esm/icons/lock-open.js"() {
973
1021
  "use strict";
974
1022
  init_react_import();
975
1023
  init_createLucideIcon();
976
- __iconNode35 = [
1024
+ __iconNode38 = [
977
1025
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
978
1026
  ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
979
1027
  ];
980
- LockOpen = createLucideIcon("lock-open", __iconNode35);
1028
+ LockOpen = createLucideIcon("lock-open", __iconNode38);
981
1029
  }
982
1030
  });
983
1031
 
984
1032
  // node_modules/lucide-react/dist/esm/icons/lock.js
985
- var __iconNode36, Lock;
1033
+ var __iconNode39, Lock;
986
1034
  var init_lock = __esm({
987
1035
  "node_modules/lucide-react/dist/esm/icons/lock.js"() {
988
1036
  "use strict";
989
1037
  init_react_import();
990
1038
  init_createLucideIcon();
991
- __iconNode36 = [
1039
+ __iconNode39 = [
992
1040
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
993
1041
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
994
1042
  ];
995
- Lock = createLucideIcon("lock", __iconNode36);
1043
+ Lock = createLucideIcon("lock", __iconNode39);
996
1044
  }
997
1045
  });
998
1046
 
999
1047
  // node_modules/lucide-react/dist/esm/icons/maximize-2.js
1000
- var __iconNode37, Maximize2;
1048
+ var __iconNode40, Maximize2;
1001
1049
  var init_maximize_2 = __esm({
1002
1050
  "node_modules/lucide-react/dist/esm/icons/maximize-2.js"() {
1003
1051
  "use strict";
1004
1052
  init_react_import();
1005
1053
  init_createLucideIcon();
1006
- __iconNode37 = [
1054
+ __iconNode40 = [
1007
1055
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
1008
1056
  ["path", { d: "m21 3-7 7", key: "1l2asr" }],
1009
1057
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
1010
1058
  ["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
1011
1059
  ];
1012
- Maximize2 = createLucideIcon("maximize-2", __iconNode37);
1060
+ Maximize2 = createLucideIcon("maximize-2", __iconNode40);
1013
1061
  }
1014
1062
  });
1015
1063
 
1016
1064
  // node_modules/lucide-react/dist/esm/icons/megaphone.js
1017
- var __iconNode38, Megaphone;
1065
+ var __iconNode41, Megaphone;
1018
1066
  var init_megaphone = __esm({
1019
1067
  "node_modules/lucide-react/dist/esm/icons/megaphone.js"() {
1020
1068
  "use strict";
1021
1069
  init_react_import();
1022
1070
  init_createLucideIcon();
1023
- __iconNode38 = [
1071
+ __iconNode41 = [
1024
1072
  [
1025
1073
  "path",
1026
1074
  {
@@ -1031,63 +1079,63 @@ var init_megaphone = __esm({
1031
1079
  ["path", { d: "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14", key: "1853fq" }],
1032
1080
  ["path", { d: "M8 6v8", key: "15ugcq" }]
1033
1081
  ];
1034
- Megaphone = createLucideIcon("megaphone", __iconNode38);
1082
+ Megaphone = createLucideIcon("megaphone", __iconNode41);
1035
1083
  }
1036
1084
  });
1037
1085
 
1038
1086
  // node_modules/lucide-react/dist/esm/icons/minimize-2.js
1039
- var __iconNode39, Minimize2;
1087
+ var __iconNode42, Minimize2;
1040
1088
  var init_minimize_2 = __esm({
1041
1089
  "node_modules/lucide-react/dist/esm/icons/minimize-2.js"() {
1042
1090
  "use strict";
1043
1091
  init_react_import();
1044
1092
  init_createLucideIcon();
1045
- __iconNode39 = [
1093
+ __iconNode42 = [
1046
1094
  ["path", { d: "m14 10 7-7", key: "oa77jy" }],
1047
1095
  ["path", { d: "M20 10h-6V4", key: "mjg0md" }],
1048
1096
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
1049
1097
  ["path", { d: "M4 14h6v6", key: "rmj7iw" }]
1050
1098
  ];
1051
- Minimize2 = createLucideIcon("minimize-2", __iconNode39);
1099
+ Minimize2 = createLucideIcon("minimize-2", __iconNode42);
1052
1100
  }
1053
1101
  });
1054
1102
 
1055
1103
  // node_modules/lucide-react/dist/esm/icons/minus.js
1056
- var __iconNode40, Minus;
1104
+ var __iconNode43, Minus;
1057
1105
  var init_minus = __esm({
1058
1106
  "node_modules/lucide-react/dist/esm/icons/minus.js"() {
1059
1107
  "use strict";
1060
1108
  init_react_import();
1061
1109
  init_createLucideIcon();
1062
- __iconNode40 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
1063
- Minus = createLucideIcon("minus", __iconNode40);
1110
+ __iconNode43 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
1111
+ Minus = createLucideIcon("minus", __iconNode43);
1064
1112
  }
1065
1113
  });
1066
1114
 
1067
1115
  // node_modules/lucide-react/dist/esm/icons/monitor.js
1068
- var __iconNode41, Monitor;
1116
+ var __iconNode44, Monitor;
1069
1117
  var init_monitor = __esm({
1070
1118
  "node_modules/lucide-react/dist/esm/icons/monitor.js"() {
1071
1119
  "use strict";
1072
1120
  init_react_import();
1073
1121
  init_createLucideIcon();
1074
- __iconNode41 = [
1122
+ __iconNode44 = [
1075
1123
  ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
1076
1124
  ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
1077
1125
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
1078
1126
  ];
1079
- Monitor = createLucideIcon("monitor", __iconNode41);
1127
+ Monitor = createLucideIcon("monitor", __iconNode44);
1080
1128
  }
1081
1129
  });
1082
1130
 
1083
1131
  // node_modules/lucide-react/dist/esm/icons/moon.js
1084
- var __iconNode42, Moon;
1132
+ var __iconNode45, Moon;
1085
1133
  var init_moon = __esm({
1086
1134
  "node_modules/lucide-react/dist/esm/icons/moon.js"() {
1087
1135
  "use strict";
1088
1136
  init_react_import();
1089
1137
  init_createLucideIcon();
1090
- __iconNode42 = [
1138
+ __iconNode45 = [
1091
1139
  [
1092
1140
  "path",
1093
1141
  {
@@ -1096,63 +1144,63 @@ var init_moon = __esm({
1096
1144
  }
1097
1145
  ]
1098
1146
  ];
1099
- Moon = createLucideIcon("moon", __iconNode42);
1147
+ Moon = createLucideIcon("moon", __iconNode45);
1100
1148
  }
1101
1149
  });
1102
1150
 
1103
1151
  // node_modules/lucide-react/dist/esm/icons/panel-left.js
1104
- var __iconNode43, PanelLeft;
1152
+ var __iconNode46, PanelLeft;
1105
1153
  var init_panel_left = __esm({
1106
1154
  "node_modules/lucide-react/dist/esm/icons/panel-left.js"() {
1107
1155
  "use strict";
1108
1156
  init_react_import();
1109
1157
  init_createLucideIcon();
1110
- __iconNode43 = [
1158
+ __iconNode46 = [
1111
1159
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1112
1160
  ["path", { d: "M9 3v18", key: "fh3hqa" }]
1113
1161
  ];
1114
- PanelLeft = createLucideIcon("panel-left", __iconNode43);
1162
+ PanelLeft = createLucideIcon("panel-left", __iconNode46);
1115
1163
  }
1116
1164
  });
1117
1165
 
1118
1166
  // node_modules/lucide-react/dist/esm/icons/panel-right.js
1119
- var __iconNode44, PanelRight;
1167
+ var __iconNode47, PanelRight;
1120
1168
  var init_panel_right = __esm({
1121
1169
  "node_modules/lucide-react/dist/esm/icons/panel-right.js"() {
1122
1170
  "use strict";
1123
1171
  init_react_import();
1124
1172
  init_createLucideIcon();
1125
- __iconNode44 = [
1173
+ __iconNode47 = [
1126
1174
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1127
1175
  ["path", { d: "M15 3v18", key: "14nvp0" }]
1128
1176
  ];
1129
- PanelRight = createLucideIcon("panel-right", __iconNode44);
1177
+ PanelRight = createLucideIcon("panel-right", __iconNode47);
1130
1178
  }
1131
1179
  });
1132
1180
 
1133
1181
  // node_modules/lucide-react/dist/esm/icons/plus.js
1134
- var __iconNode45, Plus;
1182
+ var __iconNode48, Plus;
1135
1183
  var init_plus = __esm({
1136
1184
  "node_modules/lucide-react/dist/esm/icons/plus.js"() {
1137
1185
  "use strict";
1138
1186
  init_react_import();
1139
1187
  init_createLucideIcon();
1140
- __iconNode45 = [
1188
+ __iconNode48 = [
1141
1189
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1142
1190
  ["path", { d: "M12 5v14", key: "s699le" }]
1143
1191
  ];
1144
- Plus = createLucideIcon("plus", __iconNode45);
1192
+ Plus = createLucideIcon("plus", __iconNode48);
1145
1193
  }
1146
1194
  });
1147
1195
 
1148
1196
  // node_modules/lucide-react/dist/esm/icons/quote.js
1149
- var __iconNode46, Quote;
1197
+ var __iconNode49, Quote;
1150
1198
  var init_quote = __esm({
1151
1199
  "node_modules/lucide-react/dist/esm/icons/quote.js"() {
1152
1200
  "use strict";
1153
1201
  init_react_import();
1154
1202
  init_createLucideIcon();
1155
- __iconNode46 = [
1203
+ __iconNode49 = [
1156
1204
  [
1157
1205
  "path",
1158
1206
  {
@@ -1168,65 +1216,65 @@ var init_quote = __esm({
1168
1216
  }
1169
1217
  ]
1170
1218
  ];
1171
- Quote = createLucideIcon("quote", __iconNode46);
1219
+ Quote = createLucideIcon("quote", __iconNode49);
1172
1220
  }
1173
1221
  });
1174
1222
 
1175
1223
  // node_modules/lucide-react/dist/esm/icons/rectangle-ellipsis.js
1176
- var __iconNode47, RectangleEllipsis;
1224
+ var __iconNode50, RectangleEllipsis;
1177
1225
  var init_rectangle_ellipsis = __esm({
1178
1226
  "node_modules/lucide-react/dist/esm/icons/rectangle-ellipsis.js"() {
1179
1227
  "use strict";
1180
1228
  init_react_import();
1181
1229
  init_createLucideIcon();
1182
- __iconNode47 = [
1230
+ __iconNode50 = [
1183
1231
  ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }],
1184
1232
  ["path", { d: "M12 12h.01", key: "1mp3jc" }],
1185
1233
  ["path", { d: "M17 12h.01", key: "1m0b6t" }],
1186
1234
  ["path", { d: "M7 12h.01", key: "eqddd0" }]
1187
1235
  ];
1188
- RectangleEllipsis = createLucideIcon("rectangle-ellipsis", __iconNode47);
1236
+ RectangleEllipsis = createLucideIcon("rectangle-ellipsis", __iconNode50);
1189
1237
  }
1190
1238
  });
1191
1239
 
1192
1240
  // node_modules/lucide-react/dist/esm/icons/redo-2.js
1193
- var __iconNode48, Redo2;
1241
+ var __iconNode51, Redo2;
1194
1242
  var init_redo_2 = __esm({
1195
1243
  "node_modules/lucide-react/dist/esm/icons/redo-2.js"() {
1196
1244
  "use strict";
1197
1245
  init_react_import();
1198
1246
  init_createLucideIcon();
1199
- __iconNode48 = [
1247
+ __iconNode51 = [
1200
1248
  ["path", { d: "m15 14 5-5-5-5", key: "12vg1m" }],
1201
1249
  ["path", { d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13", key: "6uklza" }]
1202
1250
  ];
1203
- Redo2 = createLucideIcon("redo-2", __iconNode48);
1251
+ Redo2 = createLucideIcon("redo-2", __iconNode51);
1204
1252
  }
1205
1253
  });
1206
1254
 
1207
1255
  // node_modules/lucide-react/dist/esm/icons/search.js
1208
- var __iconNode49, Search;
1256
+ var __iconNode52, Search;
1209
1257
  var init_search = __esm({
1210
1258
  "node_modules/lucide-react/dist/esm/icons/search.js"() {
1211
1259
  "use strict";
1212
1260
  init_react_import();
1213
1261
  init_createLucideIcon();
1214
- __iconNode49 = [
1262
+ __iconNode52 = [
1215
1263
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
1216
1264
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
1217
1265
  ];
1218
- Search = createLucideIcon("search", __iconNode49);
1266
+ Search = createLucideIcon("search", __iconNode52);
1219
1267
  }
1220
1268
  });
1221
1269
 
1222
1270
  // node_modules/lucide-react/dist/esm/icons/settings.js
1223
- var __iconNode50, Settings;
1271
+ var __iconNode53, Settings;
1224
1272
  var init_settings = __esm({
1225
1273
  "node_modules/lucide-react/dist/esm/icons/settings.js"() {
1226
1274
  "use strict";
1227
1275
  init_react_import();
1228
1276
  init_createLucideIcon();
1229
- __iconNode50 = [
1277
+ __iconNode53 = [
1230
1278
  [
1231
1279
  "path",
1232
1280
  {
@@ -1236,18 +1284,18 @@ var init_settings = __esm({
1236
1284
  ],
1237
1285
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
1238
1286
  ];
1239
- Settings = createLucideIcon("settings", __iconNode50);
1287
+ Settings = createLucideIcon("settings", __iconNode53);
1240
1288
  }
1241
1289
  });
1242
1290
 
1243
1291
  // node_modules/lucide-react/dist/esm/icons/shapes.js
1244
- var __iconNode51, Shapes;
1292
+ var __iconNode54, Shapes;
1245
1293
  var init_shapes = __esm({
1246
1294
  "node_modules/lucide-react/dist/esm/icons/shapes.js"() {
1247
1295
  "use strict";
1248
1296
  init_react_import();
1249
1297
  init_createLucideIcon();
1250
- __iconNode51 = [
1298
+ __iconNode54 = [
1251
1299
  [
1252
1300
  "path",
1253
1301
  {
@@ -1258,18 +1306,18 @@ var init_shapes = __esm({
1258
1306
  ["rect", { x: "3", y: "14", width: "7", height: "7", rx: "1", key: "1bkyp8" }],
1259
1307
  ["circle", { cx: "17.5", cy: "17.5", r: "3.5", key: "w3z12y" }]
1260
1308
  ];
1261
- Shapes = createLucideIcon("shapes", __iconNode51);
1309
+ Shapes = createLucideIcon("shapes", __iconNode54);
1262
1310
  }
1263
1311
  });
1264
1312
 
1265
1313
  // node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js
1266
- var __iconNode52, SlidersHorizontal;
1314
+ var __iconNode55, SlidersHorizontal;
1267
1315
  var init_sliders_horizontal = __esm({
1268
1316
  "node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js"() {
1269
1317
  "use strict";
1270
1318
  init_react_import();
1271
1319
  init_createLucideIcon();
1272
- __iconNode52 = [
1320
+ __iconNode55 = [
1273
1321
  ["path", { d: "M10 5H3", key: "1qgfaw" }],
1274
1322
  ["path", { d: "M12 19H3", key: "yhmn1j" }],
1275
1323
  ["path", { d: "M14 3v4", key: "1sua03" }],
@@ -1280,65 +1328,65 @@ var init_sliders_horizontal = __esm({
1280
1328
  ["path", { d: "M8 10v4", key: "tgpxqk" }],
1281
1329
  ["path", { d: "M8 12H3", key: "a7s4jb" }]
1282
1330
  ];
1283
- SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode52);
1331
+ SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode55);
1284
1332
  }
1285
1333
  });
1286
1334
 
1287
1335
  // node_modules/lucide-react/dist/esm/icons/smartphone.js
1288
- var __iconNode53, Smartphone;
1336
+ var __iconNode56, Smartphone;
1289
1337
  var init_smartphone = __esm({
1290
1338
  "node_modules/lucide-react/dist/esm/icons/smartphone.js"() {
1291
1339
  "use strict";
1292
1340
  init_react_import();
1293
1341
  init_createLucideIcon();
1294
- __iconNode53 = [
1342
+ __iconNode56 = [
1295
1343
  ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
1296
1344
  ["path", { d: "M12 18h.01", key: "mhygvu" }]
1297
1345
  ];
1298
- Smartphone = createLucideIcon("smartphone", __iconNode53);
1346
+ Smartphone = createLucideIcon("smartphone", __iconNode56);
1299
1347
  }
1300
1348
  });
1301
1349
 
1302
1350
  // node_modules/lucide-react/dist/esm/icons/square-code.js
1303
- var __iconNode54, SquareCode;
1351
+ var __iconNode57, SquareCode;
1304
1352
  var init_square_code = __esm({
1305
1353
  "node_modules/lucide-react/dist/esm/icons/square-code.js"() {
1306
1354
  "use strict";
1307
1355
  init_react_import();
1308
1356
  init_createLucideIcon();
1309
- __iconNode54 = [
1357
+ __iconNode57 = [
1310
1358
  ["path", { d: "m10 9-3 3 3 3", key: "1oro0q" }],
1311
1359
  ["path", { d: "m14 15 3-3-3-3", key: "bz13h7" }],
1312
1360
  ["rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", key: "h1oib" }]
1313
1361
  ];
1314
- SquareCode = createLucideIcon("square-code", __iconNode54);
1362
+ SquareCode = createLucideIcon("square-code", __iconNode57);
1315
1363
  }
1316
1364
  });
1317
1365
 
1318
1366
  // node_modules/lucide-react/dist/esm/icons/strikethrough.js
1319
- var __iconNode55, Strikethrough;
1367
+ var __iconNode58, Strikethrough;
1320
1368
  var init_strikethrough = __esm({
1321
1369
  "node_modules/lucide-react/dist/esm/icons/strikethrough.js"() {
1322
1370
  "use strict";
1323
1371
  init_react_import();
1324
1372
  init_createLucideIcon();
1325
- __iconNode55 = [
1373
+ __iconNode58 = [
1326
1374
  ["path", { d: "M16 4H9a3 3 0 0 0-2.83 4", key: "43sutm" }],
1327
1375
  ["path", { d: "M14 12a4 4 0 0 1 0 8H6", key: "nlfj13" }],
1328
1376
  ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }]
1329
1377
  ];
1330
- Strikethrough = createLucideIcon("strikethrough", __iconNode55);
1378
+ Strikethrough = createLucideIcon("strikethrough", __iconNode58);
1331
1379
  }
1332
1380
  });
1333
1381
 
1334
1382
  // node_modules/lucide-react/dist/esm/icons/sun.js
1335
- var __iconNode56, Sun;
1383
+ var __iconNode59, Sun;
1336
1384
  var init_sun = __esm({
1337
1385
  "node_modules/lucide-react/dist/esm/icons/sun.js"() {
1338
1386
  "use strict";
1339
1387
  init_react_import();
1340
1388
  init_createLucideIcon();
1341
- __iconNode56 = [
1389
+ __iconNode59 = [
1342
1390
  ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
1343
1391
  ["path", { d: "M12 2v2", key: "tus03m" }],
1344
1392
  ["path", { d: "M12 20v2", key: "1lh1kg" }],
@@ -1349,190 +1397,190 @@ var init_sun = __esm({
1349
1397
  ["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
1350
1398
  ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
1351
1399
  ];
1352
- Sun = createLucideIcon("sun", __iconNode56);
1400
+ Sun = createLucideIcon("sun", __iconNode59);
1353
1401
  }
1354
1402
  });
1355
1403
 
1356
1404
  // node_modules/lucide-react/dist/esm/icons/tablet.js
1357
- var __iconNode57, Tablet;
1405
+ var __iconNode60, Tablet;
1358
1406
  var init_tablet = __esm({
1359
1407
  "node_modules/lucide-react/dist/esm/icons/tablet.js"() {
1360
1408
  "use strict";
1361
1409
  init_react_import();
1362
1410
  init_createLucideIcon();
1363
- __iconNode57 = [
1411
+ __iconNode60 = [
1364
1412
  ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
1365
1413
  ["line", { x1: "12", x2: "12.01", y1: "18", y2: "18", key: "1dp563" }]
1366
1414
  ];
1367
- Tablet = createLucideIcon("tablet", __iconNode57);
1415
+ Tablet = createLucideIcon("tablet", __iconNode60);
1368
1416
  }
1369
1417
  });
1370
1418
 
1371
1419
  // node_modules/lucide-react/dist/esm/icons/text-align-center.js
1372
- var __iconNode58, TextAlignCenter;
1420
+ var __iconNode61, TextAlignCenter;
1373
1421
  var init_text_align_center = __esm({
1374
1422
  "node_modules/lucide-react/dist/esm/icons/text-align-center.js"() {
1375
1423
  "use strict";
1376
1424
  init_react_import();
1377
1425
  init_createLucideIcon();
1378
- __iconNode58 = [
1426
+ __iconNode61 = [
1379
1427
  ["path", { d: "M21 5H3", key: "1fi0y6" }],
1380
1428
  ["path", { d: "M17 12H7", key: "16if0g" }],
1381
1429
  ["path", { d: "M19 19H5", key: "vjpgq2" }]
1382
1430
  ];
1383
- TextAlignCenter = createLucideIcon("text-align-center", __iconNode58);
1431
+ TextAlignCenter = createLucideIcon("text-align-center", __iconNode61);
1384
1432
  }
1385
1433
  });
1386
1434
 
1387
1435
  // node_modules/lucide-react/dist/esm/icons/text-align-end.js
1388
- var __iconNode59, TextAlignEnd;
1436
+ var __iconNode62, TextAlignEnd;
1389
1437
  var init_text_align_end = __esm({
1390
1438
  "node_modules/lucide-react/dist/esm/icons/text-align-end.js"() {
1391
1439
  "use strict";
1392
1440
  init_react_import();
1393
1441
  init_createLucideIcon();
1394
- __iconNode59 = [
1442
+ __iconNode62 = [
1395
1443
  ["path", { d: "M21 5H3", key: "1fi0y6" }],
1396
1444
  ["path", { d: "M21 12H9", key: "dn1m92" }],
1397
1445
  ["path", { d: "M21 19H7", key: "4cu937" }]
1398
1446
  ];
1399
- TextAlignEnd = createLucideIcon("text-align-end", __iconNode59);
1447
+ TextAlignEnd = createLucideIcon("text-align-end", __iconNode62);
1400
1448
  }
1401
1449
  });
1402
1450
 
1403
1451
  // node_modules/lucide-react/dist/esm/icons/text-align-justify.js
1404
- var __iconNode60, TextAlignJustify;
1452
+ var __iconNode63, TextAlignJustify;
1405
1453
  var init_text_align_justify = __esm({
1406
1454
  "node_modules/lucide-react/dist/esm/icons/text-align-justify.js"() {
1407
1455
  "use strict";
1408
1456
  init_react_import();
1409
1457
  init_createLucideIcon();
1410
- __iconNode60 = [
1458
+ __iconNode63 = [
1411
1459
  ["path", { d: "M3 5h18", key: "1u36vt" }],
1412
1460
  ["path", { d: "M3 12h18", key: "1i2n21" }],
1413
1461
  ["path", { d: "M3 19h18", key: "awlh7x" }]
1414
1462
  ];
1415
- TextAlignJustify = createLucideIcon("text-align-justify", __iconNode60);
1463
+ TextAlignJustify = createLucideIcon("text-align-justify", __iconNode63);
1416
1464
  }
1417
1465
  });
1418
1466
 
1419
1467
  // node_modules/lucide-react/dist/esm/icons/text-align-start.js
1420
- var __iconNode61, TextAlignStart;
1468
+ var __iconNode64, TextAlignStart;
1421
1469
  var init_text_align_start = __esm({
1422
1470
  "node_modules/lucide-react/dist/esm/icons/text-align-start.js"() {
1423
1471
  "use strict";
1424
1472
  init_react_import();
1425
1473
  init_createLucideIcon();
1426
- __iconNode61 = [
1474
+ __iconNode64 = [
1427
1475
  ["path", { d: "M21 5H3", key: "1fi0y6" }],
1428
1476
  ["path", { d: "M15 12H3", key: "6jk70r" }],
1429
1477
  ["path", { d: "M17 19H3", key: "z6ezky" }]
1430
1478
  ];
1431
- TextAlignStart = createLucideIcon("text-align-start", __iconNode61);
1479
+ TextAlignStart = createLucideIcon("text-align-start", __iconNode64);
1432
1480
  }
1433
1481
  });
1434
1482
 
1435
1483
  // node_modules/lucide-react/dist/esm/icons/toy-brick.js
1436
- var __iconNode62, ToyBrick;
1484
+ var __iconNode65, ToyBrick;
1437
1485
  var init_toy_brick = __esm({
1438
1486
  "node_modules/lucide-react/dist/esm/icons/toy-brick.js"() {
1439
1487
  "use strict";
1440
1488
  init_react_import();
1441
1489
  init_createLucideIcon();
1442
- __iconNode62 = [
1490
+ __iconNode65 = [
1443
1491
  ["rect", { width: "18", height: "12", x: "3", y: "8", rx: "1", key: "158fvp" }],
1444
1492
  ["path", { d: "M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3", key: "s0042v" }],
1445
1493
  ["path", { d: "M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3", key: "9wmeh2" }]
1446
1494
  ];
1447
- ToyBrick = createLucideIcon("toy-brick", __iconNode62);
1495
+ ToyBrick = createLucideIcon("toy-brick", __iconNode65);
1448
1496
  }
1449
1497
  });
1450
1498
 
1451
1499
  // node_modules/lucide-react/dist/esm/icons/trash.js
1452
- var __iconNode63, Trash;
1500
+ var __iconNode66, Trash;
1453
1501
  var init_trash = __esm({
1454
1502
  "node_modules/lucide-react/dist/esm/icons/trash.js"() {
1455
1503
  "use strict";
1456
1504
  init_react_import();
1457
1505
  init_createLucideIcon();
1458
- __iconNode63 = [
1506
+ __iconNode66 = [
1459
1507
  ["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
1460
1508
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
1461
1509
  ["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
1462
1510
  ];
1463
- Trash = createLucideIcon("trash", __iconNode63);
1511
+ Trash = createLucideIcon("trash", __iconNode66);
1464
1512
  }
1465
1513
  });
1466
1514
 
1467
1515
  // node_modules/lucide-react/dist/esm/icons/type.js
1468
- var __iconNode64, Type;
1516
+ var __iconNode67, Type;
1469
1517
  var init_type = __esm({
1470
1518
  "node_modules/lucide-react/dist/esm/icons/type.js"() {
1471
1519
  "use strict";
1472
1520
  init_react_import();
1473
1521
  init_createLucideIcon();
1474
- __iconNode64 = [
1522
+ __iconNode67 = [
1475
1523
  ["path", { d: "M12 4v16", key: "1654pz" }],
1476
1524
  ["path", { d: "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2", key: "e0r10z" }],
1477
1525
  ["path", { d: "M9 20h6", key: "s66wpe" }]
1478
1526
  ];
1479
- Type = createLucideIcon("type", __iconNode64);
1527
+ Type = createLucideIcon("type", __iconNode67);
1480
1528
  }
1481
1529
  });
1482
1530
 
1483
1531
  // node_modules/lucide-react/dist/esm/icons/underline.js
1484
- var __iconNode65, Underline;
1532
+ var __iconNode68, Underline;
1485
1533
  var init_underline = __esm({
1486
1534
  "node_modules/lucide-react/dist/esm/icons/underline.js"() {
1487
1535
  "use strict";
1488
1536
  init_react_import();
1489
1537
  init_createLucideIcon();
1490
- __iconNode65 = [
1538
+ __iconNode68 = [
1491
1539
  ["path", { d: "M6 4v6a6 6 0 0 0 12 0V4", key: "9kb039" }],
1492
1540
  ["line", { x1: "4", x2: "20", y1: "20", y2: "20", key: "nun2al" }]
1493
1541
  ];
1494
- Underline = createLucideIcon("underline", __iconNode65);
1542
+ Underline = createLucideIcon("underline", __iconNode68);
1495
1543
  }
1496
1544
  });
1497
1545
 
1498
1546
  // node_modules/lucide-react/dist/esm/icons/undo-2.js
1499
- var __iconNode66, Undo2;
1547
+ var __iconNode69, Undo2;
1500
1548
  var init_undo_2 = __esm({
1501
1549
  "node_modules/lucide-react/dist/esm/icons/undo-2.js"() {
1502
1550
  "use strict";
1503
1551
  init_react_import();
1504
1552
  init_createLucideIcon();
1505
- __iconNode66 = [
1553
+ __iconNode69 = [
1506
1554
  ["path", { d: "M9 14 4 9l5-5", key: "102s5s" }],
1507
1555
  ["path", { d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11", key: "f3b9sd" }]
1508
1556
  ];
1509
- Undo2 = createLucideIcon("undo-2", __iconNode66);
1557
+ Undo2 = createLucideIcon("undo-2", __iconNode69);
1510
1558
  }
1511
1559
  });
1512
1560
 
1513
1561
  // node_modules/lucide-react/dist/esm/icons/x.js
1514
- var __iconNode67, X;
1562
+ var __iconNode70, X;
1515
1563
  var init_x = __esm({
1516
1564
  "node_modules/lucide-react/dist/esm/icons/x.js"() {
1517
1565
  "use strict";
1518
1566
  init_react_import();
1519
1567
  init_createLucideIcon();
1520
- __iconNode67 = [
1568
+ __iconNode70 = [
1521
1569
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
1522
1570
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
1523
1571
  ];
1524
- X = createLucideIcon("x", __iconNode67);
1572
+ X = createLucideIcon("x", __iconNode70);
1525
1573
  }
1526
1574
  });
1527
1575
 
1528
1576
  // node_modules/lucide-react/dist/esm/icons/zap.js
1529
- var __iconNode68, Zap;
1577
+ var __iconNode71, Zap;
1530
1578
  var init_zap = __esm({
1531
1579
  "node_modules/lucide-react/dist/esm/icons/zap.js"() {
1532
1580
  "use strict";
1533
1581
  init_react_import();
1534
1582
  init_createLucideIcon();
1535
- __iconNode68 = [
1583
+ __iconNode71 = [
1536
1584
  [
1537
1585
  "path",
1538
1586
  {
@@ -1541,40 +1589,40 @@ var init_zap = __esm({
1541
1589
  }
1542
1590
  ]
1543
1591
  ];
1544
- Zap = createLucideIcon("zap", __iconNode68);
1592
+ Zap = createLucideIcon("zap", __iconNode71);
1545
1593
  }
1546
1594
  });
1547
1595
 
1548
1596
  // node_modules/lucide-react/dist/esm/icons/zoom-in.js
1549
- var __iconNode69, ZoomIn;
1597
+ var __iconNode72, ZoomIn;
1550
1598
  var init_zoom_in = __esm({
1551
1599
  "node_modules/lucide-react/dist/esm/icons/zoom-in.js"() {
1552
1600
  "use strict";
1553
1601
  init_react_import();
1554
1602
  init_createLucideIcon();
1555
- __iconNode69 = [
1603
+ __iconNode72 = [
1556
1604
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
1557
1605
  ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
1558
1606
  ["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
1559
1607
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
1560
1608
  ];
1561
- ZoomIn = createLucideIcon("zoom-in", __iconNode69);
1609
+ ZoomIn = createLucideIcon("zoom-in", __iconNode72);
1562
1610
  }
1563
1611
  });
1564
1612
 
1565
1613
  // node_modules/lucide-react/dist/esm/icons/zoom-out.js
1566
- var __iconNode70, ZoomOut;
1614
+ var __iconNode73, ZoomOut;
1567
1615
  var init_zoom_out = __esm({
1568
1616
  "node_modules/lucide-react/dist/esm/icons/zoom-out.js"() {
1569
1617
  "use strict";
1570
1618
  init_react_import();
1571
1619
  init_createLucideIcon();
1572
- __iconNode70 = [
1620
+ __iconNode73 = [
1573
1621
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
1574
1622
  ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
1575
1623
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
1576
1624
  ];
1577
- ZoomOut = createLucideIcon("zoom-out", __iconNode70);
1625
+ ZoomOut = createLucideIcon("zoom-out", __iconNode73);
1578
1626
  }
1579
1627
  });
1580
1628
 
@@ -1585,6 +1633,7 @@ var init_lucide_react = __esm({
1585
1633
  init_react_import();
1586
1634
  init_chart_column();
1587
1635
  init_circle_check_big();
1636
+ init_circle_check();
1588
1637
  init_layers();
1589
1638
  init_lock_open();
1590
1639
  init_panel_left();
@@ -1596,6 +1645,7 @@ var init_lucide_react = __esm({
1596
1645
  init_text_align_start();
1597
1646
  init_bold();
1598
1647
  init_box();
1648
+ init_check();
1599
1649
  init_chevron_down();
1600
1650
  init_chevron_right();
1601
1651
  init_chevron_up();
@@ -1605,6 +1655,7 @@ var init_lucide_react = __esm({
1605
1655
  init_credit_card();
1606
1656
  init_expand();
1607
1657
  init_external_link();
1658
+ init_eye();
1608
1659
  init_file_text();
1609
1660
  init_grip_vertical();
1610
1661
  init_hash();
@@ -8417,6 +8468,7 @@ __export(index_exports, {
8417
8468
  Separator: () => Separator,
8418
8469
  SliderField: () => SliderField,
8419
8470
  blocksPlugin: () => blocksPlugin,
8471
+ codePlugin: () => codePlugin,
8420
8472
  createUseCredBuild: () => createUseCredBuild,
8421
8473
  fieldsPlugin: () => fieldsPlugin,
8422
8474
  legacySideBarPlugin: () => legacySideBarPlugin,
@@ -9288,6 +9340,7 @@ var DraggableComponent = ({
9288
9340
  );
9289
9341
  const overrides = useAppStore((s) => s.overrides);
9290
9342
  const dispatch = useAppStore((s) => s.dispatch);
9343
+ const appStore = useAppStoreApi();
9291
9344
  const isIframeEnabled = useAppStore((s) => s.iframe.enabled);
9292
9345
  const lastMeasureRef = (0, import_react58.useRef)(0);
9293
9346
  const ctx = (0, import_react58.useContext)(dropZoneContext);
@@ -9416,11 +9469,12 @@ var DraggableComponent = ({
9416
9469
  x: deepScrollPosition.x - portalScroll.x - (portalContainerRect?.left ?? 0),
9417
9470
  y: deepScrollPosition.y - portalScroll.y - (portalContainerRect?.top ?? 0)
9418
9471
  };
9472
+ const zoomMultiplier = isIframeEnabled ? 1 : appStore.getState().zoomConfig.zoom;
9419
9473
  const style2 = {
9420
- left: `${rect.left + scroll.x}px`,
9421
- top: `${rect.top + scroll.y}px`,
9422
- height: `${rect.height}px`,
9423
- width: `${rect.width}px`,
9474
+ left: `${(rect.left + scroll.x) / zoomMultiplier}px`,
9475
+ top: `${(rect.top + scroll.y) / zoomMultiplier}px`,
9476
+ height: `${rect.height / zoomMultiplier}px`,
9477
+ width: `${rect.width / zoomMultiplier}px`,
9424
9478
  position: targetIsFixed ? "fixed" : void 0
9425
9479
  };
9426
9480
  return style2;
@@ -9520,7 +9574,6 @@ var DraggableComponent = ({
9520
9574
  },
9521
9575
  [index, zoneCompound, isSelected, _experimentalFullScreenCanvas, dispatch, zoneStore]
9522
9576
  );
9523
- const appStore = useAppStoreApi();
9524
9577
  const onSelectParent = (0, import_react58.useCallback)(() => {
9525
9578
  const { nodes, zones } = appStore.getState().state.indexes;
9526
9579
  const node = nodes[id];
@@ -11422,7 +11475,7 @@ init_IconButton2();
11422
11475
 
11423
11476
  // components/CredBuild/index.tsx
11424
11477
  init_react_import();
11425
- var import_react101 = require("react");
11478
+ var import_react103 = require("react");
11426
11479
  init_store2();
11427
11480
 
11428
11481
  // components/CredBuild/components/Fields/index.tsx
@@ -11877,7 +11930,7 @@ var Components = () => {
11877
11930
  // components/CredBuild/components/Preview/index.tsx
11878
11931
  init_react_import();
11879
11932
  init_root_droppable_id();
11880
- var import_react82 = require("react");
11933
+ var import_react83 = require("react");
11881
11934
  init_store2();
11882
11935
 
11883
11936
  // components/AutoFrame/index.tsx
@@ -12181,11 +12234,125 @@ var styles_module_default21 = { "CredBuildPreview": "_CredBuildPreview_1z08a_1",
12181
12234
  // components/CredBuild/components/Preview/index.tsx
12182
12235
  init_lib();
12183
12236
 
12184
- // components/Render/index.tsx
12237
+ // components/HtmlModeRender/index.tsx
12185
12238
  init_react_import();
12186
- init_root_droppable_id();
12187
12239
  var import_react81 = require("react");
12188
12240
  var import_jsx_runtime78 = require("react/jsx-runtime");
12241
+ var HtmlModeRender = ({
12242
+ htmlCode,
12243
+ isEditing
12244
+ }) => {
12245
+ const id = (0, import_react81.useId)().replace(/:/g, "");
12246
+ const [iframeHeight, setIframeHeight] = (0, import_react81.useState)("100vh");
12247
+ (0, import_react81.useEffect)(() => {
12248
+ const handleMessage = (event) => {
12249
+ if (event.data && event.data.type === "resize-iframe" && event.data.id === id) {
12250
+ setIframeHeight(`${event.data.height}px`);
12251
+ }
12252
+ };
12253
+ window.addEventListener("message", handleMessage);
12254
+ return () => window.removeEventListener("message", handleMessage);
12255
+ }, [id]);
12256
+ if (!htmlCode) {
12257
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { style: { padding: 48, textAlign: "center", color: "#666" }, children: "Belum ada kode HTML yang ditempel." });
12258
+ }
12259
+ const resizeScript = `
12260
+ <script>
12261
+ function sendHeight() {
12262
+ const body = document.body;
12263
+ const html = document.documentElement;
12264
+ const height = Math.max(
12265
+ body.scrollHeight, body.offsetHeight,
12266
+ html.clientHeight, html.scrollHeight, html.offsetHeight
12267
+ );
12268
+ window.parent.postMessage({ type: 'resize-iframe', id: '${id}', height: height }, '*');
12269
+ }
12270
+ window.addEventListener('load', sendHeight);
12271
+ window.addEventListener('resize', sendHeight);
12272
+
12273
+ if (window.ResizeObserver) {
12274
+ new ResizeObserver(sendHeight).observe(document.body);
12275
+ } else {
12276
+ setInterval(sendHeight, 1000);
12277
+ }
12278
+ </script>
12279
+ `;
12280
+ const needsTailwind = htmlCode.includes("cdn.tailwindcss.com") || htmlCode.includes("tailwindcss") || /\b(bg-|text-|p[xy]?[-0-9]|m[xy]?[-0-9]|flex|grid|border-|rounded-|shadow-|justify-|items-|gap-|relative|absolute|hidden|w-|h-|leading-|tracking-|font-|transition|duration-|ease-|hover:|focus:|sm:|md:|lg:|xl:)/.test(
12281
+ htmlCode
12282
+ );
12283
+ const isStandalone = htmlCode.includes("<html") || htmlCode.includes("<!DOCTYPE") || htmlCode.includes("<body") || htmlCode.includes("<head>");
12284
+ let srcDoc = "";
12285
+ if (isStandalone) {
12286
+ let processed = htmlCode;
12287
+ if (processed.includes("</body>")) {
12288
+ processed = processed.replace("</body>", `${resizeScript}</body>`);
12289
+ } else {
12290
+ processed = processed + resizeScript;
12291
+ }
12292
+ if (needsTailwind && !processed.includes("cdn.tailwindcss.com") && !processed.includes("tailwindcss")) {
12293
+ if (processed.includes("</head>")) {
12294
+ processed = processed.replace(
12295
+ "</head>",
12296
+ `<script src="https://cdn.tailwindcss.com"></script></head>`
12297
+ );
12298
+ } else if (processed.includes("<head>")) {
12299
+ processed = processed.replace(
12300
+ "<head>",
12301
+ `<head><script src="https://cdn.tailwindcss.com"></script>`
12302
+ );
12303
+ } else {
12304
+ processed = `<script src="https://cdn.tailwindcss.com"></script>` + processed;
12305
+ }
12306
+ }
12307
+ srcDoc = processed;
12308
+ } else {
12309
+ srcDoc = `
12310
+ <!DOCTYPE html>
12311
+ <html>
12312
+ <head>
12313
+ ${needsTailwind ? `<script src="https://cdn.tailwindcss.com"></script>` : ""}
12314
+ <style>
12315
+ *, *::before, *::after { box-sizing: border-box; }
12316
+ body {
12317
+ margin: 0;
12318
+ padding: 0;
12319
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
12320
+ }
12321
+ img, iframe, video {
12322
+ max-width: 100%;
12323
+ }
12324
+ </style>
12325
+ </head>
12326
+ <body>
12327
+ ${htmlCode}
12328
+ ${resizeScript}
12329
+ </body>
12330
+ </html>
12331
+ `;
12332
+ }
12333
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
12334
+ "iframe",
12335
+ {
12336
+ srcDoc,
12337
+ sandbox: "allow-scripts allow-same-origin allow-popups allow-forms",
12338
+ title: "Html Mode Sandboxed Canvas",
12339
+ loading: "lazy",
12340
+ style: {
12341
+ height: iframeHeight,
12342
+ border: "none",
12343
+ width: "100%",
12344
+ display: "block",
12345
+ background: "transparent"
12346
+ }
12347
+ }
12348
+ ) });
12349
+ };
12350
+
12351
+ // components/Render/index.tsx
12352
+ init_react_import();
12353
+ init_root_droppable_id();
12354
+ var import_react82 = require("react");
12355
+ var import_jsx_runtime79 = require("react/jsx-runtime");
12189
12356
  function Render({
12190
12357
  config,
12191
12358
  data,
@@ -12198,6 +12365,9 @@ function Render({
12198
12365
  };
12199
12366
  const rootProps = "props" in defaultedData.root ? defaultedData.root.props : defaultedData.root;
12200
12367
  const title = rootProps?.title || "";
12368
+ if (rootProps?.mode === "html") {
12369
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(renderContext.Provider, { value: { config, data: defaultedData, metadata }, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(HtmlModeRender, { htmlCode: rootProps.htmlCode, isEditing: false }) });
12370
+ }
12201
12371
  const pageProps = {
12202
12372
  ...rootProps,
12203
12373
  credbuild: {
@@ -12213,10 +12383,10 @@ function Render({
12213
12383
  const propsWithSlots = useSlots(
12214
12384
  config,
12215
12385
  { type: "root", props: pageProps },
12216
- (props) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(SlotRender, { ...props, config, metadata })
12386
+ (props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(SlotRender, { ...props, config, metadata })
12217
12387
  );
12218
12388
  const richtextProps = useRichtextProps(config.root?.fields, pageProps);
12219
- const nextContextValue = (0, import_react81.useMemo)(
12389
+ const nextContextValue = (0, import_react82.useMemo)(
12220
12390
  () => ({
12221
12391
  mode: "render",
12222
12392
  depth: 0
@@ -12224,9 +12394,9 @@ function Render({
12224
12394
  []
12225
12395
  );
12226
12396
  if (config.root?.render) {
12227
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(renderContext.Provider, { value: { config, data: defaultedData, metadata }, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DropZoneProvider, { value: nextContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(config.root.render, { ...propsWithSlots, ...richtextProps, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DropZoneRenderPure, { zone: rootZone }) }) }) });
12397
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(renderContext.Provider, { value: { config, data: defaultedData, metadata }, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(DropZoneProvider, { value: nextContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(config.root.render, { ...propsWithSlots, ...richtextProps, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(DropZoneRenderPure, { zone: rootZone }) }) }) });
12228
12398
  }
12229
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(renderContext.Provider, { value: { config, data: defaultedData, metadata }, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DropZoneProvider, { value: nextContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DropZoneRenderPure, { zone: rootZone }) }) });
12399
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(renderContext.Provider, { value: { config, data: defaultedData, metadata }, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(DropZoneProvider, { value: nextContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(DropZoneRenderPure, { zone: rootZone }) }) });
12230
12400
  }
12231
12401
 
12232
12402
  // lib/bubble-pointer-event.ts
@@ -12249,11 +12419,11 @@ var BubbledPointerEvent = class extends BaseEvent {
12249
12419
  };
12250
12420
 
12251
12421
  // components/CredBuild/components/Preview/index.tsx
12252
- var import_jsx_runtime79 = require("react/jsx-runtime");
12422
+ var import_jsx_runtime80 = require("react/jsx-runtime");
12253
12423
  var getClassName30 = get_class_name_factory_default("CredBuildPreview", styles_module_default21);
12254
12424
  var useBubbleIframeEvents = (ref) => {
12255
12425
  const status = useAppStore((s) => s.status);
12256
- (0, import_react82.useEffect)(() => {
12426
+ (0, import_react83.useEffect)(() => {
12257
12427
  if (ref.current && status === "READY") {
12258
12428
  const iframe = ref.current;
12259
12429
  const handlePointerMove = (event) => {
@@ -12301,7 +12471,7 @@ var Preview = ({ id = "credbuild-preview" }) => {
12301
12471
  const renderData = useAppStore(
12302
12472
  (s) => s.state.ui.previewMode === "edit" ? null : s.state.data
12303
12473
  );
12304
- const Page = (0, import_react82.useCallback)(
12474
+ const Page = (0, import_react83.useCallback)(
12305
12475
  (pageProps) => {
12306
12476
  const propsWithSlots = useSlots(
12307
12477
  config,
@@ -12316,15 +12486,101 @@ var Preview = ({ id = "credbuild-preview" }) => {
12316
12486
  id: "credbuild-root",
12317
12487
  ...propsWithSlots,
12318
12488
  ...richtextProps
12319
- }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children: propsWithSlots.children });
12489
+ }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_jsx_runtime80.Fragment, { children: propsWithSlots.children });
12320
12490
  },
12321
12491
  [config]
12322
12492
  );
12323
- const Frame = (0, import_react82.useMemo)(() => overrides.iframe, [overrides]);
12493
+ const Frame = (0, import_react83.useMemo)(() => overrides.iframe, [overrides]);
12324
12494
  const rootProps = root.props || root;
12325
- const ref = (0, import_react82.useRef)(null);
12495
+ const isHtmlMode = rootProps?.mode === "html";
12496
+ const htmlViewMode = rootProps?.htmlViewMode || (rootProps?.htmlCode ? "preview" : "code");
12497
+ const htmlCode = rootProps?.htmlCode || "";
12498
+ const ref = (0, import_react83.useRef)(null);
12326
12499
  useBubbleIframeEvents(ref);
12327
- const inner = !renderData ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
12500
+ const [localCode, setLocalCode] = (0, import_react83.useState)(htmlCode);
12501
+ (0, import_react83.useEffect)(() => {
12502
+ setLocalCode(htmlCode);
12503
+ }, [htmlCode]);
12504
+ (0, import_react83.useEffect)(() => {
12505
+ if (localCode === htmlCode) return;
12506
+ const timer = setTimeout(() => {
12507
+ dispatch({
12508
+ type: "setData",
12509
+ data: (currentData) => {
12510
+ if (currentData.root?.props?.htmlCode === localCode) {
12511
+ return currentData;
12512
+ }
12513
+ return {
12514
+ ...currentData,
12515
+ root: {
12516
+ ...currentData.root,
12517
+ props: {
12518
+ ...currentData.root?.props,
12519
+ htmlCode: localCode
12520
+ }
12521
+ }
12522
+ };
12523
+ }
12524
+ });
12525
+ }, 300);
12526
+ return () => clearTimeout(timer);
12527
+ }, [localCode, htmlCode, dispatch]);
12528
+ const handleSaveOnBlur = () => {
12529
+ dispatch({
12530
+ type: "setData",
12531
+ data: (currentData) => {
12532
+ if (currentData.root?.props?.htmlCode === localCode) {
12533
+ return currentData;
12534
+ }
12535
+ return {
12536
+ ...currentData,
12537
+ root: {
12538
+ ...currentData.root,
12539
+ props: {
12540
+ ...currentData.root?.props,
12541
+ htmlCode: localCode
12542
+ }
12543
+ }
12544
+ };
12545
+ }
12546
+ });
12547
+ };
12548
+ const handleSetViewMode = (modeVal) => {
12549
+ dispatch({
12550
+ type: "setData",
12551
+ data: (currentData) => ({
12552
+ ...currentData,
12553
+ root: {
12554
+ ...currentData.root,
12555
+ props: {
12556
+ ...currentData.root?.props,
12557
+ htmlViewMode: modeVal
12558
+ }
12559
+ }
12560
+ })
12561
+ });
12562
+ };
12563
+ const handleResetToBlocks = () => {
12564
+ dispatch({
12565
+ type: "setData",
12566
+ data: (currentData) => ({
12567
+ ...currentData,
12568
+ content: [],
12569
+ root: {
12570
+ ...currentData.root,
12571
+ props: {
12572
+ ...currentData.root?.props,
12573
+ mode: "blocks",
12574
+ htmlCode: "",
12575
+ htmlViewMode: "code"
12576
+ }
12577
+ }
12578
+ })
12579
+ });
12580
+ };
12581
+ const isHtmlCodeEditActive = isHtmlMode && !renderData && htmlViewMode === "code";
12582
+ const isHtmlPreviewActive = isHtmlMode && !renderData && htmlViewMode === "preview";
12583
+ const inner = rootProps?.mode === "html" ? !renderData ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(HtmlModeRender, { htmlCode: rootProps.htmlCode, isEditing: true }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Render, { data: renderData, config, metadata }) : !renderData ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12328
12584
  Page,
12329
12585
  {
12330
12586
  ...rootProps,
@@ -12335,27 +12591,91 @@ var Preview = ({ id = "credbuild-preview" }) => {
12335
12591
  metadata
12336
12592
  },
12337
12593
  editMode: true,
12338
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(DropZonePure, { zone: rootDroppableId })
12594
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(DropZonePure, { zone: rootDroppableId })
12339
12595
  }
12340
- ) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Render, { data: renderData, config, metadata });
12341
- (0, import_react82.useEffect)(() => {
12596
+ ) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Render, { data: renderData, config, metadata });
12597
+ (0, import_react83.useEffect)(() => {
12342
12598
  if (!iframe.enabled) {
12343
12599
  setStatus("READY");
12344
12600
  }
12345
12601
  }, [iframe.enabled, setStatus]);
12346
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
12602
+ if (isHtmlCodeEditActive) {
12603
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12604
+ "div",
12605
+ {
12606
+ className: getClassName30(),
12607
+ id,
12608
+ "data-credbuild-preview": true,
12609
+ style: { height: "100%", display: "flex", flexDirection: "column" },
12610
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: {
12611
+ display: "flex",
12612
+ flexDirection: "column",
12613
+ flex: 1,
12614
+ background: "#020617",
12615
+ position: "relative"
12616
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { style: {
12617
+ display: "flex",
12618
+ flex: 1,
12619
+ position: "relative",
12620
+ overflow: "hidden"
12621
+ }, children: [
12622
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: {
12623
+ width: 45,
12624
+ background: "#0b0f19",
12625
+ borderRight: "1px solid #1e293b",
12626
+ display: "flex",
12627
+ flexDirection: "column",
12628
+ alignItems: "flex-end",
12629
+ padding: "16px 8px 16px 0",
12630
+ fontFamily: "Menlo, Monaco, Consolas, monospace",
12631
+ fontSize: 12,
12632
+ color: "#475569",
12633
+ userSelect: "none",
12634
+ lineHeight: 1.6
12635
+ }, children: Array.from({ length: Math.max(localCode.split("\n").length, 25) }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { children: i + 1 }, i)) }),
12636
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12637
+ "textarea",
12638
+ {
12639
+ value: localCode,
12640
+ onChange: (e) => setLocalCode(e.target.value),
12641
+ onBlur: handleSaveOnBlur,
12642
+ placeholder: "<!-- Tempel kode HTML/Tailwind di sini -->\n<section class='bg-zinc-900 text-white p-12'>\n <h1 class='text-3xl font-bold'>Hello World</h1>\n</section>",
12643
+ spellCheck: false,
12644
+ style: {
12645
+ flex: 1,
12646
+ background: "transparent",
12647
+ border: "none",
12648
+ outline: "none",
12649
+ color: "#e2e8f0",
12650
+ fontFamily: "Menlo, Monaco, Consolas, 'Fira Code', monospace",
12651
+ fontSize: 13,
12652
+ lineHeight: 1.6,
12653
+ padding: "16px 20px",
12654
+ resize: "none",
12655
+ height: "100%",
12656
+ width: "100%",
12657
+ overflowY: "auto"
12658
+ }
12659
+ }
12660
+ )
12661
+ ] }) })
12662
+ }
12663
+ );
12664
+ }
12665
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12347
12666
  "div",
12348
12667
  {
12349
12668
  className: getClassName30(),
12350
12669
  id,
12351
12670
  "data-credbuild-preview": true,
12671
+ style: { height: "100%", display: "flex", flexDirection: "column" },
12352
12672
  onClick: (e) => {
12353
12673
  const el = e.target;
12354
12674
  if (!el.hasAttribute("data-credbuild-component") && !el.hasAttribute("data-credbuild-dropzone")) {
12355
12675
  dispatch({ type: "setUi", ui: { itemSelector: null } });
12356
12676
  }
12357
12677
  },
12358
- children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
12678
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: { flex: 1, position: "relative", minHeight: 0, height: "100%" }, children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12359
12679
  AutoFrame_default,
12360
12680
  {
12361
12681
  id: "preview-frame",
@@ -12368,23 +12688,24 @@ var Preview = ({ id = "credbuild-preview" }) => {
12368
12688
  setStatus("MOUNTED");
12369
12689
  },
12370
12690
  frameRef: ref,
12371
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(autoFrameContext.Consumer, { children: ({ document: document2 }) => {
12691
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(autoFrameContext.Consumer, { children: ({ document: document2 }) => {
12372
12692
  if (Frame) {
12373
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Frame, { document: document2, children: inner });
12693
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Frame, { document: document2, children: inner });
12374
12694
  }
12375
12695
  return inner;
12376
12696
  } })
12377
12697
  }
12378
- ) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
12698
+ ) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12379
12699
  "div",
12380
12700
  {
12381
12701
  id: "preview-frame",
12382
12702
  className: getClassName30("frame"),
12383
12703
  ref,
12384
12704
  "data-credbuild-entry": true,
12705
+ style: { height: "100%", width: "100%" },
12385
12706
  children: inner
12386
12707
  }
12387
- )
12708
+ ) })
12388
12709
  }
12389
12710
  );
12390
12711
  };
@@ -12403,11 +12724,11 @@ var styles_module_default22 = { "LayerTree": "_LayerTree_nus40_1", "LayerTree-zo
12403
12724
  init_get_class_name_factory();
12404
12725
  init_lucide_react();
12405
12726
  init_root_droppable_id();
12406
- var import_react83 = require("react");
12727
+ var import_react84 = require("react");
12407
12728
  init_store2();
12408
12729
  init_use_context_store();
12409
12730
  var import_react_virtual2 = require("@tanstack/react-virtual");
12410
- var import_jsx_runtime80 = require("react/jsx-runtime");
12731
+ var import_jsx_runtime81 = require("react/jsx-runtime");
12411
12732
  var getClassName31 = get_class_name_factory_default("LayerTree", styles_module_default22);
12412
12733
  var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default22);
12413
12734
  var DEFAULT_LAYER_ROW_HEIGHT = 32;
@@ -12506,7 +12827,7 @@ var getScrollParent = (el) => {
12506
12827
  }
12507
12828
  return null;
12508
12829
  };
12509
- var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Layer2({
12830
+ var Layer = (0, import_react84.memo)((0, import_react84.forwardRef)(function Layer2({
12510
12831
  childIsSelected,
12511
12832
  dataIndex,
12512
12833
  depth,
@@ -12516,13 +12837,13 @@ var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Lay
12516
12837
  selectedPathIds
12517
12838
  }, ref) {
12518
12839
  const dispatch = useAppStore((s) => s.dispatch);
12519
- const zoneStore = (0, import_react83.useContext)(ZoneStoreContext);
12840
+ const zoneStore = (0, import_react84.useContext)(ZoneStoreContext);
12520
12841
  const isHovering = useContextStore(
12521
12842
  ZoneStoreContext,
12522
12843
  (s) => s.hoveringComponent === node.itemId
12523
12844
  );
12524
12845
  const containsZone = node.childZones.length > 0;
12525
- const setItemSelector = (0, import_react83.useCallback)(
12846
+ const setItemSelector = (0, import_react84.useCallback)(
12526
12847
  (itemSelector) => {
12527
12848
  dispatch({ type: "setUi", ui: { itemSelector } });
12528
12849
  },
@@ -12531,19 +12852,19 @@ var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Lay
12531
12852
  const shouldRenderChildren = isSelected || childIsSelected;
12532
12853
  const getLayerIcon = (type) => {
12533
12854
  const t = type.toLowerCase();
12534
- if (t === "text" || t === "heading" || t.includes("heading")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Type, { size: "14", strokeWidth: 2.5 });
12535
- if (t.includes("hero")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(LayoutTemplate, { size: "14", strokeWidth: 2.5 });
12536
- if (t.includes("pricing")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CreditCard, { size: "14", strokeWidth: 2.5 });
12537
- if (t.includes("stats")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ChartColumn, { size: "14", strokeWidth: 2.5 });
12538
- if (t.includes("testimonials")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Quote, { size: "14", strokeWidth: 2.5 });
12539
- if (t.includes("about") || t.includes("info")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Info, { size: "14", strokeWidth: 2.5 });
12540
- if (t.includes("gallery") || t.includes("image")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Image, { size: "14", strokeWidth: 2.5 });
12541
- if (t.includes("marketing") || t.includes("cta")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Megaphone, { size: "14", strokeWidth: 2.5 });
12542
- if (t.includes("content") || t.includes("blog")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(FileText, { size: "14", strokeWidth: 2.5 });
12543
- if (t.includes("container") || t.includes("layout") || t.includes("flex")) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Box, { size: "14", strokeWidth: 2.5 });
12544
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(LayoutGrid, { size: "14", strokeWidth: 2.5 });
12855
+ if (t === "text" || t === "heading" || t.includes("heading")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Type, { size: "14", strokeWidth: 2.5 });
12856
+ if (t.includes("hero")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LayoutTemplate, { size: "14", strokeWidth: 2.5 });
12857
+ if (t.includes("pricing")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(CreditCard, { size: "14", strokeWidth: 2.5 });
12858
+ if (t.includes("stats")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ChartColumn, { size: "14", strokeWidth: 2.5 });
12859
+ if (t.includes("testimonials")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Quote, { size: "14", strokeWidth: 2.5 });
12860
+ if (t.includes("about") || t.includes("info")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Info, { size: "14", strokeWidth: 2.5 });
12861
+ if (t.includes("gallery") || t.includes("image")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Image, { size: "14", strokeWidth: 2.5 });
12862
+ if (t.includes("marketing") || t.includes("cta")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Megaphone, { size: "14", strokeWidth: 2.5 });
12863
+ if (t.includes("content") || t.includes("blog")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(FileText, { size: "14", strokeWidth: 2.5 });
12864
+ if (t.includes("container") || t.includes("layout") || t.includes("flex")) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Box, { size: "14", strokeWidth: 2.5 });
12865
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LayoutGrid, { size: "14", strokeWidth: 2.5 });
12545
12866
  };
12546
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
12867
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
12547
12868
  "li",
12548
12869
  {
12549
12870
  ref,
@@ -12556,7 +12877,7 @@ var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Lay
12556
12877
  "data-index": dataIndex,
12557
12878
  "data-credbuild-layer-tree-id": node.itemId,
12558
12879
  children: [
12559
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
12880
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
12560
12881
  "button",
12561
12882
  {
12562
12883
  type: "button",
@@ -12581,26 +12902,26 @@ var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Lay
12581
12902
  zoneStore.setState({ hoveringComponent: null });
12582
12903
  },
12583
12904
  children: [
12584
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12905
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12585
12906
  "div",
12586
12907
  {
12587
12908
  className: getClassNameLayer("chevron"),
12588
12909
  title: isSelected ? "Collapse" : "Expand",
12589
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ChevronDown, { size: "12" })
12910
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ChevronDown, { size: "12" })
12590
12911
  }
12591
12912
  ),
12592
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: getClassNameLayer("title"), children: [
12593
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassNameLayer("icon"), children: getLayerIcon(node.componentType) }),
12594
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassNameLayer("name"), children: node.label })
12913
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: getClassNameLayer("title"), children: [
12914
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassNameLayer("icon"), children: getLayerIcon(node.componentType) }),
12915
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassNameLayer("name"), children: node.label })
12595
12916
  ] })
12596
12917
  ]
12597
12918
  }
12598
12919
  ) }),
12599
- containsZone && shouldRenderChildren && node.childZones.map((childZone) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12920
+ containsZone && shouldRenderChildren && node.childZones.map((childZone) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12600
12921
  "div",
12601
12922
  {
12602
12923
  className: getClassNameLayer("zones"),
12603
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12924
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12604
12925
  LayerTreeZone,
12605
12926
  {
12606
12927
  depth: depth + 1,
@@ -12616,19 +12937,19 @@ var Layer = (0, import_react83.memo)((0, import_react83.forwardRef)(function Lay
12616
12937
  }
12617
12938
  );
12618
12939
  }));
12619
- var LayerTreeZone = (0, import_react83.memo)(({
12940
+ var LayerTreeZone = (0, import_react84.memo)(({
12620
12941
  depth,
12621
12942
  selectedId,
12622
12943
  selectedPathIds,
12623
12944
  tree
12624
12945
  }) => {
12625
12946
  const shouldVirtualize = depth === 0 && tree.items.length >= MIN_VIRTUALIZED_LAYER_COUNT;
12626
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_jsx_runtime80.Fragment, { children: [
12627
- tree.label && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: getClassName31("zoneTitle"), children: [
12628
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassName31("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Layers, { size: "16" }) }),
12947
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
12948
+ tree.label && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: getClassName31("zoneTitle"), children: [
12949
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassName31("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Layers, { size: "16" }) }),
12629
12950
  tree.label
12630
12951
  ] }),
12631
- shouldVirtualize ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12952
+ shouldVirtualize ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12632
12953
  VirtualizedLayerTreeItems,
12633
12954
  {
12634
12955
  depth,
@@ -12636,7 +12957,7 @@ var LayerTreeZone = (0, import_react83.memo)(({
12636
12957
  selectedPathIds,
12637
12958
  tree
12638
12959
  }
12639
- ) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12960
+ ) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12640
12961
  StaticLayerTreeItems,
12641
12962
  {
12642
12963
  depth,
@@ -12647,15 +12968,15 @@ var LayerTreeZone = (0, import_react83.memo)(({
12647
12968
  )
12648
12969
  ] });
12649
12970
  });
12650
- var StaticLayerTreeItems = (0, import_react83.memo)(({
12971
+ var StaticLayerTreeItems = (0, import_react84.memo)(({
12651
12972
  depth,
12652
12973
  selectedId,
12653
12974
  selectedPathIds,
12654
12975
  tree
12655
12976
  }) => {
12656
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("ul", { className: getClassName31(), children: [
12657
- tree.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassName31("helper"), children: "No items" }),
12658
- tree.items.map((node) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12977
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("ul", { className: getClassName31(), children: [
12978
+ tree.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassName31("helper"), children: "No items" }),
12979
+ tree.items.map((node) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12659
12980
  Layer,
12660
12981
  {
12661
12982
  childIsSelected: selectedPathIds.has(node.itemId),
@@ -12669,13 +12990,13 @@ var StaticLayerTreeItems = (0, import_react83.memo)(({
12669
12990
  ))
12670
12991
  ] });
12671
12992
  });
12672
- var VirtualizedLayerTreeItems = (0, import_react83.memo)(({
12993
+ var VirtualizedLayerTreeItems = (0, import_react84.memo)(({
12673
12994
  depth,
12674
12995
  selectedId,
12675
12996
  selectedPathIds,
12676
12997
  tree
12677
12998
  }) => {
12678
- const listRef = (0, import_react83.useRef)(null);
12999
+ const listRef = (0, import_react84.useRef)(null);
12679
13000
  const virtualizer = (0, import_react_virtual2.useVirtualizer)({
12680
13001
  count: tree.items.length,
12681
13002
  estimateSize: (index) => getEstimatedRowHeight(tree.items[index].itemId),
@@ -12701,7 +13022,7 @@ var VirtualizedLayerTreeItems = (0, import_react83.memo)(({
12701
13022
  const gapSize = Math.max(virtualItem.start - previousEnd, 0);
12702
13023
  if (gapSize > 0) {
12703
13024
  renderedItems.push(
12704
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
13025
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12705
13026
  "li",
12706
13027
  {
12707
13028
  "aria-hidden": "true",
@@ -12712,7 +13033,7 @@ var VirtualizedLayerTreeItems = (0, import_react83.memo)(({
12712
13033
  );
12713
13034
  }
12714
13035
  renderedItems.push(
12715
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
13036
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12716
13037
  Layer,
12717
13038
  {
12718
13039
  childIsSelected: selectedPathIds.has(node.itemId),
@@ -12733,7 +13054,7 @@ var VirtualizedLayerTreeItems = (0, import_react83.memo)(({
12733
13054
  const trailingGap = Math.max(totalSize - previousEnd, 0);
12734
13055
  if (trailingGap > 0) {
12735
13056
  renderedItems.push(
12736
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
13057
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12737
13058
  "li",
12738
13059
  {
12739
13060
  "aria-hidden": "true",
@@ -12743,17 +13064,17 @@ var VirtualizedLayerTreeItems = (0, import_react83.memo)(({
12743
13064
  )
12744
13065
  );
12745
13066
  }
12746
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("ul", { className: getClassName31(), ref: listRef, children: [
12747
- tree.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassName31("helper"), children: "No items" }),
13067
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("ul", { className: getClassName31(), ref: listRef, children: [
13068
+ tree.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: getClassName31("helper"), children: "No items" }),
12748
13069
  renderedItems
12749
13070
  ] });
12750
13071
  });
12751
- var LayerTree = (0, import_react83.memo)(({
13072
+ var LayerTree = (0, import_react84.memo)(({
12752
13073
  selectedId,
12753
13074
  selectedPathIds,
12754
13075
  trees
12755
13076
  }) => {
12756
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_jsx_runtime80.Fragment, { children: trees.map((tree) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
13077
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_jsx_runtime81.Fragment, { children: trees.map((tree) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
12757
13078
  LayerTreeZone,
12758
13079
  {
12759
13080
  depth: 0,
@@ -12767,7 +13088,7 @@ var LayerTree = (0, import_react83.memo)(({
12767
13088
 
12768
13089
  // components/CredBuild/components/Outline/index.tsx
12769
13090
  init_store2();
12770
- var import_react84 = require("react");
13091
+ var import_react85 = require("react");
12771
13092
 
12772
13093
  // lib/data/find-zones-for-area.ts
12773
13094
  init_react_import();
@@ -12779,8 +13100,8 @@ var findZonesForArea = (state, area) => {
12779
13100
 
12780
13101
  // components/CredBuild/components/Outline/index.tsx
12781
13102
  var import_shallow8 = require("zustand/react/shallow");
12782
- var import_jsx_runtime81 = require("react/jsx-runtime");
12783
- var Outline = (0, import_react84.memo)(() => {
13103
+ var import_jsx_runtime82 = require("react/jsx-runtime");
13104
+ var Outline = (0, import_react85.memo)(() => {
12784
13105
  const outlineOverride = useAppStore((s) => s.overrides.outline);
12785
13106
  const config = useAppStore((s) => s.config);
12786
13107
  const nodes = useAppStore((s) => s.state.indexes.nodes);
@@ -12789,13 +13110,13 @@ var Outline = (0, import_react84.memo)(() => {
12789
13110
  const rootZones = useAppStore(
12790
13111
  (0, import_shallow8.useShallow)((s) => findZonesForArea(s.state, "root"))
12791
13112
  );
12792
- const selectedPathIds = (0, import_react84.useMemo)(() => {
13113
+ const selectedPathIds = (0, import_react85.useMemo)(() => {
12793
13114
  const selectedPath = selectedId ? nodes[selectedId]?.path : null;
12794
13115
  return new Set(
12795
13116
  selectedPath?.map((candidate) => candidate.split(":")[0]).filter(Boolean) || []
12796
13117
  );
12797
13118
  }, [nodes, selectedId]);
12798
- const trees = (0, import_react84.useMemo)(
13119
+ const trees = (0, import_react85.useMemo)(
12799
13120
  () => rootZones.map(
12800
13121
  (zoneCompound) => buildLayerTree({
12801
13122
  config,
@@ -12807,8 +13128,8 @@ var Outline = (0, import_react84.memo)(() => {
12807
13128
  ),
12808
13129
  [config, nodes, rootZones, zones]
12809
13130
  );
12810
- const Wrapper = (0, import_react84.useMemo)(() => outlineOverride || "div", [outlineOverride]);
12811
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
13131
+ const Wrapper = (0, import_react85.useMemo)(() => outlineOverride || "div", [outlineOverride]);
13132
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
12812
13133
  LayerTree,
12813
13134
  {
12814
13135
  selectedId,
@@ -12823,7 +13144,7 @@ init_default_viewports();
12823
13144
 
12824
13145
  // lib/use-loaded-overrides.ts
12825
13146
  init_react_import();
12826
- var import_react85 = require("react");
13147
+ var import_react86 = require("react");
12827
13148
 
12828
13149
  // lib/load-overrides.ts
12829
13150
  init_react_import();
@@ -12866,7 +13187,7 @@ var useLoadedOverrides = ({
12866
13187
  overrides,
12867
13188
  plugins
12868
13189
  }) => {
12869
- return (0, import_react85.useMemo)(() => {
13190
+ return (0, import_react86.useMemo)(() => {
12870
13191
  return loadOverrides({ overrides, plugins });
12871
13192
  }, [plugins, overrides]);
12872
13193
  };
@@ -12877,7 +13198,7 @@ init_permissions();
12877
13198
 
12878
13199
  // lib/use-credbuild.ts
12879
13200
  init_react_import();
12880
- var import_react86 = require("react");
13201
+ var import_react87 = require("react");
12881
13202
  var import_zustand6 = require("zustand");
12882
13203
  init_make_state_public();
12883
13204
  init_get_item();
@@ -12981,7 +13302,7 @@ var generateUseCredBuild = (store, getState) => {
12981
13302
  };
12982
13303
  return storeData;
12983
13304
  };
12984
- var UseCredBuildStoreContext = (0, import_react86.createContext)(
13305
+ var UseCredBuildStoreContext = (0, import_react87.createContext)(
12985
13306
  null
12986
13307
  );
12987
13308
  var convertToPickedStore = (store) => {
@@ -12995,7 +13316,7 @@ var convertToPickedStore = (store) => {
12995
13316
  };
12996
13317
  };
12997
13318
  var useRegisterUseCredBuildStore = (appStore) => {
12998
- const [useCredBuildStore] = (0, import_react86.useState)(
13319
+ const [useCredBuildStore] = (0, import_react87.useState)(
12999
13320
  () => (0, import_zustand6.createStore)(
13000
13321
  () => generateUseCredBuild(
13001
13322
  convertToPickedStore(appStore.getState()),
@@ -13003,7 +13324,7 @@ var useRegisterUseCredBuildStore = (appStore) => {
13003
13324
  )
13004
13325
  )
13005
13326
  );
13006
- (0, import_react86.useEffect)(() => {
13327
+ (0, import_react87.useEffect)(() => {
13007
13328
  return appStore.subscribe(
13008
13329
  (store) => convertToPickedStore(store),
13009
13330
  (pickedStore) => {
@@ -13017,7 +13338,7 @@ var useRegisterUseCredBuildStore = (appStore) => {
13017
13338
  };
13018
13339
  function createUseCredBuild() {
13019
13340
  return function useCredBuild2(selector) {
13020
- const useCredBuildApi = (0, import_react86.useContext)(UseCredBuildStoreContext);
13341
+ const useCredBuildApi = (0, import_react87.useContext)(UseCredBuildStoreContext);
13021
13342
  if (!useCredBuildApi) {
13022
13343
  throw new Error("useCredBuild must be used inside <CredBuild>.");
13023
13344
  }
@@ -13029,7 +13350,7 @@ function createUseCredBuild() {
13029
13350
  };
13030
13351
  }
13031
13352
  function useCredBuild() {
13032
- (0, import_react86.useEffect)(() => {
13353
+ (0, import_react87.useEffect)(() => {
13033
13354
  console.warn(
13034
13355
  "You're using the `useCredBuild` method without a selector, which may cause unnecessary re-renders. Replace with `createUseCredBuild` and provide a selector for improved performance."
13035
13356
  );
@@ -13037,7 +13358,7 @@ function useCredBuild() {
13037
13358
  return createUseCredBuild()((s) => s);
13038
13359
  }
13039
13360
  function useGetCredBuild() {
13040
- const useCredBuildApi = (0, import_react86.useContext)(UseCredBuildStoreContext);
13361
+ const useCredBuildApi = (0, import_react87.useContext)(UseCredBuildStoreContext);
13041
13362
  if (!useCredBuildApi) {
13042
13363
  throw new Error("useCredBuildGet must be used inside <CredBuild>.");
13043
13364
  }
@@ -13052,18 +13373,18 @@ init_to_component();
13052
13373
 
13053
13374
  // components/CredBuild/components/Layout/index.tsx
13054
13375
  init_react_import();
13055
- var import_react100 = require("react");
13376
+ var import_react102 = require("react");
13056
13377
  init_lib();
13057
13378
 
13058
13379
  // components/CredBuild/context.tsx
13059
13380
  init_react_import();
13060
- var import_react87 = require("react");
13061
- var import_jsx_runtime82 = require("react/jsx-runtime");
13062
- var propsContext = (0, import_react87.createContext)({});
13381
+ var import_react88 = require("react");
13382
+ var import_jsx_runtime83 = require("react/jsx-runtime");
13383
+ var propsContext = (0, import_react88.createContext)({});
13063
13384
  function PropsProvider(props) {
13064
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(propsContext.Provider, { value: props, children: props.children });
13385
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(propsContext.Provider, { value: props, children: props.children });
13065
13386
  }
13066
- var usePropsContext = () => (0, import_react87.useContext)(propsContext);
13387
+ var usePropsContext = () => (0, import_react88.useContext)(propsContext);
13067
13388
 
13068
13389
  // css-module:/home/runner/work/credbuild/credbuild/components/CredBuild/components/Layout/styles.module.css#css-module
13069
13390
  init_react_import();
@@ -13071,14 +13392,14 @@ var styles_module_default23 = { "CredBuildLayout": "_CredBuildLayout_14aaz_1", "
13071
13392
 
13072
13393
  // lib/use-inject-css.ts
13073
13394
  init_react_import();
13074
- var import_react88 = require("react");
13395
+ var import_react89 = require("react");
13075
13396
  var styles = ``;
13076
13397
  var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
13077
- const [el, setEl] = (0, import_react88.useState)();
13078
- (0, import_react88.useEffect)(() => {
13398
+ const [el, setEl] = (0, import_react89.useState)();
13399
+ (0, import_react89.useEffect)(() => {
13079
13400
  setEl(document.createElement("style"));
13080
13401
  }, []);
13081
- (0, import_react88.useEffect)(() => {
13402
+ (0, import_react89.useEffect)(() => {
13082
13403
  if (!el || typeof window === "undefined") {
13083
13404
  return;
13084
13405
  }
@@ -13100,20 +13421,20 @@ init_store2();
13100
13421
 
13101
13422
  // components/DefaultOverride/index.tsx
13102
13423
  init_react_import();
13103
- var import_jsx_runtime83 = require("react/jsx-runtime");
13104
- var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children });
13424
+ var import_jsx_runtime84 = require("react/jsx-runtime");
13425
+ var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_jsx_runtime84.Fragment, { children });
13105
13426
 
13106
13427
  // components/CredBuild/components/Layout/index.tsx
13107
13428
  init_use_hotkey();
13108
13429
 
13109
13430
  // lib/use-preview-mode-hotkeys.ts
13110
13431
  init_react_import();
13111
- var import_react89 = require("react");
13432
+ var import_react90 = require("react");
13112
13433
  init_use_hotkey();
13113
13434
  init_store2();
13114
13435
  var usePreviewModeHotkeys = () => {
13115
13436
  const appStore = useAppStoreApi();
13116
- const toggleInteractive = (0, import_react89.useCallback)(() => {
13437
+ const toggleInteractive = (0, import_react90.useCallback)(() => {
13117
13438
  const dispatch = appStore.getState().dispatch;
13118
13439
  dispatch({
13119
13440
  type: "setUi",
@@ -13128,9 +13449,9 @@ var usePreviewModeHotkeys = () => {
13128
13449
 
13129
13450
  // components/DragDropContext/index.tsx
13130
13451
  init_react_import();
13131
- var import_react90 = require("@dnd-kit/react");
13452
+ var import_react91 = require("@dnd-kit/react");
13132
13453
  init_store2();
13133
- var import_react91 = require("react");
13454
+ var import_react92 = require("react");
13134
13455
  var import_dom = require("@dnd-kit/dom");
13135
13456
  init_get_item();
13136
13457
 
@@ -13473,12 +13794,12 @@ function getDeepDir(el) {
13473
13794
  // components/DragDropContext/index.tsx
13474
13795
  init_use_sensors();
13475
13796
  var import_state = require("@dnd-kit/state");
13476
- var import_jsx_runtime84 = require("react/jsx-runtime");
13797
+ var import_jsx_runtime85 = require("react/jsx-runtime");
13477
13798
  var DEBUG3 = false;
13478
13799
  var AREA_CHANGE_DEBOUNCE_MS = 100;
13479
13800
  var useTempDisableFallback = (timeout3) => {
13480
- const lastFallbackDisable = (0, import_react91.useRef)(null);
13481
- return (0, import_react91.useCallback)((manager) => {
13801
+ const lastFallbackDisable = (0, import_react92.useRef)(null);
13802
+ return (0, import_react92.useCallback)((manager) => {
13482
13803
  collisionStore.setState({ fallbackEnabled: false });
13483
13804
  const fallbackId = generateId();
13484
13805
  lastFallbackDisable.current = fallbackId;
@@ -13497,9 +13818,9 @@ var DragDropContextClient = ({
13497
13818
  const dispatch = useAppStore((s) => s.dispatch);
13498
13819
  const instanceId = useAppStore((s) => s.instanceId);
13499
13820
  const appStore = useAppStoreApi();
13500
- const debouncedParamsRef = (0, import_react91.useRef)(null);
13821
+ const debouncedParamsRef = (0, import_react92.useRef)(null);
13501
13822
  const tempDisableFallback = useTempDisableFallback(100);
13502
- const [zoneStore] = (0, import_react91.useState)(() => {
13823
+ const [zoneStore] = (0, import_react92.useState)(() => {
13503
13824
  const rootVirtualizers = /* @__PURE__ */ new Map();
13504
13825
  return (0, import_zustand7.createStore)(() => ({
13505
13826
  zoneDepthIndex: {},
@@ -13538,7 +13859,7 @@ var DragDropContextClient = ({
13538
13859
  }
13539
13860
  }));
13540
13861
  });
13541
- const getChanged2 = (0, import_react91.useCallback)(
13862
+ const getChanged2 = (0, import_react92.useCallback)(
13542
13863
  (params) => {
13543
13864
  const { zoneDepthIndex = {}, areaDepthIndex = {} } = zoneStore.getState() || {};
13544
13865
  const stateHasZone = Object.keys(zoneDepthIndex).length > 0;
@@ -13559,7 +13880,7 @@ var DragDropContextClient = ({
13559
13880
  },
13560
13881
  [zoneStore]
13561
13882
  );
13562
- const setDeepestAndCollide = (0, import_react91.useCallback)(
13883
+ const setDeepestAndCollide = (0, import_react92.useCallback)(
13563
13884
  (params, manager) => {
13564
13885
  const { zoneChanged, areaChanged } = getChanged2(params);
13565
13886
  if (!zoneChanged && !areaChanged) return;
@@ -13583,7 +13904,7 @@ var DragDropContextClient = ({
13583
13904
  setDeepestDb.cancel();
13584
13905
  debouncedParamsRef.current = null;
13585
13906
  };
13586
- (0, import_react91.useEffect)(() => {
13907
+ (0, import_react92.useEffect)(() => {
13587
13908
  if (DEBUG3) {
13588
13909
  return zoneStore.subscribe(
13589
13910
  (s) => console.log(
@@ -13594,7 +13915,7 @@ var DragDropContextClient = ({
13594
13915
  );
13595
13916
  }
13596
13917
  }, [zoneStore]);
13597
- const [plugins] = (0, import_react91.useState)(() => [
13918
+ const [plugins] = (0, import_react92.useState)(() => [
13598
13919
  ...disableAutoScroll ? import_dom.defaultPreset.plugins.filter((plugin) => plugin !== import_dom.AutoScroller) : import_dom.defaultPreset.plugins,
13599
13920
  createNestedDroppablePlugin(
13600
13921
  {
@@ -13642,10 +13963,10 @@ var DragDropContextClient = ({
13642
13963
  )
13643
13964
  ]);
13644
13965
  const sensors = useSensors();
13645
- const [dragListeners, setDragListeners] = (0, import_react91.useState)({});
13646
- const dragMode = (0, import_react91.useRef)(null);
13647
- const initialSelector = (0, import_react91.useRef)(void 0);
13648
- const nextContextValue = (0, import_react91.useMemo)(
13966
+ const [dragListeners, setDragListeners] = (0, import_react92.useState)({});
13967
+ const dragMode = (0, import_react92.useRef)(null);
13968
+ const initialSelector = (0, import_react92.useRef)(void 0);
13969
+ const nextContextValue = (0, import_react92.useMemo)(
13649
13970
  () => ({
13650
13971
  mode: "edit",
13651
13972
  areaId: "root",
@@ -13653,15 +13974,15 @@ var DragDropContextClient = ({
13653
13974
  }),
13654
13975
  []
13655
13976
  );
13656
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
13977
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
13657
13978
  dragListenerContext.Provider,
13658
13979
  {
13659
13980
  value: {
13660
13981
  dragListeners,
13661
13982
  setDragListeners
13662
13983
  },
13663
- children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
13664
- import_react90.DragDropProvider,
13984
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
13985
+ import_react91.DragDropProvider,
13665
13986
  {
13666
13987
  plugins,
13667
13988
  sensors,
@@ -13882,7 +14203,7 @@ var DragDropContextClient = ({
13882
14203
  const entryEl = getFrame()?.querySelector("[data-credbuild-entry]");
13883
14204
  entryEl?.setAttribute("data-credbuild-dragging", "true");
13884
14205
  },
13885
- children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ZoneStoreProvider, { store: zoneStore, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(DropZoneProvider, { value: nextContextValue, children }) })
14206
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ZoneStoreProvider, { store: zoneStore, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(DropZoneProvider, { value: nextContextValue, children }) })
13886
14207
  }
13887
14208
  )
13888
14209
  }
@@ -13896,12 +14217,12 @@ var DragDropContext = ({
13896
14217
  if (status === "LOADING") {
13897
14218
  return children;
13898
14219
  }
13899
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(DragDropContextClient, { disableAutoScroll, children });
14220
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(DragDropContextClient, { disableAutoScroll, children });
13900
14221
  };
13901
14222
 
13902
14223
  // components/CredBuild/components/Header/index.tsx
13903
14224
  init_react_import();
13904
- var import_react94 = require("react");
14225
+ var import_react95 = require("react");
13905
14226
  init_store2();
13906
14227
  init_lucide_react();
13907
14228
  init_Heading();
@@ -13919,7 +14240,7 @@ var styles_module_default24 = { "MenuBar": "_MenuBar_1m2ld_1", "MenuBar--menuOpe
13919
14240
 
13920
14241
  // components/MenuBar/index.tsx
13921
14242
  init_store2();
13922
- var import_jsx_runtime85 = require("react/jsx-runtime");
14243
+ var import_jsx_runtime86 = require("react/jsx-runtime");
13923
14244
  var getClassName32 = get_class_name_factory_default("MenuBar", styles_module_default24);
13924
14245
  function MenuBar({
13925
14246
  menuOpen = false,
@@ -13930,7 +14251,7 @@ function MenuBar({
13930
14251
  const forward = useAppStore((s) => s.history.forward);
13931
14252
  const hasFuture = useAppStore((s) => s.history.hasFuture());
13932
14253
  const hasPast = useAppStore((s) => s.history.hasPast());
13933
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14254
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
13934
14255
  "div",
13935
14256
  {
13936
14257
  className: getClassName32({ menuOpen }),
@@ -13943,30 +14264,30 @@ function MenuBar({
13943
14264
  setMenuOpen(false);
13944
14265
  }
13945
14266
  },
13946
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: getClassName32("inner"), children: [
13947
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: getClassName32("history"), children: [
13948
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14267
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: getClassName32("inner"), children: [
14268
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: getClassName32("history"), children: [
14269
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
13949
14270
  IconButton,
13950
14271
  {
13951
14272
  type: "button",
13952
14273
  title: "undo",
13953
14274
  disabled: !hasPast,
13954
14275
  onClick: back,
13955
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Undo2, { size: 21 })
14276
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Undo2, { size: 21 })
13956
14277
  }
13957
14278
  ),
13958
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14279
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
13959
14280
  IconButton,
13960
14281
  {
13961
14282
  type: "button",
13962
14283
  title: "redo",
13963
14284
  disabled: !hasFuture,
13964
14285
  onClick: forward,
13965
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Redo2, { size: 21 })
14286
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Redo2, { size: 21 })
13966
14287
  }
13967
14288
  )
13968
14289
  ] }),
13969
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_jsx_runtime85.Fragment, { children: renderHeaderActions && renderHeaderActions() })
14290
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_jsx_runtime86.Fragment, { children: renderHeaderActions && renderHeaderActions() })
13970
14291
  ] })
13971
14292
  }
13972
14293
  );
@@ -13981,7 +14302,7 @@ init_react_import();
13981
14302
  init_lucide_react();
13982
14303
  init_IconButton2();
13983
14304
  init_store2();
13984
- var import_react92 = require("react");
14305
+ var import_react93 = require("react");
13985
14306
  init_lib();
13986
14307
 
13987
14308
  // css-module:/home/runner/work/credbuild/credbuild/components/ViewportControls/styles.module.css#css-module
@@ -13989,12 +14310,12 @@ init_react_import();
13989
14310
  var styles_module_default25 = { "ViewportControls": "_ViewportControls_gefvg_1", "ViewportControls--fullScreen": "_ViewportControls--fullScreen_gefvg_5", "ViewportControls-toggleButton": "_ViewportControls-toggleButton_gefvg_14", "ViewportControls--isExpanded": "_ViewportControls--isExpanded_gefvg_38", "ViewportControls-actions": "_ViewportControls-actions_gefvg_42", "ViewportControls-actionsInner": "_ViewportControls-actionsInner_gefvg_46", "ViewportControls-divider": "_ViewportControls-divider_gefvg_76", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_gefvg_83", "ViewportControls-zoom": "_ViewportControls-zoom_gefvg_83", "ViewportButton-inner": "_ViewportButton-inner_gefvg_114", "ViewportButton--isActive": "_ViewportButton--isActive_gefvg_122" };
13990
14311
 
13991
14312
  // components/ViewportControls/index.tsx
13992
- var import_jsx_runtime86 = require("react/jsx-runtime");
14313
+ var import_jsx_runtime87 = require("react/jsx-runtime");
13993
14314
  var icons = {
13994
- Smartphone: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Smartphone, { size: 16 }),
13995
- Tablet: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Tablet, { size: 16 }),
13996
- Monitor: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Monitor, { size: 16 }),
13997
- FullWidth: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Expand, { size: 16 })
14315
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Smartphone, { size: 16 }),
14316
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Tablet, { size: 16 }),
14317
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Monitor, { size: 16 }),
14318
+ FullWidth: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Expand, { size: 16 })
13998
14319
  };
13999
14320
  var getClassName33 = get_class_name_factory_default("ViewportControls", styles_module_default25);
14000
14321
  var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default25);
@@ -14005,7 +14326,7 @@ var ActionButton = ({
14005
14326
  isActive,
14006
14327
  disabled
14007
14328
  }) => {
14008
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: getClassNameButton({ isActive }), suppressHydrationWarning: true, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14329
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: getClassNameButton({ isActive }), suppressHydrationWarning: true, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14009
14330
  IconButton,
14010
14331
  {
14011
14332
  type: "button",
@@ -14013,7 +14334,7 @@ var ActionButton = ({
14013
14334
  disabled: disabled || isActive,
14014
14335
  onClick,
14015
14336
  suppressHydrationWarning: true,
14016
- children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: getClassNameButton("inner"), children })
14337
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: getClassNameButton("inner"), children })
14017
14338
  }
14018
14339
  ) });
14019
14340
  };
@@ -14038,7 +14359,7 @@ var ViewportControls = ({
14038
14359
  const defaultsContainAutoZoom = defaultZoomOptions.find(
14039
14360
  (option) => option.value === autoZoom
14040
14361
  );
14041
- const zoomOptions = (0, import_react92.useMemo)(() => {
14362
+ const zoomOptions = (0, import_react93.useMemo)(() => {
14042
14363
  const options = [
14043
14364
  ...defaultZoomOptions,
14044
14365
  ...defaultsContainAutoZoom || isNaN(autoZoom) ? [] : [
@@ -14050,21 +14371,21 @@ var ViewportControls = ({
14050
14371
  ].filter((a) => a.value <= (autoZoom || 1)).sort((a, b) => a.value > b.value ? 1 : -1);
14051
14372
  return options.length > 0 ? options : defaultZoomOptions;
14052
14373
  }, [autoZoom, defaultsContainAutoZoom]);
14053
- const [activeViewport, setActiveViewport] = (0, import_react92.useState)(
14374
+ const [activeViewport, setActiveViewport] = (0, import_react93.useState)(
14054
14375
  uiViewports.current.width
14055
14376
  );
14056
- (0, import_react92.useEffect)(() => {
14377
+ (0, import_react93.useEffect)(() => {
14057
14378
  setActiveViewport(uiViewports.current.width);
14058
14379
  }, [uiViewports.current.width, uiViewports]);
14059
- const [isExpanded, setIsExpanded] = (0, import_react92.useState)(false);
14060
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
14380
+ const [isExpanded, setIsExpanded] = (0, import_react93.useState)(false);
14381
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
14061
14382
  "div",
14062
14383
  {
14063
14384
  className: getClassName33({ isExpanded, fullScreen }),
14064
14385
  suppressHydrationWarning: true,
14065
14386
  children: [
14066
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: getClassName33("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: getClassName33("actionsInner"), children: [
14067
- viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14387
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: getClassName33("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: getClassName33("actionsInner"), children: [
14388
+ viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14068
14389
  ActionButton,
14069
14390
  {
14070
14391
  title: viewport.label ? `Switch to ${viewport.label} viewport` : "Switch viewport",
@@ -14077,8 +14398,8 @@ var ViewportControls = ({
14077
14398
  },
14078
14399
  i
14079
14400
  )),
14080
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: getClassName33("divider") }),
14081
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14401
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: getClassName33("divider") }),
14402
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14082
14403
  ActionButton,
14083
14404
  {
14084
14405
  title: "Zoom viewport out",
@@ -14092,10 +14413,10 @@ var ViewportControls = ({
14092
14413
  );
14093
14414
  onZoom(zoomOptions[nextIndex]?.value || 1);
14094
14415
  },
14095
- children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ZoomOut, { size: 16 })
14416
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ZoomOut, { size: 16 })
14096
14417
  }
14097
14418
  ),
14098
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14419
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14099
14420
  ActionButton,
14100
14421
  {
14101
14422
  title: "Zoom viewport in",
@@ -14109,12 +14430,12 @@ var ViewportControls = ({
14109
14430
  );
14110
14431
  onZoom(zoomOptions[nextIndex]?.value || 1);
14111
14432
  },
14112
- children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ZoomIn, { size: 16 })
14433
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ZoomIn, { size: 16 })
14113
14434
  }
14114
14435
  ),
14115
- /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: getClassName33("zoom"), children: [
14116
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: getClassName33("divider") }),
14117
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14436
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: getClassName33("zoom"), children: [
14437
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: getClassName33("divider") }),
14438
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14118
14439
  "select",
14119
14440
  {
14120
14441
  className: getClassName33("zoomSelect"),
@@ -14125,7 +14446,7 @@ var ViewportControls = ({
14125
14446
  onChange: (e) => {
14126
14447
  onZoom(parseFloat(e.currentTarget.value));
14127
14448
  },
14128
- children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14449
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14129
14450
  "option",
14130
14451
  {
14131
14452
  value: option.value,
@@ -14137,14 +14458,14 @@ var ViewportControls = ({
14137
14458
  )
14138
14459
  ] })
14139
14460
  ] }) }),
14140
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14461
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14141
14462
  "button",
14142
14463
  {
14143
14464
  className: getClassName33("toggleButton"),
14144
14465
  title: "Toggle viewport menu",
14145
14466
  "aria-expanded": isExpanded,
14146
14467
  onClick: () => setIsExpanded((s) => !s),
14147
- children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(X, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Monitor, { size: 16 })
14468
+ children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(X, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Monitor, { size: 16 })
14148
14469
  }
14149
14470
  )
14150
14471
  ]
@@ -14157,23 +14478,23 @@ var import_shallow9 = require("zustand/react/shallow");
14157
14478
 
14158
14479
  // lib/frame-context.tsx
14159
14480
  init_react_import();
14160
- var import_react93 = require("react");
14161
- var import_jsx_runtime87 = require("react/jsx-runtime");
14162
- var FrameContext = (0, import_react93.createContext)(null);
14481
+ var import_react94 = require("react");
14482
+ var import_jsx_runtime88 = require("react/jsx-runtime");
14483
+ var FrameContext = (0, import_react94.createContext)(null);
14163
14484
  var FrameProvider = ({
14164
14485
  children
14165
14486
  }) => {
14166
- const frameRef = (0, import_react93.useRef)(null);
14167
- const value = (0, import_react93.useMemo)(
14487
+ const frameRef = (0, import_react94.useRef)(null);
14488
+ const value = (0, import_react94.useMemo)(
14168
14489
  () => ({
14169
14490
  frameRef
14170
14491
  }),
14171
14492
  []
14172
14493
  );
14173
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(FrameContext.Provider, { value, children });
14494
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(FrameContext.Provider, { value, children });
14174
14495
  };
14175
14496
  var useCanvasFrame = () => {
14176
- const context = (0, import_react93.useContext)(FrameContext);
14497
+ const context = (0, import_react94.useContext)(FrameContext);
14177
14498
  if (context === null) {
14178
14499
  throw new Error("useCanvasFrame must be used within a FrameProvider");
14179
14500
  }
@@ -14185,7 +14506,7 @@ init_react_import();
14185
14506
  var styles_module_default26 = { "CredBuildHeader": "_CredBuildHeader_qzv5u_1", "CredBuildHeader-inner": "_CredBuildHeader-inner_qzv5u_20", "CredBuildHeader-viewportTools": "_CredBuildHeader-viewportTools_qzv5u_28", "CredBuildHeader-leftActions": "_CredBuildHeader-leftActions_qzv5u_35", "CredBuildHeader-toggle": "_CredBuildHeader-toggle_qzv5u_41", "CredBuildHeader-leftSideBarToggle": "_CredBuildHeader-leftSideBarToggle_qzv5u_47", "CredBuildHeader-rightSideBarToggle": "_CredBuildHeader-rightSideBarToggle_qzv5u_48", "CredBuildHeader-title": "_CredBuildHeader-title_qzv5u_52", "CredBuildHeader-path": "_CredBuildHeader-path_qzv5u_57", "CredBuildHeader-tools": "_CredBuildHeader-tools_qzv5u_68", "CredBuildHeader-menuButton": "_CredBuildHeader-menuButton_qzv5u_75" };
14186
14507
 
14187
14508
  // components/CredBuild/components/Header/index.tsx
14188
- var import_jsx_runtime88 = require("react/jsx-runtime");
14509
+ var import_jsx_runtime89 = require("react/jsx-runtime");
14189
14510
  var getClassName34 = get_class_name_factory_default("CredBuildHeader", styles_module_default26);
14190
14511
  var HeaderInner = ({
14191
14512
  hidePlugins,
@@ -14201,7 +14522,7 @@ var HeaderInner = ({
14201
14522
  } = usePropsContext();
14202
14523
  const dispatch = useAppStore((s) => s.dispatch);
14203
14524
  const appStore = useAppStoreApi();
14204
- const defaultHeaderRender = (0, import_react94.useMemo)(() => {
14525
+ const defaultHeaderRender = (0, import_react95.useMemo)(() => {
14205
14526
  if (renderHeader) {
14206
14527
  console.warn(
14207
14528
  "`renderHeader` is deprecated. Please use `overrides.header` and the `useCredBuild` hook instead"
@@ -14209,13 +14530,13 @@ var HeaderInner = ({
14209
14530
  const RenderHeader = ({ actions, ...props }) => {
14210
14531
  const Comp = renderHeader;
14211
14532
  const appState = useAppStore((s) => s.state);
14212
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Comp, { ...props, dispatch, state: appState, children: actions });
14533
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Comp, { ...props, dispatch, state: appState, children: actions });
14213
14534
  };
14214
14535
  return RenderHeader;
14215
14536
  }
14216
14537
  return DefaultOverride;
14217
14538
  }, [renderHeader, dispatch]);
14218
- const defaultHeaderActionsRender = (0, import_react94.useMemo)(() => {
14539
+ const defaultHeaderActionsRender = (0, import_react95.useMemo)(() => {
14219
14540
  if (renderHeaderActions) {
14220
14541
  console.warn(
14221
14542
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `useCredBuild` hook instead."
@@ -14223,7 +14544,7 @@ var HeaderInner = ({
14223
14544
  const RenderHeader = (props) => {
14224
14545
  const Comp = renderHeaderActions;
14225
14546
  const appState = useAppStore((s) => s.state);
14226
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Comp, { ...props, dispatch, state: appState });
14547
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Comp, { ...props, dispatch, state: appState });
14227
14548
  };
14228
14549
  return RenderHeader;
14229
14550
  }
@@ -14235,11 +14556,48 @@ var HeaderInner = ({
14235
14556
  const CustomHeaderActions = useAppStore(
14236
14557
  (s) => s.overrides.headerActions || defaultHeaderActionsRender
14237
14558
  );
14238
- const [menuOpen, setMenuOpen] = (0, import_react94.useState)(false);
14559
+ const [menuOpen, setMenuOpen] = (0, import_react95.useState)(false);
14239
14560
  const rootTitle = useAppStore((s) => {
14240
14561
  const rootData = s.state.indexes.nodes["root"]?.data;
14241
14562
  return rootData.props.title ?? "";
14242
14563
  });
14564
+ const root = useAppStore((s) => s.state.data.root);
14565
+ const rootProps = root?.props || root;
14566
+ const isHtmlMode = rootProps?.mode === "html";
14567
+ const htmlViewMode = rootProps?.htmlViewMode || (rootProps?.htmlCode ? "preview" : "code");
14568
+ const handleSetViewMode = (0, import_react95.useCallback)((modeVal) => {
14569
+ dispatch({
14570
+ type: "setData",
14571
+ data: (currentData) => ({
14572
+ ...currentData,
14573
+ root: {
14574
+ ...currentData.root,
14575
+ props: {
14576
+ ...currentData.root?.props,
14577
+ htmlViewMode: modeVal
14578
+ }
14579
+ }
14580
+ })
14581
+ });
14582
+ }, [dispatch]);
14583
+ const handleResetToBlocks = (0, import_react95.useCallback)(() => {
14584
+ dispatch({
14585
+ type: "setData",
14586
+ data: (currentData) => ({
14587
+ ...currentData,
14588
+ content: [],
14589
+ root: {
14590
+ ...currentData.root,
14591
+ props: {
14592
+ ...currentData.root?.props,
14593
+ mode: "blocks",
14594
+ htmlCode: "",
14595
+ htmlViewMode: "code"
14596
+ }
14597
+ }
14598
+ })
14599
+ });
14600
+ }, [dispatch]);
14243
14601
  const leftSideBarVisible = useAppStore((s) => s.state.ui.leftSideBarVisible);
14244
14602
  const rightSideBarVisible = useAppStore(
14245
14603
  (s) => s.state.ui.rightSideBarVisible
@@ -14264,7 +14622,7 @@ var HeaderInner = ({
14264
14622
  );
14265
14623
  const { frameRef } = useCanvasFrame();
14266
14624
  const resetAutoZoom = useResetAutoZoom(frameRef);
14267
- const toggleSidebars = (0, import_react94.useCallback)(
14625
+ const toggleSidebars = (0, import_react95.useCallback)(
14268
14626
  (sidebar) => {
14269
14627
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
14270
14628
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -14279,33 +14637,33 @@ var HeaderInner = ({
14279
14637
  },
14280
14638
  [dispatch, leftSideBarVisible, rightSideBarVisible]
14281
14639
  );
14282
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14640
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14283
14641
  CustomHeader,
14284
14642
  {
14285
- actions: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_jsx_runtime88.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(CustomHeaderActions, { children: [
14286
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14643
+ actions: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_jsx_runtime89.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(CustomHeaderActions, { children: [
14644
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14287
14645
  Button,
14288
14646
  {
14289
14647
  href: headerPath || "/",
14290
14648
  newTab: true,
14291
14649
  variant: "secondary",
14292
- icon: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ExternalLink, { size: 14 }),
14650
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ExternalLink, { size: 14 }),
14293
14651
  children: "View Web"
14294
14652
  }
14295
14653
  ),
14296
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "PublishButton", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14654
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "PublishButton", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14297
14655
  Button,
14298
14656
  {
14299
14657
  onClick: () => {
14300
14658
  const data = appStore.getState().state.data;
14301
14659
  onPublish && onPublish(data);
14302
14660
  },
14303
- icon: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Zap, { size: 14, fill: "currentColor" }),
14661
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Zap, { size: 14, fill: "currentColor" }),
14304
14662
  children: "Publish"
14305
14663
  }
14306
14664
  ) })
14307
14665
  ] }) }),
14308
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14666
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14309
14667
  "header",
14310
14668
  {
14311
14669
  className: getClassName34({
@@ -14313,20 +14671,20 @@ var HeaderInner = ({
14313
14671
  rightSideBarVisible,
14314
14672
  hidePlugins
14315
14673
  }),
14316
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: getClassName34("inner"), children: [
14317
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: getClassName34("leftActions"), children: [
14318
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { style: { marginRight: "8px", display: "flex", gap: "8px", alignItems: "center" }, children: [
14319
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14674
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName34("inner"), children: [
14675
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName34("leftActions"), children: [
14676
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { style: { marginRight: "8px", display: "flex", gap: "8px", alignItems: "center" }, children: [
14677
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14320
14678
  Button,
14321
14679
  {
14322
14680
  href: "/dashboard",
14323
14681
  variant: "secondary",
14324
14682
  size: "medium",
14325
- icon: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(LayoutDashboard, { size: 14 }),
14683
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(LayoutDashboard, { size: 14 }),
14326
14684
  children: "Dashboard"
14327
14685
  }
14328
14686
  ),
14329
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14687
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14330
14688
  IconButton,
14331
14689
  {
14332
14690
  type: "button",
@@ -14344,12 +14702,12 @@ var HeaderInner = ({
14344
14702
  window.dispatchEvent(new CustomEvent("credbuild-theme-change", { detail: newTheme }));
14345
14703
  },
14346
14704
  title: "Toggle Theme",
14347
- children: theme === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Sun, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Moon, { size: 16 })
14705
+ children: theme === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Sun, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Moon, { size: 16 })
14348
14706
  }
14349
14707
  )
14350
14708
  ] }),
14351
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: getClassName34("toggle"), children: [
14352
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: getClassName34("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14709
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName34("toggle"), children: [
14710
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: getClassName34("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14353
14711
  IconButton,
14354
14712
  {
14355
14713
  type: "button",
@@ -14357,10 +14715,10 @@ var HeaderInner = ({
14357
14715
  toggleSidebars("left");
14358
14716
  },
14359
14717
  title: "Toggle left sidebar",
14360
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(PanelLeft, { size: 16, focusable: "false" })
14718
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(PanelLeft, { size: 16, focusable: "false" })
14361
14719
  }
14362
14720
  ) }),
14363
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: getClassName34("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14721
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: getClassName34("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14364
14722
  IconButton,
14365
14723
  {
14366
14724
  type: "button",
@@ -14368,43 +14726,124 @@ var HeaderInner = ({
14368
14726
  toggleSidebars("right");
14369
14727
  },
14370
14728
  title: "Toggle right sidebar",
14371
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(PanelRight, { size: 16, focusable: "false" })
14729
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(PanelRight, { size: 16, focusable: "false" })
14372
14730
  }
14373
14731
  ) })
14374
14732
  ] }),
14375
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: getClassName34("title"), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(Heading7, { rank: "2", size: "xs", children: [
14376
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { style: { fontSize: "11px", textTransform: "uppercase", letterSpacing: "0.08em", fontWeight: 600 }, children: headerTitle || rootTitle || "Page" }),
14377
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_jsx_runtime88.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("code", { className: getClassName34("path"), style: { fontSize: "10px", opacity: 0.6, marginLeft: "8px" }, children: headerPath }) })
14733
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: getClassName34("title"), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Heading7, { rank: "2", size: "xs", children: [
14734
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { style: { fontSize: "11px", textTransform: "uppercase", letterSpacing: "0.08em", fontWeight: 600 }, children: headerTitle || rootTitle || "Page" }),
14735
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_jsx_runtime89.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("code", { className: getClassName34("path"), style: { fontSize: "10px", opacity: 0.6, marginLeft: "8px" }, children: headerPath }) })
14378
14736
  ] }) })
14379
14737
  ] }),
14380
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: getClassName34("viewportTools"), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14381
- ViewportControls,
14382
- {
14383
- fullScreen: _experimentalFullScreenCanvas,
14384
- autoZoom: zoomConfig.autoZoom,
14385
- zoom: zoomConfig.zoom,
14386
- onViewportChange: (viewport) => {
14387
- const isFullWidth = viewport.width === "100%";
14388
- const uiViewport = {
14389
- ...viewport,
14390
- height: viewport.height || "auto",
14391
- zoom: isFullWidth ? 1 : zoomConfig.zoom
14392
- };
14393
- const newUi = {
14394
- viewports: { ...viewports, current: uiViewport }
14395
- };
14396
- if (isFullWidth) {
14397
- setZoomConfig({ ...zoomConfig, zoom: 1 });
14738
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName34("viewportTools"), style: { display: "flex", gap: "16px", alignItems: "center" }, children: [
14739
+ isHtmlMode && /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { style: {
14740
+ display: "flex",
14741
+ alignItems: "center",
14742
+ gap: "8px"
14743
+ }, children: [
14744
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { style: {
14745
+ display: "flex",
14746
+ background: "var(--credbuild-color-grey-09)",
14747
+ padding: 2,
14748
+ borderRadius: 6,
14749
+ border: "1px solid var(--credbuild-color-grey-10)"
14750
+ }, children: [
14751
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
14752
+ "button",
14753
+ {
14754
+ type: "button",
14755
+ onClick: () => handleSetViewMode("code"),
14756
+ style: {
14757
+ display: "flex",
14758
+ alignItems: "center",
14759
+ gap: 4,
14760
+ padding: "4px 10px",
14761
+ borderRadius: 4,
14762
+ fontSize: 11,
14763
+ fontWeight: 600,
14764
+ cursor: "pointer",
14765
+ border: "none",
14766
+ background: htmlViewMode === "code" ? "var(--credbuild-color-white)" : "transparent",
14767
+ color: "var(--credbuild-color-black)",
14768
+ opacity: htmlViewMode === "code" ? 1 : 0.6,
14769
+ boxShadow: htmlViewMode === "code" ? "0 1px 2px rgba(0,0,0,0.1)" : "none",
14770
+ transition: "all 0.15s ease"
14771
+ },
14772
+ children: [
14773
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Code, { size: 12 }),
14774
+ "Edit Kode"
14775
+ ]
14776
+ }
14777
+ ),
14778
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
14779
+ "button",
14780
+ {
14781
+ type: "button",
14782
+ onClick: () => handleSetViewMode("preview"),
14783
+ style: {
14784
+ display: "flex",
14785
+ alignItems: "center",
14786
+ gap: 4,
14787
+ padding: "4px 10px",
14788
+ borderRadius: 4,
14789
+ fontSize: 11,
14790
+ fontWeight: 600,
14791
+ cursor: "pointer",
14792
+ border: "none",
14793
+ background: htmlViewMode === "preview" ? "var(--credbuild-color-white)" : "transparent",
14794
+ color: "var(--credbuild-color-black)",
14795
+ opacity: htmlViewMode === "preview" ? 1 : 0.6,
14796
+ boxShadow: htmlViewMode === "preview" ? "0 1px 2px rgba(0,0,0,0.1)" : "none",
14797
+ transition: "all 0.15s ease"
14798
+ },
14799
+ children: [
14800
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Eye, { size: 12 }),
14801
+ "Lihat Hasil"
14802
+ ]
14803
+ }
14804
+ )
14805
+ ] }),
14806
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14807
+ Button,
14808
+ {
14809
+ type: "button",
14810
+ onClick: handleResetToBlocks,
14811
+ variant: "secondary",
14812
+ size: "medium",
14813
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(LayoutGrid, { size: 14 }),
14814
+ children: "Kembali ke Mode Blok"
14815
+ }
14816
+ )
14817
+ ] }),
14818
+ (!isHtmlMode || htmlViewMode === "preview") && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14819
+ ViewportControls,
14820
+ {
14821
+ fullScreen: _experimentalFullScreenCanvas,
14822
+ autoZoom: zoomConfig.autoZoom,
14823
+ zoom: zoomConfig.zoom,
14824
+ onViewportChange: (viewport) => {
14825
+ const isFullWidth = viewport.width === "100%";
14826
+ const uiViewport = {
14827
+ ...viewport,
14828
+ height: viewport.height || "auto",
14829
+ zoom: isFullWidth ? 1 : zoomConfig.zoom
14830
+ };
14831
+ const newUi = {
14832
+ viewports: { ...viewports, current: uiViewport }
14833
+ };
14834
+ if (isFullWidth) {
14835
+ setZoomConfig({ ...zoomConfig, zoom: 1 });
14836
+ }
14837
+ setUi(newUi);
14838
+ },
14839
+ onZoom: (zoom) => {
14840
+ setZoomConfig({ ...zoomConfig, zoom });
14398
14841
  }
14399
- setUi(newUi);
14400
- },
14401
- onZoom: (zoom) => {
14402
- setZoomConfig({ ...zoomConfig, zoom });
14403
14842
  }
14404
- }
14405
- ) }),
14406
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: getClassName34("tools"), children: [
14407
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: getClassName34("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14843
+ )
14844
+ ] }),
14845
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName34("tools"), children: [
14846
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: getClassName34("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14408
14847
  IconButton,
14409
14848
  {
14410
14849
  type: "button",
@@ -14412,34 +14851,34 @@ var HeaderInner = ({
14412
14851
  return setMenuOpen(!menuOpen);
14413
14852
  },
14414
14853
  title: "Toggle menu bar",
14415
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ChevronUp, { size: 16, focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ChevronDown, { size: 16, focusable: "false" })
14854
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ChevronUp, { size: 16, focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ChevronDown, { size: 16, focusable: "false" })
14416
14855
  }
14417
14856
  ) }),
14418
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14857
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14419
14858
  MenuBar,
14420
14859
  {
14421
14860
  dispatch,
14422
14861
  onPublish,
14423
14862
  menuOpen,
14424
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(CustomHeaderActions, { children: [
14425
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14863
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(CustomHeaderActions, { children: [
14864
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14426
14865
  Button,
14427
14866
  {
14428
14867
  href: headerPath || "/",
14429
14868
  newTab: true,
14430
14869
  variant: "secondary",
14431
- icon: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ExternalLink, { size: 14 }),
14870
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ExternalLink, { size: 14 }),
14432
14871
  children: "View Web"
14433
14872
  }
14434
14873
  ),
14435
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "PublishButton", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14874
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "PublishButton", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14436
14875
  Button,
14437
14876
  {
14438
14877
  onClick: () => {
14439
14878
  const data = appStore.getState().state.data;
14440
14879
  onPublish && onPublish(data);
14441
14880
  },
14442
- icon: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Zap, { size: 14, fill: "currentColor" }),
14881
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Zap, { size: 14, fill: "currentColor" }),
14443
14882
  children: "Publish"
14444
14883
  }
14445
14884
  ) })
@@ -14454,7 +14893,7 @@ var HeaderInner = ({
14454
14893
  }
14455
14894
  );
14456
14895
  };
14457
- var Header = (0, import_react94.memo)(HeaderInner);
14896
+ var Header = (0, import_react95.memo)(HeaderInner);
14458
14897
 
14459
14898
  // components/SidebarSection/index.tsx
14460
14899
  init_react_import();
@@ -14481,14 +14920,14 @@ init_lucide_react();
14481
14920
 
14482
14921
  // lib/use-breadcrumbs.ts
14483
14922
  init_react_import();
14484
- var import_react95 = require("react");
14923
+ var import_react96 = require("react");
14485
14924
  init_store2();
14486
14925
  var useBreadcrumbs = (renderCount) => {
14487
14926
  const selectedId = useAppStore((s) => s.selectedItem?.props.id);
14488
14927
  const config = useAppStore((s) => s.config);
14489
14928
  const path = useAppStore((s) => s.state.indexes.nodes[selectedId]?.path);
14490
14929
  const appStore = useAppStoreApi();
14491
- return (0, import_react95.useMemo)(() => {
14930
+ return (0, import_react96.useMemo)(() => {
14492
14931
  const breadcrumbs = path?.map((zoneCompound) => {
14493
14932
  const [componentId] = zoneCompound.split(":");
14494
14933
  if (componentId === "root") {
@@ -14519,7 +14958,7 @@ var useBreadcrumbs = (renderCount) => {
14519
14958
 
14520
14959
  // components/Breadcrumbs/index.tsx
14521
14960
  init_store2();
14522
- var import_jsx_runtime89 = require("react/jsx-runtime");
14961
+ var import_jsx_runtime90 = require("react/jsx-runtime");
14523
14962
  var getClassName35 = get_class_name_factory_default("Breadcrumbs", styles_module_default28);
14524
14963
  var Breadcrumbs = ({
14525
14964
  children,
@@ -14527,9 +14966,9 @@ var Breadcrumbs = ({
14527
14966
  }) => {
14528
14967
  const setUi = useAppStore((s) => s.setUi);
14529
14968
  const breadcrumbs = useBreadcrumbs(numParents);
14530
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName35(), children: [
14531
- breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: getClassName35("breadcrumb"), children: [
14532
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14969
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: getClassName35(), children: [
14970
+ breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: getClassName35("breadcrumb"), children: [
14971
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
14533
14972
  "button",
14534
14973
  {
14535
14974
  type: "button",
@@ -14538,14 +14977,14 @@ var Breadcrumbs = ({
14538
14977
  children: breadcrumb.label
14539
14978
  }
14540
14979
  ),
14541
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ChevronRight, { size: 16 })
14980
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ChevronRight, { size: 16 })
14542
14981
  ] }, i)),
14543
14982
  children
14544
14983
  ] });
14545
14984
  };
14546
14985
 
14547
14986
  // components/SidebarSection/index.tsx
14548
- var import_jsx_runtime90 = require("react/jsx-runtime");
14987
+ var import_jsx_runtime91 = require("react/jsx-runtime");
14549
14988
  var getClassName36 = get_class_name_factory_default("SidebarSection", styles_module_default27);
14550
14989
  var SidebarSection = ({
14551
14990
  children,
@@ -14555,20 +14994,20 @@ var SidebarSection = ({
14555
14994
  noBorderTop,
14556
14995
  isLoading
14557
14996
  }) => {
14558
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: getClassName36({ noBorderTop }), style: { background }, children: [
14559
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: getClassName36("title"), children: /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: getClassName36("breadcrumbs"), children: [
14560
- showBreadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Breadcrumbs, {}),
14561
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: getClassName36("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Heading7, { rank: "2", size: "xs", children: title }) })
14997
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: getClassName36({ noBorderTop }), style: { background }, children: [
14998
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: getClassName36("title"), children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: getClassName36("breadcrumbs"), children: [
14999
+ showBreadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Breadcrumbs, {}),
15000
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: getClassName36("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Heading7, { rank: "2", size: "xs", children: title }) })
14562
15001
  ] }) }),
14563
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: getClassName36("content"), children }),
14564
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: getClassName36("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Loader, { size: 32 }) })
15002
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: getClassName36("content"), children }),
15003
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: getClassName36("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Loader, { size: 32 }) })
14565
15004
  ] });
14566
15005
  };
14567
15006
 
14568
15007
  // components/CredBuild/components/Canvas/index.tsx
14569
15008
  init_react_import();
14570
15009
  init_css_box_model_esm();
14571
- var import_react96 = require("react");
15010
+ var import_react97 = require("react");
14572
15011
  init_store2();
14573
15012
 
14574
15013
  // css-module:/home/runner/work/credbuild/credbuild/components/CredBuild/components/Canvas/styles.module.css#css-module
@@ -14580,7 +15019,7 @@ init_lib();
14580
15019
  init_Loader();
14581
15020
  var import_shallow10 = require("zustand/react/shallow");
14582
15021
  init_default_viewports();
14583
- var import_jsx_runtime91 = require("react/jsx-runtime");
15022
+ var import_jsx_runtime92 = require("react/jsx-runtime");
14584
15023
  var getClassName37 = get_class_name_factory_default("CredBuildCanvas", styles_module_default29);
14585
15024
  var ZOOM_ON_CHANGE = true;
14586
15025
  var TRANSITION_DURATION = 150;
@@ -14614,27 +15053,31 @@ var Canvas = () => {
14614
15053
  rightSideBarVisible,
14615
15054
  leftSideBarWidth,
14616
15055
  rightSideBarWidth,
14617
- viewports
15056
+ viewports,
15057
+ root
14618
15058
  } = useAppStore(
14619
15059
  (0, import_shallow10.useShallow)((s) => ({
14620
15060
  leftSideBarVisible: s.state.ui.leftSideBarVisible,
14621
15061
  rightSideBarVisible: s.state.ui.rightSideBarVisible,
14622
15062
  leftSideBarWidth: s.state.ui.leftSideBarWidth,
14623
15063
  rightSideBarWidth: s.state.ui.rightSideBarWidth,
14624
- viewports: s.state.ui.viewports
15064
+ viewports: s.state.ui.viewports,
15065
+ root: s.state.data.root
14625
15066
  }))
14626
15067
  );
14627
- const [showTransition, setShowTransition] = (0, import_react96.useState)(false);
14628
- const isResizingRef = (0, import_react96.useRef)(false);
14629
- const defaultRender = (0, import_react96.useMemo)(() => {
14630
- const CredBuildDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_jsx_runtime91.Fragment, { children });
15068
+ const isNonFullWidth = viewports.current.width !== "100%";
15069
+ const shouldApplyViewport = true;
15070
+ const [showTransition, setShowTransition] = (0, import_react97.useState)(false);
15071
+ const isResizingRef = (0, import_react97.useRef)(false);
15072
+ const defaultRender = (0, import_react97.useMemo)(() => {
15073
+ const CredBuildDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_jsx_runtime92.Fragment, { children });
14631
15074
  return CredBuildDefault;
14632
15075
  }, []);
14633
- const CustomPreview = (0, import_react96.useMemo)(
15076
+ const CustomPreview = (0, import_react97.useMemo)(
14634
15077
  () => overrides.preview || defaultRender,
14635
15078
  [overrides, defaultRender]
14636
15079
  );
14637
- const getFrameDimensions = (0, import_react96.useCallback)(() => {
15080
+ const getFrameDimensions = (0, import_react97.useCallback)(() => {
14638
15081
  if (frameRef.current) {
14639
15082
  const frame = frameRef.current;
14640
15083
  const box = getBox(frame);
@@ -14642,7 +15085,7 @@ var Canvas = () => {
14642
15085
  }
14643
15086
  return { width: 0, height: 0 };
14644
15087
  }, [frameRef]);
14645
- (0, import_react96.useEffect)(() => {
15088
+ (0, import_react97.useEffect)(() => {
14646
15089
  resetAutoZoom();
14647
15090
  }, [
14648
15091
  frameRef,
@@ -14652,9 +15095,29 @@ var Canvas = () => {
14652
15095
  viewports,
14653
15096
  resetAutoZoom
14654
15097
  ]);
14655
- (0, import_react96.useEffect)(() => {
14656
- const { height: frameHeight } = getFrameDimensions();
14657
- if (viewports.current.height === "auto") {
15098
+ (0, import_react97.useEffect)(() => {
15099
+ const updateRootHeight = () => {
15100
+ const iframeEl = frameRef.current?.querySelector("iframe");
15101
+ if (iframeEl) {
15102
+ try {
15103
+ const doc = iframeEl.contentDocument;
15104
+ if (doc && doc.body) {
15105
+ const contentHeight = doc.body.scrollHeight || doc.documentElement.scrollHeight;
15106
+ if (contentHeight > 0) {
15107
+ const newRootHeight2 = contentHeight;
15108
+ if (zoomConfig.rootHeight !== newRootHeight2) {
15109
+ setZoomConfig({
15110
+ ...zoomConfig,
15111
+ rootHeight: newRootHeight2
15112
+ });
15113
+ }
15114
+ return;
15115
+ }
15116
+ }
15117
+ } catch (e) {
15118
+ }
15119
+ }
15120
+ const { height: frameHeight } = getFrameDimensions();
14658
15121
  const newRootHeight = frameHeight / zoomConfig.zoom;
14659
15122
  if (zoomConfig.rootHeight !== newRootHeight) {
14660
15123
  setZoomConfig({
@@ -14662,20 +15125,36 @@ var Canvas = () => {
14662
15125
  rootHeight: newRootHeight
14663
15126
  });
14664
15127
  }
15128
+ };
15129
+ if (viewports.current.height === "auto") {
15130
+ updateRootHeight();
15131
+ const iframeEl = frameRef.current?.querySelector("iframe");
15132
+ if (iframeEl) {
15133
+ try {
15134
+ const doc = iframeEl.contentDocument;
15135
+ if (doc && doc.body) {
15136
+ const observer = new ResizeObserver(updateRootHeight);
15137
+ observer.observe(doc.body);
15138
+ return () => observer.disconnect();
15139
+ }
15140
+ } catch (e) {
15141
+ }
15142
+ }
14665
15143
  }
14666
15144
  }, [
14667
15145
  zoomConfig.zoom,
14668
15146
  getFrameDimensions,
14669
15147
  setZoomConfig,
14670
15148
  viewports,
14671
- zoomConfig.rootHeight
15149
+ zoomConfig.rootHeight,
15150
+ frameRef
14672
15151
  ]);
14673
- (0, import_react96.useEffect)(() => {
15152
+ (0, import_react97.useEffect)(() => {
14674
15153
  if (ZOOM_ON_CHANGE) {
14675
15154
  resetAutoZoom();
14676
15155
  }
14677
15156
  }, [viewports.current.width, viewports, resetAutoZoom]);
14678
- (0, import_react96.useEffect)(() => {
15157
+ (0, import_react97.useEffect)(() => {
14679
15158
  if (!frameRef.current) return;
14680
15159
  const resizeObserver = new ResizeObserver(() => {
14681
15160
  if (!isResizingRef.current) {
@@ -14687,14 +15166,14 @@ var Canvas = () => {
14687
15166
  resizeObserver.disconnect();
14688
15167
  };
14689
15168
  }, [frameRef, resetAutoZoom]);
14690
- const [showLoader, setShowLoader] = (0, import_react96.useState)(false);
14691
- (0, import_react96.useEffect)(() => {
15169
+ const [showLoader, setShowLoader] = (0, import_react97.useState)(false);
15170
+ (0, import_react97.useEffect)(() => {
14692
15171
  setTimeout(() => {
14693
15172
  setShowLoader(true);
14694
15173
  }, 500);
14695
15174
  }, []);
14696
15175
  const appStoreApi = useAppStoreApi();
14697
- (0, import_react96.useEffect)(() => {
15176
+ (0, import_react97.useEffect)(() => {
14698
15177
  if (typeof window === "undefined") return;
14699
15178
  if (uiProp?.viewports?.current) return;
14700
15179
  const viewportWidth = window.innerWidth;
@@ -14717,7 +15196,7 @@ var Canvas = () => {
14717
15196
  if (closestViewport.width < frameWidth && containsFullWidthViewport) {
14718
15197
  closestViewport = fullWidthViewport;
14719
15198
  }
14720
- if (iframe.enabled) {
15199
+ {
14721
15200
  const s = appStoreApi.getState();
14722
15201
  const appState = {
14723
15202
  state: {
@@ -14748,7 +15227,7 @@ var Canvas = () => {
14748
15227
  uiProp?.viewports,
14749
15228
  frameRef
14750
15229
  ]);
14751
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
15230
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
14752
15231
  "div",
14753
15232
  {
14754
15233
  className: getClassName37({
@@ -14766,18 +15245,18 @@ var Canvas = () => {
14766
15245
  });
14767
15246
  }
14768
15247
  },
14769
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: getClassName37("inner"), ref: frameRef, children: [
14770
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
15248
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: getClassName37("inner"), ref: frameRef, children: [
15249
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
14771
15250
  "div",
14772
15251
  {
14773
15252
  className: getClassName37("root"),
14774
15253
  style: {
14775
- width: iframe.enabled ? viewports.current.width : "100%",
15254
+ width: viewports.current.width || "100%",
14776
15255
  height: !zoomConfig.rootHeight || isNaN(zoomConfig.rootHeight) ? "100%" : zoomConfig.rootHeight,
14777
15256
  minHeight: "100%",
14778
- transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
15257
+ transform: `scale(${zoomConfig.zoom})`,
14779
15258
  transition: showTransition ? `width ${TRANSITION_DURATION}ms ease-out, height ${TRANSITION_DURATION}ms ease-out, transform ${TRANSITION_DURATION}ms ease-out` : "",
14780
- overflow: iframe.enabled ? void 0 : "auto"
15259
+ overflow: isNonFullWidth ? void 0 : "auto"
14781
15260
  },
14782
15261
  suppressHydrationWarning: true,
14783
15262
  id: "credbuild-canvas-root",
@@ -14785,10 +15264,10 @@ var Canvas = () => {
14785
15264
  setShowTransition(false);
14786
15265
  isResizingRef.current = false;
14787
15266
  },
14788
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Preview, {}) })
15267
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Preview, {}) })
14789
15268
  }
14790
15269
  ),
14791
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: getClassName37("loader"), children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Loader, { size: 24 }) })
15270
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassName37("loader"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Loader, { size: 24 }) })
14792
15271
  ] })
14793
15272
  }
14794
15273
  );
@@ -14796,15 +15275,15 @@ var Canvas = () => {
14796
15275
 
14797
15276
  // lib/use-sidebar-resize.ts
14798
15277
  init_react_import();
14799
- var import_react97 = require("react");
15278
+ var import_react98 = require("react");
14800
15279
  init_store2();
14801
15280
  function useSidebarResize(position, dispatch) {
14802
- const [width, setWidth] = (0, import_react97.useState)(null);
14803
- const sidebarRef = (0, import_react97.useRef)(null);
15281
+ const [width, setWidth] = (0, import_react98.useState)(null);
15282
+ const sidebarRef = (0, import_react98.useRef)(null);
14804
15283
  const storeWidth = useAppStore(
14805
15284
  (s) => position === "left" ? s.state.ui.leftSideBarWidth : s.state.ui.rightSideBarWidth
14806
15285
  );
14807
- (0, import_react97.useEffect)(() => {
15286
+ (0, import_react98.useEffect)(() => {
14808
15287
  if (typeof window !== "undefined" && !storeWidth) {
14809
15288
  try {
14810
15289
  const savedWidths = localStorage.getItem("credbuild-sidebar-widths");
@@ -14829,12 +15308,12 @@ function useSidebarResize(position, dispatch) {
14829
15308
  }
14830
15309
  }
14831
15310
  }, [dispatch, position, storeWidth]);
14832
- (0, import_react97.useEffect)(() => {
15311
+ (0, import_react98.useEffect)(() => {
14833
15312
  if (storeWidth !== void 0) {
14834
15313
  setWidth(storeWidth);
14835
15314
  }
14836
15315
  }, [storeWidth]);
14837
- const handleResizeEnd = (0, import_react97.useCallback)(
15316
+ const handleResizeEnd = (0, import_react98.useCallback)(
14838
15317
  (width2) => {
14839
15318
  dispatch({
14840
15319
  type: "setUi",
@@ -14882,7 +15361,7 @@ init_react_import();
14882
15361
 
14883
15362
  // components/CredBuild/components/ResizeHandle/index.tsx
14884
15363
  init_react_import();
14885
- var import_react98 = require("react");
15364
+ var import_react99 = require("react");
14886
15365
  init_get_class_name_factory();
14887
15366
 
14888
15367
  // css-module:/home/runner/work/credbuild/credbuild/components/CredBuild/components/ResizeHandle/styles.module.css#css-module
@@ -14891,7 +15370,7 @@ var styles_module_default30 = { "ResizeHandle": "_ResizeHandle_144bf_2", "Resize
14891
15370
 
14892
15371
  // components/CredBuild/components/ResizeHandle/index.tsx
14893
15372
  init_lib();
14894
- var import_jsx_runtime92 = require("react/jsx-runtime");
15373
+ var import_jsx_runtime93 = require("react/jsx-runtime");
14895
15374
  var getClassName38 = get_class_name_factory_default("ResizeHandle", styles_module_default30);
14896
15375
  var ResizeHandle = ({
14897
15376
  position,
@@ -14901,11 +15380,11 @@ var ResizeHandle = ({
14901
15380
  }) => {
14902
15381
  const { frameRef } = useCanvasFrame();
14903
15382
  const resetAutoZoom = useResetAutoZoom(frameRef);
14904
- const handleRef = (0, import_react98.useRef)(null);
14905
- const isDragging = (0, import_react98.useRef)(false);
14906
- const startX = (0, import_react98.useRef)(0);
14907
- const startWidth = (0, import_react98.useRef)(0);
14908
- const handleMouseMove = (0, import_react98.useCallback)(
15383
+ const handleRef = (0, import_react99.useRef)(null);
15384
+ const isDragging = (0, import_react99.useRef)(false);
15385
+ const startX = (0, import_react99.useRef)(0);
15386
+ const startWidth = (0, import_react99.useRef)(0);
15387
+ const handleMouseMove = (0, import_react99.useCallback)(
14909
15388
  (e) => {
14910
15389
  if (!isDragging.current) return;
14911
15390
  const delta = e.clientX - startX.current;
@@ -14916,7 +15395,7 @@ var ResizeHandle = ({
14916
15395
  },
14917
15396
  [onResize, position]
14918
15397
  );
14919
- const handleMouseUp = (0, import_react98.useCallback)(() => {
15398
+ const handleMouseUp = (0, import_react99.useCallback)(() => {
14920
15399
  if (!isDragging.current) return;
14921
15400
  isDragging.current = false;
14922
15401
  document.body.style.cursor = "";
@@ -14931,7 +15410,7 @@ var ResizeHandle = ({
14931
15410
  onResizeEnd(finalWidth);
14932
15411
  resetAutoZoom();
14933
15412
  }, [onResizeEnd, handleMouseMove, resetAutoZoom, sidebarRef]);
14934
- const handleMouseDown = (0, import_react98.useCallback)(
15413
+ const handleMouseDown = (0, import_react99.useCallback)(
14935
15414
  (e) => {
14936
15415
  isDragging.current = true;
14937
15416
  startX.current = e.clientX;
@@ -14948,7 +15427,7 @@ var ResizeHandle = ({
14948
15427
  },
14949
15428
  [handleMouseMove, handleMouseUp, sidebarRef]
14950
15429
  );
14951
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
15430
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
14952
15431
  "div",
14953
15432
  {
14954
15433
  ref: handleRef,
@@ -14966,7 +15445,7 @@ init_react_import();
14966
15445
  var styles_module_default31 = { "Sidebar": "_Sidebar_1kcif_1", "Sidebar--isVisible": "_Sidebar--isVisible_1kcif_13", "Sidebar--left": "_Sidebar--left_1kcif_17", "Sidebar--right": "_Sidebar--right_1kcif_29", "Sidebar-resizeHandle": "_Sidebar-resizeHandle_1kcif_42" };
14967
15446
 
14968
15447
  // components/CredBuild/components/Sidebar/index.tsx
14969
- var import_jsx_runtime93 = require("react/jsx-runtime");
15448
+ var import_jsx_runtime94 = require("react/jsx-runtime");
14970
15449
  var getClassName39 = get_class_name_factory_default("Sidebar", styles_module_default31);
14971
15450
  var Sidebar = ({
14972
15451
  position,
@@ -14976,8 +15455,8 @@ var Sidebar = ({
14976
15455
  onResizeEnd,
14977
15456
  children
14978
15457
  }) => {
14979
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_jsx_runtime93.Fragment, { children: [
14980
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
15458
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
15459
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
14981
15460
  "div",
14982
15461
  {
14983
15462
  ref: sidebarRef,
@@ -14985,7 +15464,7 @@ var Sidebar = ({
14985
15464
  children
14986
15465
  }
14987
15466
  ),
14988
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: `${getClassName39("resizeHandle")}`, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
15467
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: `${getClassName39("resizeHandle")}`, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
14989
15468
  ResizeHandle,
14990
15469
  {
14991
15470
  position,
@@ -14999,7 +15478,7 @@ var Sidebar = ({
14999
15478
 
15000
15479
  // lib/use-delete-hotkeys.ts
15001
15480
  init_react_import();
15002
- var import_react99 = require("react");
15481
+ var import_react100 = require("react");
15003
15482
  init_use_hotkey();
15004
15483
  init_store2();
15005
15484
  var isElementVisible = (element) => {
@@ -15035,7 +15514,7 @@ var shouldBlockDeleteHotkey = (e) => {
15035
15514
  };
15036
15515
  var useDeleteHotkeys = () => {
15037
15516
  const appStore = useAppStoreApi();
15038
- const deleteSelectedComponent = (0, import_react99.useCallback)(
15517
+ const deleteSelectedComponent = (0, import_react100.useCallback)(
15039
15518
  (e) => {
15040
15519
  if (shouldBlockDeleteHotkey(e)) {
15041
15520
  return false;
@@ -15067,7 +15546,7 @@ var styles_module_default32 = { "Nav": "_Nav_wbh7e_1", "Nav-list": "_Nav-list_wb
15067
15546
 
15068
15547
  // components/CredBuild/components/Nav/index.tsx
15069
15548
  init_lib();
15070
- var import_jsx_runtime94 = require("react/jsx-runtime");
15549
+ var import_jsx_runtime95 = require("react/jsx-runtime");
15071
15550
  var getClassName40 = get_class_name_factory_default("Nav", styles_module_default32);
15072
15551
  var getClassNameItem3 = get_class_name_factory_default("NavItem", styles_module_default32);
15073
15552
  var MenuItem = ({
@@ -15078,7 +15557,7 @@ var MenuItem = ({
15078
15557
  mobileOnly,
15079
15558
  desktopOnly
15080
15559
  }) => {
15081
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
15560
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
15082
15561
  "li",
15083
15562
  {
15084
15563
  className: getClassNameItem3({
@@ -15086,10 +15565,7 @@ var MenuItem = ({
15086
15565
  mobileOnly,
15087
15566
  desktopOnly
15088
15567
  }),
15089
- children: onClick && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: getClassNameItem3("link"), onClick, children: [
15090
- icon && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: getClassNameItem3("linkIcon"), children: icon }),
15091
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: getClassNameItem3("linkLabel"), children: label })
15092
- ] })
15568
+ children: onClick && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: getClassNameItem3("link"), onClick, title: label, children: icon && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: getClassNameItem3("linkIcon"), children: icon }) })
15093
15569
  }
15094
15570
  );
15095
15571
  };
@@ -15097,9 +15573,9 @@ var Nav = ({
15097
15573
  items,
15098
15574
  mobileActions
15099
15575
  }) => {
15100
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("nav", { className: getClassName40(), children: [
15101
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("ul", { className: getClassName40("list"), children: Object.entries(items).map(([key, item]) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(MenuItem, { ...item }, key)) }),
15102
- mobileActions && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: getClassName40("mobileActions"), children: mobileActions })
15576
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("nav", { className: getClassName40(), children: [
15577
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("ul", { className: getClassName40("list"), children: Object.entries(items).map(([key, item]) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(MenuItem, { ...item }, key)) }),
15578
+ mobileActions && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: getClassName40("mobileActions"), children: mobileActions })
15103
15579
  ] });
15104
15580
  };
15105
15581
 
@@ -15113,17 +15589,17 @@ init_lucide_react();
15113
15589
 
15114
15590
  // css-module:/home/runner/work/credbuild/credbuild/plugins/blocks/styles.module.css#css-module
15115
15591
  init_react_import();
15116
- var styles_module_default33 = { "BlocksPlugin": "_BlocksPlugin_1ey1i_1" };
15592
+ var styles_module_default33 = { "BlocksPlugin": "_BlocksPlugin_1q0b2_1" };
15117
15593
 
15118
15594
  // plugins/blocks/index.tsx
15119
15595
  init_lib();
15120
- var import_jsx_runtime95 = require("react/jsx-runtime");
15596
+ var import_jsx_runtime96 = require("react/jsx-runtime");
15121
15597
  var getClassName41 = get_class_name_factory_default("BlocksPlugin", styles_module_default33);
15122
15598
  var blocksPlugin = () => ({
15123
15599
  name: "blocks",
15124
15600
  label: "Blocks",
15125
- render: () => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: getClassName41(), children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Components, {}) }),
15126
- icon: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Shapes, {})
15601
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: getClassName41(), children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Components, {}) }),
15602
+ icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Shapes, {})
15127
15603
  });
15128
15604
 
15129
15605
  // plugins/outline/index.tsx
@@ -15136,13 +15612,13 @@ var styles_module_default34 = { "OutlinePlugin": "_OutlinePlugin_q92j6_1" };
15136
15612
 
15137
15613
  // plugins/outline/index.tsx
15138
15614
  init_lib();
15139
- var import_jsx_runtime96 = require("react/jsx-runtime");
15615
+ var import_jsx_runtime97 = require("react/jsx-runtime");
15140
15616
  var getClassName42 = get_class_name_factory_default("OutlinePlugin", styles_module_default34);
15141
15617
  var outlinePlugin = () => ({
15142
15618
  name: "outline",
15143
15619
  label: "Outline",
15144
- render: () => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: getClassName42(), children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Outline, {}) }),
15145
- icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(List, {})
15620
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: getClassName42(), children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Outline, {}) }),
15621
+ icon: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(List, {})
15146
15622
  });
15147
15623
 
15148
15624
  // plugins/fields/index.tsx
@@ -15156,7 +15632,7 @@ var styles_module_default35 = { "FieldsPlugin": "_FieldsPlugin_6as57_1", "Fields
15156
15632
 
15157
15633
  // plugins/fields/index.tsx
15158
15634
  init_lib();
15159
- var import_jsx_runtime97 = require("react/jsx-runtime");
15635
+ var import_jsx_runtime98 = require("react/jsx-runtime");
15160
15636
  var getClassName43 = get_class_name_factory_default("FieldsPlugin", styles_module_default35);
15161
15637
  var CurrentTitle = () => {
15162
15638
  const label = useAppStore((s) => {
@@ -15168,31 +15644,185 @@ var CurrentTitle = () => {
15168
15644
  var fieldsPlugin = ({ desktopSideBar = "right" } = {}) => ({
15169
15645
  name: "fields",
15170
15646
  label: "Fields",
15171
- render: () => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: getClassName43(), children: [
15172
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: getClassName43("header"), children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Breadcrumbs, { numParents: 2, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(CurrentTitle, {}) }) }),
15173
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Fields, {})
15647
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: getClassName43(), children: [
15648
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: getClassName43("header"), children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Breadcrumbs, { numParents: 2, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(CurrentTitle, {}) }) }),
15649
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Fields, {})
15174
15650
  ] }),
15175
- icon: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(RectangleEllipsis, {}),
15651
+ icon: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(RectangleEllipsis, {}),
15176
15652
  mobileOnly: desktopSideBar === "right"
15177
15653
  });
15178
15654
 
15655
+ // plugins/code/index.tsx
15656
+ init_react_import();
15657
+ init_lucide_react();
15658
+
15659
+ // plugins/code/CodePanel.tsx
15660
+ init_react_import();
15661
+ var import_react101 = require("react");
15662
+ init_store2();
15663
+ init_lucide_react();
15664
+ init_get_class_name_factory();
15665
+
15666
+ // css-module:/home/runner/work/credbuild/credbuild/plugins/code/styles.module.css#css-module
15667
+ init_react_import();
15668
+ var styles_module_default36 = { "CodePlugin": "_CodePlugin_77s8n_1", "CodePanel": "_CodePanel_77s8n_9", "CodePanel-title": "_CodePanel-title_77s8n_18", "CodePanel-textarea": "_CodePanel-textarea_77s8n_27", "CodePanel-optionsSection": "_CodePanel-optionsSection_77s8n_49", "CodePanel-optionTitle": "_CodePanel-optionTitle_77s8n_53", "CodePanel-radioGroup": "_CodePanel-radioGroup_77s8n_62", "CodePanel-radioLabel": "_CodePanel-radioLabel_77s8n_68", "CodePanel-radioInput": "_CodePanel-radioInput_77s8n_77", "CodePanel-button": "_CodePanel-button_77s8n_87", "CodePanel-error": "_CodePanel-error_77s8n_120", "CodePanel-success": "_CodePanel-success_77s8n_131", "CodePanel-promptSection": "_CodePanel-promptSection_77s8n_142", "CodePanel-promptHeader": "_CodePanel-promptHeader_77s8n_148", "CodePanel-promptText": "_CodePanel-promptText_77s8n_155", "CodePanel-copyBtn": "_CodePanel-copyBtn_77s8n_169", "CodePanel-copyBtn--copied": "_CodePanel-copyBtn--copied_77s8n_193" };
15669
+
15670
+ // plugins/code/CodePanel.tsx
15671
+ var import_jsx_runtime99 = require("react/jsx-runtime");
15672
+ var getClassName44 = get_class_name_factory_default("CodePanel", styles_module_default36);
15673
+ var CodePanel = () => {
15674
+ const [copied, setCopied] = (0, import_react101.useState)(false);
15675
+ const dispatch = useAppStore((s) => s.dispatch);
15676
+ const root = useAppStore((s) => s.state.data.root);
15677
+ const rootProps = root?.props || root;
15678
+ const currentMode = rootProps?.mode || "blocks";
15679
+ const aiPrompt = `Buatkan desain landing page lengkap dan premium dengan pendekatan mobile-first, modern, rapi, dan compact (padat & elegan) menggunakan HTML murni dan utilitas kelas Tailwind CSS. Halaman harus memuat struktur lengkap seperti Header/Navigation, Hero Section, Features/Layanan, Testimoni, Call-to-Action (CTA), dan Footer.
15680
+
15681
+ Ketentuan penulisan kode:
15682
+ 1. STRUKTUR BERSIH: Gunakan elemen semantik HTML5 seperti <section>, <header>, atau <div> sebagai wrapper utama per seksi. JANGAN sertakan tag <html>, <body>, <head>, atau <script>.
15683
+ 2. MOBILE-FIRST & RESPONSIF: Desain harus sepenuhnya responsif. Mulai dari layout ponsel (default), lalu gunakan breakpoint (sm:, md:, lg:, xl:) secara terstruktur untuk layar yang lebih besar.
15684
+ 3. ESTETIKA MODERN & PREMIUM: Gunakan skema warna harmonis (misal: warna gelap bernuansa glassmorphism, gradasi halus, border tipis semi-transparan, efek hover mikro interaktif).
15685
+ 4. COMPACT & EFISIEN: Hindari padding/margin berlebih yang membuat halaman kosong melompong. Pastikan konten padat, terbaca dengan baik, dan memiliki rasio grid/flexbox yang rapi.
15686
+ 5. BEBAS JAVASCRIPT: Seluruh interaktivitas dasar (seperti hover, focus, state) harus ditangani murni menggunakan utilitas kelas CSS Tailwind.`;
15687
+ const handleCopyPrompt = () => {
15688
+ navigator.clipboard.writeText(aiPrompt);
15689
+ setCopied(true);
15690
+ setTimeout(() => setCopied(false), 2e3);
15691
+ };
15692
+ const handleActivateHtmlMode = () => {
15693
+ dispatch({
15694
+ type: "setData",
15695
+ data: (currentData) => {
15696
+ return {
15697
+ ...currentData,
15698
+ content: [],
15699
+ root: {
15700
+ ...currentData.root,
15701
+ props: {
15702
+ ...currentData.root?.props,
15703
+ mode: "html",
15704
+ htmlCode: "",
15705
+ htmlViewMode: "code"
15706
+ }
15707
+ }
15708
+ };
15709
+ }
15710
+ });
15711
+ };
15712
+ const handleResetToBlocks = () => {
15713
+ dispatch({
15714
+ type: "setData",
15715
+ data: (currentData) => {
15716
+ return {
15717
+ ...currentData,
15718
+ content: [],
15719
+ root: {
15720
+ ...currentData.root,
15721
+ props: {
15722
+ ...currentData.root?.props,
15723
+ mode: "blocks",
15724
+ htmlCode: "",
15725
+ htmlViewMode: "code"
15726
+ }
15727
+ }
15728
+ };
15729
+ }
15730
+ });
15731
+ };
15732
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44(), children: [
15733
+ currentMode === "html" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 16 }, children: [
15734
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("title"), children: "Tempel Kode HTML" }),
15735
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "p-3 bg-emerald-950/40 border border-emerald-800/40 rounded-lg", children: [
15736
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex items-center gap-2 text-emerald-400 text-xs font-semibold mb-3", children: [
15737
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(CircleCheck, { size: 14, className: "shrink-0" }),
15738
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Mode HTML Aktif pada Kanvas" })
15739
+ ] }),
15740
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("p", { className: "text-[11px] leading-relaxed text-zinc-400 mb-4", children: "Gunakan editor kode langsung yang lapang langsung di area kanvas tengah untuk mengedit kode." }),
15741
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
15742
+ "button",
15743
+ {
15744
+ type: "button",
15745
+ onClick: handleResetToBlocks,
15746
+ className: "w-full px-3 py-2 text-xs font-bold text-zinc-400 hover:text-white bg-zinc-950/50 border border-zinc-900 hover:border-zinc-800 rounded transition-colors cursor-pointer flex items-center justify-center gap-1.5",
15747
+ children: [
15748
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(LayoutGrid, { size: 13 }),
15749
+ "Matikan Mode HTML (Mode Blok)"
15750
+ ]
15751
+ }
15752
+ ) })
15753
+ ] })
15754
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { style: { display: "flex", flexDirection: "column" }, children: [
15755
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("title"), children: "Tempel Kode HTML" }),
15756
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "mb-4 p-3 bg-zinc-900/60 border border-zinc-800/60 rounded-lg text-[11px] leading-relaxed text-zinc-400", children: [
15757
+ "Kanvas saat ini menggunakan ",
15758
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: "Mode Blok Visual" }),
15759
+ ". Klik tombol di bawah untuk beralih ke Mode HTML penuh pada kanvas."
15760
+ ] }),
15761
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
15762
+ "button",
15763
+ {
15764
+ type: "button",
15765
+ onClick: handleActivateHtmlMode,
15766
+ className: "w-full px-4 py-2 border border-zinc-800 rounded-md text-xs font-semibold text-zinc-300 bg-zinc-900 hover:bg-zinc-800 hover:text-white transition-colors cursor-pointer flex items-center justify-center gap-1.5 mb-4",
15767
+ children: [
15768
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Code, { size: 13 }),
15769
+ "Aktifkan Mode HTML"
15770
+ ]
15771
+ }
15772
+ )
15773
+ ] }),
15774
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44("promptSection"), children: [
15775
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44("promptHeader"), children: [
15776
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("optionTitle"), style: { margin: 0 }, children: "Prompt AI Generator" }),
15777
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15778
+ "button",
15779
+ {
15780
+ type: "button",
15781
+ onClick: handleCopyPrompt,
15782
+ className: getClassName44("copyBtn") + (copied ? ` ${styles_module_default36["CodePanel-copyBtn--copied"]}` : ""),
15783
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_jsx_runtime99.Fragment, { children: [
15784
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Check, { size: 11 }),
15785
+ "Tersalin"
15786
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_jsx_runtime99.Fragment, { children: [
15787
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Copy, { size: 11 }),
15788
+ "Salin Prompt"
15789
+ ] })
15790
+ }
15791
+ )
15792
+ ] }),
15793
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("promptText"), children: aiPrompt })
15794
+ ] })
15795
+ ] });
15796
+ };
15797
+
15798
+ // plugins/code/index.tsx
15799
+ init_lib();
15800
+ var import_jsx_runtime100 = require("react/jsx-runtime");
15801
+ var getClassName45 = get_class_name_factory_default("CodePlugin", styles_module_default36);
15802
+ var codePlugin = () => ({
15803
+ name: "code",
15804
+ label: "Code",
15805
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: getClassName45(), children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(CodePanel, {}) }),
15806
+ icon: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Code, { size: 18 })
15807
+ });
15808
+
15179
15809
  // components/CredBuild/components/Layout/index.tsx
15180
- var import_jsx_runtime98 = require("react/jsx-runtime");
15181
- var getClassName44 = get_class_name_factory_default("CredBuild", styles_module_default23);
15810
+ var import_jsx_runtime101 = require("react/jsx-runtime");
15811
+ var getClassName46 = get_class_name_factory_default("CredBuild", styles_module_default23);
15182
15812
  var getLayoutClassName = get_class_name_factory_default("CredBuildLayout", styles_module_default23);
15183
15813
  var getPluginTabClassName = get_class_name_factory_default("CredBuildPluginTab", styles_module_default23);
15184
15814
  var FieldSideBar = () => {
15185
15815
  const title = useAppStore(
15186
15816
  (s) => s.selectedItem ? s.config.components[s.selectedItem.type]?.["label"] ?? s.selectedItem.type.toString() : s.config.root?.label || "Page"
15187
15817
  );
15188
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SidebarSection, { noBorderTop: true, showBreadcrumbs: true, title, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Fields, {}) });
15818
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SidebarSection, { noBorderTop: true, showBreadcrumbs: true, title, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Fields, {}) });
15189
15819
  };
15190
15820
  var PluginTab = ({
15191
15821
  children,
15192
15822
  visible,
15193
15823
  mobileOnly
15194
15824
  }) => {
15195
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: getPluginTabClassName({ visible, mobileOnly }), children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: getPluginTabClassName("body"), children }) });
15825
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: getPluginTabClassName({ visible, mobileOnly }), children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: getPluginTabClassName("body"), children }) });
15196
15826
  };
15197
15827
  var Layout = ({ children }) => {
15198
15828
  const {
@@ -15202,7 +15832,7 @@ var Layout = ({ children }) => {
15202
15832
  plugins,
15203
15833
  height
15204
15834
  } = usePropsContext();
15205
- const iframe = (0, import_react100.useMemo)(
15835
+ const iframe = (0, import_react102.useMemo)(
15206
15836
  () => ({
15207
15837
  enabled: true,
15208
15838
  waitForStyles: true,
@@ -15229,7 +15859,7 @@ var Layout = ({ children }) => {
15229
15859
  sidebarRef: rightSidebarRef,
15230
15860
  handleResizeEnd: handleRightSidebarResizeEnd
15231
15861
  } = useSidebarResize("right", dispatch);
15232
- (0, import_react100.useEffect)(() => {
15862
+ (0, import_react102.useEffect)(() => {
15233
15863
  if (!window.matchMedia("(min-width: 638px)").matches) {
15234
15864
  dispatch({
15235
15865
  type: "setUi",
@@ -15256,13 +15886,13 @@ var Layout = ({ children }) => {
15256
15886
  };
15257
15887
  }, [dispatch]);
15258
15888
  const overrides = useAppStore((s) => s.overrides);
15259
- const CustomCredBuild = (0, import_react100.useMemo)(
15889
+ const CustomCredBuild = (0, import_react102.useMemo)(
15260
15890
  () => overrides.credbuild || DefaultOverride,
15261
15891
  [overrides]
15262
15892
  );
15263
- const [mounted, setMounted] = (0, import_react100.useState)(false);
15264
- const [theme, setTheme] = (0, import_react100.useState)("dark");
15265
- (0, import_react100.useEffect)(() => {
15893
+ const [mounted, setMounted] = (0, import_react102.useState)(false);
15894
+ const [theme, setTheme] = (0, import_react102.useState)("dark");
15895
+ (0, import_react102.useEffect)(() => {
15266
15896
  setMounted(true);
15267
15897
  const savedTheme = localStorage.getItem("credbuild-theme");
15268
15898
  if (savedTheme) {
@@ -15281,7 +15911,7 @@ var Layout = ({ children }) => {
15281
15911
  }, []);
15282
15912
  const ready = useAppStore((s) => s.status === "READY");
15283
15913
  useMonitorHotkeys();
15284
- (0, import_react100.useEffect)(() => {
15914
+ (0, import_react102.useEffect)(() => {
15285
15915
  if (ready && iframe.enabled) {
15286
15916
  const frameDoc = getFrame();
15287
15917
  if (frameDoc) {
@@ -15301,14 +15931,18 @@ var Layout = ({ children }) => {
15301
15931
  const setUi = useAppStore((s) => s.setUi);
15302
15932
  const currentPlugin = useAppStore((s) => s.state.ui.plugin?.current);
15303
15933
  const appStoreApi = useAppStoreApi();
15304
- const [mobilePanelHeightMode, setMobilePanelHeightMode] = (0, import_react100.useState)("toggle");
15305
- const hasLegacySideBarPlugin = (0, import_react100.useMemo)(
15934
+ const [mobilePanelHeightMode, setMobilePanelHeightMode] = (0, import_react102.useState)("toggle");
15935
+ const hasLegacySideBarPlugin = (0, import_react102.useMemo)(
15306
15936
  () => !!plugins?.find((p) => p.name === "legacy-side-bar"),
15307
15937
  [plugins]
15308
15938
  );
15309
- const pluginItems = (0, import_react100.useMemo)(() => {
15939
+ const pluginItems = (0, import_react102.useMemo)(() => {
15310
15940
  const details = {};
15311
- const defaultPlugins = [blocksPlugin(), outlinePlugin()];
15941
+ const defaultPlugins = [
15942
+ blocksPlugin(),
15943
+ outlinePlugin(),
15944
+ codePlugin()
15945
+ ];
15312
15946
  const isLegacy = (plugin) => plugin.name === "legacy-side-bar" ? -1 : 0;
15313
15947
  const combinedPlugins = [
15314
15948
  ...defaultPlugins,
@@ -15324,7 +15958,7 @@ var Layout = ({ children }) => {
15324
15958
  }
15325
15959
  details[plugin.name] = {
15326
15960
  label: plugin.label ?? plugin.name,
15327
- icon: plugin.icon ?? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(ToyBrick, {}),
15961
+ icon: plugin.icon ?? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(ToyBrick, {}),
15328
15962
  onClick: () => {
15329
15963
  setMobilePanelHeightMode(plugin.mobilePanelHeight ?? "toggle");
15330
15964
  if (plugin.name === currentPlugin) {
@@ -15351,7 +15985,7 @@ var Layout = ({ children }) => {
15351
15985
  });
15352
15986
  return details;
15353
15987
  }, [plugins, currentPlugin, leftSideBarVisible, hasLegacySideBarPlugin, setUi]);
15354
- (0, import_react100.useEffect)(() => {
15988
+ (0, import_react102.useEffect)(() => {
15355
15989
  if (!currentPlugin) {
15356
15990
  const names = Object.keys(pluginItems);
15357
15991
  setUi({ plugin: { current: names[0] } });
@@ -15361,17 +15995,17 @@ var Layout = ({ children }) => {
15361
15995
  const mobilePanelExpanded = useAppStore(
15362
15996
  (s) => s.state.ui.mobilePanelExpanded ?? false
15363
15997
  );
15364
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
15998
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
15365
15999
  "div",
15366
16000
  {
15367
- className: `CredBuild ${theme === "dark" ? "dark" : ""} ${getClassName44({
16001
+ className: `CredBuild ${theme === "dark" ? "dark" : ""} ${getClassName46({
15368
16002
  hidePlugins: hasLegacySideBarPlugin
15369
16003
  })}`,
15370
16004
  "data-theme": theme,
15371
16005
  id: instanceId,
15372
16006
  style: { height: typeof height === "number" && isNaN(height) ? void 0 : height },
15373
16007
  children: [
15374
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DragDropContext, { disableAutoScroll: dnd?.disableAutoScroll, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(CustomCredBuild, { children: children || /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(FrameProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
16008
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(DragDropContext, { disableAutoScroll: dnd?.disableAutoScroll, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(CustomCredBuild, { children: children || /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(FrameProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
15375
16009
  "div",
15376
16010
  {
15377
16011
  className: getLayoutClassName({
@@ -15383,14 +16017,14 @@ var Layout = ({ children }) => {
15383
16017
  mobilePanelHeightMinContent: mobilePanelHeightMode === "min-content"
15384
16018
  }),
15385
16019
  style: { height: typeof height === "number" && isNaN(height) ? void 0 : height },
15386
- children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
16020
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
15387
16021
  "div",
15388
16022
  {
15389
16023
  className: getLayoutClassName("inner"),
15390
16024
  style: layoutOptions,
15391
16025
  children: [
15392
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Header, { theme, hidePlugins: hasLegacySideBarPlugin }) }),
15393
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
16026
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Header, { theme, hidePlugins: hasLegacySideBarPlugin }) }),
16027
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
15394
16028
  Sidebar,
15395
16029
  {
15396
16030
  position: "left",
@@ -15399,11 +16033,11 @@ var Layout = ({ children }) => {
15399
16033
  onResize: setLeftWidth,
15400
16034
  onResizeEnd: handleLeftSidebarResizeEnd,
15401
16035
  children: [
15402
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: getLayoutClassName("nav"), children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
16036
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: getLayoutClassName("nav"), children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
15403
16037
  Nav,
15404
16038
  {
15405
16039
  items: pluginItems,
15406
- mobileActions: typeof window !== "undefined" && !window.matchMedia("(min-width: 638px)").matches && leftSideBarVisible && mobilePanelHeightMode === "toggle" && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
16040
+ mobileActions: typeof window !== "undefined" && !window.matchMedia("(min-width: 638px)").matches && leftSideBarVisible && mobilePanelHeightMode === "toggle" && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
15407
16041
  IconButton,
15408
16042
  {
15409
16043
  type: "button",
@@ -15413,18 +16047,18 @@ var Layout = ({ children }) => {
15413
16047
  mobilePanelExpanded: !mobilePanelExpanded
15414
16048
  });
15415
16049
  },
15416
- children: mobilePanelExpanded ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Minimize2, { size: 21 }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Maximize2, { size: 21 })
16050
+ children: mobilePanelExpanded ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Minimize2, { size: 21 }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Maximize2, { size: 21 })
15417
16051
  }
15418
16052
  )
15419
16053
  }
15420
16054
  ) }),
15421
16055
  Object.entries(pluginItems).map(
15422
- ([id, { mobileOnly, render: Render2, label }]) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
16056
+ ([id, { mobileOnly, render: Render2, label }]) => /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
15423
16057
  PluginTab,
15424
16058
  {
15425
16059
  visible: currentPlugin === id,
15426
16060
  mobileOnly,
15427
- children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Render2, {})
16061
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Render2, {})
15428
16062
  },
15429
16063
  id
15430
16064
  )
@@ -15432,8 +16066,8 @@ var Layout = ({ children }) => {
15432
16066
  ]
15433
16067
  }
15434
16068
  ),
15435
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Canvas, {}),
15436
- !hasDesktopFieldsPlugin && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
16069
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Canvas, {}),
16070
+ !hasDesktopFieldsPlugin && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
15437
16071
  Sidebar,
15438
16072
  {
15439
16073
  position: "right",
@@ -15441,7 +16075,7 @@ var Layout = ({ children }) => {
15441
16075
  isVisible: rightSideBarVisible,
15442
16076
  onResize: setRightWidth,
15443
16077
  onResizeEnd: handleRightSidebarResizeEnd,
15444
- children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(FieldSideBar, {})
16078
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(FieldSideBar, {})
15445
16079
  }
15446
16080
  )
15447
16081
  ]
@@ -15449,7 +16083,7 @@ var Layout = ({ children }) => {
15449
16083
  )
15450
16084
  }
15451
16085
  ) }) }) }),
15452
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { id: "credbuild-portal-root", className: getClassName44("portal") })
16086
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { id: "credbuild-portal-root", className: getClassName46("portal") })
15453
16087
  ]
15454
16088
  }
15455
16089
  );
@@ -15457,7 +16091,7 @@ var Layout = ({ children }) => {
15457
16091
 
15458
16092
  // components/CredBuild/index.tsx
15459
16093
  init_use_safe_id();
15460
- var import_jsx_runtime99 = require("react/jsx-runtime");
16094
+ var import_jsx_runtime102 = require("react/jsx-runtime");
15461
16095
  function CredBuildProvider({ children }) {
15462
16096
  const {
15463
16097
  config,
@@ -15476,7 +16110,7 @@ function CredBuildProvider({ children }) {
15476
16110
  _experimentalFullScreenCanvas,
15477
16111
  _experimentalVirtualization
15478
16112
  } = usePropsContext();
15479
- const iframe = (0, import_react101.useMemo)(
16113
+ const iframe = (0, import_react103.useMemo)(
15480
16114
  () => ({
15481
16115
  enabled: true,
15482
16116
  waitForStyles: true,
@@ -15484,7 +16118,7 @@ function CredBuildProvider({ children }) {
15484
16118
  }),
15485
16119
  [_iframe]
15486
16120
  );
15487
- const [generatedAppState] = (0, import_react101.useState)(() => {
16121
+ const [generatedAppState] = (0, import_react103.useState)(() => {
15488
16122
  const initial = { ...defaultAppState.ui, ...initialUi };
15489
16123
  let clientUiState = {};
15490
16124
  if (Object.keys(initialData?.root || {}).length > 0 && !initialData?.root?.props) {
@@ -15531,7 +16165,7 @@ function CredBuildProvider({ children }) {
15531
16165
  return walkAppState(newAppState, config);
15532
16166
  });
15533
16167
  const { appendData = true } = _initialHistory || {};
15534
- const [blendedHistories] = (0, import_react101.useState)(
16168
+ const [blendedHistories] = (0, import_react103.useState)(
15535
16169
  [
15536
16170
  ..._initialHistory?.histories || [],
15537
16171
  ...appendData ? [{ state: generatedAppState }] : []
@@ -15546,7 +16180,7 @@ function CredBuildProvider({ children }) {
15546
16180
  };
15547
16181
  })
15548
16182
  );
15549
- const initialHistoryIndex = (0, import_react101.useMemo)(() => {
16183
+ const initialHistoryIndex = (0, import_react103.useMemo)(() => {
15550
16184
  if (_initialHistory?.index !== void 0 && _initialHistory?.index >= 0 && _initialHistory?.index < blendedHistories.length) {
15551
16185
  return _initialHistory?.index;
15552
16186
  }
@@ -15557,7 +16191,7 @@ function CredBuildProvider({ children }) {
15557
16191
  overrides,
15558
16192
  plugins
15559
16193
  });
15560
- const loadedFieldTransforms = (0, import_react101.useMemo)(() => {
16194
+ const loadedFieldTransforms = (0, import_react103.useMemo)(() => {
15561
16195
  const _plugins = plugins || [];
15562
16196
  const pluginFieldTransforms = _plugins.reduce(
15563
16197
  (acc, plugin) => ({ ...acc, ...plugin.fieldTransforms }),
@@ -15569,7 +16203,7 @@ function CredBuildProvider({ children }) {
15569
16203
  };
15570
16204
  }, [fieldTransforms, plugins]);
15571
16205
  const instanceId = useSafeId();
15572
- const generateAppStore = (0, import_react101.useCallback)(
16206
+ const generateAppStore = (0, import_react103.useCallback)(
15573
16207
  (state) => {
15574
16208
  return {
15575
16209
  instanceId,
@@ -15600,15 +16234,15 @@ function CredBuildProvider({ children }) {
15600
16234
  loadedFieldTransforms
15601
16235
  ]
15602
16236
  );
15603
- const [appStore] = (0, import_react101.useState)(
16237
+ const [appStore] = (0, import_react103.useState)(
15604
16238
  () => createAppStore(generateAppStore(initialAppState))
15605
16239
  );
15606
- (0, import_react101.useEffect)(() => {
16240
+ (0, import_react103.useEffect)(() => {
15607
16241
  if (process.env.NODE_ENV !== "production") {
15608
16242
  window.__CREDBUILD_INTERNAL_DO_NOT_USE = { appStore };
15609
16243
  }
15610
16244
  }, [appStore]);
15611
- (0, import_react101.useEffect)(() => {
16245
+ (0, import_react103.useEffect)(() => {
15612
16246
  const state = appStore.getState().state;
15613
16247
  appStore.setState({
15614
16248
  ...generateAppStore(state)
@@ -15619,8 +16253,8 @@ function CredBuildProvider({ children }) {
15619
16253
  index: initialHistoryIndex,
15620
16254
  initialAppState
15621
16255
  });
15622
- const previousData = (0, import_react101.useRef)(null);
15623
- (0, import_react101.useEffect)(() => {
16256
+ const previousData = (0, import_react103.useRef)(null);
16257
+ (0, import_react103.useEffect)(() => {
15624
16258
  return appStore.subscribe(
15625
16259
  (s) => s.state.data,
15626
16260
  (data) => {
@@ -15634,16 +16268,16 @@ function CredBuildProvider({ children }) {
15634
16268
  }, [onChange, appStore]);
15635
16269
  useRegisterPermissionsSlice(appStore, permissions);
15636
16270
  const uCredBuildStore = useRegisterUseCredBuildStore(appStore);
15637
- (0, import_react101.useEffect)(() => {
16271
+ (0, import_react103.useEffect)(() => {
15638
16272
  const { resolveAndCommitData } = appStore.getState();
15639
16273
  setTimeout(() => {
15640
16274
  resolveAndCommitData();
15641
16275
  }, 0);
15642
16276
  }, [appStore]);
15643
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(appStoreContext.Provider, { value: appStore, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(UseCredBuildStoreContext.Provider, { value: uCredBuildStore, children }) });
16277
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(appStoreContext.Provider, { value: appStore, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(UseCredBuildStoreContext.Provider, { value: uCredBuildStore, children }) });
15644
16278
  }
15645
16279
  function CredBuild(props) {
15646
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(PropsProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(CredBuildProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Layout, { children: props.children }) }) });
16280
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(PropsProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CredBuildProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Layout, { children: props.children }) }) });
15647
16281
  }
15648
16282
  CredBuild.Components = Components;
15649
16283
  CredBuild.Fields = Fields;
@@ -15907,12 +16541,12 @@ init_walk_tree();
15907
16541
 
15908
16542
  // plugins/legacy-side-bar/index.tsx
15909
16543
  init_react_import();
15910
- var import_jsx_runtime100 = require("react/jsx-runtime");
16544
+ var import_jsx_runtime103 = require("react/jsx-runtime");
15911
16545
  var legacySideBarPlugin = () => ({
15912
16546
  name: "legacy-side-bar",
15913
- render: () => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { style: { overflowY: "auto" }, children: [
15914
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Components, {}) }),
15915
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Outline, {}) })
16547
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { style: { overflowY: "auto" }, children: [
16548
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Components, {}) }),
16549
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Outline, {}) })
15916
16550
  ] })
15917
16551
  });
15918
16552
  // Annotate the CommonJS export names for ESM import in node:
@@ -15935,6 +16569,7 @@ var legacySideBarPlugin = () => ({
15935
16569
  Separator,
15936
16570
  SliderField,
15937
16571
  blocksPlugin,
16572
+ codePlugin,
15938
16573
  createUseCredBuild,
15939
16574
  fieldsPlugin,
15940
16575
  legacySideBarPlugin,
@@ -15958,16 +16593,19 @@ lucide-react/dist/esm/createLucideIcon.js:
15958
16593
  lucide-react/dist/esm/icons/bold.js:
15959
16594
  lucide-react/dist/esm/icons/box.js:
15960
16595
  lucide-react/dist/esm/icons/chart-column.js:
16596
+ lucide-react/dist/esm/icons/check.js:
15961
16597
  lucide-react/dist/esm/icons/chevron-down.js:
15962
16598
  lucide-react/dist/esm/icons/chevron-right.js:
15963
16599
  lucide-react/dist/esm/icons/chevron-up.js:
15964
16600
  lucide-react/dist/esm/icons/circle-check-big.js:
16601
+ lucide-react/dist/esm/icons/circle-check.js:
15965
16602
  lucide-react/dist/esm/icons/code.js:
15966
16603
  lucide-react/dist/esm/icons/copy.js:
15967
16604
  lucide-react/dist/esm/icons/corner-left-up.js:
15968
16605
  lucide-react/dist/esm/icons/credit-card.js:
15969
16606
  lucide-react/dist/esm/icons/expand.js:
15970
16607
  lucide-react/dist/esm/icons/external-link.js:
16608
+ lucide-react/dist/esm/icons/eye.js:
15971
16609
  lucide-react/dist/esm/icons/file-text.js:
15972
16610
  lucide-react/dist/esm/icons/grip-vertical.js:
15973
16611
  lucide-react/dist/esm/icons/hash.js: