@templatical/editor 0.16.3 → 0.16.5

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 (139) hide show
  1. package/dist/{AiChatSidebar-EaPCeDXr.js → AiChatSidebar-CYAbVB2G.js} +7 -7
  2. package/dist/{AiFeatureMenu-CcGRd1xE.js → AiFeatureMenu-B1oEJebq.js} +4 -4
  3. package/dist/{BlockIssueBadge-CZYgn-qg.js → BlockIssueBadge-BLytBabN.js} +2 -2
  4. package/dist/{CloudEditor-CUIWUMp5.js → CloudEditor-D6KNL6VU.js} +15 -15
  5. package/dist/{CollaboratorBar-DmxqeBYZ.js → CollaboratorBar-C_EhXQ5R.js} +2 -2
  6. package/dist/{ColorPicker-Gs4BMVog.js → ColorPicker-CppJgX_T.js} +58 -59
  7. package/dist/{CommentsSidebar-DDKiFsSq.js → CommentsSidebar-C_XLBbo3.js} +8 -8
  8. package/dist/{CountdownToolbar-92w1YySJ.js → CountdownToolbar-D5GaA_lt.js} +53 -67
  9. package/dist/{DesignReferenceSidebar-D6TfC176.js → DesignReferenceSidebar-Bh9uAZ4B.js} +5 -5
  10. package/dist/{IssuesPanel-CQQipLQP.js → IssuesPanel-DltSuU6H.js} +5 -5
  11. package/dist/{MergeTagSuggestion-DrT3LiZ4.js → MergeTagSuggestion-jIpT_jmz.js} +7 -5
  12. package/dist/{ModuleBrowserModal-DsehjLvh.js → ModuleBrowserModal-CXy8Bbv9.js} +6 -6
  13. package/dist/{ModulePreviewCanvas-BBfuS8VW.js → ModulePreviewCanvas-CJC9kyZN.js} +1 -1
  14. package/dist/{NumberWithSuffix-BxSRfI8b.js → NumberWithSuffix-DNi-v4l1.js} +1 -1
  15. package/dist/{ParagraphEditor-vgvQxicC.js → ParagraphEditor-nk5Vvr7M.js} +57 -58
  16. package/dist/{RichTextEditorContent-Dza2oPvh.js → RichTextEditorContent-DBaCrvH0.js} +13 -13
  17. package/dist/{SaveModuleDialog-DNWGCHlS.js → SaveModuleDialog-CYu5PhBz.js} +24 -23
  18. package/dist/{SnapshotHistory-BLmnNLg1.js → SnapshotHistory-B38ImqMO.js} +6 -6
  19. package/dist/{TemplateScoringPanel-C8VOC6gn.js → TemplateScoringPanel-ZhObHWeb.js} +10 -10
  20. package/dist/{TestEmailModal-D6v1hgY2.js → TestEmailModal-DbstIzEf.js} +3 -3
  21. package/dist/{TitleEditor-DPdzOQpq.js → TitleEditor-CmfkOHJT.js} +18 -18
  22. package/dist/ToggleSwitch-DUNuUPsZ.js +37 -0
  23. package/dist/{TplModal-DObT0uxf.js → TplModal-BXnx3sLr.js} +4 -4
  24. package/dist/{blockTypeIcons-B9f5fH_5.js → blockTypeIcons-BVIEw0XJ.js} +2 -2
  25. package/dist/bundle-stats.json +6 -6
  26. package/dist/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +2 -1
  27. package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js → AiFeatureMenu-CuIg4yrB.js} +6 -6
  28. package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js.map → AiFeatureMenu-CuIg4yrB.js.map} +1 -1
  29. package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js → BlockIssueBadge-BHEl_Hs7.js} +4 -4
  30. package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js.map → BlockIssueBadge-BHEl_Hs7.js.map} +1 -1
  31. package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js → CloudEditor-1Ms0w691.js} +130 -130
  32. package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js.map → CloudEditor-1Ms0w691.js.map} +1 -1
  33. package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js → CollaboratorBar-C0a5P64z.js} +3 -3
  34. package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js.map → CollaboratorBar-C0a5P64z.js.map} +1 -1
  35. package/dist/cdn/chunks/{ColorPicker-Pi-1fR8c.js → ColorPicker-bsMmT-_B.js} +144 -144
  36. package/dist/cdn/chunks/ColorPicker-bsMmT-_B.js.map +1 -0
  37. package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js → CountdownBlock-8053oz4k.js} +4 -4
  38. package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js.map → CountdownBlock-8053oz4k.js.map} +1 -1
  39. package/dist/cdn/chunks/CountdownToolbar-DQ_zrorh.js +198 -0
  40. package/dist/cdn/chunks/CountdownToolbar-DQ_zrorh.js.map +1 -0
  41. package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js → IssuesPanel-CwQ376nf.js} +7 -7
  42. package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js.map → IssuesPanel-CwQ376nf.js.map} +1 -1
  43. package/dist/cdn/chunks/{MergeTagSuggestion-jesxS7An.js → MergeTagSuggestion-rpZ6Ol-i.js} +8 -6
  44. package/dist/cdn/chunks/MergeTagSuggestion-rpZ6Ol-i.js.map +1 -0
  45. package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js → ModuleBrowserModal-DUegB2Jk.js} +8 -8
  46. package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js.map → ModuleBrowserModal-DUegB2Jk.js.map} +1 -1
  47. package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js → ModulePreviewCanvas-f4h8r9Lh.js} +32 -32
  48. package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js.map → ModulePreviewCanvas-f4h8r9Lh.js.map} +1 -1
  49. package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js → NumberWithSuffix-Bu_nHJuD.js} +2 -2
  50. package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js.map → NumberWithSuffix-Bu_nHJuD.js.map} +1 -1
  51. package/dist/cdn/chunks/{ParagraphEditor-4cMKKC-V.js → ParagraphEditor-IpZsg8qo.js} +75 -75
  52. package/dist/cdn/chunks/ParagraphEditor-IpZsg8qo.js.map +1 -0
  53. package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js → RichTextEditorContent-DDnqZ9cB.js} +6 -6
  54. package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js.map → RichTextEditorContent-DDnqZ9cB.js.map} +1 -1
  55. package/dist/cdn/chunks/{SaveModuleDialog-mr9A4j6G.js → SaveModuleDialog-CVA5HPCi.js} +31 -30
  56. package/dist/cdn/chunks/SaveModuleDialog-CVA5HPCi.js.map +1 -0
  57. package/dist/cdn/chunks/{TitleEditor-Cqw2jvuc.js → TitleEditor-DU8wm0Rh.js} +9 -9
  58. package/dist/cdn/chunks/TitleEditor-DU8wm0Rh.js.map +1 -0
  59. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js +39 -0
  60. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js.map +1 -0
  61. package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js → blockTypeIcons-Dm5Oosjp.js} +7 -7
  62. package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js.map → blockTypeIcons-Dm5Oosjp.js.map} +1 -1
  63. package/dist/cdn/chunks/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +3 -2
  64. package/dist/cdn/chunks/ca-DI1ViqMa.js.map +1 -0
  65. package/dist/cdn/chunks/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +3 -2
  66. package/dist/cdn/chunks/de-q9lTCMre.js.map +1 -0
  67. package/dist/cdn/chunks/{en-Bu-zS_5o.js → en-CR4LItrX.js} +3 -2
  68. package/dist/cdn/chunks/en-CR4LItrX.js.map +1 -0
  69. package/dist/cdn/chunks/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +3 -2
  70. package/dist/cdn/chunks/es-CEt-lrGd.js.map +1 -0
  71. package/dist/cdn/chunks/{extensions-Btyx_IMf.js → extensions-BGUoo2a5.js} +29 -29
  72. package/dist/cdn/chunks/{extensions-Btyx_IMf.js.map → extensions-BGUoo2a5.js.map} +1 -1
  73. package/dist/cdn/chunks/{features-Dwb5aTLg.js → features-BSpDuFFR.js} +145 -126
  74. package/dist/cdn/chunks/features-BSpDuFFR.js.map +1 -0
  75. package/dist/cdn/chunks/{icons-Dhqh5lYQ.js → icons-k3XVoRvc.js} +26 -26
  76. package/dist/cdn/chunks/{icons-Dhqh5lYQ.js.map → icons-k3XVoRvc.js.map} +1 -1
  77. package/dist/cdn/chunks/{media-library-DRodsf2D.js → media-library-iDq3otm6.js} +451 -451
  78. package/dist/cdn/chunks/{media-library-DRodsf2D.js.map → media-library-iDq3otm6.js.map} +1 -1
  79. package/dist/cdn/chunks/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +3 -2
  80. package/dist/cdn/chunks/pt-BR-DvBHY0AA.js.map +1 -0
  81. package/dist/cdn/chunks/{quality-A_V2Iqu_.js → quality-Bb7vN32U.js} +512 -512
  82. package/dist/cdn/chunks/{quality-A_V2Iqu_.js.map → quality-Bb7vN32U.js.map} +1 -1
  83. package/dist/cdn/chunks/{renderer-BM_-zceB.js → renderer-cOvtk8HM.js} +20 -17
  84. package/dist/cdn/chunks/{renderer-BM_-zceB.js.map → renderer-cOvtk8HM.js.map} +1 -1
  85. package/dist/cdn/chunks/{src-DSomxPI-.js → src-Ddp969zE.js} +6 -6
  86. package/dist/cdn/chunks/{src-DSomxPI-.js.map → src-Ddp969zE.js.map} +1 -1
  87. package/dist/cdn/chunks/{styles--UXn88wH.js → styles-CW_gRVVR.js} +893 -891
  88. package/dist/cdn/chunks/styles-CW_gRVVR.js.map +1 -0
  89. package/dist/cdn/editor.css +1 -1
  90. package/dist/cdn/editor.js +51 -51
  91. package/dist/cdn/editor.js.map +1 -1
  92. package/dist/{check-D1zYtCPK.js → check-Cg6Mc2pP.js} +1 -1
  93. package/dist/{chevron-down-ByXpufZD.js → chevron-down-dClfxKrJ.js} +1 -1
  94. package/dist/{circle-alert-CjcAORUw.js → circle-alert-Bhzm-fNA.js} +1 -1
  95. package/dist/{clock-5lWLadUn.js → clock-m7TwQw4b.js} +1 -1
  96. package/dist/{createLucideIcon-Bh9xOmlW.js → createLucideIcon-FSF4peHQ.js} +2 -2
  97. package/dist/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +2 -1
  98. package/dist/{en-Bu-zS_5o.js → en-CR4LItrX.js} +2 -1
  99. package/dist/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +2 -1
  100. package/dist/{extensions-B2poxDIo.js → extensions-Cjd-VAII.js} +1 -1
  101. package/dist/{image-up-Bj_nes3f.js → image-up-CDEgJqwA.js} +1 -1
  102. package/dist/index.d.ts +12 -0
  103. package/dist/{info-BhSQCxBV.js → info-BNP8yGsK.js} +1 -1
  104. package/dist/{list-checks-CgxyUg7i.js → list-checks-jepi4iYr.js} +1 -1
  105. package/dist/{loader-circle-DFU0HPAa.js → loader-circle-BT38qSm3.js} +1 -1
  106. package/dist/{message-circle-BEBsCHnk.js → message-circle-BAHcL9S-.js} +1 -1
  107. package/dist/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +2 -1
  108. package/dist/{refresh-cw--lvWGy0_.js → refresh-cw-as5Bmg4X.js} +1 -1
  109. package/dist/{scan-line-QgyDIgn_.js → scan-line-IAMjPtRw.js} +1 -1
  110. package/dist/{send-BMyisUim.js → send-DvMay6bt.js} +1 -1
  111. package/dist/{shield-check-C49M20le.js → shield-check-YYDhGroE.js} +1 -1
  112. package/dist/{sparkles-DV7Dman6.js → sparkles-CCwQMMMZ.js} +1 -1
  113. package/dist/style.css +1 -1
  114. package/dist/{styles-CPt6RYEc.js → styles-DJfTblY7.js} +764 -762
  115. package/dist/templatical-editor.js +9 -9
  116. package/dist/{text-align-start-BMU70uAm.js → text-align-start-BwsA6QzC.js} +11 -11
  117. package/dist/{trash-2-B6M659Ey.js → trash-2-CRBDolnR.js} +1 -1
  118. package/dist/{triangle-alert-D1lzx6ds.js → triangle-alert-B2g0ALvq.js} +1 -1
  119. package/dist/{upload-3A1oZtOR.js → upload-BKg6hDRW.js} +1 -1
  120. package/dist/{useEditorCore-CSfeEwCj.js → useEditorCore-DnOG2a_b.js} +656 -656
  121. package/dist/usePopoverPosition-B3Byo68F.js +281 -0
  122. package/dist/{x-CG_NV3nP.js → x-Ctg_250T.js} +1 -1
  123. package/package.json +8 -8
  124. package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js.map +0 -1
  125. package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js +0 -212
  126. package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js.map +0 -1
  127. package/dist/cdn/chunks/MergeTagSuggestion-jesxS7An.js.map +0 -1
  128. package/dist/cdn/chunks/ParagraphEditor-4cMKKC-V.js.map +0 -1
  129. package/dist/cdn/chunks/SaveModuleDialog-mr9A4j6G.js.map +0 -1
  130. package/dist/cdn/chunks/TitleEditor-Cqw2jvuc.js.map +0 -1
  131. package/dist/cdn/chunks/ca-B3eR47lE.js.map +0 -1
  132. package/dist/cdn/chunks/de-Cy8FB-Ii.js.map +0 -1
  133. package/dist/cdn/chunks/en-Bu-zS_5o.js.map +0 -1
  134. package/dist/cdn/chunks/es-CD3ZD6hK.js.map +0 -1
  135. package/dist/cdn/chunks/features-Dwb5aTLg.js.map +0 -1
  136. package/dist/cdn/chunks/pt-BR-CgICL-CQ.js.map +0 -1
  137. package/dist/cdn/chunks/styles--UXn88wH.js.map +0 -1
  138. package/dist/color-DhoxCSMv.js +0 -259
  139. package/dist/usePopoverRoot-C1j0D7cc.js +0 -8
