@templatical/editor 0.8.0 → 0.8.2

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 (147) hide show
  1. package/dist/{AiChatSidebar-B74X6tIx.js → AiChatSidebar-CXpsSTbt.js} +13 -13
  2. package/dist/{AiFeatureMenu-BOxQqkn9.js → AiFeatureMenu-CBtADSlv.js} +7 -7
  3. package/dist/{BlockIssueBadge-DJTiT1eF.js → BlockIssueBadge-FEuyG1p0.js} +5 -5
  4. package/dist/{CloudEditor-BzCVDD6e.js → CloudEditor-C5iH4_HX.js} +19 -19
  5. package/dist/{CollaboratorBar-Cb-c1IkS.js → CollaboratorBar-Bqp1kjPK.js} +4 -4
  6. package/dist/{CommentsSidebar-Qvppl-DR.js → CommentsSidebar-DaWP5ZGl.js} +12 -12
  7. package/dist/{CountdownBlock-D0IiMliC.js → CountdownBlock-C51M6s-J.js} +3 -3
  8. package/dist/{CountdownToolbar-BVVT8U5C.js → CountdownToolbar-C2QkG8S0.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-ucgtoDll.js → DesignReferenceSidebar-BwIRFmpA.js} +9 -9
  10. package/dist/{IssuesPanel-XVdvrgmq.js → IssuesPanel-B6ukjc1i.js} +8 -8
  11. package/dist/{LoadingTrack-CFkDkjBb.js → LoadingTrack-CZ6tO326.js} +1 -1
  12. package/dist/{ModuleBrowserModal-BotDsZ0R.js → ModuleBrowserModal-DvhbtQ5Q.js} +11 -11
  13. package/dist/{ModulePreviewCanvas-CDg4MnJP.js → ModulePreviewCanvas-DJbx-ARl.js} +3 -3
  14. package/dist/{NumberWithSuffix-n-cr7lpU.js → NumberWithSuffix-wOM0319c.js} +3 -3
  15. package/dist/{ParagraphEditor-CfzIUFQ_.js → ParagraphEditor-DcVQcYUK.js} +25 -25
  16. package/dist/{RichTextEditorContent-Cu9NEkKd.js → RichTextEditorContent-C02UzFoS.js} +6 -6
  17. package/dist/{SaveModuleDialog-DuzfCamG.js → SaveModuleDialog-C0Hcbpfe.js} +7 -7
  18. package/dist/{SnapshotHistory-DiAPOSDM.js → SnapshotHistory-ByXaMG1n.js} +9 -9
  19. package/dist/{TemplateScoringPanel-BzDVdfOx.js → TemplateScoringPanel-BpQgtaDl.js} +14 -14
  20. package/dist/{TestEmailModal-D5I5Mgtb.js → TestEmailModal-Rdi8WxSm.js} +5 -5
  21. package/dist/{TitleEditor-CZUkhtDo.js → TitleEditor-CT4asLZe.js} +12 -12
  22. package/dist/{TplModal-CVq2BAIW.js → TplModal-anuE6Hb0.js} +4 -4
  23. package/dist/{blockTypeIcons-CJNuGjLX.js → blockTypeIcons-8MdDzKgP.js} +2 -2
  24. package/dist/bundle-stats.json +6 -6
  25. package/dist/cdn/chunks/{AiFeatureMenu-DtrT-aFR.js → AiFeatureMenu-B2lX_OPX.js} +3 -3
  26. package/dist/cdn/chunks/{AiFeatureMenu-DtrT-aFR.js.map → AiFeatureMenu-B2lX_OPX.js.map} +1 -1
  27. package/dist/cdn/chunks/{BlockIssueBadge-w7n4orSd.js → BlockIssueBadge-CrmWF2hu.js} +3 -3
  28. package/dist/cdn/chunks/{BlockIssueBadge-w7n4orSd.js.map → BlockIssueBadge-CrmWF2hu.js.map} +1 -1
  29. package/dist/cdn/chunks/{CloudEditor-CwG0DhG1.js → CloudEditor-Do4-w8x5.js} +8 -8
  30. package/dist/cdn/chunks/{CloudEditor-CwG0DhG1.js.map → CloudEditor-Do4-w8x5.js.map} +1 -1
  31. package/dist/cdn/chunks/{CollaboratorBar-DYjZaz7H.js → CollaboratorBar-Xmam6lHp.js} +4 -4
  32. package/dist/cdn/chunks/{CollaboratorBar-DYjZaz7H.js.map → CollaboratorBar-Xmam6lHp.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownBlock-CFR8VJCU.js → CountdownBlock-DadDprcu.js} +3 -3
  34. package/dist/cdn/chunks/{CountdownBlock-CFR8VJCU.js.map → CountdownBlock-DadDprcu.js.map} +1 -1
  35. package/dist/cdn/chunks/{CountdownToolbar-DOrQCH57.js → CountdownToolbar-qQC07x3l.js} +4 -4
  36. package/dist/cdn/chunks/{CountdownToolbar-DOrQCH57.js.map → CountdownToolbar-qQC07x3l.js.map} +1 -1
  37. package/dist/cdn/chunks/{IssuesPanel-C54PhBgc.js → IssuesPanel-DWoYjpo4.js} +4 -4
  38. package/dist/cdn/chunks/{IssuesPanel-C54PhBgc.js.map → IssuesPanel-DWoYjpo4.js.map} +1 -1
  39. package/dist/cdn/chunks/{ModuleBrowserModal-4V6um-AC.js → ModuleBrowserModal-BQ2-bR4y.js} +6 -6
  40. package/dist/cdn/chunks/{ModuleBrowserModal-4V6um-AC.js.map → ModuleBrowserModal-BQ2-bR4y.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-DL8zI6VX.js → ModulePreviewCanvas-B57d9ZNW.js} +3 -3
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-DL8zI6VX.js.map → ModulePreviewCanvas-B57d9ZNW.js.map} +1 -1
  43. package/dist/cdn/chunks/{NumberWithSuffix-avXrYDo6.js → NumberWithSuffix-CJFH3eNR.js} +3 -3
  44. package/dist/cdn/chunks/{NumberWithSuffix-avXrYDo6.js.map → NumberWithSuffix-CJFH3eNR.js.map} +1 -1
  45. package/dist/cdn/chunks/{ParagraphEditor-Cpmy85zL.js → ParagraphEditor-DPFK_KjR.js} +19 -19
  46. package/dist/cdn/chunks/{ParagraphEditor-Cpmy85zL.js.map → ParagraphEditor-DPFK_KjR.js.map} +1 -1
  47. package/dist/cdn/chunks/{RichTextEditorContent-CFL-Lrv5.js → RichTextEditorContent-frc9A4J9.js} +3 -3
  48. package/dist/cdn/chunks/{RichTextEditorContent-CFL-Lrv5.js.map → RichTextEditorContent-frc9A4J9.js.map} +1 -1
  49. package/dist/cdn/chunks/{SaveModuleDialog-D6szy5vX.js → SaveModuleDialog-OgP9rNwp.js} +3 -3
  50. package/dist/cdn/chunks/{SaveModuleDialog-D6szy5vX.js.map → SaveModuleDialog-OgP9rNwp.js.map} +1 -1
  51. package/dist/cdn/chunks/{TitleEditor-CSDdss38.js → TitleEditor-DZ_v-LQC.js} +9 -9
  52. package/dist/cdn/chunks/{TitleEditor-CSDdss38.js.map → TitleEditor-DZ_v-LQC.js.map} +1 -1
  53. package/dist/cdn/chunks/{blockTypeIcons-BEdpG8xl.js → blockTypeIcons-DYAslSVB.js} +3 -3
  54. package/dist/cdn/chunks/{blockTypeIcons-BEdpG8xl.js.map → blockTypeIcons-DYAslSVB.js.map} +1 -1
  55. package/dist/cdn/chunks/de-BBEGQDsd.js.map +1 -1
  56. package/dist/cdn/chunks/de-DG1WWVXM.js.map +1 -1
  57. package/dist/cdn/chunks/de-RQrZR56a.js.map +1 -1
  58. package/dist/cdn/chunks/{draggable-P6QWzy4g.js → draggable-CLpL3kf8.js} +6 -6
  59. package/dist/cdn/chunks/draggable-CLpL3kf8.js.map +1 -0
  60. package/dist/cdn/chunks/emojiData-EMFlj6FJ.js.map +1 -1
  61. package/dist/cdn/chunks/en-BE6OV83-.js.map +1 -1
  62. package/dist/cdn/chunks/en-Bl1ecfRF.js.map +1 -1
  63. package/dist/cdn/chunks/en-CHha-_ta.js.map +1 -1
  64. package/dist/cdn/chunks/{extensions-DgvvgeJU.js → extensions-IwIDJ7T-.js} +4 -4
  65. package/dist/cdn/chunks/{extensions-DgvvgeJU.js.map → extensions-IwIDJ7T-.js.map} +1 -1
  66. package/dist/cdn/chunks/{features-CgTy87Ni.js → features-svfaXiyQ.js} +663 -645
  67. package/dist/cdn/chunks/features-svfaXiyQ.js.map +1 -0
  68. package/dist/cdn/chunks/{icons-DxJ--AJb.js → icons-BWmUvlwk.js} +12 -12
  69. package/dist/cdn/chunks/{icons-DxJ--AJb.js.map → icons-BWmUvlwk.js.map} +1 -1
  70. package/dist/cdn/chunks/{liquid.browser-lQbkge2E.js → liquid.browser-cpFt-Vmw.js} +674 -612
  71. package/dist/cdn/chunks/liquid.browser-cpFt-Vmw.js.map +1 -0
  72. package/dist/cdn/chunks/{media-library-Byh_BbTm.js → media-library-DyxGPQvA.js} +6 -5
  73. package/dist/cdn/chunks/{media-library-Byh_BbTm.js.map → media-library-DyxGPQvA.js.map} +1 -1
  74. package/dist/cdn/chunks/pt-BR-BYRTP5Ww.js.map +1 -1
  75. package/dist/cdn/chunks/pt-BR-CFomv2R8.js.map +1 -1
  76. package/dist/cdn/chunks/pt-BR-CQl2JxRp.js.map +1 -1
  77. package/dist/cdn/chunks/pusher-bjpcqCZG.js.map +1 -1
  78. package/dist/cdn/chunks/quality-DLJBm0Sf.js +2140 -0
  79. package/dist/cdn/chunks/quality-DLJBm0Sf.js.map +1 -0
  80. package/dist/cdn/chunks/readableTextColor-DhoK4XiZ.js.map +1 -1
  81. package/dist/cdn/chunks/{renderer-DttVILgu.js → renderer-BDRxApzE.js} +11 -5
  82. package/dist/cdn/chunks/{renderer-DttVILgu.js.map → renderer-BDRxApzE.js.map} +1 -1
  83. package/dist/cdn/chunks/{src-a8fYhBi5.js → src-DBcvijiJ.js} +5 -5
  84. package/dist/cdn/chunks/{src-a8fYhBi5.js.map → src-DBcvijiJ.js.map} +1 -1
  85. package/dist/cdn/chunks/styleConstants-DP1VOca8.js.map +1 -1
  86. package/dist/cdn/chunks/{styles-8qDRQ-6n.js → styles--HrprHTR.js} +17 -17
  87. package/dist/cdn/chunks/{styles-8qDRQ-6n.js.map → styles--HrprHTR.js.map} +1 -1
  88. package/dist/cdn/chunks/{tiptap-BwTCLVWl.js → tiptap-BCvhHXDe.js} +711 -692
  89. package/dist/cdn/chunks/tiptap-BCvhHXDe.js.map +1 -0
  90. package/dist/cdn/editor.js +6 -6
  91. package/dist/cdn/editor.js.map +1 -1
  92. package/dist/{check-BF4bEbCU.js → check-DwVS7v3N.js} +1 -1
  93. package/dist/{chevron-down-4NzWtv6Y.js → chevron-down-CytfFjil.js} +1 -1
  94. package/dist/{circle-alert-CPIth9bC.js → circle-alert-9J8Q4fwU.js} +1 -1
  95. package/dist/{clock-B9-ct9r_.js → clock-CL2fYWmc.js} +1 -1
  96. package/dist/{cloud-k0DgeCo2.js → cloud-DHsOqOnH.js} +1 -1
  97. package/dist/{createLucideIcon-Di4mqmGn.js → createLucideIcon-DTECxBv6.js} +4 -4
  98. package/dist/{dist-DVwOAodp.js → dist-3RAjjDZq.js} +2 -2
  99. package/dist/{dist-hfu7I2rO.js → dist-B5FKze93.js} +375 -353
  100. package/dist/dist-BWVK8w_m.js +5 -0
  101. package/dist/{dist-CISFttkF.js → dist-BjSjVZRA.js} +2 -2
  102. package/dist/{dist-DD-9hatO.js → dist-BoGj0ys1.js} +8 -8
  103. package/dist/{dist-BzRLLpfq.js → dist-CkhqaMca.js} +6 -5
  104. package/dist/{dist-U5guDm2w.js → dist-D8IxYzaU.js} +125 -125
  105. package/dist/{dist-B2jcQhv8.js → dist-DPiqL9q5.js} +17 -17
  106. package/dist/{dist-v8h02hhE.js → dist-DgD8K8y0.js} +2 -2
  107. package/dist/{dist-DxD1kSdH.js → dist-DiYYRj9J.js} +22 -48
  108. package/dist/{dist-CQQS9SRN.js → dist-DpF3BN6Y.js} +85 -62
  109. package/dist/dist-UekZXGFH.js +5 -0
  110. package/dist/{dist-DUvhjQ2-.js → dist-qFGe50Kc.js} +2 -2
  111. package/dist/{extensions-C-FpnfJn.js → extensions-BTheidN4.js} +19 -19
  112. package/dist/{image-up-CubAveUO.js → image-up-YgXg9o1y.js} +1 -1
  113. package/dist/index.d.ts +39 -92
  114. package/dist/{info-DiINxXfZ.js → info-W-213KLD.js} +1 -1
  115. package/dist/{keys-CY3tkCsv.js → keys-XS_XrjqL.js} +1 -1
  116. package/dist/{liquid.browser-DX8ZHRdq.js → liquid.browser-Dc30h4PN.js} +673 -611
  117. package/dist/{list-checks-CMtEXe9l.js → list-checks-BQrZlWzC.js} +1 -1
  118. package/dist/{loader-circle-_9bP23op.js → loader-circle-BQPHssrF.js} +1 -1
  119. package/dist/{message-circle-gzy2ZGJ3.js → message-circle-iMgHXBeH.js} +1 -1
  120. package/dist/{refresh-cw-C9_M6yB3.js → refresh-cw-DFozdLYp.js} +1 -1
  121. package/dist/{scan-line-DUEg6DoT.js → scan-line-D3NN0Gre.js} +1 -1
  122. package/dist/{send-BatIZC9a.js → send-DBhq0GU2.js} +1 -1
  123. package/dist/{shield-check-C5Gv2cM1.js → shield-check-DquM3-E5.js} +1 -1
  124. package/dist/{sparkles-D1IGi_cC.js → sparkles-CTGknLJy.js} +1 -1
  125. package/dist/{styles-Ci7RdimQ.js → styles-BUp0dVGV.js} +33 -33
  126. package/dist/templatical-editor.js +4 -4
  127. package/dist/{text-align-start-DG3aAH7Y.js → text-align-end-BPOHCD7K.js} +11 -11
  128. package/dist/{trash-2-424iqbpN.js → trash-2-VyX2kcG0.js} +1 -1
  129. package/dist/{triangle-alert-DWQySIE2.js → triangle-alert-HIqW9Hwv.js} +1 -1
  130. package/dist/{useAliveFlag-D8GoB4VE.js → useAliveFlag-t3e0dokQ.js} +1 -1
  131. package/dist/{useCloudI18n-BPUHj2CZ.js → useCloudI18n-oETj4WiF.js} +2 -2
  132. package/dist/{useEditorCore-DT3VrvZS.js → useEditorCore-CJB2x6Ts.js} +719 -716
  133. package/dist/{useI18n-CWX9ZTCW.js → useI18n-tMHqPsE4.js} +2 -2
  134. package/dist/{useMergeTag-B3F9VR04.js → useMergeTag-Bv8ASt6n.js} +2 -2
  135. package/dist/usePopoverRoot-Bs6kLsI3.js +8 -0
  136. package/dist/{vue.runtime.esm-bundler-Bxqkjqhc.js → vue.runtime.esm-bundler-xiAB6UTz.js} +15 -12
  137. package/dist/{x-Dlaenqta.js → x-C1j-AamY.js} +1 -1
  138. package/package.json +33 -34
  139. package/dist/cdn/chunks/draggable-P6QWzy4g.js.map +0 -1
  140. package/dist/cdn/chunks/features-CgTy87Ni.js.map +0 -1
  141. package/dist/cdn/chunks/liquid.browser-lQbkge2E.js.map +0 -1
  142. package/dist/cdn/chunks/quality-CHCEMG8e.js +0 -1846
  143. package/dist/cdn/chunks/quality-CHCEMG8e.js.map +0 -1
  144. package/dist/cdn/chunks/tiptap-BwTCLVWl.js.map +0 -1
  145. package/dist/dist-BYt3jdCR.js +0 -5
  146. package/dist/dist-CfQPBf15.js +0 -5
  147. package/dist/usePopoverRoot-BKJcxsst.js +0 -8
@@ -1,5 +1,5 @@
1
1
  import { n as e, r as t } from "./rolldown-runtime-C266TIVP.js";
2
- import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as T, b as E, c as D, ct as O, d as ee, et as te, f as k, g as A, h as j, it as M, k as ne, l as N, m as P, n as re, nt as F, o as ie, ot as ae, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-P6QWzy4g.js";
2
+ import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as T, b as E, c as D, ct as O, d as ee, et as te, f as k, g as A, h as j, it as M, k as ne, l as N, m as P, n as re, nt as F, o as ie, ot as ae, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-CLpL3kf8.js";
3
3
  //#region src/constants/timeouts.ts
4
4
  var ue = 3e4, de = 4e3, fe = 5e3, pe = {
5
5
  1: 36,
@@ -394,6 +394,7 @@ function bt(e, t) {
394
394
  //#endregion
395
395
  //#region ../types/src/config.ts
396
396
  var xt = class extends Error {
397
+ statusCode;
397
398
  constructor(e, t) {
398
399
  super(e), this.statusCode = t, this.name = "SdkError";
399
400
  }
@@ -794,7 +795,7 @@ function Nt(e, t) {
794
795
  };
795
796
  }
796
797
  //#endregion
797
- //#region ../../node_modules/.pnpm/@vueuse+shared@14.2.1_vue@3.5.33_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
798
+ //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.34_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
798
799
  function Pt(e, t) {
799
800
  return s() ? (l(e, t), !0) : !1;
800
801
  }
@@ -821,7 +822,7 @@ var It = /* @__PURE__ */ new WeakMap(), Lt = (...e) => {
821
822
  return n && It.has(n) && t in It.get(n) ? It.get(n)[t] : v(...e);
822
823
  }, Rt = typeof window < "u" && typeof document < "u";
823
824
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
824
- var zt = (e) => e != null, Bt = Object.prototype.toString, Vt = (e) => Bt.call(e) === "[object Object]", Ht = () => {}, Ut = (e, t) => Object.prototype.hasOwnProperty.call(e, t), Wt = /* @__PURE__ */ Gt();
825
+ var zt = (e) => e != null, Bt = Object.prototype.toString, Vt = (e) => Bt.call(e) === "[object Object]", Ht = () => {}, Ut = (e, t) => Object.hasOwn(e, t), Wt = /* @__PURE__ */ Gt();
825
826
  function Gt() {
826
827
  var e, t;
827
828
  return Rt && !!(!((e = window) == null || (e = e.navigator) == null) && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
@@ -947,7 +948,7 @@ function sn(e, t, n) {
947
948
  });
948
949
  }
949
950
  //#endregion
950
- //#region ../../node_modules/.pnpm/@vueuse+core@14.2.1_vue@3.5.33_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
951
+ //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.34_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
951
952
  var cn = Rt ? window : void 0, ln = Rt ? window.document : void 0, un = Rt ? window.navigator : void 0;
952
953
  function K(e) {
953
954
  let t = F(e);
@@ -1023,8 +1024,9 @@ function fn(e, t, n = {}) {
1023
1024
  }, { passive: !0 }),
1024
1025
  o && q(r, "blur", (n) => {
1025
1026
  setTimeout(() => {
1026
- let i = K(e);
1027
- r.document.activeElement?.tagName === "IFRAME" && !i?.contains(r.document.activeElement) && t(n);
1027
+ let i = K(e), a = r.document.activeElement;
1028
+ for (; a?.shadowRoot;) a = a.shadowRoot.activeElement;
1029
+ a?.tagName === "IFRAME" && !i?.contains(r.document.activeElement) && t(n);
1028
1030
  }, 0);
1029
1031
  }, { passive: !0 })
1030
1032
  ].filter(Boolean), h = () => m.forEach((e) => e());
@@ -1113,44 +1115,56 @@ function yn(e, t = {}) {
1113
1115
  } : c;
1114
1116
  }