@@ -1564,7 +1564,7 @@ function Cr(e) {
1564
1564
  o || l();
1565
1565
  async function l() {
1566
1566
  try {
1567
- let t = await import("./quality-A_V2Iqu_.js").then((e) => e.t);
1567
+ let t = await import("./quality-Bb7vN32U.js").then((e) => e.t);
1568
1568
  if (c) return;
1569
1569
  a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = fn(e.content, u, {
1570
1570
  debounce: e.debounce ?? 500,
@@ -2048,7 +2048,7 @@ function Qr() {
2048
2048
  return v(Zr, {});
2049
2049
  }
2050
2050
  //#endregion
2051
- //#region ../../node_modules/.pnpm/@lucide+vue@1.24.0_vue@3.5.40_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
2051
+ //#region ../../node_modules/.pnpm/@lucide+vue@1.25.0_vue@3.5.40_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
2052
2052
  var $r = ({ name: e, iconNode: t, "icon-node": n, absoluteStrokeWidth: r, "absolute-stroke-width": i, strokeWidth: o, "stroke-width": s, size: c, color: l, ...u }, { slots: d }) => {
2053
2053
  let { size: f, color: p, strokeWidth: m = 2, absoluteStrokeWidth: h = !1, class: g = "" } = Qr(), _ = O(() => {
2054
2054
  let e = Gr(r) || Gr(i) || r === !0 || i === !0 || h === !0, t = o || s || m || Xr["stroke-width"];
@@ -3415,7 +3415,31 @@ var za = {
3415
3415
  })
3416
3416
  }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", $a, [V(j(Ci), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3417
3417
  }
3418
- }), to = /* @__PURE__ */ new Set([
3418
+ });
3419
+ //#endregion
3420
+ //#region src/composables/usePopoverRoot.ts
3421
+ function to() {
3422
+ return v(pr, C(null));
3423
+ }
3424
+ //#endregion
3425
+ //#region src/composables/usePopoverPosition.ts
3426
+ function no() {
3427
+ let e = to();
3428
+ function t(t) {
3429
+ let n = e.value?.getBoundingClientRect();
3430
+ return n ? {
3431
+ top: t.top - n.top,
3432
+ left: t.left - n.left
3433
+ } : {
3434
+ top: t.top,
3435
+ left: t.left
3436
+ };
3437
+ }
3438
+ return { toLocal: t };
3439
+ }
3440
+ //#endregion
3441
+ //#region src/utils/sanitizeRichTextHtml.ts
3442
+ var ro = /* @__PURE__ */ new Set([
3419
3443
  "http",
3420
3444
  "https",
3421
3445
  "mailto",
@@ -3425,7 +3449,7 @@ var za = {
3425
3449
  "sms",
3426
3450
  "xmpp",
3427
3451
  "cid"
3428
- ]), no = /* @__PURE__ */ new Set([
3452
+ ]), io = /* @__PURE__ */ new Set([
3429
3453
  "SCRIPT",
3430
3454
  "STYLE",
3431
3455
  "IFRAME",
@@ -3435,7 +3459,7 @@ var za = {
3435
3459
  "META",
3436
3460
  "BASE",
3437
3461
  "FORM"
3438
- ]), ro = /* @__PURE__ */ new Set([
3462
+ ]), ao = /* @__PURE__ */ new Set([
3439
3463
  "href",
3440
3464
  "xlink:href",
3441
3465
  "formaction",
@@ -3444,16 +3468,16 @@ var za = {
3444
3468
  "background",
3445
3469
  "poster"
3446
3470
  ]);
3447
- function io(e, t) {
3471
+ function oo(e, t) {
3448
3472
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
3449
3473
  if (!n || n.startsWith("#")) return !0;
3450
3474
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
3451
3475
  if (!r) return !0;
3452
3476
  let i = r[1].toLowerCase();
3453
- return to.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3477
+ return ro.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3454
3478
  }
3455
- function ao(e) {
3456
- if (no.has(e.tagName)) {
3479
+ function so(e) {
3480
+ if (io.has(e.tagName)) {
3457
3481
  e.remove();
3458
3482
  return;
3459
3483
  }
@@ -3465,57 +3489,57 @@ function ao(e) {
3465
3489
  e.removeAttribute(n);
3466
3490
  continue;
3467
3491
  }
3468
- if (ro.has(t)) {
3469
- io(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3492
+ if (ao.has(t)) {
3493
+ oo(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3470
3494
  continue;
3471
3495
  }
3472
3496
  if (t === "src") {
3473
- io(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3497
+ oo(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3474
3498
  continue;
3475
3499
  }
3476
3500
  t === "srcdoc" && e.removeAttribute(n);
3477
3501
  }
3478
3502
  let n = Array.from(e.children);
3479
- for (let e of n) ao(e);
3503
+ for (let e of n) so(e);
3480
3504
  }
3481
- function oo(e) {
3505
+ function co(e) {
3482
3506
  if (typeof DOMParser > "u") return e;
3483
3507
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
3484
- for (let e of n) ao(e);
3508
+ for (let e of n) so(e);
3485
3509
  return t.innerHTML;
3486
3510
  }
3487
3511
  //#endregion
3488
3512
  //#region src/composables/useEditableTextBlock.ts
3489
- function so(e) {
3490
- let t = v(Zn, []), { syntax: n } = na(), r = O(() => oo(wt(bt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = kn(a), c = O(() => ({
3513
+ function lo(e) {
3514
+ let t = v(Zn, []), { syntax: n } = na(), r = O(() => co(wt(bt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = kn(a), { toLocal: c } = no(), l = O(() => c({
3491
3515
  top: o.value - 8,
3492
3516
  left: s.value
3493
3517
  }));
3494
- function l() {
3518
+ function u() {
3495
3519
  i.value = !0;
3496
3520
  }
3497
- function u() {
3521
+ function d() {
3498
3522
  i.value = !1;
3499
3523
  }
3500
3524
  return {
3501
3525
  isEditing: i,
3502
3526
  blockRef: a,
3503
- toolbarPosition: c,
3527
+ toolbarPosition: l,
3504
3528
  resolvedContent: r,
3505
- handleDoubleClick: l,
3506
- handleEditorDone: u
3529
+ handleDoubleClick: u,
3530
+ handleEditorDone: d
3507
3531
  };
3508
3532
  }
3509
3533
  //#endregion
3510
3534
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
3511
- var co = ["innerHTML"], lo = /* @__PURE__ */ B({
3535
+ var uo = ["innerHTML"], fo = /* @__PURE__ */ B({
3512
3536
  __name: "ParagraphBlock",
3513
3537
  props: {
3514
3538
  block: {},
3515
3539
  viewport: {}
3516
3540
  },
3517
3541
  setup(e) {
3518
- let t = e, n = T(() => import("./ParagraphEditor-4cMKKC-V.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content);
3542
+ let t = e, n = T(() => import("./ParagraphEditor-IpZsg8qo.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = lo(() => t.block.content);
3519
3543
  return (t, l) => (f(), k("div", {
3520
3544
  ref_key: "blockRef",
3521
3545
  ref: i,
@@ -3534,46 +3558,46 @@ var co = ["innerHTML"], lo = /* @__PURE__ */ B({
3534
3558
  key: 1,
3535
3559
  class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
3536
3560
  innerHTML: j(o)
3537
- }, null, 8, co))], 544));
3561
+ }, null, 8, uo))], 544));
3538
3562
  }
3539
3563
  });
3540
3564
  //#endregion
3541
3565
  //#region src/utils/blockComponentResolver.ts
3542
- function uo(e, t, n) {
3566
+ function po(e, t, n) {
3543
3567
  if (t) {
3544
3568
  let n = t.getComponent(e);
3545
3569
  if (n) return n;
3546
3570
  }
3547
3571
  return n[e.type] ?? null;
3548
3572
  }
3549
- function fo(e) {
3573
+ function mo(e) {
3550
3574
  let { padding: t, backgroundColor: n } = e.styles, r = {
3551
3575
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
3552
3576
  backgroundColor: n || "transparent"
3553
3577
  };
3554
3578
  return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
3555
3579
  }
3556
- function po(e) {
3580
+ function ho(e) {
3557
3581
  if (e.type !== "section" || !e.wrapper) return null;
3558
3582
  let t = e.wrapper, n = {};
3559
3583
  return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
3560
3584
  }
3561
3585
  //#endregion
3562
3586
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
3563
- var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3587
+ var go = ["data-block-id", "data-block-type"], _o = ["aria-label"], vo = [
3564
3588
  "aria-label",
3565
3589
  "aria-pressed",
3566
3590
  "title"
3567
- ], _o = ["aria-label", "title"], vo = ["aria-label", "title"], yo = ["aria-label", "title"], bo = {
3591
+ ], yo = ["aria-label", "title"], bo = ["aria-label", "title"], xo = ["aria-label", "title"], So = {
3568
3592
  key: 1,
3569
3593
  class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
3570
- }, xo = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, So = {
3594
+ }, Co = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, wo = {
3571
3595
  key: 2,
3572
3596
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
3573
- }, Co = ["aria-label", "title"], wo = {
3597
+ }, To = ["aria-label", "title"], Eo = {
3574
3598
  key: 3,
3575
3599
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
3576
- }, To = ["aria-label"], Eo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
3600
+ }, Do = ["aria-label"], Oo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
3577
3601
  __name: "BlockWrapper",
3578
3602
  props: {
3579
3603
  block: {},
@@ -3583,7 +3607,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3583
3607
  },
3584
3608
  emits: ["select"],
3585
3609
  setup(e, { emit: t }) {
3586
- let n = T(() => import("./BlockIssueBadge-BAa_dI-c.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3610
+ let n = T(() => import("./BlockIssueBadge-BHEl_Hs7.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3587
3611
  async function p() {
3588
3612
  await m(), l.value?.focus();
3589
3613
  }
@@ -3610,12 +3634,12 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3610
3634
  desktop: a.viewport.desktop,
3611
3635
  mobile: a.viewport.mobile
3612
3636
  }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Vn, null), S = v(Hn, null), w = v(lr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3613
- let e = fo(r.block), t = {
3637
+ let e = mo(r.block), t = {
3614
3638
  padding: e.padding,
3615
3639
  backgroundColor: e.backgroundColor
3616
3640
  };
3617
3641
  return e.borderRadius && (t.borderRadius = e.borderRadius), t;
3618
- }), ne = O(() => po(r.block));
3642
+ }), ne = O(() => ho(r.block));
3619
3643
  function re(e) {
3620
3644
  r.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), i("select"));
3621
3645
  }
@@ -3661,7 +3685,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3661
3685
  }, [V(j(_i), {
3662
3686
  size: 14,
3663
3687
  "stroke-width": 1.5
3664
- })], 40, go),
3688
+ })], 40, vo),
3665
3689
  I("button", {
3666
3690
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3667
3691
  "aria-label": j(a).blockActions.duplicate,
@@ -3670,7 +3694,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3670
3694
  }, [V(j(di), {
3671
3695
  size: 14,
3672
3696
  "stroke-width": 1.5
3673
- })], 8, _o),
3697
+ })], 8, yo),
3674
3698
  ee.value ? (f(), k("button", {
3675
3699
  key: 0,
3676
3700
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
@@ -3680,7 +3704,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3680
3704
  }, [V(j(ei), {
3681
3705
  size: 14,
3682
3706
  "stroke-width": 1.5
3683
- })], 8, vo)) : A("", !0),
3707
+ })], 8, bo)) : A("", !0),
3684
3708
  I("button", {
3685
3709
  class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3686
3710
  "aria-label": j(a).blockActions.delete,
@@ -3689,13 +3713,13 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3689
3713
  }, [V(j(Fi), {
3690
3714
  size: 14,
3691
3715
  "stroke-width": 1.5
3692
- })], 8, yo)
3693
- ], 8, ho)) : A("", !0),
3694
- g.value ? (f(), k("div", bo, [I("span", xo, [V(j(fi), {
3716
+ })], 8, xo)
3717
+ ], 8, _o)) : A("", !0),
3718
+ g.value ? (f(), k("div", So, [I("span", Co, [V(j(fi), {
3695
3719
  size: 12,
3696
3720
  "stroke-width": 1.5
3697
3721
  }), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
3698
- b.value && !g.value ? (f(), k("div", So, [I("button", {
3722
+ b.value && !g.value ? (f(), k("div", wo, [I("button", {
3699
3723
  class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
3700
3724
  "aria-label": j(a).blockActions.conditionToggle,
3701
3725
  title: e.block.displayCondition?.label,
@@ -3703,15 +3727,15 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3703
3727
  }, [V(j(gi), {
3704
3728
  size: 12,
3705
3729
  "stroke-width": 2
3706
- })], 8, Co)])) : A("", !0),
3707
- E.value > 0 && !g.value ? (f(), k("div", wo, [I("button", {
3730
+ })], 8, To)])) : A("", !0),
3731
+ E.value > 0 && !g.value ? (f(), k("div", Eo, [I("button", {
3708
3732
  class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
3709
3733
  "aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
3710
3734
  onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
3711
3735
  }, [V(j(Si), {
3712
3736
  size: 12,
3713
3737
  "stroke-width": 2.5
3714
- }), z(" " + D(E.value), 1)], 8, To)])) : A("", !0),
3738
+ }), z(" " + D(E.value), 1)], 8, Do)])) : A("", !0),
3715
3739
  ne.value ? (f(), k("div", {
3716
3740
  key: 4,
3717
3741
  class: "tpl-section-wrapper",
@@ -3724,31 +3748,31 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3724
3748
  class: "tpl-block-content",
3725
3749
  style: L(te.value)
3726
3750
  }, [o(t.$slots, "default", {}, void 0, !0)], 4))
3727
- ], 10, mo));
3751
+ ], 10, go));
3728
3752
  }
3729
3753
  }), [["__scopeId", "data-v-7d9e7893"]]);
3730
3754
  //#endregion
3731
3755
  //#region src/utils/unwrapParagraph.ts
3732
- function Do(e) {
3756
+ function ko(e) {
3733
3757
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
3734
3758
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
3735
3759
  }
3736
3760
  //#endregion
3737
3761
  //#region src/components/blocks/TitleBlock.vue
3738
- var Oo = /* @__PURE__ */ B({
3762
+ var Ao = /* @__PURE__ */ B({
3739
3763
  __name: "TitleBlock",
3740
3764
  props: {
3741
3765
  block: {},
3742
3766
  viewport: {}
3743
3767
  },
3744
3768
  setup(e) {
3745
- let t = e, n = T(() => import("./TitleEditor-Cqw2jvuc.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content), l = O(() => {
3769
+ let t = e, n = T(() => import("./TitleEditor-DU8wm0Rh.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = lo(() => t.block.content), l = O(() => {
3746
3770
  let e = {
3747
3771
  fontSize: `${pe[t.block.level]}px`,
3748
3772
  textAlign: t.block.textAlign
3749
3773
  };
3750
3774
  return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3751
- }), u = O(() => `h${t.block.level}`), p = O(() => Do(o.value));
3775
+ }), u = O(() => `h${t.block.level}`), p = O(() => ko(o.value));
3752
3776
  return (t, o) => (f(), k("div", {
3753
3777
  ref_key: "blockRef",
3754
3778
  ref: i,
@@ -3774,16 +3798,16 @@ var Oo = /* @__PURE__ */ B({
3774
3798
  });
3775
3799
  //#endregion
3776
3800
  //#region src/utils/sectionColumnDrop.ts
3777
- function ko(e) {
3801
+ function jo(e) {
3778
3802
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
3779
3803
  }
3780
3804
  //#endregion
3781
3805
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
3782
- var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3806
+ var Mo = { class: "tpl:w-full" }, No = {
3783
3807
  key: 0,
3784
3808
  "data-testid": "section-drop-hint",
3785
3809
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
3786
- }, No = /* @__PURE__ */ B({
3810
+ }, Po = /* @__PURE__ */ B({
3787
3811
  __name: "SectionBlock",
3788
3812
  props: {
3789
3813
  block: {},
@@ -3791,8 +3815,8 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3791
3815
  },
3792
3816
  setup(e) {
3793
3817
  let t = {
3794
- title: Oo,
3795
- paragraph: lo,
3818
+ title: Ao,
3819
+ paragraph: fo,
3796
3820
  image: Xa,
3797
3821
  button: Wr,
3798
3822
  divider: Aa,
@@ -3813,34 +3837,34 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3813
3837
  let e = s.value.length, t = [...n.block.children];
3814
3838
  for (; t.length < e;) t.push([]);
3815
3839
  return t.slice(0, e);
3816
- });
3817
- function u(e) {
3840
+ }), u = O(() => n.viewport === "mobile" && n.block.stackOnMobile !== !1);
3841
+ function p(e) {
3818
3842
  return l.value[e] || [];
3819
3843
  }
3820
- function p(e, t) {
3844
+ function m(e, t) {
3821
3845
  let r = t.map((e) => JSON.parse(JSON.stringify(e))), a = [...n.block.children];
3822
3846
  for (; a.length <= e;) a.push([]);
3823
3847
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3824
3848
  }
3825
- function m(e) {
3826
- return uo(e, o, t);
3849
+ function g(e) {
3850
+ return po(e, o, t);
3827
3851
  }
3828
- function g(e, t) {
3852
+ function _(e, t) {
3829
3853
  e.type === "custom" && i.updateBlock(e.id, {
3830
3854
  fieldValues: t.fieldValues,
3831
3855
  dataSourceFetched: t.dataSourceFetched
3832
3856
  });
3833
3857
  }
3834
- return (t, n) => (f(), k("div", Ao, [I("div", jo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3858
+ return (t, n) => (f(), k("div", Mo, [I("div", { class: F(["tpl:flex tpl:gap-0", { "tpl:flex-col": u.value }]) }, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3835
3859
  key: n,
3836
- class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3837
- style: L({ width: s.value[n] })
3860
+ class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", p(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3861
+ style: L({ width: u.value ? "100%" : s.value[n] })
3838
3862
  }, [V(j(ce), {
3839
- "model-value": u(n),
3863
+ "model-value": p(n),
3840
3864
  group: {
3841
3865
  name: "blocks",
3842
3866
  pull: !0,
3843
- put: (e, t, n) => j(ko)(n)
3867
+ put: (e, t, n) => j(jo)(n)
3844
3868
  },
3845
3869
  animation: 150,
3846
3870
  "ghost-class": "tpl-ghost",
@@ -3851,19 +3875,19 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3851
3875
  "empty-insert-threshold": 20,
3852
3876
  "force-fallback": !0,
3853
3877
  class: "tpl:min-h-[60px]",
3854
- "onUpdate:modelValue": (e) => p(n, e)
3878
+ "onUpdate:modelValue": (e) => m(n, e)
3855
3879
  }, {
3856
- default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(Eo, {
3880
+ default: b(() => [(f(!0), k(R, null, h(p(n), (t) => c((f(), k("div", { key: t.id }, [V(Oo, {
3857
3881
  block: t,
3858
3882
  "is-selected": j(i).state.selectedBlockId === t.id,
3859
3883
  viewport: e.viewport,
3860
3884
  "preview-mode": j(i).state.previewMode,
3861
3885
  onSelect: (e) => j(i).selectBlock(t.id)
3862
3886
  }, {
3863
- default: b(() => [(f(), N(d(m(t)), {
3887
+ default: b(() => [(f(), N(d(g(t)), {
3864
3888
  block: t,
3865
3889
  viewport: e.viewport,
3866
- onFetchData: (e) => g(t, e),
3890
+ onFetchData: (e) => _(t, e),
3867
3891
  onUpdate: (e) => j(i).updateBlock(t.id, e)
3868
3892
  }, null, 40, [
3869
3893
  "block",
@@ -3884,13 +3908,13 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3884
3908
  "model-value",
3885
3909
  "group",
3886
3910
  "onUpdate:modelValue"
3887
- ]), u(n).length === 0 ? (f(), k("div", Mo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3911
+ ]), p(n).length === 0 ? (f(), k("div", No, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))], 2)]));
3888
3912
  }
3889
- }), Po = me, Fo = {
3913
+ }), Fo = me, Io = {
3890
3914
  small: 24,
3891
3915
  medium: 32,
3892
3916
  large: 48
3893
- }, Io = [
3917
+ }, Lo = [
3894
3918
  "facebook",
3895
3919
  "twitter",
3896
3920
  "instagram",
@@ -3908,11 +3932,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3908
3932
  "github",
3909
3933
  "dribbble",
3910
3934
  "behance"
3911
- ], Lo = [
3935
+ ], Ro = [
3912
3936
  "width",
3913
3937
  "height",
3914
3938
  "fill"
3915
- ], Ro = ["d"], zo = /* @__PURE__ */ B({
3939
+ ], zo = ["d"], Bo = /* @__PURE__ */ B({
3916
3940
  __name: "SocialIconSvg",
3917
3941
  props: {
3918
3942
  platform: {},
@@ -3920,7 +3944,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3920
3944
  iconSize: {}
3921
3945
  },
3922
3946
  setup(e) {
3923
- let t = e, n = O(() => Po[t.platform]), r = O(() => Fo[t.iconSize]), i = O(() => {
3947
+ let t = e, n = O(() => Fo[t.platform]), r = O(() => Io[t.iconSize]), i = O(() => {
3924
3948
  let e = {
3925
3949
  display: "inline-flex",
3926
3950
  alignItems: "center",
@@ -3964,12 +3988,12 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3964
3988
  viewBox: "0 0 24 24",
3965
3989
  fill: o.value,
3966
3990
  xmlns: "http://www.w3.org/2000/svg"
3967
- }, [I("path", { d: n.value.path }, null, 8, Ro)], 8, Lo))], 4));
3991
+ }, [I("path", { d: n.value.path }, null, 8, zo)], 8, Ro))], 4));
3968
3992
  }
3969
- }), Bo = { class: "tpl:w-full" }, Vo = ["href"], Ho = {
3993
+ }), Vo = { class: "tpl:w-full" }, Ho = ["href"], Uo = {
3970
3994
  key: 1,
3971
3995
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
3972
- }, Uo = /* @__PURE__ */ B({
3996
+ }, Wo = /* @__PURE__ */ B({
3973
3997
  __name: "SocialIconsBlock",
3974
3998
  props: {
3975
3999
  block: {},
@@ -3982,7 +4006,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3982
4006
  gap: `${t.block.spacing}px`,
3983
4007
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3984
4008
  })), i = O(() => t.block.icons.length > 0);
3985
- return (t, a) => (f(), k("div", Bo, [i.value ? (f(), k("div", {
4009
+ return (t, a) => (f(), k("div", Vo, [i.value ? (f(), k("div", {
3986
4010
  key: 0,
3987
4011
  style: L(r.value)
3988
4012
  }, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
@@ -3990,7 +4014,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3990
4014
  href: t.url || "#",
3991
4015
  class: "tpl:cursor-default",
3992
4016
  onClick: a[0] ||= M(() => {}, ["prevent"])
3993
- }, [V(zo, {
4017
+ }, [V(Bo, {
3994
4018
  platform: t.platform,
3995
4019
  "icon-style": e.block.iconStyle,
3996
4020
  "icon-size": e.block.iconSize
@@ -3998,16 +4022,16 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3998
4022
  "platform",
3999
4023
  "icon-style",
4000
4024
  "icon-size"
4001
- ])], 8, Vo))), 128))], 4)) : (f(), k("div", Ho, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
4025
+ ])], 8, Ho))), 128))], 4)) : (f(), k("div", Uo, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
4002
4026
  }
4003
- }), Wo = { class: "tpl:w-full" }, Go = {
4027
+ }), Go = { class: "tpl:w-full" }, Ko = {
4004
4028
  key: 0,
4005
4029
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
4006
4030
  style: {
4007
4031
  "background-color": "var(--tpl-bg-hover)",
4008
4032
  color: "var(--tpl-text-dim)"
4009
4033
  }
4010
- }, Ko = /* @__PURE__ */ B({
4034
+ }, qo = /* @__PURE__ */ B({
4011
4035
  __name: "SpacerBlock",
4012
4036
  props: {
4013
4037
  block: {},
@@ -4019,23 +4043,23 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4019
4043
  minHeight: `${t.block.height}px`,
4020
4044
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
4021
4045
  }));
4022
- return (t, i) => (f(), k("div", Wo, [I("div", {
4046
+ return (t, i) => (f(), k("div", Go, [I("div", {
4023
4047
  style: L(r.value),
4024
4048
  class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
4025
- }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Go, D(e.block.height) + "px ", 1))], 6)]));
4049
+ }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Ko, D(e.block.height) + "px ", 1))], 6)]));
4026
4050
  }
4027
- }), qo = { class: "tpl:w-full" }, Jo = { key: 0 }, Yo = [
4051
+ }), Jo = { class: "tpl:w-full" }, Yo = { key: 0 }, Xo = [
4028
4052
  "aria-label",
4029
4053
  "data-placeholder",
4030
4054
  "onBlur"
4031
- ], Xo = [
4055
+ ], Zo = [
4032
4056
  "aria-label",
4033
4057
  "data-placeholder",
4034
4058
  "onBlur"
4035
- ], Zo = {
4059
+ ], Qo = {
4036
4060
  key: 1,
4037
4061
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
4038
- }, Qo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4062
+ }, $o = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4039
4063
  __name: "TableBlock",
4040
4064
  props: {
4041
4065
  block: {},
@@ -4080,11 +4104,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4080
4104
  } : n);
4081
4105
  i.updateBlock(n.block.id, { rows: o });
4082
4106
  }
4083
- return (e, n) => (f(), k("div", qo, [a.value ? (f(), k("table", {
4107
+ return (e, n) => (f(), k("div", Jo, [a.value ? (f(), k("table", {
4084
4108
  key: 0,
4085
4109
  style: L(o.value),
4086
4110
  class: "tpl-table-editable"
4087
- }, [u.value ? (f(), k("thead", Jo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4111
+ }, [u.value ? (f(), k("thead", Yo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4088
4112
  key: e.id,
4089
4113
  style: L(l.value),
4090
4114
  "aria-label": j(r).table.cellPlaceholder,
@@ -4093,7 +4117,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4093
4117
  onBlur: (t) => m(u.value.id, e.id, t),
4094
4118
  onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4095
4119
  onClick: M(p, ["stop"])
4096
- }, null, 44, Yo)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
4120
+ }, null, 44, Xo)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
4097
4121
  key: i.id,
4098
4122
  style: L(s.value),
4099
4123
  "aria-label": j(r).table.cellPlaceholder,
@@ -4102,9 +4126,9 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4102
4126
  onBlur: (t) => m(e.id, i.id, t),
4103
4127
  onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4104
4128
  onClick: M(p, ["stop"])
4105
- }, null, 44, Xo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Zo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
4129
+ }, null, 44, Zo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Qo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
4106
4130
  }
4107
- }), [["__scopeId", "data-v-963ac422"]]), $o = /* @__PURE__ */ B({
4131
+ }), [["__scopeId", "data-v-963ac422"]]), es = /* @__PURE__ */ B({
4108
4132
  __name: "VideoPlayButton",
4109
4133
  props: { hoverEffect: {
4110
4134
  type: Boolean,
@@ -4122,7 +4146,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4122
4146
  });
4123
4147
  //#endregion
4124
4148
  //#region src/utils/videoThumbnail.ts
4125
- function es(e) {
4149
+ function ts(e) {
4126
4150
  if (!e) return {
4127
4151
  platform: "unknown",
4128
4152
  videoId: null,
@@ -4154,25 +4178,25 @@ function es(e) {
4154
4178
  thumbnailUrl: null
4155
4179
  };
4156
4180
  }
4157
- function ts(e, t) {
4158
- return t || es(e).thumbnailUrl;
4181
+ function ns(e, t) {
4182
+ return t || ts(e).thumbnailUrl;
4159
4183
  }
4160
4184
  //#endregion
4161
4185
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
4162
- var ns = ["src", "alt"], rs = {
4186
+ var rs = ["src", "alt"], is = {
4163
4187
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
4164
4188
  style: { opacity: "0.7" }
4165
- }, is = ["href"], as = ["src", "alt"], os = ["src", "alt"], ss = {
4189
+ }, as = ["href"], os = ["src", "alt"], ss = ["src", "alt"], cs = {
4166
4190
  key: 3,
4167
4191
  class: "tpl:flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
4168
- }, cs = /* @__PURE__ */ B({
4192
+ }, ls = /* @__PURE__ */ B({
4169
4193
  __name: "VideoBlock",
4170
4194
  props: {
4171
4195
  block: {},
4172
4196
  viewport: {}
4173
4197
  },
4174
4198
  setup(e) {
4175
- let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : ts(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
4199
+ let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : ns(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
4176
4200
  let e = t.block.align;
4177
4201
  return {
4178
4202
  maxWidth: "100%",
@@ -4193,7 +4217,7 @@ var ns = ["src", "alt"], rs = {
4193
4217
  class: "tpl:w-full tpl:border-0",
4194
4218
  src: e.block.placeholderUrl,
4195
4219
  alt: e.block.alt
4196
- }, null, 8, ns), V($o)], 4)) : i.value ? (f(), k("div", {
4220
+ }, null, 8, rs), V(es)], 4)) : i.value ? (f(), k("div", {
4197
4221
  key: 1,
4198
4222
  class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
4199
4223
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
@@ -4202,7 +4226,7 @@ var ns = ["src", "alt"], rs = {
4202
4226
  "stroke-width": 1.5,
4203
4227
  class: "tpl:text-[var(--tpl-primary)]",
4204
4228
  style: { opacity: "0.5" }
4205
- }), I("span", rs, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
4229
+ }), I("span", is, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
4206
4230
  key: 0,
4207
4231
  href: e.block.url,
4208
4232
  target: "_blank",
@@ -4214,7 +4238,7 @@ var ns = ["src", "alt"], rs = {
4214
4238
  class: "tpl:w-full tpl:border-0",
4215
4239
  src: a.value,
4216
4240
  alt: e.block.alt
4217
- }, null, 8, as), V($o, { "hover-effect": "" })], 12, is)) : (f(), k("div", {
4241
+ }, null, 8, os), V(es, { "hover-effect": "" })], 12, as)) : (f(), k("div", {
4218
4242
  key: 1,
4219
4243
  class: "tpl:relative tpl:inline-block",
4220
4244
  style: L(s.value)
@@ -4222,28 +4246,28 @@ var ns = ["src", "alt"], rs = {
4222
4246
  class: "tpl:w-full tpl:border-0",
4223
4247
  src: a.value,
4224
4248
  alt: e.block.alt
4225
- }, null, 8, os), V($o)], 4))], 64)) : (f(), k("div", ss, [V(j(zi), {
4249
+ }, null, 8, ss), V(es)], 4))], 64)) : (f(), k("div", cs, [V(j(zi), {
4226
4250
  size: 40,
4227
4251
  "stroke-width": 1.5,
4228
4252
  class: "tpl:text-[var(--tpl-border-light)]"
4229
4253
  }), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
4230
4254
  }
4231
- }), ls = {
4232
- section: No,
4233
- title: Oo,
4234
- paragraph: lo,
4255
+ }), us = {
4256
+ section: Po,
4257
+ title: Ao,
4258
+ paragraph: fo,
4235
4259
  image: Xa,
4236
4260
  button: Wr,
4237
4261
  divider: Aa,
4238
- video: cs,
4239
- social: Uo,
4262
+ video: ls,
4263
+ social: Wo,
4240
4264
  menu: eo,
4241
- table: Qo,
4242
- spacer: Ko,
4265
+ table: $o,
4266
+ spacer: qo,
4243
4267
  html: Fa,
4244
- countdown: T(() => import("./CountdownBlock-Bj7aoBUU.js").then((e) => e.n))
4268
+ countdown: T(() => import("./CountdownBlock-8053oz4k.js").then((e) => e.n))
4245
4269
  };
4246
- function us(e) {
4270
+ function ds(e) {
4247
4271
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
4248
4272
  t.setUiTheme(n.uiTheme ?? "auto");
4249
4273
  let { resolvedTheme: c } = Er(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Or({
@@ -4275,7 +4299,7 @@ function us(e) {
4275
4299
  t: a,
4276
4300
  format: o
4277
4301
  }), y = Mr();
4278
- if (Lr(y, ls), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
4302
+ if (Lr(y, us), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
4279
4303
  function b(e) {
4280
4304
  for (let t of e) y.registerCustom(t, Oa);
4281
4305
  }
@@ -4332,11 +4356,6 @@ function us(e) {
4332
4356
  };
4333
4357
  }
4334
4358
  //#endregion
4335
- //#region src/composables/usePopoverRoot.ts
4336
- function ds() {
4337
- return v(pr, C(null));
4338
- }
4339
- //#endregion
4340
4359
  //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
4341
4360
  var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4342
4361
  __name: "TplModal",
@@ -4345,7 +4364,7 @@ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4345
4364
  setup(e, { emit: t }) {
4346
4365
  let n = e, r = t, i = C(null);
4347
4366
  Qi(i, O(() => n.visible));
4348
- let a = v(Gn), s = ds();
4367
+ let a = v(Gn), s = to();
4349
4368
  function c(e) {
4350
4369
  e.key === "Escape" && r("close"), r("keydown", e);
4351
4370
  }
@@ -7412,6 +7431,6 @@ var Nu = {
7412
7431
  }
7413
7432
  }), Ed = /* @__PURE__ */ e({ default: () => Dd }), Dd = Td;
7414
7433
  //#endregion
7415
- export { la as $, ue as $n, Un as $t, us as A, St as An, li as At, uo as B, we as Bn, hr as Bt, xs as C, Ot as Cn, bi as Ct, hs as D, yt as Dn, fi as Dt, ms as E, Ct as En, pi as Et, Io as F, W as Fn, X as Ft, Ia as G, Se as Gn, lr as Gt, eo as H, Te as Hn, mr as Ht, No as I, We as In, Wr as It, Oa as J, ge as Jn, Hn as Jt, Fa as K, Ce as Kn, yr as Kt, Oo as L, ye as Ln, jr as Lt, Qo as M, lt as Mn, ai as Mt, Ko as N, ct as Nn, ri as Nt, ps as O, ht as On, di as Ot, Uo as P, st as Pn, ni as Pt, pa as Q, fe as Qn, zn as Qt, Eo as R, De as Rn, wr as Rt, Ss as S, Lt as Sn, xi as St, Z as T, xt as Tn, vi as Tt, Xa as U, _e as Un, Kn as Ut, lo as V, ve as Vn, cr as Vt, Ra as W, he as Wn, qn as Wt, _a as X, pe as Xn, Xn as Xt, ya as Y, xe as Yn, Jn as Yt, ha as Z, de as Zn, sr as Zt, Ps as _, An as _n, ki as _t, Ll as a, _r as an, ta as at, As as b, ln as bn, Ci as bt, Zs as c, Wn as cn, Wi as ct, Ws as d, J as dn, Ii as dt, ir as en, ca as et, Us as f, vn as fn, Fi as ft, zs as g, Nn as gn, Ai as gt, Bs as h, q as hn, ji as ht, fu as i, Yn as in, ea as it, cs as j, ut as jn, si as jt, ds as k, mt as kn, ui as kt, Ks as l, Rn as ln, Bi as lt, Vs as m, Dn as mn, Ni as mt, ud as n, Qn as nn, ra as nt, Cc as o, vr as on, Qi as ot, Hs as p, En as pn, Pi as pt, Aa as q, Ee as qn, gr as qt, Du as r, or as rn, na as rt, Qs as s, dr as sn, Gi as st, Ed as t, tr as tn, ia as tt, Gs as u, Gn as un, Ri as ut, Ns as v, on as vn, Di as vt, $ as w, dt as wn, yi as wt, Es as x, un as xn, Si as xt, js as y, an as yn, wi as yt, fo as z, be as zn, Y as zt };
7434
+ export { pa as $, fe as $n, zn as $t, ls as A, mt as An, ui as At, fo as B, be as Bn, Y as Bt, xs as C, Lt as Cn, xi as Ct, hs as D, Ct as Dn, pi as Dt, ms as E, xt as En, vi as Et, Po as F, st as Fn, ni as Ft, Ra as G, he as Gn, qn as Gt, to as H, ve as Hn, cr as Ht, Ao as I, W as In, X as It, Aa as J, Ee as Jn, gr as Jt, Ia as K, Se as Kn, lr as Kt, Oo as L, We as Ln, Wr as Lt, qo as M, ut as Mn, si as Mt, Wo as N, lt as Nn, ai as Nt, ps as O, yt as On, fi as Ot, Lo as P, ct as Pn, ri as Pt, ha as Q, de as Qn, sr as Qt, mo as R, ye as Rn, jr as Rt, Ss as S, un as Sn, Si as St, Z as T, dt as Tn, yi as Tt, eo as U, Te as Un, mr as Ut, no as V, we as Vn, hr as Vt, Xa as W, _e as Wn, Kn as Wt, ya as X, xe as Xn, Jn as Xt, Oa as Y, ge as Yn, Hn as Yt, _a as Z, pe as Zn, Xn as Zt, Ps as _, Nn as _n, Ai as _t, Ll as a, Yn as an, ea as at, As as b, an as bn, wi as bt, Zs as c, dr as cn, Gi as ct, Ws as d, Gn as dn, Ri as dt, Un as en, ue as er, la as et, Us as f, J as fn, Ii as ft, zs as g, q as gn, ji as gt, Bs as h, Dn as hn, Ni as ht, fu as i, or as in, na as it, $o as j, St as jn, li as jt, ds as k, ht as kn, di as kt, Ks as l, Wn as ln, Wi as lt, Vs as m, En as mn, Pi as mt, ud as n, tr as nn, ia as nt, Cc as o, _r as on, ta as ot, Hs as p, vn as pn, Fi as pt, Fa as q, Ce as qn, yr as qt, Du as r, Qn as rn, ra as rt, Qs as s, vr as sn, Qi as st, Ed as t, ir as tn, ca as tt, Gs as u, Rn as un, Bi as ut, Ns as v, An as vn, ki as vt, $ as w, Ot as wn, bi as wt, Es as x, ln as xn, Ci as xt, js as y, on as yn, Di as yt, po as z, De as zn, wr as zt };
7416
7435
 
7417
- //# sourceMappingURL=features-Dwb5aTLg.js.map
7436
+ //# sourceMappingURL=features-BSpDuFFR.js.map