1115
1117
  function bn(e = {}) {
1116
- let { navigator: t = un, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ mn(() => t && "clipboard" in t), c = yn("clipboard-read"), l = yn("clipboard-write"), u = k(() => s.value || o), d = n(""), f = n(!1), p = rn(() => f.value = !1, a, { immediate: !1 });
1117
- async function m() {
1118
- let e = !(s.value && v(c.value));
1118
+ let { navigator: t = un, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ mn(() => t && "clipboard" in t), c = yn("clipboard-read"), l = yn("clipboard-write"), u = k(() => s.value || o), d = n(""), f = n(!1), p = n(!1), m = rn(() => f.value = !1, a, { immediate: !1 }), h = 0;
1119
+ async function _() {
1120
+ let e = !(s.value && S(c.value));
1119
1121
  if (!e) try {
1120
1122
  d.value = await t.clipboard.readText();
1121
1123
  } catch {
1122
1124
  e = !0;
1123
1125
  }
1124
- e && (d.value = _());
1125
- }
1126
- u.value && r && q(["copy", "cut"], m, { passive: !0 });
1127
- async function h(e = F(i)) {
1128
- if (u.value && e != null) {
1129
- let n = !(s.value && v(l.value));
1130
- if (!n) try {
1131
- await t.clipboard.writeText(e);
1126
+ e && (d.value = x());
1127
+ }
1128
+ u.value && r && q(["copy", "cut"], _, { passive: !0 });
1129
+ async function v(e) {
1130
+ let n = e ?? F(i);
1131
+ if (u.value && n != null) {
1132
+ p.value = !0;
1133
+ let e = !(s.value && S(l.value));
1134
+ if (!e) try {
1135
+ let e = y(n);
1136
+ await t.clipboard.write([e]);
1132
1137
  } catch {
1133
- n = !0;
1138
+ e = !0;
1139
+ }
1140
+ if (e) if (typeof n == "string") d.value = n, b(n);
1141
+ else {
1142
+ let e = ++h, t = await n();
1143
+ t != null && e === h && (d.value = t, b(t));
1134
1144
  }
1135
- n && g(e), d.value = e, f.value = !0, p.start();
1145
+ f.value = !0, m.start(), p.value = !1;
1136
1146
  }
1137
1147
  }
1138
- function g(e) {
1148
+ function y(e) {
1149
+ return typeof e == "string" ? (d.value = e, new ClipboardItem({ "text/plain": e })) : new ClipboardItem({ "text/plain": e().then((e = "") => (d.value = e, new Blob([e], { type: "text/plain" }))) });
1150
+ }
1151
+ function b(e) {
1139
1152
  let t = document.createElement("textarea");
1140
1153
  t.value = e, t.style.position = "absolute", t.style.opacity = "0", t.setAttribute("readonly", ""), document.body.appendChild(t), t.select(), document.execCommand("copy"), t.remove();
1141
1154
  }
1142
- function _() {
1155
+ function x() {
1143
1156
  var e, t;
1144
1157
  return ((e = document) == null || (t = e.getSelection) == null || (t = t.call(e)) == null ? void 0 : t.toString()) ?? "";
1145
1158
  }
1146
- function v(e) {
1159
+ function S(e) {
1147
1160
  return e === "granted" || e === "prompt";
1148
1161
  }
1149
1162
  return {
1163
+ copyPending: g(p),
1150
1164
  isSupported: u,
1151
- text: x(d),
1152
- copied: x(f),
1153
- copy: h
1165
+ text: g(d),
1166
+ copied: g(f),
1167
+ copy: v
1154
1168
  };
1155
1169
  }
1156
1170
  function xn(e, t = {}) {
@@ -1361,11 +1375,14 @@ function J(e, t) {
1361
1375
  //#endregion
1362
1376
  //#region src/composables/useTemplateLint.ts
1363
1377
  function sr(e) {
1364
- let t = C([]), r = C(!1), i = C(!1), a = n(null), o = e.options.disabled === !0, s = null, c = !1;
1378
+ return e ? e.disabled === !0 ? !0 : e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
1379
+ }
1380
+ function cr(e) {
1381
+ let t = C([]), r = C(!1), i = C(!1), a = n(null), o = sr(e.options), s = null, c = !1;
1365
1382
  o || l();
1366
1383
  async function l() {
1367
1384
  try {
1368
- let t = await import("./quality-CHCEMG8e.js").then((e) => e.t);
1385
+ let t = await import("./quality-DLJBm0Sf.js").then((e) => e.t);
1369
1386
  if (c) return;
1370
1387
  a.value = {
1371
1388
  lintAccessibility: t.lintAccessibility,
@@ -1426,12 +1443,12 @@ function Y(e) {
1426
1443
  }
1427
1444
  //#endregion
1428
1445
  //#region src/utils/blockTypeLabels.ts
1429
- function cr(e, t) {
1446
+ function lr(e, t) {
1430
1447
  return t.blocks[e] ?? e;
1431
1448
  }
1432
1449
  //#endregion
1433
1450
  //#region src/composables/useKeyboardReorder.ts
1434
- function lr(e, t) {
1451
+ function ur(e, t) {
1435
1452
  let n = C(null), r = C(""), i = null;
1436
1453
  function a(t) {
1437
1454
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -1458,7 +1475,7 @@ function lr(e, t) {
1458
1475
  let r = a(n);
1459
1476
  if (!r) return "";
1460
1477
  let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
1461
- return i ? cr(i.type, t.t) : "";
1478
+ return i ? lr(i.type, t.t) : "";
1462
1479
  }
1463
1480
  function s(t, n) {
1464
1481
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -1527,13 +1544,13 @@ function lr(e, t) {
1527
1544
  }
1528
1545
  //#endregion
1529
1546
  //#region src/composables/useUiTheme.ts
1530
- function ur(e) {
1547
+ function dr(e) {
1531
1548
  let t = vn("(prefers-color-scheme: dark)");
1532
1549
  return { resolvedTheme: k(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
1533
1550
  }
1534
1551
  //#endregion
1535
1552
  //#region src/composables/useThemeStyles.ts
1536
- var dr = {
1553
+ var fr = {
1537
1554
  bg: "--tpl-bg",
1538
1555
  bgElevated: "--tpl-bg-elevated",
1539
1556
  bgHover: "--tpl-bg-hover",
@@ -1557,10 +1574,10 @@ var dr = {
1557
1574
  dangerLight: "--tpl-danger-light",
1558
1575
  canvasBg: "--tpl-canvas-bg"
1559
1576
  };
1560
- function fr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1577
+ function pr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1561
1578
  return { themeStyles: k(() => {
1562
1579
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
1563
- if (a) for (let [e, t] of Object.entries(dr)) {
1580
+ if (a) for (let [e, t] of Object.entries(fr)) {
1564
1581
  let n = a[e];
1565
1582
  n && (r[t] = n);
1566
1583
  }
@@ -1569,27 +1586,27 @@ function fr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1569
1586
  }
1570
1587
  //#endregion
1571
1588
  //#region src/utils/logger.ts
1572
- var pr = "[Templatical]";
1573
- function mr() {
1589
+ var mr = "[Templatical]";
1590
+ function hr() {
1574
1591
  return typeof process < "u" && !0;
1575
1592
  }
1576
- var hr = {
1593
+ var gr = {
1577
1594
  warn(...e) {
1578
- console.warn(pr, ...e);
1595
+ console.warn(mr, ...e);
1579
1596
  },
1580
1597
  error(...e) {
1581
- console.error(pr, ...e);
1598
+ console.error(mr, ...e);
1582
1599
  },
1583
1600
  debug(...e) {
1584
- mr() || console.debug(pr, ...e);
1601
+ hr() || console.debug(mr, ...e);
1585
1602
  },
1586
1603
  info(...e) {
1587
- mr() || console.info(pr, ...e);
1604
+ hr() || console.info(mr, ...e);
1588
1605
  }
1589
1606
  };
1590
1607
  //#endregion
1591
1608
  //#region src/composables/useBlockRegistry.ts
1592
- function gr() {
1609
+ function _r() {
1593
1610
  let e = n(/* @__PURE__ */ new Map());
1594
1611
  function t(t, n) {
1595
1612
  e.value.set(t, n), oe(e);
@@ -1635,13 +1652,13 @@ function gr() {
1635
1652
  let t = s(e.customType);
1636
1653
  if (!t) return c("Block definition not found");
1637
1654
  try {
1638
- let { Liquid: n } = await import("./liquid.browser-lQbkge2E.js");
1655
+ let { Liquid: n } = await import("./liquid.browser-cpFt-Vmw.js");
1639
1656
  return await new n({
1640
1657
  strictVariables: !1,
1641
1658
  strictFilters: !1
1642
1659
  }).parseAndRender(t.template, e.fieldValues);
1643
1660
  } catch (t) {
1644
- return hr.error(`Failed to render custom block "${e.customType}":`, t), c(`Render error: ${e.customType}`);
1661
+ return gr.error(`Failed to render custom block "${e.customType}":`, t), c(`Render error: ${e.customType}`);
1645
1662
  }
1646
1663
  }
1647
1664
  function u(t) {
@@ -1660,7 +1677,7 @@ function gr() {
1660
1677
  }
1661
1678
  //#endregion
1662
1679
  //#region src/utils/registerBuiltInBlocks.ts
1663
- var _r = [
1680
+ var vr = [
1664
1681
  {
1665
1682
  type: "section",
1666
1683
  label: "Section",
@@ -1727,8 +1744,8 @@ var _r = [
1727
1744
  createBlock: it
1728
1745
  }
1729
1746
  ];
1730
- function vr(e, t) {
1731
- for (let n of _r) {
1747
+ function yr(e, t) {
1748
+ for (let n of vr) {
1732
1749
  let r = t[n.type];
1733
1750
  r && e.registerBuiltIn(n.type, {
1734
1751
  component: r,
@@ -1743,7 +1760,7 @@ function vr(e, t) {
1743
1760
  }
1744
1761
  //#endregion
1745
1762
  //#region src/utils/keyboardShortcuts.ts
1746
- function yr(e) {
1763
+ function br(e) {
1747
1764
  for (let t of e.composedPath()) {
1748
1765
  if (!(t instanceof HTMLElement)) continue;
1749
1766
  if (t.isContentEditable) return !0;
@@ -1752,14 +1769,14 @@ function yr(e) {
1752
1769
  }
1753
1770
  return !1;
1754
1771
  }
1755
- function br(e, t) {
1772
+ function xr(e, t) {
1756
1773
  let n = e.metaKey || e.ctrlKey;
1757
1774
  if (n && e.key.toLowerCase() === "s") {
1758
1775
  e.preventDefault(), t.onSave?.();
1759
1776
  return;
1760
1777
  }
1761
1778
  if (n && e.key.toLowerCase() === "z") {
1762
- if (yr(e)) return;
1779
+ if (br(e)) return;
1763
1780
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
1764
1781
  return;
1765
1782
  }
@@ -1767,11 +1784,11 @@ function br(e, t) {
1767
1784
  t.selectBlock(null);
1768
1785
  return;
1769
1786
  }
1770
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !yr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1787
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !br(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1771
1788
  }
1772
1789
  //#endregion
1773
1790
  //#region src/components/blocks/ButtonBlock.vue?vue&type=script&setup=true&lang.ts
1774
- var xr = { class: "tpl:text-center" }, Sr = ["href"], Cr = /* @__PURE__ */ B({
1791
+ var Sr = { class: "tpl:text-center" }, Cr = ["href"], wr = /* @__PURE__ */ B({
1775
1792
  __name: "ButtonBlock",
1776
1793
  props: {
1777
1794
  block: {},
@@ -1792,17 +1809,17 @@ var xr = { class: "tpl:text-center" }, Sr = ["href"], Cr = /* @__PURE__ */ B({
1792
1809
  };
1793
1810
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
1794
1811
  });
1795
- return (t, r) => (f(), A("div", xr, [I("a", {
1812
+ return (t, r) => (f(), A("div", Sr, [I("a", {
1796
1813
  href: e.block.url || "#",
1797
1814
  style: L(n.value),
1798
1815
  class: "tpl:cursor-default",
1799
1816
  onClick: r[0] ||= N(() => {}, ["prevent"])
1800
- }, O(e.block.text), 13, Sr)]));
1817
+ }, O(e.block.text), 13, Cr)]));
1801
1818
  }
1802
- }), wr = (e) => e === "", Tr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Er = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Dr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Or = (e) => {
1803
- let t = Dr(e);
1819
+ }), Tr = (e) => e === "", Er = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Dr = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Or = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), kr = (e) => {
1820
+ let t = Or(e);
1804
1821
  return t.charAt(0).toUpperCase() + t.slice(1);
1805
- }, kr = {
1822
+ }, Ar = {
1806
1823
  xmlns: "http://www.w3.org/2000/svg",
1807
1824
  width: 24,
1808
1825
  height: 24,
@@ -1812,35 +1829,35 @@ var xr = { class: "tpl:text-center" }, Sr = ["href"], Cr = /* @__PURE__ */ B({
1812
1829
  "stroke-width": 2,
1813
1830
  "stroke-linecap": "round",
1814
1831
  "stroke-linejoin": "round"
1815
- }, Ar = Symbol("lucide-icons");
1816
- function jr() {
1817
- return v(Ar, {});
1832
+ }, jr = Symbol("lucide-icons");
1833
+ function Mr() {
1834
+ return v(jr, {});
1818
1835
  }
1819
1836
  //#endregion
1820
- //#region ../../node_modules/.pnpm/@lucide+vue@1.14.0_vue@3.5.33_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
1821
- var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
1822
- let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = jr(), g = k(() => {
1823
- let e = wr(n) || wr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || kr["stroke-width"];
1824
- return e ? Number(t) * 24 / Number(s ?? d ?? kr.width) : t;
1837
+ //#region ../../node_modules/.pnpm/@lucide+vue@1.16.0_vue@3.5.34_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
1838
+ var Nr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
1839
+ let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = Mr(), g = k(() => {
1840
+ let e = Tr(n) || Tr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || Ar["stroke-width"];
1841
+ return e ? Number(t) * 24 / Number(s ?? d ?? Ar.width) : t;
1825
1842
  });
1826
1843
  return a("svg", {
1827
- ...kr,
1844
+ ...Ar,
1828
1845
  ...l,
1829
- width: s ?? d ?? kr.width,
1830
- height: s ?? d ?? kr.height,
1831
- stroke: c ?? f ?? kr.stroke,
1846
+ width: s ?? d ?? Ar.width,
1847
+ height: s ?? d ?? Ar.height,
1848
+ stroke: c ?? f ?? Ar.stroke,
1832
1849
  "stroke-width": g.value,
1833
- class: Tr("lucide", h, ...e ? [`lucide-${Er(Or(e))}-icon`, `lucide-${Er(e)}`] : ["lucide-icon"])
1850
+ class: Er("lucide", h, ...e ? [`lucide-${Dr(kr(e))}-icon`, `lucide-${Dr(e)}`] : ["lucide-icon"])
1834
1851
  }, [...t.map((e) => a(...e)), ...u.default ? [u.default()] : []]);
1835
- }, X = (e, t) => (n, { slots: r, attrs: i }) => a(Mr, {
1852
+ }, X = (e, t) => (n, { slots: r, attrs: i }) => a(Nr, {
1836
1853
  ...i,
1837
1854
  ...n,
1838
1855
  iconNode: t,
1839
1856
  name: e
1840
- }, r), Nr = X("bookmark", [["path", {
1857
+ }, r.default ? { default: r.default } : void 0), Pr = X("bookmark", [["path", {
1841
1858
  d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
1842
1859
  key: "oz39mx"
1843
- }]]), Pr = X("box", [
1860
+ }]]), Fr = X("box", [
1844
1861
  ["path", {
1845
1862
  d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
1846
1863
  key: "hh9hay"
@@ -1853,22 +1870,22 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1853
1870
  d: "M12 22V12",
1854
1871
  key: "d0xqtd"
1855
1872
  }]
1856
- ]), Fr = X("check", [["path", {
1873
+ ]), Ir = X("check", [["path", {
1857
1874
  d: "M20 6 9 17l-5-5",
1858
1875
  key: "1gmf2c"
1859
- }]]), Ir = X("chevron-down", [["path", {
1876
+ }]]), Lr = X("chevron-down", [["path", {
1860
1877
  d: "m6 9 6 6 6-6",
1861
1878
  key: "qrunsl"
1862
- }]]), Lr = X("chevron-left", [["path", {
1879
+ }]]), Rr = X("chevron-left", [["path", {
1863
1880
  d: "m15 18-6-6 6-6",
1864
1881
  key: "1wnfg3"
1865
- }]]), Rr = X("chevron-right", [["path", {
1882
+ }]]), zr = X("chevron-right", [["path", {
1866
1883
  d: "m9 18 6-6-6-6",
1867
1884
  key: "mthhwq"
1868
- }]]), zr = X("chevron-up", [["path", {
1885
+ }]]), Br = X("chevron-up", [["path", {
1869
1886
  d: "m18 15-6-6-6 6",
1870
1887
  key: "153udz"
1871
- }]]), Br = X("circle-alert", [
1888
+ }]]), Vr = X("circle-alert", [
1872
1889
  ["circle", {
1873
1890
  cx: "12",
1874
1891
  cy: "12",
@@ -1889,7 +1906,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1889
1906
  y2: "16",
1890
1907
  key: "4dfq90"
1891
1908
  }]
1892
- ]), Vr = X("circle-check", [["circle", {
1909
+ ]), Hr = X("circle-check", [["circle", {
1893
1910
  cx: "12",
1894
1911
  cy: "12",
1895
1912
  r: "10",
@@ -1897,7 +1914,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1897
1914
  }], ["path", {
1898
1915
  d: "m9 12 2 2 4-4",
1899
1916
  key: "dzmm74"
1900
- }]]), Hr = X("clock", [["circle", {
1917
+ }]]), Ur = X("clock", [["circle", {
1901
1918
  cx: "12",
1902
1919
  cy: "12",
1903
1920
  r: "10",
@@ -1905,13 +1922,13 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1905
1922
  }], ["path", {
1906
1923
  d: "M12 6v6l4 2",
1907
1924
  key: "mmk7yg"
1908
- }]]), Ur = X("code", [["path", {
1925
+ }]]), Wr = X("code", [["path", {
1909
1926
  d: "m16 18 6-6-6-6",
1910
1927
  key: "eg8j8"
1911
1928
  }], ["path", {
1912
1929
  d: "m8 6-6 6 6 6",
1913
1930
  key: "ppft3o"
1914
- }]]), Wr = X("copy", [["rect", {
1931
+ }]]), Gr = X("copy", [["rect", {
1915
1932
  width: "14",
1916
1933
  height: "14",
1917
1934
  x: "8",
@@ -1922,7 +1939,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1922
1939
  }], ["path", {
1923
1940
  d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
1924
1941
  key: "zix9uf"
1925
- }]]), Gr = X("eye-off", [
1942
+ }]]), Kr = X("eye-off", [
1926
1943
  ["path", {
1927
1944
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
1928
1945
  key: "ct8e1f"
@@ -1939,7 +1956,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1939
1956
  d: "m2 2 20 20",
1940
1957
  key: "1ooewy"
1941
1958
  }]
1942
- ]), Kr = X("eye", [["path", {
1959
+ ]), qr = X("eye", [["path", {
1943
1960
  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",
1944
1961
  key: "1nclc0"
1945
1962
  }], ["circle", {
@@ -1947,7 +1964,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1947
1964
  cy: "12",
1948
1965
  r: "3",
1949
1966
  key: "1v7zrd"
1950
- }]]), qr = X("file-image", [
1967
+ }]]), Jr = X("file-image", [
1951
1968
  ["path", {
1952
1969
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
1953
1970
  key: "1oefj6"
@@ -1966,7 +1983,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1966
1983
  d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
1967
1984
  key: "wt3hpn"
1968
1985
  }]
1969
- ]), Jr = X("file-text", [
1986
+ ]), Yr = X("file-text", [
1970
1987
  ["path", {
1971
1988
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
1972
1989
  key: "1oefj6"
@@ -1987,10 +2004,10 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1987
2004
  d: "M16 17H8",
1988
2005
  key: "z1uh3a"
1989
2006
  }]
1990
- ]), Yr = X("funnel", [["path", {
2007
+ ]), Xr = X("funnel", [["path", {
1991
2008
  d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
1992
2009
  key: "sc7q7i"
1993
- }]]), Xr = X("grip-vertical", [
2010
+ }]]), Zr = X("grip-vertical", [
1994
2011
  ["circle", {
1995
2012
  cx: "9",
1996
2013
  cy: "12",
@@ -2027,7 +2044,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2027
2044
  r: "1",
2028
2045
  key: "f4zoj3"
2029
2046
  }]
2030
- ]), Zr = X("image-up", [
2047
+ ]), Qr = X("image-up", [
2031
2048
  ["path", {
2032
2049
  d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",
2033
2050
  key: "9csbqa"
@@ -2046,7 +2063,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2046
2063
  r: "2",
2047
2064
  key: "af1f0g"
2048
2065
  }]
2049
- ]), Qr = X("image", [
2066
+ ]), $r = X("image", [
2050
2067
  ["rect", {
2051
2068
  width: "18",
2052
2069
  height: "18",
@@ -2066,7 +2083,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2066
2083
  d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
2067
2084
  key: "1xmnt7"
2068
2085
  }]
2069
- ]), $r = X("info", [
2086
+ ]), ei = X("info", [
2070
2087
  ["circle", {
2071
2088
  cx: "12",
2072
2089
  cy: "12",
@@ -2081,31 +2098,31 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2081
2098
  d: "M12 8h.01",
2082
2099
  key: "e9boi3"
2083
2100
  }]
2084
- ]), ei = X("loader-circle", [["path", {
2101
+ ]), ti = X("loader-circle", [["path", {
2085
2102
  d: "M21 12a9 9 0 1 1-6.219-8.56",
2086
2103
  key: "13zald"
2087
- }]]), ti = X("message-circle", [["path", {
2104
+ }]]), ni = X("message-circle", [["path", {
2088
2105
  d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
2089
2106
  key: "1sd12s"
2090
- }]]), ni = X("navigation", [["polygon", {
2107
+ }]]), ri = X("navigation", [["polygon", {
2091
2108
  points: "3 11 22 2 13 21 11 13 3 11",
2092
2109
  key: "1ltx0t"
2093
- }]]), ri = X("pencil", [["path", {
2110
+ }]]), ii = X("pencil", [["path", {
2094
2111
  d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
2095
2112
  key: "1a8usu"
2096
2113
  }], ["path", {
2097
2114
  d: "m15 5 4 4",
2098
2115
  key: "1mk7zo"
2099
- }]]), ii = X("puzzle", [["path", {
2116
+ }]]), ai = X("puzzle", [["path", {
2100
2117
  d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",
2101
2118
  key: "w46dr5"
2102
- }]]), ai = X("redo-2", [["path", {
2119
+ }]]), oi = X("redo-2", [["path", {
2103
2120
  d: "m15 14 5-5-5-5",
2104
2121
  key: "12vg1m"
2105
2122
  }], ["path", {
2106
2123
  d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
2107
2124
  key: "6uklza"
2108
- }]]), oi = X("refresh-cw", [
2125
+ }]]), si = X("refresh-cw", [
2109
2126
  ["path", {
2110
2127
  d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
2111
2128
  key: "v9h5vc"
@@ -2122,19 +2139,19 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2122
2139
  d: "M8 16H3v5",
2123
2140
  key: "1cv678"
2124
2141
  }]
2125
- ]), si = X("reply", [["path", {
2142
+ ]), ci = X("reply", [["path", {
2126
2143
  d: "M20 18v-2a4 4 0 0 0-4-4H4",
2127
2144
  key: "5vmcpk"
2128
2145
  }], ["path", {
2129
2146
  d: "m9 17-5-5 5-5",
2130
2147
  key: "nvlc11"
2131
- }]]), ci = X("send", [["path", {
2148
+ }]]), li = X("send", [["path", {
2132
2149
  d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
2133
2150
  key: "1ffxy3"
2134
2151
  }], ["path", {
2135
2152
  d: "m21.854 2.147-10.94 10.939",
2136
2153
  key: "12cjpa"
2137
- }]]), li = X("share-2", [
2154
+ }]]), ui = X("share-2", [
2138
2155
  ["circle", {
2139
2156
  cx: "18",
2140
2157
  cy: "5",
@@ -2167,13 +2184,13 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2167
2184
  y2: "10.49",
2168
2185
  key: "1n3mei"
2169
2186
  }]
2170
- ]), ui = X("shield-check", [["path", {
2187
+ ]), di = X("shield-check", [["path", {
2171
2188
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2172
2189
  key: "oel41y"
2173
2190
  }], ["path", {
2174
2191
  d: "m9 12 2 2 4-4",
2175
2192
  key: "dzmm74"
2176
- }]]), di = X("shield-x", [
2193
+ }]]), fi = X("shield-x", [
2177
2194
  ["path", {
2178
2195
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2179
2196
  key: "oel41y"
@@ -2186,7 +2203,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2186
2203
  d: "m9.5 9.5 5 5",
2187
2204
  key: "18nt4w"
2188
2205
  }]
2189
- ]), fi = X("sparkles", [
2206
+ ]), pi = X("sparkles", [
2190
2207
  ["path", {
2191
2208
  d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
2192
2209
  key: "1s2grr"
@@ -2205,7 +2222,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2205
2222
  r: "2",
2206
2223
  key: "6kqj1y"
2207
2224
  }]
2208
- ]), pi = X("table", [
2225
+ ]), mi = X("table", [
2209
2226
  ["path", {
2210
2227
  d: "M12 3v18",
2211
2228
  key: "108xh3"
@@ -2226,7 +2243,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2226
2243
  d: "M3 15h18",
2227
2244
  key: "5xshup"
2228
2245
  }]
2229
- ]), mi = X("trash-2", [
2246
+ ]), hi = X("trash-2", [
2230
2247
  ["path", {
2231
2248
  d: "M10 11v6",
2232
2249
  key: "nco0om"
@@ -2247,7 +2264,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2247
2264
  d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
2248
2265
  key: "e791ji"
2249
2266
  }]
2250
- ]), hi = X("triangle-alert", [
2267
+ ]), gi = X("triangle-alert", [
2251
2268
  ["path", {
2252
2269
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
2253
2270
  key: "wmoenq"
@@ -2260,13 +2277,13 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2260
2277
  d: "M12 17h.01",
2261
2278
  key: "p32p05"
2262
2279
  }]
2263
- ]), gi = X("undo-2", [["path", {
2280
+ ]), _i = X("undo-2", [["path", {
2264
2281
  d: "M9 14 4 9l5-5",
2265
2282
  key: "102s5s"
2266
2283
  }], ["path", {
2267
2284
  d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
2268
2285
  key: "f3b9sd"
2269
- }]]), _i = X("upload", [
2286
+ }]]), vi = X("upload", [
2270
2287
  ["path", {
2271
2288
  d: "M12 3v12",
2272
2289
  key: "1x0j5s"
@@ -2279,7 +2296,7 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2279
2296
  d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
2280
2297
  key: "ih7n3h"
2281
2298
  }]
2282
- ]), vi = X("video", [["path", {
2299
+ ]), yi = X("video", [["path", {
2283
2300
  d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
2284
2301
  key: "ftymec"
2285
2302
  }], ["rect", {
@@ -2289,20 +2306,20 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2289
2306
  height: "12",
2290
2307
  rx: "2",
2291
2308
  key: "158x01"
2292
- }]]), yi = X("x", [["path", {
2309
+ }]]), bi = X("x", [["path", {
2293
2310
  d: "M18 6 6 18",
2294
2311
  key: "1bl5f8"
2295
2312
  }], ["path", {
2296
2313
  d: "m6 6 12 12",
2297
2314
  key: "d8bk6v"
2298
- }]]), bi = X("zap", [["path", {
2315
+ }]]), xi = X("zap", [["path", {
2299
2316
  d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
2300
2317
  key: "1xq2db"
2301
- }]]), xi = ["innerHTML"], Si = [
2318
+ }]]), Si = ["innerHTML"], Ci = [
2302
2319
  "src",
2303
2320
  "width",
2304
2321
  "height"
2305
- ], Ci = /* @__PURE__ */ B({
2322
+ ], wi = /* @__PURE__ */ B({
2306
2323
  __name: "CustomBlockIcon",
2307
2324
  props: {
2308
2325
  icon: {},
@@ -2318,40 +2335,40 @@ var Mr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2318
2335
  height: `${n.value}px`
2319
2336
  }),
2320
2337
  innerHTML: e.icon
2321
- }, null, 12, xi)) : i.value ? (f(), A("img", {
2338
+ }, null, 12, Si)) : i.value ? (f(), A("img", {
2322
2339
  key: 1,
2323
2340
  src: e.icon,
2324
2341
  width: n.value,
2325
2342
  height: n.value,
2326
2343
  class: "tpl:inline-block",
2327
2344
  alt: ""
2328
- }, null, 8, Si)) : (f(), P(M(Pr), {
2345
+ }, null, 8, Ci)) : (f(), P(M(Fr), {
2329
2346
  key: 2,
2330
2347
  size: n.value,
2331
2348
  "stroke-width": 1.5
2332
2349
  }, null, 8, ["size"]));
2333
2350
  }
2334
- }), wi = (e, t) => {
2351
+ }), Ti = (e, t) => {
2335
2352
  let n = e.__vccOpts || e;
2336
2353
  for (let [e, r] of t) n[e] = r;
2337
2354
  return n;
2338
- }, Ti = {}, Ei = { class: "tpl-loading-track" };
2339
- function Di(e, t) {
2340
- return f(), A("div", Ei);
2355
+ }, Ei = {}, Di = { class: "tpl-loading-track" };
2356
+ function Oi(e, t) {
2357
+ return f(), A("div", Di);
2341
2358
  }
2342
- var Oi = /* @__PURE__ */ wi(Ti, [["render", Di], ["__scopeId", "data-v-1ed538ec"]]);
2359
+ var ki = /* @__PURE__ */ Ti(Ei, [["render", Oi], ["__scopeId", "data-v-1ed538ec"]]);
2343
2360
  //#endregion
2344
2361
  //#region src/composables/useEditorRoot.ts
2345
- function ki() {
2362
+ function Ai() {
2346
2363
  return v($n, document) ?? document;
2347
2364
  }
2348
2365
  //#endregion
2349
2366
  //#region src/composables/useFocusTrap.ts
2350
- var Ai = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
2351
- function ji(e, t) {
2352
- let n = ki(), r = null, i = null, a = null;
2367
+ var ji = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
2368
+ function Mi(e, t) {
2369
+ let n = Ai(), r = null, i = null, a = null;
2353
2370
  function o() {
2354
- return e.value ? Array.from(e.value.querySelectorAll(Ai)).filter((e) => e.offsetParent !== null) : [];
2371
+ return e.value ? Array.from(e.value.querySelectorAll(ji)).filter((e) => e.offsetParent !== null) : [];
2355
2372
  }
2356
2373
  function s(e) {
2357
2374
  if (e.key !== "Tab") return;
@@ -2381,18 +2398,18 @@ function ji(e, t) {
2381
2398
  }
2382
2399
  //#endregion
2383
2400
  //#region src/composables/useCloudI18n.ts
2384
- function Mi(e, t) {
2401
+ function Ni(e, t) {
2385
2402
  return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
2386
2403
  }
2387
- function Ni(e) {
2404
+ function Pi(e) {
2388
2405
  let t = e ?? v(or, null);
2389
2406
  return {
2390
2407
  t: t ? u(t) ? t.value : t : null,
2391
- format: Mi
2408
+ format: Ni
2392
2409
  };
2393
2410
  }
2394
- function Pi(e) {
2395
- let { t, format: n } = Ni(e);
2411
+ function Fi(e) {
2412
+ let { t, format: n } = Pi(e);
2396
2413
  if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
2397
2414
  return {
2398
2415
  t,
@@ -2401,7 +2418,7 @@ function Pi(e) {
2401
2418
  }
2402
2419
  //#endregion
2403
2420
  //#region src/composables/useMergeTag.ts
2404
- function Fi() {
2421
+ function Ii() {
2405
2422
  let e = v(Un, []), t = v(Wn, lt.liquid), n = v(Gn, null), r = v(Kn, !0), i = C(!1);
2406
2423
  function a(e) {
2407
2424
  return mt(e, t);
@@ -2431,7 +2448,7 @@ function Fi() {
2431
2448
  }
2432
2449
  //#endregion
2433
2450
  //#region src/composables/useEmoji.ts
2434
- function Ii() {
2451
+ function Li() {
2435
2452
  let [e, t] = an(!1), r = n([]), i = !1;
2436
2453
  l(() => {
2437
2454
  i = !0;
@@ -2457,7 +2474,7 @@ function Ii() {
2457
2474
  }
2458
2475
  //#endregion
2459
2476
  //#region src/composables/useDragDrop.ts
2460
- function Li(e) {
2477
+ function Ri(e) {
2461
2478
  let { onBlockMove: t, onBlockAdd: n } = e, r = C(!1), i = C(null), a = C(null);
2462
2479
  function o(e) {
2463
2480
  r.value = !0, i.value = e;
@@ -2507,7 +2524,7 @@ function Li(e) {
2507
2524
  }
2508
2525
  //#endregion
2509
2526
  //#region src/composables/useFonts.ts
2510
- var Ri = [
2527
+ var zi = [
2511
2528
  {
2512
2529
  value: "Arial",
2513
2530
  label: "Arial"
@@ -2536,7 +2553,7 @@ var Ri = [
2536
2553
  value: "Courier New",
2537
2554
  label: "Courier New"
2538
2555
  }
2539
- ], zi = {
2556
+ ], Bi = {
2540
2557
  arial: "Arial, sans-serif",
2541
2558
  helvetica: "Helvetica, sans-serif",
2542
2559
  georgia: "Georgia, serif",
@@ -2544,14 +2561,14 @@ var Ri = [
2544
2561
  verdana: "Verdana, sans-serif",
2545
2562
  "trebuchet ms": "'Trebuchet MS', sans-serif",
2546
2563
  "courier new": "'Courier New', monospace"
2547
- }, Bi = "Arial, sans-serif";
2548
- function Vi(e) {
2549
- let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = k(() => e?.defaultFallback ?? Bi);
2564
+ }, Vi = "Arial, sans-serif";
2565
+ function Hi(e) {
2566
+ let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = k(() => e?.defaultFallback ?? Vi);
2550
2567
  function a(e) {
2551
2568
  n.value = e;
2552
2569
  }
2553
2570
  let o = k(() => {
2554
- let e = [...Ri];
2571
+ let e = [...zi];
2555
2572
  if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
2556
2573
  let r = t.value.map((e) => ({
2557
2574
  value: e.name,
@@ -2564,23 +2581,23 @@ function Vi(e) {
2564
2581
  return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2565
2582
  }
2566
2583
  function u(e) {
2567
- return Ri.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2584
+ return zi.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2568
2585
  }
2569
2586
  function d() {
2570
2587
  if (e?.defaultFont) {
2571
- if (!n.value && !u(e.defaultFont)) return Bi;
2588
+ if (!n.value && !u(e.defaultFont)) return Vi;
2572
2589
  if (c(e.defaultFont)) {
2573
2590
  let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
2574
2591
  if (t) return t.value;
2575
2592
  }
2576
2593
  }
2577
- return Bi;
2594
+ return Vi;
2578
2595
  }
2579
2596
  let f = k(() => d());
2580
2597
  function p(e) {
2581
2598
  if (!e) return i.value;
2582
2599
  let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
2583
- return n ? `'${n.name}', ${n.fallback ?? i.value}` : zi[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
2600
+ return n ? `'${n.name}', ${n.fallback ?? i.value}` : Bi[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
2584
2601
  }
2585
2602
  let m = [], h = !1;
2586
2603
  async function g() {
@@ -2596,7 +2613,7 @@ function Vi(e) {
2596
2613
  t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
2597
2614
  });
2598
2615
  } catch (t) {
2599
- hr.warn(`Failed to load custom font "${e.name}":`, t);
2616
+ gr.warn(`Failed to load custom font "${e.name}":`, t);
2600
2617
  }
2601
2618
  });
2602
2619
  await Promise.allSettled(e), !h && (r.value = !0);
@@ -2623,9 +2640,9 @@ function Vi(e) {
2623
2640
  }
2624
2641
  //#endregion
2625
2642
  //#region src/composables/useRichTextLinkDialog.ts
2626
- function Hi(e) {
2643
+ function Ui(e) {
2627
2644
  let t = C(!1), n = C(""), r = C(null);
2628
- ji(r, t);
2645
+ Mi(r, t);
2629
2646
  function i() {
2630
2647
  n.value = e.value?.getAttributes("link").href || "", t.value = !0;
2631
2648
  }
@@ -2676,8 +2693,8 @@ function Hi(e) {
2676
2693
  }
2677
2694
  //#endregion
2678
2695
  //#region src/composables/useRichTextEditor.ts
2679
- function Ui(e) {
2680
- let t = v(Nn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Fi(), l = v(Mn, null), d = (u(l) ? l.value : l)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", f = dt(s), p = n(null), { showLinkDialog: m, linkUrl: h, linkDialogRef: g, openLinkDialog: _, insertLink: y, removeLink: b, closeLinkDialog: x, handleLinkKeydown: S } = Hi(p), { start: w, stop: T } = rn(() => p.value?.commands.focus("end"), 0, { immediate: !1 }), E = n(null), D = C(!0), O = C(null), ee = !1;
2696
+ function Wi(e) {
2697
+ let t = v(Nn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Ii(), l = v(Mn, null), d = (u(l) ? l.value : l)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", f = dt(s), p = n(null), { showLinkDialog: m, linkUrl: h, linkDialogRef: g, openLinkDialog: _, insertLink: y, removeLink: b, closeLinkDialog: x, handleLinkKeydown: S } = Ui(p), { start: w, stop: T } = rn(() => p.value?.commands.focus("end"), 0, { immediate: !1 }), E = n(null), D = C(!0), O = C(null), ee = !1;
2681
2698
  async function te() {
2682
2699
  O.value = null, D.value = !0;
2683
2700
  try {
@@ -2707,7 +2724,7 @@ function Ui(e) {
2707
2724
  p.value = l, D.value = !1, w();
2708
2725
  } catch (t) {
2709
2726
  if (ee) return;
2710
- hr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), O.value = t instanceof Error ? t.message : "Failed to load editor", D.value = !1;
2727
+ gr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), O.value = t instanceof Error ? t.message : "Failed to load editor", D.value = !1;
2711
2728
  }
2712
2729
  }
2713
2730
  function k() {
@@ -2755,20 +2772,20 @@ function Ui(e) {
2755
2772
  }
2756
2773
  //#endregion
2757
2774
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
2758
- var Wi = { class: "tpl:w-full" }, Gi = {
2775
+ var Gi = { class: "tpl:w-full" }, Ki = {
2759
2776
  key: 0,
2760
2777
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
2761
- }, Ki = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, qi = {
2778
+ }, qi = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ji = {
2762
2779
  key: 1,
2763
2780
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
2764
- }, Ji = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Yi = {
2781
+ }, Yi = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Xi = {
2765
2782
  key: 2,
2766
2783
  class: "tpl:relative"
2767
- }, Xi = ["innerHTML"], Zi = {
2784
+ }, Zi = ["innerHTML"], Qi = {
2768
2785
  key: 0,
2769
2786
  class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
2770
2787
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
2771
- }, Qi = /* @__PURE__ */ B({
2788
+ }, $i = /* @__PURE__ */ B({
2772
2789
  __name: "CustomBlock",
2773
2790
  props: {
2774
2791
  block: {},
@@ -2802,10 +2819,10 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2802
2819
  g();
2803
2820
  }), H(() => n.block.fieldValues, () => {
2804
2821
  _();
2805
- }, { deep: !0 }), (e, t) => (f(), A("div", Wi, [u.value ? c.value ? (f(), A("div", qi, [V(M(hi), {
2822
+ }, { deep: !0 }), (e, t) => (f(), A("div", Gi, [u.value ? c.value ? (f(), A("div", Ji, [V(M(gi), {
2806
2823
  size: 24,
2807
2824
  class: "tpl:text-[var(--tpl-danger)]"
2808
- }), I("span", Ji, O(M(a).customBlocks.renderError), 1)])) : (f(), A("div", Yi, [I("div", { innerHTML: s.value }, null, 8, Xi), M(h) && M(m) ? (f(), A("div", Zi, [M(d) ? (f(), P(Oi, {
2825
+ }), I("span", Yi, O(M(a).customBlocks.renderError), 1)])) : (f(), A("div", Xi, [I("div", { innerHTML: s.value }, null, 8, Zi), M(h) && M(m) ? (f(), A("div", Qi, [M(d) ? (f(), P(ki, {
2809
2826
  key: 1,
2810
2827
  class: "tpl:w-48"
2811
2828
  })) : (f(), A("button", {
@@ -2813,16 +2830,16 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2813
2830
  type: "button",
2814
2831
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-sm tpl:transition-all tpl:duration-150 hover:tpl:border-[var(--tpl-primary)] hover:tpl:shadow-md tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
2815
2832
  onClick: t[0] ||= N((...e) => M(p) && M(p)(...e), ["stop"])
2816
- }, [l.value?.icon ? (f(), P(Ci, {
2833
+ }, [l.value?.icon ? (f(), P(wi, {
2817
2834
  key: 0,
2818
2835
  icon: l.value.icon,
2819
2836
  size: 16
2820
- }, null, 8, ["icon"])) : j("", !0), z(" " + O(l.value?.dataSource?.label || M(a).customBlocks.dataSource.fetchButton), 1)]))])) : j("", !0)])) : (f(), A("div", Gi, [V(M(ii), {
2837
+ }, null, 8, ["icon"])) : j("", !0), z(" " + O(l.value?.dataSource?.label || M(a).customBlocks.dataSource.fetchButton), 1)]))])) : j("", !0)])) : (f(), A("div", Ki, [V(M(ai), {
2821
2838
  size: 24,
2822
2839
  class: "tpl:text-[var(--tpl-warning)]"
2823
- }), I("span", Ki, O(M(a).customBlocks.definitionNotFound), 1)]))]));
2840
+ }), I("span", qi, O(M(a).customBlocks.definitionNotFound), 1)]))]));
2824
2841
  }
2825
- }), $i = { class: "tpl:w-full" }, ea = /* @__PURE__ */ B({
2842
+ }), ea = { class: "tpl:w-full" }, ta = /* @__PURE__ */ B({
2826
2843
  __name: "DividerBlock",
2827
2844
  props: {
2828
2845
  block: {},
@@ -2834,18 +2851,18 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2834
2851
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
2835
2852
  margin: t.block.width === "full" ? "0" : "0 auto"
2836
2853
  }));
2837
- return (e, t) => (f(), A("div", $i, [I("hr", {
2854
+ return (e, t) => (f(), A("div", ea, [I("hr", {
2838
2855
  class: "tpl:m-0 tpl:border-none",
2839
2856
  style: L(n.value)
2840
2857
  }, null, 4)]));
2841
2858
  }
2842
- }), ta = { class: "tpl:w-full" }, na = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, ra = {
2859
+ }), na = { class: "tpl:w-full" }, ra = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, ia = {
2843
2860
  key: 0,
2844
2861
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
2845
- }, ia = {
2862
+ }, aa = {
2846
2863
  key: 1,
2847
2864
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
2848
- }, aa = /* @__PURE__ */ B({
2865
+ }, oa = /* @__PURE__ */ B({
2849
2866
  __name: "HtmlBlock",
2850
2867
  props: {
2851
2868
  block: {},
@@ -2853,15 +2870,15 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2853
2870
  },
2854
2871
  setup(e) {
2855
2872
  let t = e, { t: n } = Y(), r = k(() => t.block.content.trim().length > 0);
2856
- return (e, t) => (f(), A("div", ta, [I("div", na, [V(M(Ur), {
2873
+ return (e, t) => (f(), A("div", na, [I("div", ra, [V(M(Wr), {
2857
2874
  size: 24,
2858
2875
  class: "tpl:text-[var(--tpl-text-dim)]"
2859
- }), r.value ? (f(), A("span", ra, O(M(n).html.preview), 1)) : (f(), A("span", ia, O(M(n).html.empty), 1))])]));
2876
+ }), r.value ? (f(), A("span", ia, O(M(n).html.preview), 1)) : (f(), A("span", aa, O(M(n).html.empty), 1))])]));
2860
2877
  }
2861
2878
  });
2862
2879
  //#endregion
2863
2880
  //#region src/composables/useAliveFlag.ts
2864
- function oa() {
2881
+ function sa() {
2865
2882
  let e = { alive: !0 };
2866
2883
  return ne(() => {
2867
2884
  e.alive = !1;
@@ -2869,13 +2886,13 @@ function oa() {
2869
2886
  }
2870
2887
  //#endregion
2871
2888
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
2872
- var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2889
+ var ca = ["href"], la = ["src", "alt"], ua = ["src", "alt"], da = {
2873
2890
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2874
2891
  style: { opacity: "0.7" }
2875
- }, da = ["href"], fa = ["src", "alt"], pa = ["src", "alt"], ma = {
2892
+ }, fa = ["href"], pa = ["src", "alt"], ma = ["src", "alt"], ha = {
2876
2893
  key: 3,
2877
2894
  class: "tpl:flex tpl:min-h-[100px] 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)]"
2878
- }, ha = ["aria-label"], ga = { key: 1 }, _a = /* @__PURE__ */ B({
2895
+ }, ga = ["aria-label"], _a = { key: 1 }, va = /* @__PURE__ */ B({
2879
2896
  __name: "ImageBlock",
2880
2897
  props: {
2881
2898
  block: {},
@@ -2883,7 +2900,7 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2883
2900
  },
2884
2901
  emits: ["update"],
2885
2902
  setup(e, { emit: t }) {
2886
- let n = e, r = t, { t: i } = Y(), { syntax: a } = Fi(), o = v(qn, null), s = k(() => !!o), c = oa();
2903
+ let n = e, r = t, { t: i } = Y(), { syntax: a } = Ii(), o = v(qn, null), s = k(() => !!o), c = sa();
2887
2904
  async function l() {
2888
2905
  let e = await o?.({ accept: ["images"] });
2889
2906
  if (c.alive && e) {
@@ -2913,22 +2930,22 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2913
2930
  src: e.block.placeholderUrl,
2914
2931
  alt: e.block.alt || M(i).image.altTextPlaceholder,
2915
2932
  style: L(d.value)
2916
- }, null, 12, ca)], 8, sa)) : (f(), A("img", {
2933
+ }, null, 12, la)], 8, ca)) : (f(), A("img", {
2917
2934
  key: 1,
2918
2935
  class: "tpl:border-0",
2919
2936
  src: e.block.placeholderUrl,
2920
2937
  alt: e.block.alt,
2921
2938
  style: L(d.value)
2922
- }, null, 12, la))], 64)) : e.block.src && p.value ? (f(), A("div", {
2939
+ }, null, 12, ua))], 64)) : e.block.src && p.value ? (f(), A("div", {
2923
2940
  key: 1,
2924
2941
  class: "tpl:!flex tpl:min-h-[120px] 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)]",
2925
2942
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, d.value])
2926
- }, [V(M(Qr), {
2943
+ }, [V(M($r), {
2927
2944
  size: 32,
2928
2945
  "stroke-width": 1.5,
2929
2946
  class: "tpl:text-[var(--tpl-primary)]",
2930
2947
  style: { opacity: "0.5" }
2931
- }), I("span", ua, O(e.block.src), 1)], 4)) : e.block.src ? (f(), A(R, { key: 2 }, [e.block.linkUrl ? (f(), A("a", {
2948
+ }), I("span", da, O(e.block.src), 1)], 4)) : e.block.src ? (f(), A(R, { key: 2 }, [e.block.linkUrl ? (f(), A("a", {
2932
2949
  key: 0,
2933
2950
  href: e.block.linkUrl,
2934
2951
  target: "_blank",
@@ -2940,26 +2957,26 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2940
2957
  src: e.block.src,
2941
2958
  alt: e.block.alt || M(i).image.altTextPlaceholder,
2942
2959
  style: L(d.value)
2943
- }, null, 12, fa)], 8, da)) : (f(), A("img", {
2960
+ }, null, 12, pa)], 8, fa)) : (f(), A("img", {
2944
2961
  key: 1,
2945
2962
  class: "tpl:border-0",
2946
2963
  src: e.block.src,
2947
2964
  alt: e.block.alt,
2948
2965
  style: L(d.value)
2949
- }, null, 12, pa))], 64)) : (f(), A("div", ma, [s.value ? (f(), A("button", {
2966
+ }, null, 12, ma))], 64)) : (f(), A("div", ha, [s.value ? (f(), A("button", {
2950
2967
  key: 0,
2951
2968
  "aria-label": M(i).image.browseMedia,
2952
2969
  class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
2953
2970
  onClick: N(l, ["stop"])
2954
- }, [V(M(Qr), {
2971
+ }, [V(M($r), {
2955
2972
  size: 14,
2956
2973
  "stroke-width": 1.5
2957
- }), z(" " + O(M(i).image.browseMedia), 1)], 8, ha)) : (f(), A("span", ga, O(M(i).image.clickToAdd), 1))]))], 4));
2974
+ }), z(" " + O(M(i).image.browseMedia), 1)], 8, ga)) : (f(), A("span", _a, O(M(i).image.clickToAdd), 1))]))], 4));
2958
2975
  }
2959
- }), va = { class: "tpl:w-full" }, ya = ["href"], ba = {
2976
+ }), ya = { class: "tpl:w-full" }, ba = ["href"], xa = {
2960
2977
  key: 1,
2961
2978
  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)]"
2962
- }, xa = /* @__PURE__ */ B({
2979
+ }, Sa = /* @__PURE__ */ B({
2963
2980
  __name: "MenuBlock",
2964
2981
  props: {
2965
2982
  block: {},
@@ -2978,7 +2995,7 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2978
2995
  function a(e) {
2979
2996
  return e || t.block.linkColor || t.block.color;
2980
2997
  }
2981
- return (t, o) => (f(), A("div", va, [i.value ? (f(), A("div", {
2998
+ return (t, o) => (f(), A("div", ya, [i.value ? (f(), A("div", {
2982
2999
  key: 0,
2983
3000
  style: L(r.value)
2984
3001
  }, [(f(!0), A(R, null, h(e.block.items, (t, n) => (f(), A(R, { key: t.id }, [I("a", {
@@ -2990,15 +3007,15 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
2990
3007
  textDecoration: t.underline ? "underline" : "none"
2991
3008
  }),
2992
3009
  onClick: o[0] ||= N(() => {}, ["prevent"])
2993
- }, O(t.text || "..."), 13, ya), n < e.block.items.length - 1 ? (f(), A("span", {
3010
+ }, O(t.text || "..."), 13, ba), n < e.block.items.length - 1 ? (f(), A("span", {
2994
3011
  key: 0,
2995
3012
  style: L({
2996
3013
  color: e.block.separatorColor,
2997
3014
  padding: `0 ${e.block.spacing}px`
2998
3015
  })
2999
- }, O(e.block.separator), 5)) : j("", !0)], 64))), 128))], 4)) : (f(), A("div", ba, [V(M(ni), { size: 16 }), I("span", null, O(M(n).menu.addLinks), 1)]))]));
3016
+ }, O(e.block.separator), 5)) : j("", !0)], 64))), 128))], 4)) : (f(), A("div", xa, [V(M(ri), { size: 16 }), I("span", null, O(M(n).menu.addLinks), 1)]))]));
3000
3017
  }
3001
- }), Sa = new Set([
3018
+ }), Ca = new Set([
3002
3019
  "http",
3003
3020
  "https",
3004
3021
  "mailto",
@@ -3008,7 +3025,7 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
3008
3025
  "sms",
3009
3026
  "xmpp",
3010
3027
  "cid"
3011
- ]), Ca = new Set([
3028
+ ]), wa = new Set([
3012
3029
  "SCRIPT",
3013
3030
  "STYLE",
3014
3031
  "IFRAME",
@@ -3018,7 +3035,7 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
3018
3035
  "META",
3019
3036
  "BASE",
3020
3037
  "FORM"
3021
- ]), wa = new Set([
3038
+ ]), Ta = new Set([
3022
3039
  "href",
3023
3040
  "xlink:href",
3024
3041
  "formaction",
@@ -3027,16 +3044,16 @@ var sa = ["href"], ca = ["src", "alt"], la = ["src", "alt"], ua = {
3027
3044
  "background",
3028
3045
  "poster"
3029
3046
  ]);
3030
- function Ta(e, t) {
3047
+ function Ea(e, t) {
3031
3048
  let n = e.trim();
3032
3049
  if (!n || n.startsWith("#")) return !0;
3033
3050
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
3034
3051
  if (!r) return !0;
3035
3052
  let i = r[1].toLowerCase();
3036
- return Sa.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3053
+ return Ca.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3037
3054
  }
3038
- function Ea(e) {
3039
- if (Ca.has(e.tagName)) {
3055
+ function Da(e) {
3056
+ if (wa.has(e.tagName)) {
3040
3057
  e.remove();
3041
3058
  return;
3042
3059
  }
@@ -3048,29 +3065,29 @@ function Ea(e) {
3048
3065
  e.removeAttribute(n);
3049
3066
  continue;
3050
3067
  }
3051
- if (wa.has(t)) {
3052
- Ta(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3068
+ if (Ta.has(t)) {
3069
+ Ea(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3053
3070
  continue;
3054
3071
  }
3055
3072
  if (t === "src") {
3056
- Ta(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3073
+ Ea(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3057
3074
  continue;
3058
3075
  }
3059
3076
  t === "srcdoc" && e.removeAttribute(n);
3060
3077
  }
3061
3078
  let n = Array.from(e.children);
3062
- for (let e of n) Ea(e);
3079
+ for (let e of n) Da(e);
3063
3080
  }
3064
- function Da(e) {
3081
+ function Oa(e) {
3065
3082
  if (typeof DOMParser > "u") return e;
3066
3083
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
3067
- for (let e of n) Ea(e);
3084
+ for (let e of n) Da(e);
3068
3085
  return t.innerHTML;
3069
3086
  }
3070
3087
  //#endregion
3071
3088
  //#region src/composables/useEditableTextBlock.ts
3072
- function Oa(e) {
3073
- let t = v(Un, []), { syntax: n } = Fi(), r = k(() => Da(bt(gt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = Cn(a), c = k(() => ({
3089
+ function ka(e) {
3090
+ let t = v(Un, []), { syntax: n } = Ii(), r = k(() => Oa(bt(gt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = Cn(a), c = k(() => ({
3074
3091
  top: o.value - 8,
3075
3092
  left: s.value
3076
3093
  }));
@@ -3091,14 +3108,14 @@ function Oa(e) {
3091
3108
  }
3092
3109
  //#endregion
3093
3110
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
3094
- var ka = ["innerHTML"], Aa = /* @__PURE__ */ B({
3111
+ var Aa = ["innerHTML"], ja = /* @__PURE__ */ B({
3095
3112
  __name: "ParagraphBlock",
3096
3113
  props: {
3097
3114
  block: {},
3098
3115
  viewport: {}
3099
3116
  },
3100
3117
  setup(e) {
3101
- let t = e, n = E(() => import("./ParagraphEditor-Cpmy85zL.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Oa(() => t.block.content);
3118
+ let t = e, n = E(() => import("./ParagraphEditor-DPFK_KjR.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = ka(() => t.block.content);
3102
3119
  return (t, l) => (f(), A("div", {
3103
3120
  ref_key: "blockRef",
3104
3121
  ref: i,
@@ -3117,19 +3134,19 @@ var ka = ["innerHTML"], Aa = /* @__PURE__ */ B({
3117
3134
  key: 1,
3118
3135
  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",
3119
3136
  innerHTML: M(o)
3120
- }, null, 8, ka))], 544));
3137
+ }, null, 8, Aa))], 544));
3121
3138
  }
3122
3139
  });
3123
3140
  //#endregion
3124
3141
  //#region src/utils/blockComponentResolver.ts
3125
- function ja(e, t, n) {
3142
+ function Ma(e, t, n) {
3126
3143
  if (t) {
3127
3144
  let n = t.getComponent(e);
3128
3145
  if (n) return n;
3129
3146
  }
3130
3147
  return n[e.type] ?? null;
3131
3148
  }
3132
- function Ma(e) {
3149
+ function Na(e) {
3133
3150
  let { padding: t, margin: n, backgroundColor: r } = e.styles;
3134
3151
  return {
3135
3152
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
@@ -3139,20 +3156,20 @@ function Ma(e) {
3139
3156
  }
3140
3157
  //#endregion
3141
3158
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
3142
- var Na = ["data-block-id", "data-block-type"], Pa = ["aria-label"], Fa = [
3159
+ var Pa = ["data-block-id", "data-block-type"], Fa = ["aria-label"], Ia = [
3143
3160
  "aria-label",
3144
3161
  "aria-pressed",
3145
3162
  "title"
3146
- ], Ia = ["aria-label", "title"], La = ["aria-label", "title"], Ra = ["aria-label", "title"], za = {
3163
+ ], La = ["aria-label", "title"], Ra = ["aria-label", "title"], za = ["aria-label", "title"], Ba = {
3147
3164
  key: 1,
3148
3165
  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"
3149
- }, Ba = { 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)]" }, Va = {
3166
+ }, Va = { 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)]" }, Ha = {
3150
3167
  key: 2,
3151
3168
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
3152
- }, Ha = ["aria-label", "title"], Ua = {
3169
+ }, Ua = ["aria-label", "title"], Wa = {
3153
3170
  key: 3,
3154
3171
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
3155
- }, Wa = ["aria-label"], Ga = /* @__PURE__ */ wi(/* @__PURE__ */ B({
3172
+ }, Ga = ["aria-label"], Ka = /* @__PURE__ */ Ti(/* @__PURE__ */ B({
3156
3173
  __name: "BlockWrapper",
3157
3174
  props: {
3158
3175
  block: {},
@@ -3162,7 +3179,7 @@ var Na = ["data-block-id", "data-block-type"], Pa = ["aria-label"], Fa = [
3162
3179
  },
3163
3180
  emits: ["select"],
3164
3181
  setup(e, { emit: t }) {
3165
- let n = E(() => import("./BlockIssueBadge-w7n4orSd.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(Zn, null), l = C(null), u = k(() => c?.liftedBlockId.value === r.block.id), d = k(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3182
+ let n = E(() => import("./BlockIssueBadge-CrmWF2hu.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(Zn, null), l = C(null), u = k(() => c?.liftedBlockId.value === r.block.id), d = k(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3166
3183
  async function p() {
3167
3184
  await m(), l.value?.focus();
3168
3185
  }
@@ -3189,8 +3206,8 @@ var Na = ["data-block-id", "data-block-type"], Pa = ["aria-label"], Fa = [
3189
3206
  desktop: a.viewport.desktop,
3190
3207
  tablet: a.viewport.tablet,
3191
3208
  mobile: a.viewport.mobile
3192
- }[r.viewport] ?? r.viewport : ""), y = k(() => !!r.block.displayCondition), b = v(Fn, null), x = v(In, null), S = v(Xn, {}), w = k(() => !!S.savedModules), T = k(() => S.comments?.getBlockCount(r.block.id) ?? 0), D = k(() => ({ margin: Ma(r.block).margin })), ee = k(() => {
3193
- let e = Ma(r.block);
3209
+ }[r.viewport] ?? r.viewport : ""), y = k(() => !!r.block.displayCondition), b = v(Fn, null), x = v(In, null), S = v(Xn, {}), w = k(() => !!S.savedModules), T = k(() => S.comments?.getBlockCount(r.block.id) ?? 0), D = k(() => ({ margin: Na(r.block).margin })), ee = k(() => {
3210
+ let e = Na(r.block);
3194
3211
  return {
3195
3212
  padding: e.padding,
3196
3213
  backgroundColor: e.backgroundColor
@@ -3238,90 +3255,90 @@ var Na = ["data-block-id", "data-block-type"], Pa = ["aria-label"], Fa = [
3238
3255
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
3239
3256
  title: M(a).blockActions.drag,
3240
3257
  onKeydown: h
3241
- }, [V(M(Xr), {
3258
+ }, [V(M(Zr), {
3242
3259
  size: 14,
3243
3260
  "stroke-width": 1.5
3244
- })], 40, Fa),
3261
+ })], 40, Ia),
3245
3262
  I("button", {
3246
3263
  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",
3247
3264
  "aria-label": M(a).blockActions.duplicate,
3248
3265
  title: M(a).blockActions.duplicate,
3249
3266
  onClick: N(P, ["stop"])
3250
- }, [V(M(Wr), {
3267
+ }, [V(M(Gr), {
3251
3268
  size: 14,
3252
3269
  "stroke-width": 1.5
3253
- })], 8, Ia),
3270
+ })], 8, La),
3254
3271
  w.value ? (f(), A("button", {
3255
3272
  key: 0,
3256
3273
  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",
3257
3274
  "aria-label": M(a).blockActions.saveAsModule,
3258
3275
  title: M(a).blockActions.saveAsModule,
3259
3276
  onClick: N(re, ["stop"])
3260
- }, [V(M(Nr), {
3277
+ }, [V(M(Pr), {
3261
3278
  size: 14,
3262
3279
  "stroke-width": 1.5
3263
- })], 8, La)) : j("", !0),
3280
+ })], 8, Ra)) : j("", !0),
3264
3281
  I("button", {
3265
3282
  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",
3266
3283
  "aria-label": M(a).blockActions.delete,
3267
3284
  title: M(a).blockActions.delete,
3268
3285
  onClick: N(ne, ["stop"])
3269
- }, [V(M(mi), {
3286
+ }, [V(M(hi), {
3270
3287
  size: 14,
3271
3288
  "stroke-width": 1.5
3272
- })], 8, Ra)
3273
- ], 8, Pa)) : j("", !0),
3274
- g.value ? (f(), A("div", za, [I("span", Ba, [V(M(Gr), {
3289
+ })], 8, za)
3290
+ ], 8, Fa)) : j("", !0),
3291
+ g.value ? (f(), A("div", Ba, [I("span", Va, [V(M(Kr), {
3275
3292
  size: 12,
3276
3293
  "stroke-width": 1.5
3277
3294
  }), z(" " + O(M(s)(M(a).blockActions.hiddenOnViewport, { viewport: _.value })), 1)])])) : j("", !0),
3278
- y.value && !g.value ? (f(), A("div", Va, [I("button", {
3295
+ y.value && !g.value ? (f(), A("div", Ha, [I("button", {
3279
3296
  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)]",
3280
3297
  "aria-label": M(a).blockActions.conditionToggle,
3281
3298
  title: e.block.displayCondition?.label,
3282
3299
  onClick: N(F, ["stop"])
3283
- }, [V(M(Yr), {
3300
+ }, [V(M(Xr), {
3284
3301
  size: 12,
3285
3302
  "stroke-width": 2
3286
- })], 8, Ha)])) : j("", !0),
3287
- T.value > 0 && !g.value ? (f(), A("div", Ua, [I("button", {
3303
+ })], 8, Ua)])) : j("", !0),
3304
+ T.value > 0 && !g.value ? (f(), A("div", Wa, [I("button", {
3288
3305
  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)]",
3289
3306
  "aria-label": M(s)(M(a).blockActions.comments, { count: String(T.value) }),
3290
3307
  onClick: r[0] ||= N((t) => M(S).comments?.openForBlock(e.block.id), ["stop"])
3291
- }, [V(M(ti), {
3308
+ }, [V(M(ni), {
3292
3309
  size: 12,
3293
3310
  "stroke-width": 2.5
3294
- }), z(" " + O(T.value), 1)], 8, Wa)])) : j("", !0),
3311
+ }), z(" " + O(T.value), 1)], 8, Ga)])) : j("", !0),
3295
3312
  I("div", {
3296
3313
  class: "tpl-block-content",
3297
3314
  style: L(ee.value)
3298
3315
  }, [o(t.$slots, "default", {}, void 0, !0)], 4)
3299
- ], 14, Na));
3316
+ ], 14, Pa));
3300
3317
  }
3301
3318
  }), [["__scopeId", "data-v-e77eb94e"]]);
3302
3319
  //#endregion
3303
3320
  //#region src/utils/unwrapParagraph.ts
3304
- function Ka(e) {
3321
+ function qa(e) {
3305
3322
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
3306
3323
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
3307
3324
  }
3308
3325
  //#endregion
3309
3326
  //#region src/components/blocks/TitleBlock.vue
3310
- var qa = /* @__PURE__ */ B({
3327
+ var Ja = /* @__PURE__ */ B({
3311
3328
  __name: "TitleBlock",
3312
3329
  props: {
3313
3330
  block: {},
3314
3331
  viewport: {}
3315
3332
  },
3316
3333
  setup(e) {
3317
- let t = e, n = E(() => import("./TitleEditor-CSDdss38.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Oa(() => t.block.content), l = k(() => {
3334
+ let t = e, n = E(() => import("./TitleEditor-DZ_v-LQC.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = ka(() => t.block.content), l = k(() => {
3318
3335
  let e = {
3319
3336
  fontSize: `${pe[t.block.level]}px`,
3320
3337
  color: t.block.color,
3321
3338
  textAlign: t.block.textAlign
3322
3339
  };
3323
3340
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3324
- }), u = k(() => `h${t.block.level}`), p = k(() => Ka(o.value));
3341
+ }), u = k(() => `h${t.block.level}`), p = k(() => qa(o.value));
3325
3342
  return (t, o) => (f(), A("div", {
3326
3343
  ref_key: "blockRef",
3327
3344
  ref: i,
@@ -3344,11 +3361,11 @@ var qa = /* @__PURE__ */ B({
3344
3361
  innerHTML: p.value
3345
3362
  }, null, 8, ["innerHTML"]))], 36));
3346
3363
  }
3347
- }), Ja = { class: "tpl:w-full" }, Ya = { class: "tpl:flex tpl:gap-0" }, Xa = {
3364
+ }), Ya = { class: "tpl:w-full" }, Xa = { class: "tpl:flex tpl:gap-0" }, Za = {
3348
3365
  key: 0,
3349
3366
  "data-testid": "section-drop-hint",
3350
3367
  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)]"
3351
- }, Za = /* @__PURE__ */ B({
3368
+ }, Qa = /* @__PURE__ */ B({
3352
3369
  __name: "SectionBlock",
3353
3370
  props: {
3354
3371
  block: {},
@@ -3356,12 +3373,12 @@ var qa = /* @__PURE__ */ B({
3356
3373
  },
3357
3374
  setup(e) {
3358
3375
  let t = {
3359
- title: qa,
3360
- paragraph: Aa,
3361
- image: _a,
3362
- button: Cr,
3363
- divider: ea,
3364
- custom: Qi
3376
+ title: Ja,
3377
+ paragraph: ja,
3378
+ image: va,
3379
+ button: wr,
3380
+ divider: ta,
3381
+ custom: $i
3365
3382
  }, n = e, { t: r } = Y(), i = J(Nn, "SectionBlock"), a = v(In, null), o = v(Vn, null), s = k(() => {
3366
3383
  switch (n.block.columns) {
3367
3384
  case "2": return ["50%", "50%"];
@@ -3388,7 +3405,7 @@ var qa = /* @__PURE__ */ B({
3388
3405
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3389
3406
  }
3390
3407
  function m(e) {
3391
- return ja(e, o, t);
3408
+ return Ma(e, o, t);
3392
3409
  }
3393
3410
  function g(e, t) {
3394
3411
  e.type === "custom" && i.updateBlock(e.id, {
@@ -3396,7 +3413,7 @@ var qa = /* @__PURE__ */ B({
3396
3413
  dataSourceFetched: t.dataSourceFetched
3397
3414
  });
3398
3415
  }
3399
- return (t, n) => (f(), A("div", Ja, [I("div", Ya, [(f(!0), A(R, null, h(l.value, (t, n) => (f(), A("div", {
3416
+ return (t, n) => (f(), A("div", Ya, [I("div", Xa, [(f(!0), A(R, null, h(l.value, (t, n) => (f(), A("div", {
3400
3417
  key: n,
3401
3418
  class: ae(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3402
3419
  style: L({ width: s.value[n] })
@@ -3418,7 +3435,7 @@ var qa = /* @__PURE__ */ B({
3418
3435
  class: "tpl:min-h-[60px]",
3419
3436
  "onUpdate:modelValue": (e) => p(n, e)
3420
3437
  }, {
3421
- default: b(() => [(f(!0), A(R, null, h(u(n), (t) => c((f(), A("div", { key: t.id }, [V(Ga, {
3438
+ default: b(() => [(f(!0), A(R, null, h(u(n), (t) => c((f(), A("div", { key: t.id }, [V(Ka, {
3422
3439
  block: t,
3423
3440
  "is-selected": M(i).state.selectedBlockId === t.id,
3424
3441
  viewport: e.viewport,
@@ -3445,9 +3462,9 @@ var qa = /* @__PURE__ */ B({
3445
3462
  "model-value",
3446
3463
  "group",
3447
3464
  "onUpdate:modelValue"
3448
- ]), u(n).length === 0 ? (f(), A("div", Xa, [I("span", null, O(M(r).section.dropHere), 1)])) : j("", !0)], 6))), 128))])]));
3465
+ ]), u(n).length === 0 ? (f(), A("div", Za, [I("span", null, O(M(r).section.dropHere), 1)])) : j("", !0)], 6))), 128))])]));
3449
3466
  }
3450
- }), Qa = {
3467
+ }), $a = {
3451
3468
  facebook: {
3452
3469
  name: "Facebook",
3453
3470
  color: "#1877F2",
@@ -3528,11 +3545,11 @@ var qa = /* @__PURE__ */ B({
3528
3545
  color: "#1769FF",
3529
3546
  path: "M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"
3530
3547
  }
3531
- }, $a = {
3548
+ }, eo = {
3532
3549
  small: 24,
3533
3550
  medium: 32,
3534
3551
  large: 48
3535
- }, eo = [
3552
+ }, to = [
3536
3553
  "facebook",
3537
3554
  "twitter",
3538
3555
  "instagram",
@@ -3549,11 +3566,11 @@ var qa = /* @__PURE__ */ B({
3549
3566
  "github",
3550
3567
  "dribbble",
3551
3568
  "behance"
3552
- ], to = [
3569
+ ], no = [
3553
3570
  "width",
3554
3571
  "height",
3555
3572
  "fill"
3556
- ], no = ["d"], ro = /* @__PURE__ */ B({
3573
+ ], ro = ["d"], io = /* @__PURE__ */ B({
3557
3574
  __name: "SocialIconSvg",
3558
3575
  props: {
3559
3576
  platform: {},
@@ -3561,7 +3578,7 @@ var qa = /* @__PURE__ */ B({
3561
3578
  iconSize: {}
3562
3579
  },
3563
3580
  setup(e) {
3564
- let t = e, n = k(() => Qa[t.platform]), r = k(() => $a[t.iconSize]), i = k(() => {
3581
+ let t = e, n = k(() => $a[t.platform]), r = k(() => eo[t.iconSize]), i = k(() => {
3565
3582
  let e = {
3566
3583
  display: "inline-flex",
3567
3584
  alignItems: "center",
@@ -3605,12 +3622,12 @@ var qa = /* @__PURE__ */ B({
3605
3622
  viewBox: "0 0 24 24",
3606
3623
  fill: o.value,
3607
3624
  xmlns: "http://www.w3.org/2000/svg"
3608
- }, [I("path", { d: n.value.path }, null, 8, no)], 8, to))], 4));
3625
+ }, [I("path", { d: n.value.path }, null, 8, ro)], 8, no))], 4));
3609
3626
  }
3610
- }), io = { class: "tpl:w-full" }, ao = ["href"], oo = {
3627
+ }), ao = { class: "tpl:w-full" }, oo = ["href"], so = {
3611
3628
  key: 1,
3612
3629
  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)]"
3613
- }, so = /* @__PURE__ */ B({
3630
+ }, co = /* @__PURE__ */ B({
3614
3631
  __name: "SocialIconsBlock",
3615
3632
  props: {
3616
3633
  block: {},
@@ -3623,7 +3640,7 @@ var qa = /* @__PURE__ */ B({
3623
3640
  gap: `${t.block.spacing}px`,
3624
3641
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3625
3642
  })), i = k(() => t.block.icons.length > 0);
3626
- return (t, a) => (f(), A("div", io, [i.value ? (f(), A("div", {
3643
+ return (t, a) => (f(), A("div", ao, [i.value ? (f(), A("div", {
3627
3644
  key: 0,
3628
3645
  style: L(r.value)
3629
3646
  }, [(f(!0), A(R, null, h(e.block.icons, (t) => (f(), A("a", {
@@ -3631,7 +3648,7 @@ var qa = /* @__PURE__ */ B({
3631
3648
  href: t.url || "#",
3632
3649
  class: "tpl:cursor-default",
3633
3650
  onClick: a[0] ||= N(() => {}, ["prevent"])
3634
- }, [V(ro, {
3651
+ }, [V(io, {
3635
3652
  platform: t.platform,
3636
3653
  "icon-style": e.block.iconStyle,
3637
3654
  "icon-size": e.block.iconSize
@@ -3639,16 +3656,16 @@ var qa = /* @__PURE__ */ B({
3639
3656
  "platform",
3640
3657
  "icon-style",
3641
3658
  "icon-size"
3642
- ])], 8, ao))), 128))], 4)) : (f(), A("div", oo, [V(M(li), { size: 16 }), I("span", null, O(M(n).social.addIcons), 1)]))]));
3659
+ ])], 8, oo))), 128))], 4)) : (f(), A("div", so, [V(M(ui), { size: 16 }), I("span", null, O(M(n).social.addIcons), 1)]))]));
3643
3660
  }
3644
- }), co = { class: "tpl:w-full" }, lo = {
3661
+ }), lo = { class: "tpl:w-full" }, uo = {
3645
3662
  key: 0,
3646
3663
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3647
3664
  style: {
3648
3665
  "background-color": "var(--tpl-bg-hover)",
3649
3666
  color: "var(--tpl-text-dim)"
3650
3667
  }
3651
- }, uo = /* @__PURE__ */ B({
3668
+ }, fo = /* @__PURE__ */ B({
3652
3669
  __name: "SpacerBlock",
3653
3670
  props: {
3654
3671
  block: {},
@@ -3660,23 +3677,23 @@ var qa = /* @__PURE__ */ B({
3660
3677
  minHeight: `${t.block.height}px`,
3661
3678
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3662
3679
  }));
3663
- return (t, i) => (f(), A("div", co, [I("div", {
3680
+ return (t, i) => (f(), A("div", lo, [I("div", {
3664
3681
  style: L(r.value),
3665
3682
  class: ae(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !M(n).state.previewMode }])
3666
- }, [M(n).state.previewMode ? j("", !0) : (f(), A("span", lo, O(e.block.height) + "px ", 1))], 6)]));
3683
+ }, [M(n).state.previewMode ? j("", !0) : (f(), A("span", uo, O(e.block.height) + "px ", 1))], 6)]));
3667
3684
  }
3668
- }), fo = { class: "tpl:w-full" }, po = { key: 0 }, mo = [
3685
+ }), po = { class: "tpl:w-full" }, mo = { key: 0 }, ho = [
3669
3686
  "aria-label",
3670
3687
  "data-placeholder",
3671
3688
  "onBlur"
3672
- ], ho = [
3689
+ ], go = [
3673
3690
  "aria-label",
3674
3691
  "data-placeholder",
3675
3692
  "onBlur"
3676
- ], go = {
3693
+ ], _o = {
3677
3694
  key: 1,
3678
3695
  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)]"
3679
- }, _o = /* @__PURE__ */ wi(/* @__PURE__ */ B({
3696
+ }, vo = /* @__PURE__ */ Ti(/* @__PURE__ */ B({
3680
3697
  __name: "TableBlock",
3681
3698
  props: {
3682
3699
  block: {},
@@ -3719,11 +3736,11 @@ var qa = /* @__PURE__ */ B({
3719
3736
  } : n);
3720
3737
  i.updateBlock(n.block.id, { rows: o });
3721
3738
  }
3722
- return (e, n) => (f(), A("div", fo, [a.value ? (f(), A("table", {
3739
+ return (e, n) => (f(), A("div", po, [a.value ? (f(), A("table", {
3723
3740
  key: 0,
3724
3741
  style: L(o.value),
3725
3742
  class: "tpl-table-editable"
3726
- }, [u.value ? (f(), A("thead", po, [I("tr", null, [(f(!0), A(R, null, h(u.value.cells, (e) => c((f(), A("th", {
3743
+ }, [u.value ? (f(), A("thead", mo, [I("tr", null, [(f(!0), A(R, null, h(u.value.cells, (e) => c((f(), A("th", {
3727
3744
  key: e.id,
3728
3745
  style: L(l.value),
3729
3746
  "aria-label": M(r).table.cellPlaceholder,
@@ -3732,7 +3749,7 @@ var qa = /* @__PURE__ */ B({
3732
3749
  onBlur: (t) => m(u.value.id, e.id, t),
3733
3750
  onKeydown: n[0] ||= D(N((e) => e.target.blur(), ["prevent"]), ["enter"]),
3734
3751
  onClick: N(p, ["stop"])
3735
- }, null, 44, mo)), [[t, e.content]])), 128))])])) : j("", !0), I("tbody", null, [(f(!0), A(R, null, h(d.value, (e) => (f(), A("tr", { key: e.id }, [(f(!0), A(R, null, h(e.cells, (i) => c((f(), A("td", {
3752
+ }, null, 44, ho)), [[t, e.content]])), 128))])])) : j("", !0), I("tbody", null, [(f(!0), A(R, null, h(d.value, (e) => (f(), A("tr", { key: e.id }, [(f(!0), A(R, null, h(e.cells, (i) => c((f(), A("td", {
3736
3753
  key: i.id,
3737
3754
  style: L(s.value),
3738
3755
  "aria-label": M(r).table.cellPlaceholder,
@@ -3741,9 +3758,9 @@ var qa = /* @__PURE__ */ B({
3741
3758
  onBlur: (t) => m(e.id, i.id, t),
3742
3759
  onKeydown: n[1] ||= D(N((e) => e.target.blur(), ["prevent"]), ["enter"]),
3743
3760
  onClick: N(p, ["stop"])
3744
- }, null, 44, ho)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), A("div", go, [V(M(pi), { size: 16 }), I("span", null, O(M(r).table.empty), 1)]))]));
3761
+ }, null, 44, go)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), A("div", _o, [V(M(mi), { size: 16 }), I("span", null, O(M(r).table.empty), 1)]))]));
3745
3762
  }
3746
- }), [["__scopeId", "data-v-4f49860b"]]), vo = /* @__PURE__ */ B({
3763
+ }), [["__scopeId", "data-v-4f49860b"]]), yo = /* @__PURE__ */ B({
3747
3764
  __name: "VideoPlayButton",
3748
3765
  props: { hoverEffect: {
3749
3766
  type: Boolean,
@@ -3761,7 +3778,7 @@ var qa = /* @__PURE__ */ B({
3761
3778
  });
3762
3779
  //#endregion
3763
3780
  //#region src/utils/videoThumbnail.ts
3764
- function yo(e) {
3781
+ function bo(e) {
3765
3782
  if (!e) return {
3766
3783
  platform: "unknown",
3767
3784
  videoId: null,
@@ -3793,25 +3810,25 @@ function yo(e) {
3793
3810
  thumbnailUrl: null
3794
3811
  };
3795
3812
  }
3796
- function bo(e, t) {
3797
- return t || yo(e).thumbnailUrl;
3813
+ function xo(e, t) {
3814
+ return t || bo(e).thumbnailUrl;
3798
3815
  }
3799
3816
  //#endregion
3800
3817
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
3801
- var xo = ["src", "alt"], So = {
3818
+ var So = ["src", "alt"], Co = {
3802
3819
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3803
3820
  style: { opacity: "0.7" }
3804
- }, Co = ["href"], wo = ["src", "alt"], To = ["src", "alt"], Eo = {
3821
+ }, wo = ["href"], To = ["src", "alt"], Eo = ["src", "alt"], Do = {
3805
3822
  key: 3,
3806
3823
  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)]"
3807
- }, Do = /* @__PURE__ */ B({
3824
+ }, Oo = /* @__PURE__ */ B({
3808
3825
  __name: "VideoBlock",
3809
3826
  props: {
3810
3827
  block: {},
3811
3828
  viewport: {}
3812
3829
  },
3813
3830
  setup(e) {
3814
- let t = e, { t: n } = Y(), { syntax: r } = Fi(), i = k(() => _t(t.block.url, r) || _t(t.block.thumbnailUrl, r)), a = k(() => i.value ? null : bo(t.block.url, t.block.thumbnailUrl)), o = k(() => ({ textAlign: t.block.align })), s = k(() => ({
3831
+ let t = e, { t: n } = Y(), { syntax: r } = Ii(), i = k(() => _t(t.block.url, r) || _t(t.block.thumbnailUrl, r)), a = k(() => i.value ? null : xo(t.block.url, t.block.thumbnailUrl)), o = k(() => ({ textAlign: t.block.align })), s = k(() => ({
3815
3832
  maxWidth: "100%",
3816
3833
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
3817
3834
  display: "block",
@@ -3829,16 +3846,16 @@ var xo = ["src", "alt"], So = {
3829
3846
  class: "tpl:w-full tpl:border-0",
3830
3847
  src: e.block.placeholderUrl,
3831
3848
  alt: e.block.alt
3832
- }, null, 8, xo), V(vo)], 4)) : i.value ? (f(), A("div", {
3849
+ }, null, 8, So), V(yo)], 4)) : i.value ? (f(), A("div", {
3833
3850
  key: 1,
3834
3851
  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)]",
3835
3852
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
3836
- }, [V(M(vi), {
3853
+ }, [V(M(yi), {
3837
3854
  size: 36,
3838
3855
  "stroke-width": 1.5,
3839
3856
  class: "tpl:text-[var(--tpl-primary)]",
3840
3857
  style: { opacity: "0.5" }
3841
- }), I("span", So, O(c.value), 1)], 4)) : a.value ? (f(), A(R, { key: 2 }, [e.block.url ? (f(), A("a", {
3858
+ }), I("span", Co, O(c.value), 1)], 4)) : a.value ? (f(), A(R, { key: 2 }, [e.block.url ? (f(), A("a", {
3842
3859
  key: 0,
3843
3860
  href: e.block.url,
3844
3861
  target: "_blank",
@@ -3850,7 +3867,7 @@ var xo = ["src", "alt"], So = {
3850
3867
  class: "tpl:w-full tpl:border-0",
3851
3868
  src: a.value,
3852
3869
  alt: e.block.alt
3853
- }, null, 8, wo), V(vo, { "hover-effect": "" })], 12, Co)) : (f(), A("div", {
3870
+ }, null, 8, To), V(yo, { "hover-effect": "" })], 12, wo)) : (f(), A("div", {
3854
3871
  key: 1,
3855
3872
  class: "tpl:relative tpl:inline-block",
3856
3873
  style: L(s.value)
@@ -3858,31 +3875,31 @@ var xo = ["src", "alt"], So = {
3858
3875
  class: "tpl:w-full tpl:border-0",
3859
3876
  src: a.value,
3860
3877
  alt: e.block.alt
3861
- }, null, 8, To), V(vo)], 4))], 64)) : (f(), A("div", Eo, [V(M(vi), {
3878
+ }, null, 8, Eo), V(yo)], 4))], 64)) : (f(), A("div", Do, [V(M(yi), {
3862
3879
  size: 40,
3863
3880
  "stroke-width": 1.5,
3864
3881
  class: "tpl:text-[var(--tpl-border-light)]"
3865
3882
  }), I("span", null, O(M(n).video.addVideo), 1)]))], 4));
3866
3883
  }
3867
- }), Oo = {
3868
- section: Za,
3869
- title: qa,
3870
- paragraph: Aa,
3871
- image: _a,
3872
- button: Cr,
3873
- divider: ea,
3874
- video: Do,
3875
- social: so,
3876
- menu: xa,
3877
- table: _o,
3878
- spacer: uo,
3879
- html: aa,
3880
- countdown: E(() => import("./CountdownBlock-CFR8VJCU.js").then((e) => e.n))
3884
+ }), ko = {
3885
+ section: Qa,
3886
+ title: Ja,
3887
+ paragraph: ja,
3888
+ image: va,
3889
+ button: wr,
3890
+ divider: ta,
3891
+ video: Oo,
3892
+ social: co,
3893
+ menu: Sa,
3894
+ table: vo,
3895
+ spacer: fo,
3896
+ html: oa,
3897
+ countdown: E(() => import("./CountdownBlock-DadDprcu.js").then((e) => e.n))
3881
3898
  };
3882
- function ko(e) {
3899
+ function Ao(e) {
3883
3900
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
3884
3901
  t.setUiTheme(n.uiTheme ?? "auto");
3885
- let { resolvedTheme: c } = ur(k(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = fr({
3902
+ let { resolvedTheme: c } = dr(k(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = pr({
3886
3903
  themeOverrides: u,
3887
3904
  resolvedTheme: c,
3888
3905
  extraStyles: e.themeExtraStyles
@@ -3907,13 +3924,13 @@ function ko(e) {
3907
3924
  g && (_ = H(f.isNavigating, (e) => {
3908
3925
  e ? g.pause() : g.resume();
3909
3926
  }));
3910
- let v = lr(t, {
3927
+ let v = ur(t, {
3911
3928
  t: a,
3912
3929
  format: o
3913
- }), y = gr();
3914
- if (vr(y, Oo), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Qi);
3930
+ }), y = _r();
3931
+ if (yr(y, ko), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, $i);
3915
3932
  function b(e) {
3916
- for (let t of e) y.registerCustom(t, Qi);
3933
+ for (let t of e) y.registerCustom(t, $i);
3917
3934
  }
3918
3935
  let x = jn();
3919
3936
  if (s() && l(x.dispose), e.containerEl) {
@@ -3924,7 +3941,7 @@ function ko(e) {
3924
3941
  }, { capture: !0 });
3925
3942
  }
3926
3943
  function S(r) {
3927
- x.isActive() && br(r, {
3944
+ x.isActive() && xr(r, {
3928
3945
  history: f,
3929
3946
  selectBlock: (e) => t.selectBlock(e),
3930
3947
  getSelectedBlockId: () => t.state.selectedBlockId,
@@ -3938,7 +3955,7 @@ function ko(e) {
3938
3955
  p($n, e.editorRoot ?? document), p(er, w), p(Mn, r), p(Nn, t), p(Pn, f), p(Fn, m), p(In, h), p(Ln, i), p(Rn, d), p(zn, c), p(Bn, n.blockDefaults), p(Vn, y), p(Hn, n.customBlocks ?? []);
3939
3956
  let T = ft(n.mergeTags?.syntax);
3940
3957
  p(Un, n.mergeTags?.tags ?? []), p(Wn, T), p(Gn, n.mergeTags?.onRequest ?? null), p(Kn, n.mergeTags?.autocomplete !== !1), p(qn, n.onRequestMedia ?? null), p(Jn, n.displayConditions?.conditions ?? []), p(Yn, n.displayConditions?.allowCustom ?? !1), p(Xn, e.capabilities ?? {}), p(Zn, v);
3941
- let E = n.lint?.disabled === !0 ? null : sr({
3958
+ let E = sr(n.lint) ? null : cr({
3942
3959
  content: t.content,
3943
3960
  options: n.lint ?? {},
3944
3961
  updateBlock: t.updateBlock,
@@ -3969,7 +3986,7 @@ function ko(e) {
3969
3986
  }
3970
3987
  //#endregion
3971
3988
  //#region ../core/src/cloud/auth.ts
3972
- var Ao = class e {
3989
+ var jo = class e {
3973
3990
  static DEFAULT_BASE_URL = "https://templatical.com";
3974
3991
  accessToken = null;
3975
3992
  expiresAt = null;
@@ -4070,8 +4087,8 @@ var Ao = class e {
4070
4087
  return a.status === 401 && (a = await i(await this.refreshToken())), a;
4071
4088
  }
4072
4089
  };
4073
- function jo(e, t) {
4074
- return e.mode === "direct" ? new Ao({
4090
+ function Mo(e, t) {
4091
+ return e.mode === "direct" ? new jo({
4075
4092
  url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
4076
4093
  baseUrl: e.baseUrl,
4077
4094
  requestOptions: {
@@ -4085,7 +4102,7 @@ function jo(e, t) {
4085
4102
  }
4086
4103
  },
4087
4104
  onError: t
4088
- }) : new Ao({
4105
+ }) : new jo({
4089
4106
  url: e.url,
4090
4107
  baseUrl: e.baseUrl,
4091
4108
  requestOptions: e.requestOptions,
@@ -4097,16 +4114,16 @@ function jo(e, t) {
4097
4114
  function Z(e, t) {
4098
4115
  return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
4099
4116
  }
4100
- var Mo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Mo}/templates/{template}`, No = `${Q}/ai`, Po = `${Mo}/media`, Fo = `${Po}/folders`, Io = `${Mo}/saved-modules`, $ = {
4117
+ var No = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${No}/templates/{template}`, Po = `${Q}/ai`, Fo = `${No}/media`, Io = `${Fo}/folders`, Lo = `${No}/saved-modules`, $ = {
4101
4118
  health: "/api/v1/health",
4102
- "projects.config": `${Mo}/config`,
4103
- "broadcasting.auth": `${Mo}/broadcasting/auth`,
4104
- "templates.store": `${Mo}/templates`,
4119
+ "projects.config": `${No}/config`,
4120
+ "broadcasting.auth": `${No}/broadcasting/auth`,
4121
+ "templates.store": `${No}/templates`,
4105
4122
  "templates.show": `${Q}`,
4106
4123
  "templates.update": `${Q}`,
4107
4124
  "templates.destroy": `${Q}`,
4108
4125
  "templates.export": `${Q}/export`,
4109
- "templates.importFromBeefree": `${Mo}/templates/import/from-beefree`,
4126
+ "templates.importFromBeefree": `${No}/templates/import/from-beefree`,
4110
4127
  "templates.sendTestEmail": `${Q}/send-test-email`,
4111
4128
  "snapshots.index": `${Q}/snapshots`,
4112
4129
  "snapshots.store": `${Q}/snapshots`,
@@ -4117,31 +4134,32 @@ var Mo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Mo}/templates/{te
4117
4134
  "comments.update": `${Q}/comments/{comment}`,
4118
4135
  "comments.destroy": `${Q}/comments/{comment}`,
4119
4136
  "comments.resolve": `${Q}/comments/{comment}/resolve`,
4120
- "ai.generate": `${No}/generate`,
4121
- "ai.conversationMessages": `${No}/conversation-messages`,
4122
- "ai.suggestions": `${No}/suggestions`,
4123
- "ai.rewriteText": `${No}/rewrite-text`,
4124
- "ai.score": `${No}/score`,
4125
- "ai.fixFinding": `${No}/fix-finding`,
4126
- "ai.generateFromDesign": `${No}/generate-from-design`,
4127
- "media.upload": `${Po}/upload`,
4128
- "media.browse": `${Po}/browse`,
4129
- "media.delete": `${Po}/delete`,
4130
- "media.move": `${Po}/move`,
4131
- "media.update": `${Po}/{media}`,
4132
- "media.replace": `${Po}/{media}/replace`,
4133
- "media.checkUsage": `${Po}/check-usage`,
4134
- "media.frequentlyUsed": `${Po}/frequently-used`,
4135
- "media.importFromUrl": `${Po}/import-from-url`,
4136
- "folders.index": `${Fo}`,
4137
- "folders.store": `${Fo}`,
4138
- "folders.update": `${Fo}/{mediaFolder}`,
4139
- "folders.destroy": `${Fo}/{mediaFolder}`,
4140
- "savedModules.index": `${Io}`,
4141
- "savedModules.store": `${Io}`,
4142
- "savedModules.update": `${Io}/{savedModule}`,
4143
- "savedModules.destroy": `${Io}/{savedModule}`
4144
- }, Lo = class {
4137
+ "ai.generate": `${Po}/generate`,
4138
+ "ai.conversationMessages": `${Po}/conversation-messages`,
4139
+ "ai.suggestions": `${Po}/suggestions`,
4140
+ "ai.rewriteText": `${Po}/rewrite-text`,
4141
+ "ai.score": `${Po}/score`,
4142
+ "ai.fixFinding": `${Po}/fix-finding`,
4143
+ "ai.generateFromDesign": `${Po}/generate-from-design`,
4144
+ "media.upload": `${Fo}/upload`,
4145
+ "media.browse": `${Fo}/browse`,
4146
+ "media.delete": `${Fo}/delete`,
4147
+ "media.move": `${Fo}/move`,
4148
+ "media.update": `${Fo}/{media}`,
4149
+ "media.replace": `${Fo}/{media}/replace`,
4150
+ "media.checkUsage": `${Fo}/check-usage`,
4151
+ "media.frequentlyUsed": `${Fo}/frequently-used`,
4152
+ "media.importFromUrl": `${Fo}/import-from-url`,
4153
+ "folders.index": `${Io}`,
4154
+ "folders.store": `${Io}`,
4155
+ "folders.update": `${Io}/{mediaFolder}`,
4156
+ "folders.destroy": `${Io}/{mediaFolder}`,
4157
+ "savedModules.index": `${Lo}`,
4158
+ "savedModules.store": `${Lo}`,
4159
+ "savedModules.update": `${Lo}/{savedModule}`,
4160
+ "savedModules.destroy": `${Lo}/{savedModule}`
4161
+ }, Ro = class {
4162
+ authManager;
4145
4163
  constructor(e) {
4146
4164
  this.authManager = e;
4147
4165
  }
@@ -4326,14 +4344,14 @@ var Mo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Mo}/templates/{te
4326
4344
  };
4327
4345
  //#endregion
4328
4346
  //#region ../core/src/cloud/websocket-client.ts
4329
- function Ro(e) {
4347
+ function zo(e) {
4330
4348
  return {
4331
4349
  host: e.host,
4332
4350
  port: e.port,
4333
4351
  appKey: e.app_key
4334
4352
  };
4335
4353
  }
4336
- var zo = class {
4354
+ var Bo = class {
4337
4355
  pusher = null;
4338
4356
  authManager;
4339
4357
  config;
@@ -4400,7 +4418,7 @@ var zo = class {
4400
4418
  };
4401
4419
  //#endregion
4402
4420
  //#region ../core/src/cloud/mcp-operation-handler.ts
4403
- function Bo(e, t) {
4421
+ function Vo(e, t) {
4404
4422
  let { operation: n, data: r } = t;
4405
4423
  switch (n) {
4406
4424
  case "add_block":
@@ -4428,8 +4446,8 @@ function Bo(e, t) {
4428
4446
  }
4429
4447
  //#endregion
4430
4448
  //#region ../core/src/cloud/editor.ts
4431
- function Vo(e) {
4432
- let t = new Lo(e.authManager), n = S({
4449
+ function Ho(e) {
4450
+ let t = new Ro(e.authManager), n = S({
4433
4451
  template: null,
4434
4452
  content: Ue(e.defaultFontFamily, e.templateDefaults),
4435
4453
  selectedBlockId: null,
@@ -4625,11 +4643,11 @@ function Vo(e) {
4625
4643
  }
4626
4644
  //#endregion
4627
4645
  //#region ../core/src/cloud/ai-chat.ts
4628
- var Ho = 0;
4629
- function Uo() {
4630
- return `msg_${Date.now()}_${++Ho}`;
4646
+ var Uo = 0;
4647
+ function Wo() {
4648
+ return `msg_${Date.now()}_${++Uo}`;
4631
4649
  }
4632
- function Wo(e) {
4650
+ function Go(e) {
4633
4651
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C([]), o = C(!1), s = C(!1), c = C(null), l = C(null), u = C(null), d = C(null), f = C(null), p = C(null), m = C(!1), h = C([]), g = C(!1);
4634
4652
  function _(e, t) {
4635
4653
  let n = a.value.findIndex((t) => t.id === e);
@@ -4723,14 +4741,14 @@ function Wo(e) {
4723
4741
  let v = n();
4724
4742
  if (!v) throw Error("Template must be saved before using AI generation");
4725
4743
  o.value = !0, c.value = null, l.value = null, h.value = [];
4726
- let y = Uo();
4744
+ let y = Wo();
4727
4745
  a.value = [...a.value, {
4728
4746
  id: y,
4729
4747
  role: "user",
4730
4748
  content: e,
4731
4749
  timestamp: Date.now()
4732
4750
  }];
4733
- let b = Uo();
4751
+ let b = Wo();
4734
4752
  a.value = [...a.value, {
4735
4753
  id: b,
4736
4754
  role: "assistant",
@@ -4821,7 +4839,7 @@ function Wo(e) {
4821
4839
  }
4822
4840
  //#endregion
4823
4841
  //#region ../core/src/cloud/ai-config.ts
4824
- function Go(e) {
4842
+ function Ko(e) {
4825
4843
  function t(t) {
4826
4844
  return e === !1 ? !1 : e?.[t] !== !1;
4827
4845
  }
@@ -4832,7 +4850,7 @@ function Go(e) {
4832
4850
  }
4833
4851
  //#endregion
4834
4852
  //#region ../core/src/cloud/template-scoring.ts
4835
- function Ko(e) {
4853
+ function qo(e) {
4836
4854
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
4837
4855
  async function l(e, o) {
4838
4856
  let s = n();
@@ -4977,7 +4995,7 @@ function Ko(e) {
4977
4995
  }
4978
4996
  //#endregion
4979
4997
  //#region ../core/src/cloud/design-reference.ts
4980
- function qo(e) {
4998
+ function Jo(e) {
4981
4999
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
4982
5000
  async function s(e) {
4983
5001
  let s = n();
@@ -5040,8 +5058,8 @@ function qo(e) {
5040
5058
  }
5041
5059
  //#endregion
5042
5060
  //#region ../core/src/cloud/comments.ts
5043
- function Jo(e) {
5044
- let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Lo(t), c = C([]), l = C(!1), u = C(!1), d = k(() => (o?.() ?? !1) && t.userConfig !== null), f = k(() => {
5061
+ function Yo(e) {
5062
+ let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Ro(t), c = C([]), l = C(!1), u = C(!1), d = k(() => (o?.() ?? !1) && t.userConfig !== null), f = k(() => {
5045
5063
  let e = 0;
5046
5064
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5047
5065
  return e;
@@ -5240,17 +5258,17 @@ function Jo(e) {
5240
5258
  }
5241
5259
  //#endregion
5242
5260
  //#region ../core/src/cloud/comment-listener.ts
5243
- function Yo(e) {
5261
+ function Xo(e) {
5244
5262
  let { comments: t, channel: n } = e;
5245
5263
  H(n, (e, n) => {
5246
5264
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5247
- Xo(t, e);
5265
+ Zo(t, e);
5248
5266
  });
5249
5267
  }), l(() => {
5250
5268
  n.value?.unbind("comment-broadcast");
5251
5269
  });
5252
5270
  }
5253
- function Xo(e, t) {
5271
+ function Zo(e, t) {
5254
5272
  switch (t.action) {
5255
5273
  case "comment_created":
5256
5274
  e.applyRemoteCreate(t.comment);
@@ -5269,7 +5287,7 @@ function Xo(e, t) {
5269
5287
  }
5270
5288
  //#endregion
5271
5289
  //#region ../core/src/cloud/collaboration.ts
5272
- var Zo = [
5290
+ var Qo = [
5273
5291
  "pusher:member_added",
5274
5292
  "pusher:member_removed",
5275
5293
  "client-block_locked",
@@ -5277,10 +5295,10 @@ var Zo = [
5277
5295
  "client-operation",
5278
5296
  "mcp-operation"
5279
5297
  ];
5280
- function Qo(e) {
5281
- for (let t of Zo) e.unbind(t);
5298
+ function $o(e) {
5299
+ for (let t of Qo) e.unbind(t);
5282
5300
  }
5283
- var $o = [
5301
+ var es = [
5284
5302
  "#3b82f6",
5285
5303
  "#ef4444",
5286
5304
  "#10b981",
@@ -5292,10 +5310,10 @@ var $o = [
5292
5310
  "#6366f1",
5293
5311
  "#14b8a6"
5294
5312
  ];
5295
- function es(e) {
5313
+ function ts(e) {
5296
5314
  let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = k(() => t.userConfig?.id ?? "");
5297
5315
  function u() {
5298
- let e = $o[o % $o.length];
5316
+ let e = es[o % es.length];
5299
5317
  return o++, e;
5300
5318
  }
5301
5319
  function d(e) {
@@ -5337,7 +5355,7 @@ function es(e) {
5337
5355
  function h(e) {
5338
5356
  s = !0;
5339
5357
  try {
5340
- Bo(n, e);
5358
+ Vo(n, e);
5341
5359
  } finally {
5342
5360
  s = !1;
5343
5361
  }
@@ -5357,7 +5375,7 @@ function es(e) {
5357
5375
  return H(() => n.state.selectedBlockId, (e, t) => {
5358
5376
  s || (t && v(t), e && _(e));
5359
5377
  }), H(r, (t, n) => {
5360
- if (n && Qo(n), !t) {
5378
+ if (n && $o(n), !t) {
5361
5379
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5362
5380
  return;
5363
5381
  }
@@ -5389,7 +5407,7 @@ function es(e) {
5389
5407
  h(e);
5390
5408
  });
5391
5409
  }), l(() => {
5392
- r.value && Qo(r.value);
5410
+ r.value && $o(r.value);
5393
5411
  }), {
5394
5412
  collaborators: i,
5395
5413
  lockedBlocks: a,
@@ -5399,7 +5417,7 @@ function es(e) {
5399
5417
  }
5400
5418
  //#endregion
5401
5419
  //#region ../core/src/cloud/collaboration-broadcast.ts
5402
- function ts(e, t) {
5420
+ function ns(e, t) {
5403
5421
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5404
5422
  e.addBlock = (e, r, i) => {
5405
5423
  n(e, r, i), t._broadcastOperation({
@@ -5453,11 +5471,11 @@ function ts(e, t) {
5453
5471
  }
5454
5472
  //#endregion
5455
5473
  //#region ../core/src/cloud/web-socket.ts
5456
- function ns(e) {
5474
+ function rs(e) {
5457
5475
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5458
5476
  async function s(e, s) {
5459
5477
  if (a) return;
5460
- a = new zo({
5478
+ a = new Bo({
5461
5479
  authManager: t,
5462
5480
  config: s,
5463
5481
  onError: n
@@ -5485,8 +5503,8 @@ function ns(e) {
5485
5503
  }
5486
5504
  //#endregion
5487
5505
  //#region ../core/src/cloud/saved-modules.ts
5488
- function rs(e) {
5489
- let t = new Lo(e.authManager), n = C([]), r = C(!1);
5506
+ function is(e) {
5507
+ let t = new Ro(e.authManager), n = C([]), r = C(!1);
5490
5508
  async function i(i) {
5491
5509
  r.value = !0;
5492
5510
  try {
@@ -5534,8 +5552,8 @@ function rs(e) {
5534
5552
  }
5535
5553
  //#endregion
5536
5554
  //#region ../core/src/cloud/snapshots.ts
5537
- function is(e) {
5538
- let t = new Lo(e.authManager), n = C([]), r = C(!1), i = C(!1);
5555
+ function as(e) {
5556
+ let t = new Ro(e.authManager), n = C([]), r = C(!1), i = C(!1);
5539
5557
  async function a() {
5540
5558
  r.value = !0;
5541
5559
  try {
@@ -5567,8 +5585,8 @@ function is(e) {
5567
5585
  }
5568
5586
  //#endregion
5569
5587
  //#region ../core/src/cloud/test-email.ts
5570
- function as(e) {
5571
- let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Lo(t), l = C(!1), u = C(null), d = C(null);
5588
+ function os(e) {
5589
+ let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Ro(t), l = C(!1), u = C(null), d = C(null);
5572
5590
  o && H(o, (e) => {
5573
5591
  e && (d.value = t.testEmailConfig);
5574
5592
  }, { immediate: !0 });
@@ -5604,8 +5622,8 @@ function as(e) {
5604
5622
  }
5605
5623
  //#endregion
5606
5624
  //#region ../core/src/cloud/export.ts
5607
- function os(e) {
5608
- let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Lo(t);
5625
+ function ss(e) {
5626
+ let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Ro(t);
5609
5627
  function a() {
5610
5628
  let e = n?.();
5611
5629
  return {
@@ -5631,8 +5649,8 @@ function os(e) {
5631
5649
  }
5632
5650
  //#endregion
5633
5651
  //#region ../core/src/cloud/plan-config.ts
5634
- function ss(e) {
5635
- let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Lo(t), o = k(() => r.value?.features ?? null);
5652
+ function cs(e) {
5653
+ let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Ro(t), o = k(() => r.value?.features ?? null);
5636
5654
  function s(e) {
5637
5655
  return r.value?.features[e] ?? !1;
5638
5656
  }
@@ -5658,11 +5676,11 @@ function ss(e) {
5658
5676
  }
5659
5677
  //#endregion
5660
5678
  //#region ../core/src/cloud/health-check.ts
5661
- var cs = 5e3;
5662
- function ls(e) {
5679
+ var ls = 5e3;
5680
+ function us(e) {
5663
5681
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
5664
5682
  }
5665
- async function us(e, t) {
5683
+ async function ds(e, t) {
5666
5684
  let n = performance.now();
5667
5685
  try {
5668
5686
  let r = t ? await t.authenticatedFetch($.health, {
@@ -5714,7 +5732,7 @@ async function us(e, t) {
5714
5732
  };
5715
5733
  }
5716
5734
  }
5717
- async function ds(e) {
5735
+ async function fs(e) {
5718
5736
  if (!e?.host || !e?.app_key) return {
5719
5737
  ok: !1,
5720
5738
  error: "WebSocket configuration not available"
@@ -5730,7 +5748,7 @@ async function ds(e) {
5730
5748
  ok: !1,
5731
5749
  error: "WebSocket connection timed out"
5732
5750
  });
5733
- }, cs);
5751
+ }, ls);
5734
5752
  try {
5735
5753
  n = new WebSocket(t);
5736
5754
  } catch (t) {
@@ -5750,8 +5768,8 @@ async function ds(e) {
5750
5768
  };
5751
5769
  });
5752
5770
  }
5753
- async function fs(e = {}) {
5754
- let t = await us(ls(e), e.authManager), n = await ds(t.wsConfig);
5771
+ async function ps(e = {}) {
5772
+ let t = await ds(us(e), e.authManager), n = await fs(t.wsConfig);
5755
5773
  return {
5756
5774
  api: t.api,
5757
5775
  websocket: n,
@@ -5761,29 +5779,29 @@ async function fs(e = {}) {
5761
5779
  }
5762
5780
  //#endregion
5763
5781
  //#region ../core/src/cloud/mcp-listener.ts
5764
- function ps(e) {
5782
+ function ms(e) {
5765
5783
  let { editor: t, channel: n, onOperation: r } = e;
5766
5784
  H(n, (e, n) => {
5767
5785
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
5768
- Bo(t, e), r?.(e);
5786
+ Vo(t, e), r?.(e);
5769
5787
  });
5770
5788
  });
5771
5789
  }
5772
5790
  //#endregion
5773
5791
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
5774
- var ms = {
5792
+ var hs = {
5775
5793
  key: 0,
5776
5794
  class: "tpl-ai-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
5777
- }, hs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, gs = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, _s = { class: "tpl:flex tpl:items-center tpl:gap-1" }, vs = ["title"], ys = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, bs = {
5795
+ }, gs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, _s = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, vs = { class: "tpl:flex tpl:items-center tpl:gap-1" }, ys = ["title"], bs = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, xs = {
5778
5796
  key: 0,
5779
5797
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5780
- }, xs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ss = {
5798
+ }, Ss = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Cs = {
5781
5799
  key: 1,
5782
5800
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5783
- }, Cs = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ws = {
5801
+ }, ws = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ts = {
5784
5802
  key: 2,
5785
5803
  class: "tpl:flex tpl:flex-col tpl:gap-4"
5786
- }, Ts = {
5804
+ }, Es = {
5787
5805
  key: 0,
5788
5806
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
5789
5807
  style: {
@@ -5792,10 +5810,10 @@ var ms = {
5792
5810
  "max-width": "85%",
5793
5811
  "box-shadow": "var(--tpl-shadow)"
5794
5812
  }
5795
- }, Es = {
5813
+ }, Ds = {
5796
5814
  key: 1,
5797
5815
  class: "tpl:flex tpl:flex-col tpl:gap-2"
5798
- }, Ds = {
5816
+ }, Os = {
5799
5817
  key: 1,
5800
5818
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
5801
5819
  style: {
@@ -5804,21 +5822,21 @@ var ms = {
5804
5822
  color: "var(--tpl-text)",
5805
5823
  "box-shadow": "var(--tpl-shadow)"
5806
5824
  }
5807
- }, Os = {
5825
+ }, ks = {
5808
5826
  key: 0,
5809
5827
  class: "tpl:mx-3 tpl:mb-2 tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs",
5810
5828
  style: {
5811
5829
  "background-color": "var(--tpl-danger-light)",
5812
5830
  color: "var(--tpl-danger)"
5813
5831
  }
5814
- }, ks = {
5832
+ }, As = {
5815
5833
  key: 1,
5816
5834
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
5817
5835
  style: {
5818
5836
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
5819
5837
  "backdrop-filter": "blur(2px)"
5820
5838
  }
5821
- }, As = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, js = ["onClick"], Ms = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Ns = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ps = ["placeholder", "disabled"], Fs = ["disabled"], Is = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ls = /* @__PURE__ */ B({
5839
+ }, js = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Ms = ["onClick"], Ns = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Ps = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Fs = ["placeholder", "disabled"], Is = ["disabled"], Ls = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Rs = /* @__PURE__ */ B({
5822
5840
  __name: "AiChatSidebar",
5823
5841
  props: {
5824
5842
  visible: { type: Boolean },
@@ -5826,7 +5844,7 @@ var ms = {
5826
5844
  },
5827
5845
  emits: ["close"],
5828
5846
  setup(e, { emit: t }) {
5829
- let n = e, r = t, i = J(or, "AiChatSidebar"), a = J(Nn, "AiChatSidebar"), o = J(tr, "AiChatSidebar"), s = v(Un, []), l = oa(), u = Wo({
5847
+ let n = e, r = t, i = J(or, "AiChatSidebar"), a = J(Nn, "AiChatSidebar"), o = J(tr, "AiChatSidebar"), s = v(Un, []), l = sa(), u = Go({
5830
5848
  authManager: o,
5831
5849
  getTemplateId: () => a.state.template?.id ?? null,
5832
5850
  onApply: n.onApply,
@@ -5873,42 +5891,42 @@ var ms = {
5873
5891
  "leave-from-class": "tpl:translate-x-0",
5874
5892
  "leave-to-class": "tpl:translate-x-full"
5875
5893
  }, {
5876
- default: b(() => [e.visible ? (f(), A("div", ms, [
5877
- I("div", hs, [I("div", gs, [V(M(fi), {
5894
+ default: b(() => [e.visible ? (f(), A("div", hs, [
5895
+ I("div", gs, [I("div", _s, [V(M(pi), {
5878
5896
  size: 13,
5879
5897
  "stroke-width": 2
5880
- }), I("span", null, O(M(i).aiChat.title), 1)]), I("div", _s, [(M(u).messages.value?.length ?? 0) > 0 ? (f(), A("button", {
5898
+ }), I("span", null, O(M(i).aiChat.title), 1)]), I("div", vs, [(M(u).messages.value?.length ?? 0) > 0 ? (f(), A("button", {
5881
5899
  key: 0,
5882
5900
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
5883
5901
  title: M(i).aiChat.clear,
5884
5902
  onClick: n[0] ||= (e) => M(u).clearChat()
5885
- }, [V(M(mi), {
5903
+ }, [V(M(hi), {
5886
5904
  size: 14,
5887
5905
  "stroke-width": 2
5888
- })], 8, vs)) : j("", !0), I("button", {
5906
+ })], 8, ys)) : j("", !0), I("button", {
5889
5907
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
5890
5908
  onClick: n[1] ||= (e) => r("close")
5891
- }, [V(M(yi), {
5909
+ }, [V(M(bi), {
5892
5910
  size: 14,
5893
5911
  "stroke-width": 2
5894
5912
  })])])]),
5895
- I("div", ys, [
5913
+ I("div", bs, [
5896
5914
  I("div", {
5897
5915
  ref_key: "messagesContainer",
5898
5916
  ref: p,
5899
5917
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
5900
- }, [M(u).isLoadingHistory.value ? (f(), A("div", bs, [V(M(ei), {
5918
+ }, [M(u).isLoadingHistory.value ? (f(), A("div", xs, [V(M(ti), {
5901
5919
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
5902
5920
  size: 24,
5903
5921
  "stroke-width": 2
5904
- }), I("p", xs, O(M(i).aiChat.loadingHistory), 1)])) : (M(u).messages.value?.length ?? 0) === 0 ? (f(), A("div", Ss, [V(M(fi), {
5922
+ }), I("p", Ss, O(M(i).aiChat.loadingHistory), 1)])) : (M(u).messages.value?.length ?? 0) === 0 ? (f(), A("div", Cs, [V(M(pi), {
5905
5923
  size: 32,
5906
5924
  "stroke-width": 1.5,
5907
5925
  class: "tpl:text-[var(--tpl-text-dim)]"
5908
- }), I("p", Cs, O(M(i).aiChat.placeholder), 1)])) : (f(), A("div", ws, [(f(!0), A(R, null, h(M(u).messages.value, (e, t) => (f(), A("div", {
5926
+ }), I("p", ws, O(M(i).aiChat.placeholder), 1)])) : (f(), A("div", Ts, [(f(!0), A(R, null, h(M(u).messages.value, (e, t) => (f(), A("div", {
5909
5927
  key: e.id,
5910
5928
  class: "tpl:flex tpl:flex-col tpl:gap-2"
5911
- }, [e.role === "user" ? (f(), A("div", Ts, O(e.content), 1)) : (f(), A("div", Es, [!E(e.content) && M(u).isGenerating.value && t === (M(u).messages.value?.length ?? 0) - 1 ? (f(), P(Oi, { key: 0 })) : (f(), A("div", Ds, O(E(e.content) || M(i).aiChat.applied), 1)), e.id === M(u).lastApplyMessageId.value && !M(u).isGenerating.value ? (f(), A("button", {
5929
+ }, [e.role === "user" ? (f(), A("div", Es, O(e.content), 1)) : (f(), A("div", Ds, [!E(e.content) && M(u).isGenerating.value && t === (M(u).messages.value?.length ?? 0) - 1 ? (f(), P(ki, { key: 0 })) : (f(), A("div", Os, O(E(e.content) || M(i).aiChat.applied), 1)), e.id === M(u).lastApplyMessageId.value && !M(u).isGenerating.value ? (f(), A("button", {
5912
5930
  key: 2,
5913
5931
  class: "tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:self-start tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
5914
5932
  style: {
@@ -5917,19 +5935,19 @@ var ms = {
5917
5935
  "background-color": "transparent"
5918
5936
  },
5919
5937
  onClick: n[2] ||= (e) => M(u).toggleLastRevert()
5920
- }, [M(u).isLastChangeReverted.value ? (f(), A(R, { key: 0 }, [V(M(ai), {
5938
+ }, [M(u).isLastChangeReverted.value ? (f(), A(R, { key: 0 }, [V(M(oi), {
5921
5939
  size: 12,
5922
5940
  "stroke-width": 2
5923
- }), z(" " + O(M(i).aiChat.reapply), 1)], 64)) : (f(), A(R, { key: 1 }, [V(M(gi), {
5941
+ }), z(" " + O(M(i).aiChat.reapply), 1)], 64)) : (f(), A(R, { key: 1 }, [V(M(_i), {
5924
5942
  size: 12,
5925
5943
  "stroke-width": 2
5926
5944
  }), z(" " + O(M(i).aiChat.revert), 1)], 64))])) : j("", !0)]))]))), 128))]))], 512),
5927
- M(u).error.value ? (f(), A("div", Os, [V(M(Br), {
5945
+ M(u).error.value ? (f(), A("div", ks, [V(M(Vr), {
5928
5946
  size: 14,
5929
5947
  "stroke-width": 2,
5930
5948
  class: "tpl:mt-0.5 tpl:shrink-0"
5931
5949
  }), I("span", null, O(M(u).error.value === "ai_apply_failed" ? M(i).aiChat.applyFailed : M(i).aiChat.error), 1)])) : j("", !0),
5932
- (M(u).suggestions.value?.length ?? 0) > 0 ? (f(), A("div", ks, [I("div", As, [(f(!0), A(R, null, h(M(u).suggestions.value ?? [], (e, t) => (f(), A("button", {
5950
+ (M(u).suggestions.value?.length ?? 0) > 0 ? (f(), A("div", As, [I("div", js, [(f(!0), A(R, null, h(M(u).suggestions.value ?? [], (e, t) => (f(), A("button", {
5933
5951
  key: t,
5934
5952
  class: ae(["tpl-suggestion-btn tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:leading-snug tpl:transition-all tpl:duration-300 tpl:ease-out", (M(u).suggestions.value?.length ?? 0) - 1 - t < _.value ? "tpl:translate-y-0 tpl:opacity-100" : "tpl:pointer-events-none tpl:-translate-y-2 tpl:opacity-0"]),
5935
5953
  style: {
@@ -5939,104 +5957,104 @@ var ms = {
5939
5957
  "box-shadow": "var(--tpl-shadow)"
5940
5958
  },
5941
5959
  onClick: (t) => D(e)
5942
- }, O(e), 11, js))), 128))])])) : j("", !0)
5960
+ }, O(e), 11, Ms))), 128))])])) : j("", !0)
5943
5961
  ]),
5944
- I("div", Ms, [I("div", Ns, [c(I("textarea", {
5962
+ I("div", Ns, [I("div", Ps, [c(I("textarea", {
5945
5963
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
5946
5964
  class: "tpl:max-h-32 tpl:min-h-[64px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-sm tpl:outline-none tpl:text-[var(--tpl-text)]",
5947
5965
  placeholder: M(i).aiChat.inputPlaceholder,
5948
5966
  disabled: M(u).isGenerating.value,
5949
5967
  rows: "3",
5950
5968
  onKeydown: ee
5951
- }, null, 40, Ps), [[ie, d.value]]), I("button", {
5969
+ }, null, 40, Fs), [[ie, d.value]]), I("button", {
5952
5970
  class: "tpl-ai-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
5953
5971
  disabled: !d.value.trim() || M(u).isGenerating.value,
5954
5972
  onClick: T
5955
- }, [V(M(ci), {
5973
+ }, [V(M(li), {
5956
5974
  size: 16,
5957
5975
  "stroke-width": 2
5958
- })], 8, Fs)]), I("p", Is, O(M(i).aiMenu.disclaimer), 1)])
5976
+ })], 8, Is)]), I("p", Ls, O(M(i).aiMenu.disclaimer), 1)])
5959
5977
  ])) : j("", !0)]),
5960
5978
  _: 1
5961
5979
  }));
5962
5980
  }
5963
- }), Rs = /* @__PURE__ */ e({ default: () => zs }), zs = /* @__PURE__ */ wi(Ls, [["__scopeId", "data-v-a55e4bff"]]), Bs = 6e4, Vs = 36e5, Hs = 864e5;
5964
- function Us(e, t, n, r) {
5981
+ }), zs = /* @__PURE__ */ e({ default: () => Bs }), Bs = /* @__PURE__ */ Ti(Rs, [["__scopeId", "data-v-a55e4bff"]]), Vs = 6e4, Hs = 36e5, Us = 864e5;
5982
+ function Ws(e, t, n, r) {
5965
5983
  let i = new Date(e).getTime();
5966
5984
  if (Number.isNaN(i)) return null;
5967
5985
  let a = Date.now() - i;
5968
- if (a < -Bs) return null;
5969
- let o = Math.floor(a / Bs), s = Math.floor(a / Vs), c = Math.floor(a / Hs);
5986
+ if (a < -Vs) return null;
5987
+ let o = Math.floor(a / Vs), s = Math.floor(a / Hs), c = Math.floor(a / Us);
5970
5988
  return o < 1 ? t.justNow : o < 60 ? n ? n(t.minutesAgo, { minutes: o }) : t.minutesAgo.replace("{minutes}", String(o)) : s < 24 ? n ? n(t.hoursAgo, { hours: s }) : t.hoursAgo.replace("{hours}", String(s)) : r !== void 0 && c >= r ? null : n ? n(t.daysAgo, { days: c }) : t.daysAgo.replace("{days}", String(c));
5971
5989
  }
5972
5990
  //#endregion
5973
5991
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
5974
- var Ws = {
5992
+ var Gs = {
5975
5993
  key: 0,
5976
5994
  class: "tpl-comments-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
5977
- }, Gs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ks = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, qs = {
5995
+ }, Ks = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, qs = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, Js = {
5978
5996
  key: 0,
5979
5997
  class: "tpl:ml-1 tpl:inline-flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]"
5980
- }, Js = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Ys = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Xs = {
5998
+ }, Ys = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Xs = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Zs = {
5981
5999
  key: 0,
5982
6000
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
5983
- }, Zs = {
6001
+ }, Qs = {
5984
6002
  key: 1,
5985
6003
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
5986
- }, Qs = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, $s = {
6004
+ }, $s = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ec = {
5987
6005
  key: 2,
5988
6006
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
5989
- }, ec = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, tc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, nc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, rc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ic = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, ac = {
6007
+ }, tc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, nc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, rc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, ic = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ac = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, oc = {
5990
6008
  key: 0,
5991
6009
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
5992
- }, oc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, sc = ["title", "onClick"], cc = ["title", "onClick"], lc = ["title", "onClick"], uc = {
6010
+ }, sc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, cc = ["title", "onClick"], lc = ["title", "onClick"], uc = ["title", "onClick"], dc = {
5993
6011
  key: 0,
5994
6012
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
5995
- }, dc = {
6013
+ }, fc = {
5996
6014
  key: 0,
5997
6015
  class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
5998
- }, fc = ["onClick"], pc = {
6016
+ }, pc = ["onClick"], mc = {
5999
6017
  key: 2,
6000
6018
  class: "tpl:mt-2"
6001
- }, mc = ["onKeydown"], hc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, gc = ["disabled", "onClick"], _c = {
6019
+ }, hc = ["onKeydown"], gc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, _c = ["disabled", "onClick"], vc = {
6002
6020
  key: 3,
6003
6021
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6004
- }, vc = {
6022
+ }, yc = {
6005
6023
  key: 4,
6006
6024
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6007
- }, yc = { class: "tpl:flex-1" }, bc = ["onClick"], xc = {
6025
+ }, bc = { class: "tpl:flex-1" }, xc = ["onClick"], Sc = {
6008
6026
  key: 5,
6009
6027
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6010
- }, Sc = ["title", "onClick"], Cc = ["onClick"], wc = {
6028
+ }, Cc = ["title", "onClick"], wc = ["onClick"], Tc = {
6011
6029
  key: 0,
6012
6030
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6013
- }, Tc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Ec = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Dc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Oc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, kc = {
6031
+ }, Ec = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Dc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Oc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, kc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ac = {
6014
6032
  key: 0,
6015
6033
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6016
- }, Ac = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, jc = ["title", "onClick"], Mc = ["title", "onClick"], Nc = {
6034
+ }, jc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Mc = ["title", "onClick"], Nc = ["title", "onClick"], Pc = {
6017
6035
  key: 0,
6018
6036
  class: "tpl:mt-1.5"
6019
- }, Pc = ["onKeydown"], Fc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Ic = ["disabled", "onClick"], Lc = {
6037
+ }, Fc = ["onKeydown"], Ic = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Lc = ["disabled", "onClick"], Rc = {
6020
6038
  key: 1,
6021
6039
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6022
- }, Rc = {
6040
+ }, zc = {
6023
6041
  key: 2,
6024
6042
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6025
- }, zc = { class: "tpl:flex-1" }, Bc = ["onClick"], Vc = {
6043
+ }, Bc = { class: "tpl:flex-1" }, Vc = ["onClick"], Hc = {
6026
6044
  key: 0,
6027
6045
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6028
- }, Hc = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Uc = ["placeholder", "onKeydown"], Wc = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Gc = ["disabled", "onClick"], Kc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, qc = {
6046
+ }, Uc = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Wc = ["placeholder", "onKeydown"], Gc = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Kc = ["disabled", "onClick"], qc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Jc = {
6029
6047
  key: 0,
6030
6048
  class: "tpl:flex tpl:min-h-[68px] tpl:items-center tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
6031
- }, Jc = {
6049
+ }, Yc = {
6032
6050
  key: 1,
6033
6051
  class: "tpl-comments-input-wrapper tpl:flex tpl:min-h-[68px] tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]"
6034
- }, Yc = ["placeholder", "disabled"], Xc = ["disabled"], Zc = /* @__PURE__ */ B({
6052
+ }, Xc = ["placeholder", "disabled"], Zc = ["disabled"], Qc = /* @__PURE__ */ B({
6035
6053
  __name: "CommentsSidebar",
6036
6054
  props: { visible: { type: Boolean } },
6037
6055
  emits: ["close", "filterBlock"],
6038
6056
  setup(e, { expose: t, emit: n }) {
6039
- let r = e, i = n, { format: a } = Y(), { t: o } = Pi(), s = J(Nn, "CommentsSidebar"), l = J(tr, "CommentsSidebar"), u = J(rr, "CommentsSidebar"), d = C("unresolved"), p = C(null), g = C(""), _ = C(null), v = C(""), y = C(null), x = C(""), S = C(/* @__PURE__ */ new Set()), w = C(null), T = C(null), E = k(() => l.userConfig?.id ?? null), D = k(() => {
6057
+ let r = e, i = n, { format: a } = Y(), { t: o } = Fi(), s = J(Nn, "CommentsSidebar"), l = J(tr, "CommentsSidebar"), u = J(rr, "CommentsSidebar"), d = C("unresolved"), p = C(null), g = C(""), _ = C(null), v = C(""), y = C(null), x = C(""), S = C(/* @__PURE__ */ new Set()), w = C(null), T = C(null), E = k(() => l.userConfig?.id ?? null), D = k(() => {
6040
6058
  let e = /* @__PURE__ */ new Set();
6041
6059
  for (let t of s.content.value.blocks) if (e.add(t.id), t.type === "section") for (let n of t.children) for (let t of n) e.add(t.id);
6042
6060
  return e;
@@ -6104,7 +6122,7 @@ var Ws = {
6104
6122
  return e.author_identifier === E.value;
6105
6123
  }
6106
6124
  function ve(e) {
6107
- return Us(e, o.snapshotHistory) ?? e;
6125
+ return Ws(e, o.snapshotHistory) ?? e;
6108
6126
  }
6109
6127
  function ye(e) {
6110
6128
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6131,22 +6149,22 @@ var Ws = {
6131
6149
  "leave-from-class": "tpl:translate-x-0",
6132
6150
  "leave-to-class": "tpl:translate-x-full"
6133
6151
  }, {
6134
- default: b(() => [e.visible ? (f(), A("div", Ws, [
6135
- I("div", Gs, [I("div", Ks, [
6136
- V(M(ti), {
6152
+ default: b(() => [e.visible ? (f(), A("div", Gs, [
6153
+ I("div", Ks, [I("div", qs, [
6154
+ V(M(ni), {
6137
6155
  size: 13,
6138
6156
  "stroke-width": 2
6139
6157
  }),
6140
6158
  I("span", null, O(M(o).comments.title), 1),
6141
- M(u).unresolvedCount.value > 0 ? (f(), A("span", qs, O(M(u).unresolvedCount.value), 1)) : j("", !0)
6159
+ M(u).unresolvedCount.value > 0 ? (f(), A("span", Js, O(M(u).unresolvedCount.value), 1)) : j("", !0)
6142
6160
  ]), I("button", {
6143
6161
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6144
6162
  onClick: n[0] ||= (e) => i("close")
6145
- }, [V(M(yi), {
6163
+ }, [V(M(bi), {
6146
6164
  size: 14,
6147
6165
  "stroke-width": 2
6148
6166
  })])]),
6149
- I("div", Js, [
6167
+ I("div", Ys, [
6150
6168
  I("button", {
6151
6169
  class: ae(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150", d.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
6152
6170
  onClick: n[1] ||= (e) => N("unresolved")
@@ -6161,156 +6179,156 @@ var Ws = {
6161
6179
  onClick: n[3] ||= (e) => N("block", M(s).state.selectedBlockId ?? void 0)
6162
6180
  }, O(M(o).comments.filterBlock), 3)) : j("", !0)
6163
6181
  ]),
6164
- I("div", Ys, [M(u).isLoading.value ? (f(), A("div", Xs, [V(M(ei), {
6182
+ I("div", Xs, [M(u).isLoading.value ? (f(), A("div", Zs, [V(M(ti), {
6165
6183
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6166
6184
  size: 24,
6167
6185
  "stroke-width": 2
6168
- })])) : ne.value.length === 0 ? (f(), A("div", Zs, [V(M(ti), {
6186
+ })])) : ne.value.length === 0 ? (f(), A("div", Qs, [V(M(ni), {
6169
6187
  size: 32,
6170
6188
  "stroke-width": 1.5,
6171
6189
  class: "tpl:text-[var(--tpl-text-dim)]"
6172
- }), I("p", Qs, O(d.value === "all" ? M(o).comments.noCommentsHint : M(o).comments.noComments), 1)])) : (f(), A("div", $s, [(f(!0), A(R, null, h(ne.value, (e) => (f(), A("div", {
6190
+ }), I("p", $s, O(d.value === "all" ? M(o).comments.noCommentsHint : M(o).comments.noComments), 1)])) : (f(), A("div", ec, [(f(!0), A(R, null, h(ne.value, (e) => (f(), A("div", {
6173
6191
  key: e.id,
6174
6192
  class: "tpl-comment-thread"
6175
6193
  }, [
6176
- I("div", ec, [
6177
- I("div", tc, [I("div", nc, [
6178
- I("span", rc, O(_e(e) ? M(o).comments.ownedByYou : e.author_name), 1),
6179
- I("span", ic, O(ve(e.created_at)), 1),
6180
- e.updated_at === e.created_at ? j("", !0) : (f(), A("span", ac, " (" + O(M(o).comments.edited) + ") ", 1))
6181
- ]), I("div", oc, [
6194
+ I("div", tc, [
6195
+ I("div", nc, [I("div", rc, [
6196
+ I("span", ic, O(_e(e) ? M(o).comments.ownedByYou : e.author_name), 1),
6197
+ I("span", ac, O(ve(e.created_at)), 1),
6198
+ e.updated_at === e.created_at ? j("", !0) : (f(), A("span", oc, " (" + O(M(o).comments.edited) + ") ", 1))
6199
+ ]), I("div", sc, [
6182
6200
  I("button", {
6183
6201
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6184
6202
  title: e.resolved_at ? M(o).comments.unresolve : M(o).comments.resolve,
6185
6203
  onClick: (t) => ge(e.id)
6186
- }, [V(M(Vr), {
6204
+ }, [V(M(Hr), {
6187
6205
  size: 13,
6188
6206
  "stroke-width": 2,
6189
6207
  class: "tpl-resolve-icon",
6190
6208
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6191
- }, null, 8, ["style"])], 8, sc),
6209
+ }, null, 8, ["style"])], 8, cc),
6192
6210
  _e(e) ? (f(), A("button", {
6193
6211
  key: 0,
6194
6212
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6195
6213
  title: M(o).comments.edit,
6196
6214
  onClick: (t) => le(e)
6197
- }, [V(M(ri), {
6215
+ }, [V(M(ii), {
6198
6216
  size: 12,
6199
6217
  "stroke-width": 2
6200
- })], 8, cc)) : j("", !0),
6218
+ })], 8, lc)) : j("", !0),
6201
6219
  _e(e) ? (f(), A("button", {
6202
6220
  key: 1,
6203
6221
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6204
6222
  title: M(o).comments.delete,
6205
6223
  onClick: (t) => ue(e.id)
6206
- }, [V(M(mi), {
6224
+ }, [V(M(hi), {
6207
6225
  size: 12,
6208
6226
  "stroke-width": 2
6209
- })], 8, lc)) : j("", !0)
6227
+ })], 8, uc)) : j("", !0)
6210
6228
  ])]),
6211
6229
  V(re, { name: "tpl-resolve" }, {
6212
- default: b(() => [e.resolved_at ? (f(), A("div", uc, [V(M(Fr), {
6230
+ default: b(() => [e.resolved_at ? (f(), A("div", dc, [V(M(Ir), {
6213
6231
  size: 10,
6214
6232
  "stroke-width": 2.5
6215
6233
  }), I("span", null, O(M(a)(M(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : j("", !0)]),
6216
6234
  _: 2
6217
6235
  }, 1024),
6218
- e.block_id && ee(e.block_id) ? (f(), A("span", dc, O(M(o).comments.missingBlock), 1)) : e.block_id ? (f(), A("button", {
6236
+ e.block_id && ee(e.block_id) ? (f(), A("span", fc, O(M(o).comments.missingBlock), 1)) : e.block_id ? (f(), A("button", {
6219
6237
  key: 1,
6220
6238
  class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
6221
6239
  onClick: (t) => M(s).selectBlock(e.block_id ?? "")
6222
- }, " Block ", 8, fc)) : j("", !0),
6223
- y.value === e.id ? (f(), A("div", pc, [c(I("textarea", {
6240
+ }, " Block ", 8, pc)) : j("", !0),
6241
+ y.value === e.id ? (f(), A("div", mc, [c(I("textarea", {
6224
6242
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6225
6243
  class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6226
6244
  rows: "3",
6227
6245
  onKeydown: (t) => xe(t, e.id)
6228
- }, null, 40, mc), [[ie, x.value]]), I("div", hc, [I("button", {
6246
+ }, null, 40, hc), [[ie, x.value]]), I("div", gc, [I("button", {
6229
6247
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6230
6248
  disabled: !x.value.trim() || M(u).isSubmitting.value,
6231
6249
  onClick: (t) => me(e.id)
6232
- }, O(M(o).comments.save), 9, gc), I("button", {
6250
+ }, O(M(o).comments.save), 9, _c), I("button", {
6233
6251
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6234
6252
  onClick: n[5] ||= (e) => B()
6235
- }, O(M(o).comments.cancel), 1)])])) : (f(), A("p", _c, O(e.body), 1)),
6236
- w.value === e.id ? (f(), A("div", vc, [
6237
- I("span", yc, O(M(o).comments.deleteConfirm), 1),
6253
+ }, O(M(o).comments.cancel), 1)])])) : (f(), A("p", vc, O(e.body), 1)),
6254
+ w.value === e.id ? (f(), A("div", yc, [
6255
+ I("span", bc, O(M(o).comments.deleteConfirm), 1),
6238
6256
  I("button", {
6239
6257
  class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
6240
6258
  onClick: (t) => he(e.id)
6241
- }, O(M(o).comments.delete), 9, bc),
6259
+ }, O(M(o).comments.delete), 9, xc),
6242
6260
  I("button", {
6243
6261
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6244
6262
  onClick: n[6] ||= (e) => de()
6245
6263
  }, O(M(o).comments.cancel), 1)
6246
6264
  ])) : j("", !0),
6247
- y.value !== e.id && w.value !== e.id ? (f(), A("div", xc, [I("button", {
6265
+ y.value !== e.id && w.value !== e.id ? (f(), A("div", Sc, [I("button", {
6248
6266
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6249
6267
  title: M(o).comments.reply,
6250
6268
  onClick: (t) => se(e.id)
6251
- }, [V(M(si), {
6269
+ }, [V(M(ci), {
6252
6270
  size: 13,
6253
6271
  "stroke-width": 2,
6254
6272
  class: "tpl:text-[var(--tpl-primary)]"
6255
- })], 8, Sc), (e.replies?.length ?? 0) > 0 ? (f(), A("button", {
6273
+ })], 8, Cc), (e.replies?.length ?? 0) > 0 ? (f(), A("button", {
6256
6274
  key: 0,
6257
6275
  class: "tpl:flex tpl:items-center tpl:gap-0.5 tpl:text-[11px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6258
6276
  onClick: (t) => oe(e.id)
6259
- }, [S.value.has(e.id) ? (f(), P(M(zr), {
6277
+ }, [S.value.has(e.id) ? (f(), P(M(Br), {
6260
6278
  key: 0,
6261
6279
  size: 11,
6262
6280
  "stroke-width": 2
6263
- })) : (f(), P(M(Ir), {
6281
+ })) : (f(), P(M(Lr), {
6264
6282
  key: 1,
6265
6283
  size: 11,
6266
6284
  "stroke-width": 2
6267
- })), z(" " + O((e.replies?.length ?? 0) === 1 ? M(a)(M(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : M(a)(M(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Cc)) : j("", !0)])) : j("", !0)
6285
+ })), z(" " + O((e.replies?.length ?? 0) === 1 ? M(a)(M(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : M(a)(M(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, wc)) : j("", !0)])) : j("", !0)
6268
6286
  ]),
6269
6287
  V(re, { name: "tpl-replies" }, {
6270
- default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), A("div", wc, [(f(!0), A(R, null, h(e.replies, (t, r) => (f(), A("div", {
6288
+ default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), A("div", Tc, [(f(!0), A(R, null, h(e.replies, (t, r) => (f(), A("div", {
6271
6289
  key: t.id,
6272
6290
  class: ae(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", r < (e.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
6273
6291
  }, [
6274
- I("div", Tc, [I("div", Ec, [
6275
- I("span", Dc, O(_e(t) ? M(o).comments.ownedByYou : t.author_name), 1),
6276
- I("span", Oc, O(ve(t.created_at)), 1),
6277
- t.updated_at === t.created_at ? j("", !0) : (f(), A("span", kc, " (" + O(M(o).comments.edited) + ") ", 1))
6278
- ]), I("div", Ac, [_e(t) ? (f(), A("button", {
6292
+ I("div", Ec, [I("div", Dc, [
6293
+ I("span", Oc, O(_e(t) ? M(o).comments.ownedByYou : t.author_name), 1),
6294
+ I("span", kc, O(ve(t.created_at)), 1),
6295
+ t.updated_at === t.created_at ? j("", !0) : (f(), A("span", Ac, " (" + O(M(o).comments.edited) + ") ", 1))
6296
+ ]), I("div", jc, [_e(t) ? (f(), A("button", {
6279
6297
  key: 0,
6280
6298
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6281
6299
  title: M(o).comments.edit,
6282
6300
  onClick: (e) => le(t)
6283
- }, [V(M(ri), {
6301
+ }, [V(M(ii), {
6284
6302
  size: 11,
6285
6303
  "stroke-width": 2
6286
- })], 8, jc)) : j("", !0), _e(t) ? (f(), A("button", {
6304
+ })], 8, Mc)) : j("", !0), _e(t) ? (f(), A("button", {
6287
6305
  key: 1,
6288
6306
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6289
6307
  title: M(o).comments.delete,
6290
6308
  onClick: (e) => ue(t.id)
6291
- }, [V(M(mi), {
6309
+ }, [V(M(hi), {
6292
6310
  size: 11,
6293
6311
  "stroke-width": 2
6294
- })], 8, Mc)) : j("", !0)])]),
6295
- y.value === t.id ? (f(), A("div", Nc, [c(I("textarea", {
6312
+ })], 8, Nc)) : j("", !0)])]),
6313
+ y.value === t.id ? (f(), A("div", Pc, [c(I("textarea", {
6296
6314
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6297
6315
  class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6298
6316
  rows: "2",
6299
6317
  onKeydown: (e) => xe(e, t.id)
6300
- }, null, 40, Pc), [[ie, x.value]]), I("div", Fc, [I("button", {
6318
+ }, null, 40, Fc), [[ie, x.value]]), I("div", Ic, [I("button", {
6301
6319
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6302
6320
  disabled: !x.value.trim() || M(u).isSubmitting.value,
6303
6321
  onClick: (e) => me(t.id)
6304
- }, O(M(o).comments.save), 9, Ic), I("button", {
6322
+ }, O(M(o).comments.save), 9, Lc), I("button", {
6305
6323
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6306
6324
  onClick: n[8] ||= (e) => B()
6307
- }, O(M(o).comments.cancel), 1)])])) : (f(), A("p", Lc, O(t.body), 1)),
6308
- w.value === t.id ? (f(), A("div", Rc, [
6309
- I("span", zc, O(M(o).comments.deleteConfirm), 1),
6325
+ }, O(M(o).comments.cancel), 1)])])) : (f(), A("p", Rc, O(t.body), 1)),
6326
+ w.value === t.id ? (f(), A("div", zc, [
6327
+ I("span", Bc, O(M(o).comments.deleteConfirm), 1),
6310
6328
  I("button", {
6311
6329
  class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
6312
6330
  onClick: (e) => he(t.id)
6313
- }, O(M(o).comments.delete), 9, Bc),
6331
+ }, O(M(o).comments.delete), 9, Vc),
6314
6332
  I("button", {
6315
6333
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6316
6334
  onClick: n[9] ||= (e) => de()
@@ -6320,30 +6338,30 @@ var Ws = {
6320
6338
  _: 2
6321
6339
  }, 1024),
6322
6340
  V(re, { name: "tpl-replies" }, {
6323
- default: b(() => [_.value === e.id ? (f(), A("div", Vc, [I("div", Hc, [c(I("textarea", {
6341
+ default: b(() => [_.value === e.id ? (f(), A("div", Hc, [I("div", Uc, [c(I("textarea", {
6324
6342
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6325
6343
  class: "tpl:flex-1 tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6326
6344
  placeholder: M(o).comments.replyPlaceholder,
6327
6345
  rows: "2",
6328
6346
  onKeydown: (t) => be(t, e.id)
6329
- }, null, 40, Uc), [[ie, v.value]]), I("div", Wc, [I("button", {
6347
+ }, null, 40, Wc), [[ie, v.value]]), I("div", Gc, [I("button", {
6330
6348
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
6331
6349
  disabled: !v.value.trim() || M(u).isSubmitting.value,
6332
6350
  onClick: (t) => pe(e.id)
6333
- }, [V(M(ci), {
6351
+ }, [V(M(li), {
6334
6352
  size: 14,
6335
6353
  "stroke-width": 2
6336
- })], 8, Gc), I("button", {
6354
+ })], 8, Kc), I("button", {
6337
6355
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6338
6356
  onClick: n[11] ||= (e) => ce()
6339
- }, [V(M(yi), {
6357
+ }, [V(M(bi), {
6340
6358
  size: 14,
6341
6359
  "stroke-width": 2
6342
6360
  })])])])])) : j("", !0)]),
6343
6361
  _: 2
6344
6362
  }, 1024)
6345
6363
  ]))), 128))]))]),
6346
- I("div", Kc, [te.value ? (f(), A("div", qc, O(M(o).comments.saveTemplateFirst), 1)) : (f(), A("div", Jc, [c(I("textarea", {
6364
+ I("div", qc, [te.value ? (f(), A("div", Jc, O(M(o).comments.saveTemplateFirst), 1)) : (f(), A("div", Yc, [c(I("textarea", {
6347
6365
  ref_key: "newCommentInput",
6348
6366
  ref: T,
6349
6367
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
@@ -6352,46 +6370,46 @@ var Ws = {
6352
6370
  disabled: M(u).isSubmitting.value,
6353
6371
  rows: "2",
6354
6372
  onKeydown: ye
6355
- }, null, 40, Yc), [[ie, g.value]]), I("button", {
6373
+ }, null, 40, Xc), [[ie, g.value]]), I("button", {
6356
6374
  class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
6357
6375
  disabled: !g.value.trim() || M(u).isSubmitting.value,
6358
6376
  onClick: fe
6359
- }, [M(u).isSubmitting.value ? (f(), P(M(ei), {
6377
+ }, [M(u).isSubmitting.value ? (f(), P(M(ti), {
6360
6378
  key: 0,
6361
6379
  class: "tpl-spinner",
6362
6380
  size: 16,
6363
6381
  "stroke-width": 2
6364
- })) : (f(), P(M(ci), {
6382
+ })) : (f(), P(M(li), {
6365
6383
  key: 1,
6366
6384
  size: 16,
6367
6385
  "stroke-width": 2
6368
- }))], 8, Xc)]))])
6386
+ }))], 8, Zc)]))])
6369
6387
  ])) : j("", !0)]),
6370
6388
  _: 1
6371
6389
  }));
6372
6390
  }
6373
- }), Qc = /* @__PURE__ */ e({ default: () => $c }), $c = /* @__PURE__ */ wi(Zc, [["__scopeId", "data-v-d204f573"]]), el = {
6391
+ }), $c = /* @__PURE__ */ e({ default: () => el }), el = /* @__PURE__ */ Ti(Qc, [["__scopeId", "data-v-d204f573"]]), tl = {
6374
6392
  key: 0,
6375
6393
  class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
6376
- }, tl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, nl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, rl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, il = {
6394
+ }, nl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, rl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, il = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, al = {
6377
6395
  key: 0,
6378
6396
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6379
- }, al = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, ol = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, sl = {
6397
+ }, ol = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, sl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, cl = {
6380
6398
  key: 1,
6381
6399
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6382
- }, cl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ll = {
6400
+ }, ll = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ul = {
6383
6401
  key: 0,
6384
6402
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6385
- }, ul = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, dl = ["src", "alt"], fl = {
6403
+ }, dl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, fl = ["src", "alt"], pl = {
6386
6404
  key: 1,
6387
6405
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6388
- }, pl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ml = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, hl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, gl = ["accept"], _l = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, vl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, yl = ["placeholder"], bl = {
6406
+ }, ml = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, hl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, gl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, _l = ["accept"], vl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, yl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, bl = ["placeholder"], xl = {
6389
6407
  key: 0,
6390
6408
  class: "tpl:flex tpl:flex-col tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:px-3 tpl:py-3 tpl:bg-[var(--tpl-warning-light)] tpl:border tpl:border-[var(--tpl-warning)]"
6391
- }, xl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Sl = { class: "tpl:flex tpl:gap-2" }, Cl = {
6409
+ }, Sl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Cl = { class: "tpl:flex tpl:gap-2" }, wl = {
6392
6410
  key: 1,
6393
6411
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6394
- }, wl = ["disabled"], Tl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, El = /* @__PURE__ */ B({
6412
+ }, Tl = ["disabled"], El = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Dl = /* @__PURE__ */ B({
6395
6413
  __name: "DesignReferenceSidebar",
6396
6414
  props: {
6397
6415
  visible: { type: Boolean },
@@ -6399,7 +6417,7 @@ var Ws = {
6399
6417
  },
6400
6418
  emits: ["close", "apply"],
6401
6419
  setup(e, { emit: t }) {
6402
- let n = e, r = t, { t: i } = Pi(), a = J(Nn, "DesignReferenceSidebar"), o = qo({
6420
+ let n = e, r = t, { t: i } = Fi(), a = J(Nn, "DesignReferenceSidebar"), o = Jo({
6403
6421
  authManager: J(tr, "DesignReferenceSidebar"),
6404
6422
  getTemplateId: () => a.state.template?.id ?? null,
6405
6423
  onApply: (e) => r("apply", e)
@@ -6471,17 +6489,17 @@ var Ws = {
6471
6489
  "leave-from-class": "tpl:translate-x-0",
6472
6490
  "leave-to-class": "tpl:translate-x-full"
6473
6491
  }, {
6474
- default: b(() => [e.visible ? (f(), A("div", el, [I("div", tl, [I("div", nl, [V(M(Zr), {
6492
+ default: b(() => [e.visible ? (f(), A("div", tl, [I("div", nl, [I("div", rl, [V(M(Qr), {
6475
6493
  size: 13,
6476
6494
  "stroke-width": 2
6477
6495
  }), I("span", null, O(M(i).designReference.title), 1)]), I("button", {
6478
6496
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6479
6497
  onClick: n[0] ||= (e) => r("close")
6480
- }, [V(M(yi), {
6498
+ }, [V(M(bi), {
6481
6499
  size: 14,
6482
6500
  "stroke-width": 2
6483
- })])]), I("div", rl, [M(o).isGenerating.value ? (f(), A("div", il, [I("div", al, [V(Oi), I("p", ol, O(M(i).designReference.generating), 1)])])) : (f(), A("div", sl, [
6484
- I("div", cl, [I("button", {
6501
+ })])]), I("div", il, [M(o).isGenerating.value ? (f(), A("div", al, [I("div", ol, [V(ki), I("p", sl, O(M(i).designReference.generating), 1)])])) : (f(), A("div", cl, [
6502
+ I("div", ll, [I("button", {
6485
6503
  class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
6486
6504
  style: L({
6487
6505
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6489,7 +6507,7 @@ var Ws = {
6489
6507
  boxShadow: l.value === "image" ? "var(--tpl-shadow)" : "none"
6490
6508
  }),
6491
6509
  onClick: n[1] ||= (e) => _("image")
6492
- }, [V(M(qr), {
6510
+ }, [V(M(Jr), {
6493
6511
  size: 12,
6494
6512
  "stroke-width": 2
6495
6513
  }), z(" " + O(M(i).designReference.uploadImage), 1)], 4), I("button", {
@@ -6500,23 +6518,23 @@ var Ws = {
6500
6518
  boxShadow: l.value === "pdf" ? "var(--tpl-shadow)" : "none"
6501
6519
  }),
6502
6520
  onClick: n[2] ||= (e) => _("pdf")
6503
- }, [V(M(Jr), {
6521
+ }, [V(M(Yr), {
6504
6522
  size: 12,
6505
6523
  "stroke-width": 2
6506
6524
  }), z(" " + O(M(i).designReference.uploadPdf), 1)], 4)]),
6507
- I("div", null, [u.value ? (f(), A("div", ll, [I("div", ul, [p.value ? (f(), A("img", {
6525
+ I("div", null, [u.value ? (f(), A("div", ul, [I("div", dl, [p.value ? (f(), A("img", {
6508
6526
  key: 0,
6509
6527
  src: p.value,
6510
6528
  alt: u.value.name,
6511
6529
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6512
- }, null, 8, dl)) : (f(), A("div", fl, [V(M(Jr), {
6530
+ }, null, 8, fl)) : (f(), A("div", pl, [V(M(Yr), {
6513
6531
  size: 32,
6514
6532
  "stroke-width": 1.5,
6515
6533
  class: "tpl:text-[var(--tpl-text-dim)]"
6516
- }), I("span", pl, O(u.value.name), 1)])), I("button", {
6534
+ }), I("span", ml, O(u.value.name), 1)])), I("button", {
6517
6535
  class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
6518
6536
  onClick: x
6519
- }, [V(M(yi), {
6537
+ }, [V(M(bi), {
6520
6538
  size: 12,
6521
6539
  "stroke-width": 2
6522
6540
  })])])])) : (f(), A("div", {
@@ -6531,13 +6549,13 @@ var Ws = {
6531
6549
  onDragleave: w,
6532
6550
  onDrop: T
6533
6551
  }, [
6534
- V(M(_i), {
6552
+ V(M(vi), {
6535
6553
  size: 24,
6536
6554
  "stroke-width": 1.5,
6537
6555
  class: "tpl:text-[var(--tpl-text-dim)]"
6538
6556
  }),
6539
- I("span", ml, O(M(i).designReference.dropHint), 1),
6540
- I("span", hl, O(l.value === "image" ? M(i).designReference.acceptedImages : M(i).designReference.acceptedPdf), 1)
6557
+ I("span", hl, O(M(i).designReference.dropHint), 1),
6558
+ I("span", gl, O(l.value === "image" ? M(i).designReference.acceptedImages : M(i).designReference.acceptedPdf), 1)
6541
6559
  ], 36)), I("input", {
6542
6560
  ref_key: "fileInput",
6543
6561
  ref: s,
@@ -6545,14 +6563,14 @@ var Ws = {
6545
6563
  class: "tpl:hidden",
6546
6564
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6547
6565
  onChange: v
6548
- }, null, 40, gl)]),
6549
- I("div", _l, [I("label", vl, O(M(i).designReference.promptLabel), 1), c(I("textarea", {
6566
+ }, null, 40, _l)]),
6567
+ I("div", vl, [I("label", yl, O(M(i).designReference.promptLabel), 1), c(I("textarea", {
6550
6568
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6551
6569
  class: ae(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
6552
6570
  placeholder: M(i).designReference.promptPlaceholder,
6553
6571
  rows: "3"
6554
- }, null, 8, yl), [[ie, d.value]])]),
6555
- m.value ? (f(), A("div", bl, [I("p", xl, O(M(i).designReference.replaceWarning), 1), I("div", Sl, [I("button", {
6572
+ }, null, 8, bl), [[ie, d.value]])]),
6573
+ m.value ? (f(), A("div", xl, [I("p", Sl, O(M(i).designReference.replaceWarning), 1), I("div", Cl, [I("button", {
6556
6574
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
6557
6575
  style: { "background-color": "transparent" },
6558
6576
  onClick: D
@@ -6560,7 +6578,7 @@ var Ws = {
6560
6578
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6561
6579
  onClick: E
6562
6580
  }, O(M(i).designReference.replaceConfirm), 1)])])) : j("", !0),
6563
- M(o).error.value ? (f(), A("div", Cl, [V(M(Br), {
6581
+ M(o).error.value ? (f(), A("div", wl, [V(M(Vr), {
6564
6582
  size: 14,
6565
6583
  "stroke-width": 2,
6566
6584
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6570,31 +6588,31 @@ var Ws = {
6570
6588
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6571
6589
  disabled: !g.value,
6572
6590
  onClick: E
6573
- }, [V(M(Zr), {
6591
+ }, [V(M(Qr), {
6574
6592
  size: 16,
6575
6593
  "stroke-width": 2
6576
- }), z(" " + O(M(i).designReference.generate), 1)], 8, wl)),
6577
- I("p", Tl, O(M(i).aiMenu.disclaimer), 1)
6594
+ }), z(" " + O(M(i).designReference.generate), 1)], 8, Tl)),
6595
+ I("p", El, O(M(i).aiMenu.disclaimer), 1)
6578
6596
  ]))])])) : j("", !0)]),
6579
6597
  _: 1
6580
6598
  }));
6581
6599
  }
6582
- }), Dl = /* @__PURE__ */ e({ default: () => Ol }), Ol = /* @__PURE__ */ wi(El, [["__scopeId", "data-v-bdbf8d0d"]]);
6600
+ }), Ol = /* @__PURE__ */ e({ default: () => kl }), kl = /* @__PURE__ */ Ti(Dl, [["__scopeId", "data-v-bdbf8d0d"]]);
6583
6601
  //#endregion
6584
6602
  //#region src/composables/usePopoverRoot.ts
6585
- function kl() {
6603
+ function Al() {
6586
6604
  return v(er, C(null));
6587
6605
  }
6588
6606
  //#endregion
6589
6607
  //#region src/cloud/components/TplModal.vue?vue&type=script&setup=true&lang.ts
6590
- var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6608
+ var jl = ["data-tpl-theme"], Ml = /* @__PURE__ */ B({
6591
6609
  __name: "TplModal",
6592
6610
  props: { visible: { type: Boolean } },
6593
6611
  emits: ["close", "keydown"],
6594
6612
  setup(e, { emit: t }) {
6595
6613
  let n = e, r = t, i = C(null);
6596
- ji(i, k(() => n.visible));
6597
- let a = v(zn), s = kl();
6614
+ Mi(i, k(() => n.visible));
6615
+ let a = v(zn), s = Al();
6598
6616
  function c(e) {
6599
6617
  e.key === "Escape" && r("close"), r("keydown", e);
6600
6618
  }
@@ -6623,30 +6641,30 @@ var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6623
6641
  }, [I("div", {
6624
6642
  ref_key: "dialogRef",
6625
6643
  ref: i
6626
- }, [o(t.$slots, "default")], 512)], 40, Al)) : j("", !0)]),
6644
+ }, [o(t.$slots, "default")], 512)], 40, jl)) : j("", !0)]),
6627
6645
  _: 3
6628
6646
  })], 8, ["to"])) : j("", !0);
6629
6647
  }
6630
- }), Ml = ["disabled", "title"], Nl = ["title"], Pl = {
6648
+ }), Nl = ["disabled", "title"], Pl = ["title"], Fl = {
6631
6649
  key: 0,
6632
6650
  class: "tpl-scale-in tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:w-72 tpl:-translate-x-1/2 tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg-elevated)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
6633
6651
  style: {
6634
6652
  "backdrop-filter": "blur(8px)",
6635
6653
  "-webkit-backdrop-filter": "blur(8px)"
6636
6654
  }
6637
- }, Fl = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, Il = {
6655
+ }, Il = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, Ll = {
6638
6656
  key: 0,
6639
6657
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
6640
- }, Ll = {
6658
+ }, Rl = {
6641
6659
  key: 1,
6642
6660
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
6643
- }, Rl = {
6661
+ }, zl = {
6644
6662
  key: 2,
6645
6663
  class: "tpl:max-h-64 tpl:overflow-y-auto"
6646
- }, zl = ["disabled", "onClick"], Bl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Vl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Hl = {
6664
+ }, Bl = ["disabled", "onClick"], Vl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Hl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ul = {
6647
6665
  key: 0,
6648
6666
  class: "tpl:rounded tpl:px-1 tpl:py-0.5 tpl:text-[10px] tpl:font-normal tpl:bg-[var(--tpl-bg-active)] tpl:text-[var(--tpl-text-muted)]"
6649
- }, Ul = ["disabled", "title"], Wl = /* @__PURE__ */ B({
6667
+ }, Wl = ["disabled", "title"], Gl = /* @__PURE__ */ B({
6650
6668
  __name: "SnapshotHistory",
6651
6669
  props: {
6652
6670
  snapshots: {},
@@ -6655,7 +6673,7 @@ var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6655
6673
  },
6656
6674
  emits: ["load", "navigate"],
6657
6675
  setup(e, { emit: t }) {
6658
- let n = e, r = t, { format: i } = Y(), { t: a } = Pi(), o = C(!1), s = C(null), c = C(-1);
6676
+ let n = e, r = t, { format: i } = Y(), { t: a } = Fi(), o = C(!1), s = C(null), c = C(-1);
6659
6677
  H(() => n.snapshots.length, () => {
6660
6678
  c.value = -1;
6661
6679
  });
@@ -6674,7 +6692,7 @@ var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6674
6692
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
6675
6693
  }
6676
6694
  function _(e) {
6677
- let t = Us(e, a.snapshotHistory, i, 7);
6695
+ let t = Ws(e, a.snapshotHistory, i, 7);
6678
6696
  return t === null ? new Date(e).toLocaleDateString(void 0, {
6679
6697
  month: "short",
6680
6698
  day: "numeric",
@@ -6694,34 +6712,34 @@ var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6694
6712
  disabled: !u.value,
6695
6713
  title: M(a).snapshotHistory.olderSnapshot,
6696
6714
  onClick: N(p, ["stop"])
6697
- }, [V(M(Lr), {
6715
+ }, [V(M(Rr), {
6698
6716
  size: 14,
6699
6717
  "stroke-width": 2
6700
- })], 8, Ml),
6718
+ })], 8, Nl),
6701
6719
  I("button", {
6702
6720
  class: "tpl:flex tpl:h-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-0.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-1.5 tpl:transition-colors tpl:duration-150 hover:tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
6703
6721
  title: M(a).snapshotHistory.tooltip,
6704
6722
  onClick: N(m, ["stop"])
6705
- }, [V(M(Hr), {
6723
+ }, [V(M(Ur), {
6706
6724
  size: 16,
6707
6725
  "stroke-width": 1.5
6708
- }), V(M(Ir), {
6726
+ }), V(M(Lr), {
6709
6727
  class: ae(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
6710
6728
  size: 10,
6711
6729
  "stroke-width": 2
6712
- }, null, 8, ["class"])], 8, Nl),
6730
+ }, null, 8, ["class"])], 8, Pl),
6713
6731
  V(re, { name: "tpl-dropdown" }, {
6714
- default: b(() => [o.value ? (f(), A("div", Pl, [I("div", Fl, O(M(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), A("div", Il, [V(M(ei), {
6732
+ default: b(() => [o.value ? (f(), A("div", Fl, [I("div", Il, O(M(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), A("div", Ll, [V(M(ti), {
6715
6733
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
6716
6734
  size: 20,
6717
6735
  "stroke-width": 2
6718
- })])) : e.snapshots.length === 0 ? (f(), A("div", Ll, O(M(a).snapshotHistory.noSnapshots), 1)) : (f(), A("div", Rl, [(f(!0), A(R, null, h(e.snapshots, (t) => (f(), A("button", {
6736
+ })])) : e.snapshots.length === 0 ? (f(), A("div", Rl, O(M(a).snapshotHistory.noSnapshots), 1)) : (f(), A("div", zl, [(f(!0), A(R, null, h(e.snapshots, (t) => (f(), A("button", {
6719
6737
  key: t.id,
6720
6738
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:border-b tpl:border-b-[var(--tpl-border-light)] tpl:border-l-2 tpl:border-l-transparent tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-all tpl:duration-150 last:tpl:border-b-0 hover:tpl:border-l-[var(--tpl-primary)] hover:tpl:bg-[var(--tpl-bg-hover)]",
6721
6739
  style: { "background-color": "transparent" },
6722
6740
  disabled: e.isRestoring,
6723
6741
  onClick: (e) => g(t.id)
6724
- }, [I("div", Bl, [I("div", Vl, [I("span", null, O(_(t.created_at)), 1), t.is_autosave ? (f(), A("span", Hl, O(M(a).snapshotHistory.auto), 1)) : j("", !0)])])], 8, zl))), 128))]))])) : j("", !0)]),
6742
+ }, [I("div", Vl, [I("div", Hl, [I("span", null, O(_(t.created_at)), 1), t.is_autosave ? (f(), A("span", Ul, O(M(a).snapshotHistory.auto), 1)) : j("", !0)])])], 8, Bl))), 128))]))])) : j("", !0)]),
6725
6743
  _: 1
6726
6744
  }),
6727
6745
  I("button", {
@@ -6729,74 +6747,74 @@ var Al = ["data-tpl-theme"], jl = /* @__PURE__ */ B({
6729
6747
  disabled: !l.value,
6730
6748
  title: M(a).snapshotHistory.newerSnapshot,
6731
6749
  onClick: N(d, ["stop"])
6732
- }, [V(M(Rr), {
6750
+ }, [V(M(zr), {
6733
6751
  size: 14,
6734
6752
  "stroke-width": 2
6735
- })], 8, Ul)
6753
+ })], 8, Wl)
6736
6754
  ], 512));
6737
6755
  }
6738
- }), Gl = /* @__PURE__ */ e({ default: () => Kl }), Kl = Wl;
6756
+ }), Kl = /* @__PURE__ */ e({ default: () => ql }), ql = Gl;
6739
6757
  //#endregion
6740
6758
  //#region src/cloud/utils/scoringStyles.ts
6741
- function ql(e) {
6759
+ function Jl(e) {
6742
6760
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
6743
6761
  }
6744
- function Jl(e) {
6762
+ function Yl(e) {
6745
6763
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
6746
6764
  }
6747
- function Yl(e) {
6765
+ function Xl(e) {
6748
6766
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
6749
6767
  }
6750
- function Xl(e) {
6768
+ function Zl(e) {
6751
6769
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
6752
6770
  }
6753
6771
  //#endregion
6754
6772
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
6755
- var Zl = {
6773
+ var Ql = {
6756
6774
  key: 0,
6757
6775
  class: "tpl-scoring-panel tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
6758
- }, Ql = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, $l = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, eu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, tu = ["title"], nu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, ru = {
6776
+ }, $l = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, eu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, tu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, nu = ["title"], ru = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, iu = {
6759
6777
  key: 0,
6760
6778
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6761
- }, iu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, au = {
6779
+ }, au = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ou = {
6762
6780
  key: 1,
6763
6781
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6764
- }, ou = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, su = {
6782
+ }, su = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, cu = {
6765
6783
  key: 2,
6766
6784
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6767
- }, cu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, lu = {
6785
+ }, lu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, uu = {
6768
6786
  key: 0,
6769
6787
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6770
- }, uu = {
6788
+ }, du = {
6771
6789
  key: 0,
6772
6790
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6773
- }, du = ["onClick"], fu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, pu = {
6791
+ }, fu = ["onClick"], pu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, mu = {
6774
6792
  key: 0,
6775
6793
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
6776
- }, mu = {
6794
+ }, hu = {
6777
6795
  key: 0,
6778
6796
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
6779
- }, hu = {
6797
+ }, gu = {
6780
6798
  key: 0,
6781
6799
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6782
- }, gu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, _u = { class: "tpl:flex-1 tpl:min-w-0" }, vu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, yu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, bu = {
6800
+ }, _u = { class: "tpl:flex tpl:items-start tpl:gap-2" }, vu = { class: "tpl:flex-1 tpl:min-w-0" }, yu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, bu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, xu = {
6783
6801
  key: 0,
6784
6802
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
6785
- }, xu = {
6803
+ }, Su = {
6786
6804
  key: 1,
6787
6805
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
6788
- }, Su = ["disabled", "onClick"], Cu = {
6806
+ }, Cu = ["disabled", "onClick"], wu = {
6789
6807
  key: 0,
6790
6808
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
6791
- }, wu = {
6809
+ }, Tu = {
6792
6810
  key: 3,
6793
6811
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6794
- }, Tu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Eu = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Du = /* @__PURE__ */ B({
6812
+ }, Eu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Du = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ou = /* @__PURE__ */ B({
6795
6813
  __name: "TemplateScoringPanel",
6796
6814
  props: { visible: { type: Boolean } },
6797
6815
  emits: ["close"],
6798
6816
  setup(e, { emit: t }) {
6799
- let n = e, r = t, { t: i } = Pi(), a = J(Nn, "TemplateScoringPanel"), o = J(ar, "TemplateScoringPanel"), s = v(Un, []), c = C({
6817
+ let n = e, r = t, { t: i } = Fi(), a = J(Nn, "TemplateScoringPanel"), o = J(ar, "TemplateScoringPanel"), s = v(Un, []), c = C({
6800
6818
  spam: !0,
6801
6819
  readability: !0,
6802
6820
  accessibility: !0,
@@ -6811,10 +6829,10 @@ var Zl = {
6811
6829
  "accessibility",
6812
6830
  "bestPractices"
6813
6831
  ], p = {
6814
- spam: di,
6815
- readability: Kr,
6816
- accessibility: fi,
6817
- bestPractices: bi
6832
+ spam: fi,
6833
+ readability: qr,
6834
+ accessibility: pi,
6835
+ bestPractices: xi
6818
6836
  };
6819
6837
  function m() {
6820
6838
  o.score(a.content.value, s);
@@ -6842,50 +6860,50 @@ var Zl = {
6842
6860
  "leave-from-class": "tpl:translate-x-0",
6843
6861
  "leave-to-class": "tpl:translate-x-full"
6844
6862
  }, {
6845
- default: b(() => [e.visible ? (f(), A("div", Zl, [I("div", Ql, [I("div", $l, [V(M(ui), {
6863
+ default: b(() => [e.visible ? (f(), A("div", Ql, [I("div", $l, [I("div", eu, [V(M(di), {
6846
6864
  size: 13,
6847
6865
  "stroke-width": 2
6848
- }), I("span", null, O(M(i).scoring.title), 1)]), I("div", eu, [M(o).scoringResult.value && !M(o).isScoring.value ? (f(), A("button", {
6866
+ }), I("span", null, O(M(i).scoring.title), 1)]), I("div", tu, [M(o).scoringResult.value && !M(o).isScoring.value ? (f(), A("button", {
6849
6867
  key: 0,
6850
6868
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6851
6869
  title: M(i).scoring.rescore,
6852
6870
  onClick: n[0] ||= (e) => m()
6853
- }, [V(M(oi), {
6871
+ }, [V(M(si), {
6854
6872
  size: 14,
6855
6873
  "stroke-width": 2
6856
- })], 8, tu)) : j("", !0), I("button", {
6874
+ })], 8, nu)) : j("", !0), I("button", {
6857
6875
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6858
6876
  onClick: n[1] ||= (e) => r("close")
6859
- }, [V(M(yi), {
6877
+ }, [V(M(bi), {
6860
6878
  size: 14,
6861
6879
  "stroke-width": 2
6862
- })])])]), I("div", nu, [M(o).isScoring.value ? (f(), A("div", ru, [I("p", iu, O(M(i).scoring.scoring), 1), V(Oi, { class: "tpl:w-3/4" })])) : M(o).error.value && !M(o).scoringResult.value ? (f(), A("div", au, [
6863
- V(M(Br), {
6880
+ })])])]), I("div", ru, [M(o).isScoring.value ? (f(), A("div", iu, [I("p", au, O(M(i).scoring.scoring), 1), V(ki, { class: "tpl:w-3/4" })])) : M(o).error.value && !M(o).scoringResult.value ? (f(), A("div", ou, [
6881
+ V(M(Vr), {
6864
6882
  size: 32,
6865
6883
  "stroke-width": 1.5,
6866
6884
  class: "tpl:text-[var(--tpl-danger)]"
6867
6885
  }),
6868
- I("p", ou, O(M(i).scoring.error), 1),
6886
+ I("p", su, O(M(i).scoring.error), 1),
6869
6887
  I("button", {
6870
6888
  class: "tpl:mt-2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-muted)]",
6871
6889
  onClick: n[2] ||= (e) => m()
6872
- }, [V(M(oi), {
6890
+ }, [V(M(si), {
6873
6891
  size: 12,
6874
6892
  "stroke-width": 2
6875
6893
  }), z(" " + O(M(i).scoring.rescore), 1)])
6876
- ])) : M(o).scoringResult.value ? (f(), A("div", su, [
6894
+ ])) : M(o).scoringResult.value ? (f(), A("div", cu, [
6877
6895
  I("div", {
6878
6896
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
6879
- style: L({ backgroundColor: M(Jl)(M(o).scoringResult.value.score) })
6897
+ style: L({ backgroundColor: M(Yl)(M(o).scoringResult.value.score) })
6880
6898
  }, [
6881
6899
  I("span", {
6882
6900
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
6883
- style: L({ color: M(ql)(M(o).scoringResult.value.score) })
6901
+ style: L({ color: M(Jl)(M(o).scoringResult.value.score) })
6884
6902
  }, O(M(o).scoringResult.value.score), 5),
6885
- I("span", cu, O(M(i).scoring.overallScore), 1),
6886
- _() > 0 ? (f(), A("span", lu, O(_()) + " " + O(M(i).scoring.findings), 1)) : j("", !0)
6903
+ I("span", lu, O(M(i).scoring.overallScore), 1),
6904
+ _() > 0 ? (f(), A("span", uu, O(_()) + " " + O(M(i).scoring.findings), 1)) : j("", !0)
6887
6905
  ], 4),
6888
- M(o).fixError.value ? (f(), A("div", uu, [V(M(Br), {
6906
+ M(o).fixError.value ? (f(), A("div", du, [V(M(Vr), {
6889
6907
  size: 14,
6890
6908
  "stroke-width": 2,
6891
6909
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6900,74 +6918,74 @@ var Zl = {
6900
6918
  (f(), P(d(p[e]), {
6901
6919
  size: 14,
6902
6920
  "stroke-width": 2,
6903
- style: L({ color: M(ql)(M(o).scoringResult.value.categories[e].score) })
6921
+ style: L({ color: M(Jl)(M(o).scoringResult.value.categories[e].score) })
6904
6922
  }, null, 8, ["style"])),
6905
- I("span", fu, O(M(i).scoring.categories[e]), 1),
6923
+ I("span", pu, O(M(i).scoring.categories[e]), 1),
6906
6924
  I("span", {
6907
6925
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
6908
6926
  style: L({
6909
- color: M(ql)(M(o).scoringResult.value.categories[e].score),
6910
- backgroundColor: M(Jl)(M(o).scoringResult.value.categories[e].score)
6927
+ color: M(Jl)(M(o).scoringResult.value.categories[e].score),
6928
+ backgroundColor: M(Yl)(M(o).scoringResult.value.categories[e].score)
6911
6929
  })
6912
6930
  }, O(M(o).scoringResult.value.categories[e].score), 5),
6913
- M(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), A("span", pu, O(M(o).scoringResult.value.categories[e].findings.length), 1)) : j("", !0),
6914
- V(M(Ir), {
6931
+ M(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), A("span", mu, O(M(o).scoringResult.value.categories[e].findings.length), 1)) : j("", !0),
6932
+ V(M(Lr), {
6915
6933
  size: 12,
6916
6934
  "stroke-width": 2,
6917
6935
  class: ae(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
6918
6936
  }, null, 8, ["class"])
6919
- ], 8, du), c.value[e] ? (f(), A("div", mu, [M(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), A("div", hu, O(M(i).scoring.noFindings), 1)) : j("", !0), (f(!0), A(R, null, h(M(o).scoringResult.value.categories[e].findings, (e) => (f(), A("div", {
6937
+ ], 8, fu), c.value[e] ? (f(), A("div", hu, [M(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), A("div", gu, O(M(i).scoring.noFindings), 1)) : j("", !0), (f(!0), A(R, null, h(M(o).scoringResult.value.categories[e].findings, (e) => (f(), A("div", {
6920
6938
  key: e.id,
6921
6939
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
6922
- }, [I("div", gu, [(f(), P(d(M(e.severity === "high" ? Br : e.severity === "medium" ? hi : $r)), {
6940
+ }, [I("div", _u, [(f(), P(d(M(e.severity === "high" ? Vr : e.severity === "medium" ? gi : ei)), {
6923
6941
  size: 13,
6924
6942
  "stroke-width": 2,
6925
6943
  class: "tpl:mt-0.5 tpl:shrink-0",
6926
- style: L({ color: M(Yl)(e.severity) })
6927
- }, null, 8, ["style"])), I("div", _u, [
6928
- I("div", vu, [I("span", {
6944
+ style: L({ color: M(Xl)(e.severity) })
6945
+ }, null, 8, ["style"])), I("div", vu, [
6946
+ I("div", yu, [I("span", {
6929
6947
  class: "tpl:mt-0.5 tpl:shrink-0 tpl:rounded tpl:px-1 tpl:py-px tpl:text-[10px] tpl:font-medium tpl:leading-tight",
6930
6948
  style: L({
6931
- color: M(Yl)(e.severity),
6932
- backgroundColor: M(Xl)(e.severity)
6949
+ color: M(Xl)(e.severity),
6950
+ backgroundColor: M(Zl)(e.severity)
6933
6951
  })
6934
- }, O(M(i).scoring.severity[e.severity]), 5), I("span", yu, O(e.message), 1)]),
6935
- e.suggestion ? (f(), A("p", bu, O(e.suggestion), 1)) : j("", !0),
6936
- e.blockId ? (f(), A("div", xu, [I("button", {
6952
+ }, O(M(i).scoring.severity[e.severity]), 5), I("span", bu, O(e.message), 1)]),
6953
+ e.suggestion ? (f(), A("p", xu, O(e.suggestion), 1)) : j("", !0),
6954
+ e.blockId ? (f(), A("div", Su, [I("button", {
6937
6955
  class: "tpl-scoring-fix-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded tpl:border tpl:px-3 tpl:py-1.5 tpl:text-[11px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:disabled:opacity-50 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)]",
6938
6956
  style: { "background-color": "transparent" },
6939
6957
  disabled: M(o).fixingFindingId.value !== null,
6940
6958
  onClick: (t) => g(e)
6941
- }, [M(o).fixingFindingId.value === e.id ? (f(), P(M(ei), {
6959
+ }, [M(o).fixingFindingId.value === e.id ? (f(), P(M(ti), {
6942
6960
  key: 0,
6943
6961
  class: "tpl-spinner",
6944
6962
  size: 11,
6945
6963
  "stroke-width": 2
6946
- })) : (f(), P(M(fi), {
6964
+ })) : (f(), P(M(pi), {
6947
6965
  key: 1,
6948
6966
  size: 11,
6949
6967
  "stroke-width": 2
6950
- })), z(" " + O(M(o).fixingFindingId.value === e.id ? M(i).scoring.fixing : M(i).scoring.fix), 1)], 8, Su), M(o).fixError.value ? (f(), A("p", Cu, O(M(o).fixError.value), 1)) : j("", !0)])) : j("", !0)
6968
+ })), z(" " + O(M(o).fixingFindingId.value === e.id ? M(i).scoring.fixing : M(i).scoring.fix), 1)], 8, Cu), M(o).fixError.value ? (f(), A("p", wu, O(M(o).fixError.value), 1)) : j("", !0)])) : j("", !0)
6951
6969
  ])])]))), 128))])) : j("", !0)])), 64))
6952
- ])) : (f(), A("div", wu, [V(M(ui), {
6970
+ ])) : (f(), A("div", Tu, [V(M(di), {
6953
6971
  size: 32,
6954
6972
  "stroke-width": 1.5,
6955
6973
  class: "tpl:text-[var(--tpl-text-dim)]"
6956
- }), I("p", Tu, O(M(i).scoring.emptyState), 1)])), I("p", Eu, O(M(i).aiMenu.disclaimer), 1)])])) : j("", !0)]),
6974
+ }), I("p", Eu, O(M(i).scoring.emptyState), 1)])), I("p", Du, O(M(i).aiMenu.disclaimer), 1)])])) : j("", !0)]),
6957
6975
  _: 1
6958
6976
  }));
6959
6977
  }
6960
- }), Ou = /* @__PURE__ */ e({ default: () => ku }), ku = /* @__PURE__ */ wi(Du, [["__scopeId", "data-v-3a059e8d"]]), Au = ["aria-busy"], ju = {
6978
+ }), ku = /* @__PURE__ */ e({ default: () => Au }), Au = /* @__PURE__ */ Ti(Ou, [["__scopeId", "data-v-3a059e8d"]]), ju = ["aria-busy"], Mu = {
6961
6979
  id: "tpl-test-email-title",
6962
6980
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
6963
- }, Mu = { class: "tpl:mb-3" }, Nu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Pu = ["value"], Fu = ["disabled"], Iu = ["value"], Lu = {
6981
+ }, Nu = { class: "tpl:mb-3" }, Pu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Fu = ["value"], Iu = ["disabled"], Lu = ["value"], Ru = {
6964
6982
  key: 0,
6965
6983
  role: "alert",
6966
6984
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
6967
- }, Ru = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, zu = ["disabled"], Bu = ["disabled"], Vu = {
6985
+ }, zu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Bu = ["disabled"], Vu = ["disabled"], Hu = {
6968
6986
  key: 0,
6969
6987
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
6970
- }, Hu = { key: 1 }, Uu = /* @__PURE__ */ B({
6988
+ }, Uu = { key: 1 }, Wu = /* @__PURE__ */ B({
6971
6989
  __name: "TestEmailModal",
6972
6990
  props: {
6973
6991
  visible: { type: Boolean },
@@ -6977,7 +6995,7 @@ var Zl = {
6977
6995
  },
6978
6996
  emits: ["send", "close"],
6979
6997
  setup(e, { emit: t }) {
6980
- let n = e, r = t, { t: i } = Pi(), a = C("");
6998
+ let n = e, r = t, { t: i } = Fi(), a = C("");
6981
6999
  H(() => n.visible, (e) => {
6982
7000
  e && (a.value = n.allowedEmails[0] ?? "");
6983
7001
  });
@@ -6990,7 +7008,7 @@ var Zl = {
6990
7008
  function l(e) {
6991
7009
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
6992
7010
  }
6993
- return (t, n) => (f(), P(jl, {
7011
+ return (t, n) => (f(), P(Ml, {
6994
7012
  visible: e.visible,
6995
7013
  onClose: s,
6996
7014
  onKeydown: l
@@ -7006,14 +7024,14 @@ var Zl = {
7006
7024
  "box-shadow": "var(--tpl-shadow-xl)"
7007
7025
  }
7008
7026
  }, [
7009
- I("h3", ju, O(M(i).testEmail.title), 1),
7010
- I("div", Mu, [I("label", Nu, O(M(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), A("input", {
7027
+ I("h3", Mu, O(M(i).testEmail.title), 1),
7028
+ I("div", Nu, [I("label", Pu, O(M(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), A("input", {
7011
7029
  key: 0,
7012
7030
  type: "text",
7013
7031
  value: a.value,
7014
7032
  disabled: "",
7015
7033
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
7016
- }, null, 8, Pu)) : c((f(), A("select", {
7034
+ }, null, 8, Fu)) : c((f(), A("select", {
7017
7035
  key: 1,
7018
7036
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7019
7037
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
@@ -7021,29 +7039,29 @@ var Zl = {
7021
7039
  }, [(f(!0), A(R, null, h(e.allowedEmails, (e) => (f(), A("option", {
7022
7040
  key: e,
7023
7041
  value: e
7024
- }, O(e), 9, Iu))), 128))], 8, Fu)), [[w, a.value]])]),
7025
- e.error ? (f(), A("p", Lu, O(e.error), 1)) : j("", !0),
7026
- I("div", Ru, [I("button", {
7042
+ }, O(e), 9, Lu))), 128))], 8, Iu)), [[w, a.value]])]),
7043
+ e.error ? (f(), A("p", Ru, O(e.error), 1)) : j("", !0),
7044
+ I("div", zu, [I("button", {
7027
7045
  type: "button",
7028
7046
  class: ae(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": e.isSending }]),
7029
7047
  disabled: e.isSending,
7030
7048
  onClick: s
7031
- }, O(M(i).testEmail.cancel), 11, zu), I("button", {
7049
+ }, O(M(i).testEmail.cancel), 11, Bu), I("button", {
7032
7050
  type: "button",
7033
7051
  class: "tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
7034
7052
  disabled: !a.value || e.isSending,
7035
7053
  onClick: o
7036
- }, [e.isSending ? (f(), A("span", Vu, [V(M(ei), {
7054
+ }, [e.isSending ? (f(), A("span", Hu, [V(M(ti), {
7037
7055
  class: "tpl:animate-spin",
7038
7056
  size: 12,
7039
7057
  "stroke-width": 2
7040
- }), z(" " + O(M(i).testEmail.sending), 1)])) : (f(), A("span", Hu, O(M(i).testEmail.send), 1))], 8, Bu)])
7041
- ], 8, Au)]),
7058
+ }), z(" " + O(M(i).testEmail.sending), 1)])) : (f(), A("span", Uu, O(M(i).testEmail.send), 1))], 8, Vu)])
7059
+ ], 8, ju)]),
7042
7060
  _: 1
7043
7061
  }, 8, ["visible"]));
7044
7062
  }
7045
- }), Wu = /* @__PURE__ */ e({ default: () => Gu }), Gu = Uu;
7063
+ }), Gu = /* @__PURE__ */ e({ default: () => Ku }), Ku = Wu;
7046
7064
  //#endregion
7047
- export { Fi as $, Qn as $t, ko as A, me as An, Fr as At, Ma as B, Vn as Bt, Vo as C, ve as Cn, Gr as Ct, Z as D, _e as Dn, Br as Dt, $ as E, Ce as En, Hr as Et, Qa as F, be as Fn, Y as Ft, oa as G, Hn as Gt, Aa as H, or as Ht, eo as I, pe as In, nr as It, Qi as J, Ln as Jt, aa as K, Jn as Kt, Za as L, de as Ln, Yn as Lt, _o as M, Se as Mn, Cr as Mt, uo as N, Te as Nn, hr as Nt, Ao as O, we as On, Rr as Ot, so as P, he as Pn, cr as Pt, Ii as Q, ar as Qt, qa as R, fe as Rn, tr as Rt, Go as S, W as Sn, Kr as St, Lo as T, ye as Tn, Ur as Tt, xa as U, rr as Ut, ja as V, Xn as Vt, _a as W, In as Wt, Vi as X, qn as Xt, Ui as Y, Wn as Yt, Li as Z, ir as Zt, ts as _, ht as _n, ti as _t, kl as a, xn as an, yi as at, Jo as b, st as bn, Qr as bt, Rs as c, wn as cn, mi as ct, ss as d, rn as dn, ui as dt, Rn as en, Ni as et, os as f, Mt as fn, li as ft, ns as g, yt as gn, ni as gt, rs as h, _t as hn, ri as ht, jl as i, bn as in, Ci as it, Do as j, xe as jn, X as jt, jo as k, ge as kn, Ir as kt, ps as l, $t as ln, pi as lt, is as m, lt as mn, oi as mt, Ou as n, J as nn, ji as nt, Dl as o, q as on, _i as ot, as as p, Ct as pn, ci as pt, ea as q, Nn as qt, Gl as r, fn as rn, wi as rt, Qc as s, Dn as sn, hi as st, Wu as t, zn as tn, Pi as tt, fs as u, nn as un, fi as ut, es as v, vt as vn, ei as vt, Ro as w, Ee as wn, Wr as wt, Ko as x, ot as xn, Zr as xt, Yo as y, ct as yn, $r as yt, Ga as z, ue as zn, Bn as zt };
7065
+ export { Ii as $, Qn as $t, Ao as A, me as An, Ir as At, Na as B, Vn as Bt, Ho as C, ve as Cn, Kr as Ct, Z as D, _e as Dn, Vr as Dt, $ as E, Ce as En, Ur as Et, $a as F, be as Fn, Y as Ft, sa as G, Hn as Gt, ja as H, or as Ht, to as I, pe as In, nr as It, $i as J, Ln as Jt, oa as K, Jn as Kt, Qa as L, de as Ln, Yn as Lt, vo as M, Se as Mn, wr as Mt, fo as N, Te as Nn, gr as Nt, jo as O, we as On, zr as Ot, co as P, he as Pn, lr as Pt, Li as Q, ar as Qt, Ja as R, fe as Rn, tr as Rt, Ko as S, W as Sn, qr as St, Ro as T, ye as Tn, Wr as Tt, Sa as U, rr as Ut, Ma as V, Xn as Vt, va as W, In as Wt, Hi as X, qn as Xt, Wi as Y, Wn as Yt, Ri as Z, ir as Zt, ns as _, ht as _n, ni as _t, Al as a, xn as an, bi as at, Yo as b, st as bn, $r as bt, zs as c, wn as cn, hi as ct, cs as d, rn as dn, di as dt, Rn as en, Pi as et, ss as f, Mt as fn, ui as ft, rs as g, yt as gn, ri as gt, is as h, _t as hn, ii as ht, Ml as i, bn as in, wi as it, Oo as j, xe as jn, X as jt, Mo as k, ge as kn, Lr as kt, ms as l, $t as ln, mi as lt, as as m, lt as mn, si as mt, ku as n, J as nn, Mi as nt, Ol as o, q as on, vi as ot, os as p, Ct as pn, li as pt, ta as q, Nn as qt, Kl as r, fn as rn, Ti as rt, $c as s, Dn as sn, gi as st, Gu as t, zn as tn, Fi as tt, ps as u, nn as un, pi as ut, ts as v, vt as vn, ti as vt, zo as w, Ee as wn, Gr as wt, qo as x, ot as xn, Qr as xt, Xo as y, ct as yn, ei as yt, Ka as z, ue as zn, Bn as zt };
7048
7066
 
7049
- //# sourceMappingURL=features-CgTy87Ni.js.map
7067
+ //# sourceMappingURL=features-svfaXiyQ.js.map