@templatical/editor 0.11.0 → 0.12.0

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 (155) hide show
  1. package/dist/{AiChatSidebar-Cm5RM5Qh.js → AiChatSidebar-CXH7l1Ar.js} +13 -13
  2. package/dist/{AiFeatureMenu-D4D2Sqfk.js → AiFeatureMenu-BKbUUc1D.js} +10 -10
  3. package/dist/{BlockIssueBadge-BF4sdsr4.js → BlockIssueBadge-C-EPqWsh.js} +5 -5
  4. package/dist/{CloudEditor-CLwyq3kf.js → CloudEditor-F5YV5hE3.js} +166 -165
  5. package/dist/{CollaboratorBar-DjX-o5Pi.js → CollaboratorBar-ACUA7lBJ.js} +4 -4
  6. package/dist/{CommentsSidebar-BQJzyCc6.js → CommentsSidebar-CpRLN40c.js} +19 -19
  7. package/dist/{CountdownBlock-D_AsF4F3.js → CountdownBlock-C-6o19qS.js} +3 -3
  8. package/dist/{CountdownToolbar-BGTkFky9.js → CountdownToolbar-CDy9_2Yj.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-O3epZMXD.js → DesignReferenceSidebar-0dTsBW08.js} +9 -9
  10. package/dist/{IssuesPanel-CPBbR8yp.js → IssuesPanel-I0z6k6-H.js} +11 -11
  11. package/dist/{LoadingTrack-e67FA0NP.js → LoadingTrack-C7mGWPHS.js} +1 -1
  12. package/dist/{ModuleBrowserModal-CVS4Sf7H.js → ModuleBrowserModal-Bz9hSjMS.js} +10 -10
  13. package/dist/{ModulePreviewCanvas-C10YXsL_.js → ModulePreviewCanvas-CpaumPMS.js} +23 -23
  14. package/dist/{NumberWithSuffix-eI9pPDWT.js → NumberWithSuffix-Cd7bz1Wk.js} +3 -3
  15. package/dist/{ParagraphEditor-BKoqcKIt.js → ParagraphEditor-BqRFV_Y-.js} +43 -43
  16. package/dist/{RichTextEditorContent-Dvn4woIt.js → RichTextEditorContent-Q5altsx1.js} +6 -6
  17. package/dist/{SaveModuleDialog-BMuIjxVn.js → SaveModuleDialog-DmfvH5D0.js} +7 -7
  18. package/dist/{SnapshotHistory-DZ5_W7e4.js → SnapshotHistory-C052o-8U.js} +13 -13
  19. package/dist/{TemplateScoringPanel-Bt5Rsgen.js → TemplateScoringPanel-CUs8XmIi.js} +24 -24
  20. package/dist/{TestEmailModal-EjpH-F-W.js → TestEmailModal-BIIxRWUt.js} +5 -5
  21. package/dist/{TitleEditor-Rv1deuV7.js → TitleEditor-FMh54Cx5.js} +18 -18
  22. package/dist/{TplModal-DSmCQIm4.js → TplModal-utMtXzSO.js} +4 -4
  23. package/dist/{blockTypeIcons-OhEkQhYj.js → blockTypeIcons-C6UGDmrC.js} +2 -2
  24. package/dist/bundle-stats.json +6 -6
  25. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js → AiFeatureMenu-4NhCFeTh.js} +8 -8
  26. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js.map → AiFeatureMenu-4NhCFeTh.js.map} +1 -1
  27. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js → BlockIssueBadge-BYKThwhE.js} +5 -5
  28. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js.map → BlockIssueBadge-BYKThwhE.js.map} +1 -1
  29. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js → CloudEditor-OO8hWAVp.js} +177 -176
  30. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js.map → CloudEditor-OO8hWAVp.js.map} +1 -1
  31. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js → CollaboratorBar-Dn5gXNDt.js} +4 -4
  32. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js.map → CollaboratorBar-Dn5gXNDt.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js → CountdownBlock-hYoJdVOt.js} +3 -3
  34. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js.map → CountdownBlock-hYoJdVOt.js.map} +1 -1
  35. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js → CountdownToolbar-BXjDFRHI.js} +4 -4
  36. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js.map → CountdownToolbar-BXjDFRHI.js.map} +1 -1
  37. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js → IssuesPanel-_5fEnivU.js} +10 -10
  38. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js.map → IssuesPanel-_5fEnivU.js.map} +1 -1
  39. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js → ModuleBrowserModal-DtCksAeW.js} +7 -7
  40. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js.map → ModuleBrowserModal-DtCksAeW.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js → ModulePreviewCanvas-CCOvabZd.js} +31 -31
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js.map → ModulePreviewCanvas-CCOvabZd.js.map} +1 -1
  43. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js → NumberWithSuffix-ZuJ2ePB0.js} +3 -3
  44. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js.map → NumberWithSuffix-ZuJ2ePB0.js.map} +1 -1
  45. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js → ParagraphEditor-BnhnFOW1.js} +34 -34
  46. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js.map → ParagraphEditor-BnhnFOW1.js.map} +1 -1
  47. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js → RichTextEditorContent-DV2yknp8.js} +3 -3
  48. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js.map → RichTextEditorContent-DV2yknp8.js.map} +1 -1
  49. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js → SaveModuleDialog-CCX5U7VA.js} +5 -5
  50. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js.map → SaveModuleDialog-CCX5U7VA.js.map} +1 -1
  51. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js → TitleEditor-CQqklX0D.js} +13 -13
  52. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js.map → TitleEditor-CQqklX0D.js.map} +1 -1
  53. package/dist/cdn/chunks/blockTypeIcons-CpGPHppB.js +22 -0
  54. package/dist/cdn/chunks/{blockTypeIcons-BC5qpvuV.js.map → blockTypeIcons-CpGPHppB.js.map} +1 -1
  55. package/dist/{de-DIAGP7yH.js → cdn/chunks/de-DpBN9H7-.js} +13 -1
  56. package/dist/cdn/chunks/de-DpBN9H7-.js.map +1 -0
  57. package/dist/cdn/chunks/{draggable-iAb7QVJo.js → draggable-Bci-fq8y.js} +473 -465
  58. package/dist/cdn/chunks/draggable-Bci-fq8y.js.map +1 -0
  59. package/dist/{en-nqIW8Q9W.js → cdn/chunks/en-BhHtdIiU.js} +13 -1
  60. package/dist/cdn/chunks/en-BhHtdIiU.js.map +1 -0
  61. package/dist/cdn/chunks/{extensions-DH7ESsaz.js → extensions-Ds9GnMcd.js} +4 -4
  62. package/dist/cdn/chunks/{extensions-DH7ESsaz.js.map → extensions-Ds9GnMcd.js.map} +1 -1
  63. package/dist/cdn/chunks/{features-DmUOSthI.js → features-DxWz_Enw.js} +1055 -1056
  64. package/dist/cdn/chunks/features-DxWz_Enw.js.map +1 -0
  65. package/dist/cdn/chunks/{icons-DguD4x_X.js → icons-BflGUmFY.js} +146 -146
  66. package/dist/cdn/chunks/icons-BflGUmFY.js.map +1 -0
  67. package/dist/cdn/chunks/{liquid.browser-DUDc3U21.js → liquid.browser-DKKBzRQu.js} +502 -497
  68. package/dist/cdn/chunks/liquid.browser-DKKBzRQu.js.map +1 -0
  69. package/dist/cdn/chunks/{media-library-ClQUPxRM.js → media-library-C479-QcE.js} +364 -364
  70. package/dist/cdn/chunks/{media-library-ClQUPxRM.js.map → media-library-C479-QcE.js.map} +1 -1
  71. package/dist/cdn/chunks/{pt-BR-DCNnLLx9.js → pt-BR-Bth5a93y.js} +12 -2
  72. package/dist/cdn/chunks/pt-BR-Bth5a93y.js.map +1 -0
  73. package/dist/cdn/chunks/{pusher-CHo5Cua0.js → pusher-BICWUP2j.js} +3 -3
  74. package/dist/cdn/chunks/{pusher-CHo5Cua0.js.map → pusher-BICWUP2j.js.map} +1 -1
  75. package/dist/cdn/chunks/{quality-CIw_7cXv.js → quality-BL_pEvFP.js} +20 -20
  76. package/dist/cdn/chunks/{quality-CIw_7cXv.js.map → quality-BL_pEvFP.js.map} +1 -1
  77. package/dist/cdn/chunks/readableTextColor-f8Kykfnh.js.map +1 -1
  78. package/dist/cdn/chunks/{renderer-Bx8I7_Rb.js → renderer-DwPomkBw.js} +42 -39
  79. package/dist/cdn/chunks/renderer-DwPomkBw.js.map +1 -0
  80. package/dist/cdn/chunks/{src-C-GlM149.js → src-DzvOWQ9S.js} +62 -62
  81. package/dist/cdn/chunks/{src-C-GlM149.js.map → src-DzvOWQ9S.js.map} +1 -1
  82. package/dist/cdn/chunks/{styles-CfqCvq0Z.js → styles-D45rgVq8.js} +712 -624
  83. package/dist/cdn/chunks/styles-D45rgVq8.js.map +1 -0
  84. package/dist/cdn/chunks/{tiptap-BAwu9VcJ.js → tiptap-CwScfbsM.js} +5 -4
  85. package/dist/cdn/chunks/tiptap-CwScfbsM.js.map +1 -0
  86. package/dist/cdn/editor.css +1 -1
  87. package/dist/cdn/editor.js +105 -104
  88. package/dist/cdn/editor.js.map +1 -1
  89. package/dist/{check-BsNM6BDs.js → check-BRzXxFHr.js} +1 -1
  90. package/dist/{chevron-down-fcsZ5DU7.js → chevron-down-DmEgzmYT.js} +1 -1
  91. package/dist/{circle-alert-BZTbwc-B.js → circle-alert-BStvZr3O.js} +1 -1
  92. package/dist/{clock-B7iQRubC.js → clock-Blwp_1R6.js} +1 -1
  93. package/dist/{cloud-Dom4EH5Z.js → cloud-_olro76D.js} +6 -6
  94. package/dist/{createLucideIcon-C_fetdGM.js → createLucideIcon-CmPAC-gt.js} +3 -3
  95. package/dist/{cdn/chunks/de-DIAGP7yH.js → de-DpBN9H7-.js} +11 -3
  96. package/dist/{dist-ByBVNmRN.js → dist-412xXefB.js} +1 -1
  97. package/dist/{dist-XdF11ZkX.js → dist-BCQZZUE9.js} +1 -1
  98. package/dist/{dist-CD3wbUoR.js → dist-BNEdeWub.js} +1 -1
  99. package/dist/dist-BctFrpeA.js +472 -0
  100. package/dist/{dist-eVlXvuKI.js → dist-BlG7k25W.js} +1 -1
  101. package/dist/{dist-BLcYl_de.js → dist-BwgjpLfr.js} +1 -1
  102. package/dist/{dist-Dhs3W2WW.js → dist-Cz79qrLL.js} +1 -1
  103. package/dist/{dist-c2sj5PQ5.js → dist-D6x1cQeh.js} +3 -3
  104. package/dist/{dist-cT52Hh9L.js → dist-DJ9aD8yA.js} +3 -3
  105. package/dist/{dist-Cwl7XXr4.js → dist-DULfKmTh.js} +3 -3
  106. package/dist/{dist-Dem8ODLh.js → dist-DhKTdU52.js} +3 -2
  107. package/dist/{dist-BOHAk4zI.js → dist-b7Ak-CuM.js} +1 -1
  108. package/dist/{dist-B4NkMBYc.js → dist-o73iaGqy.js} +1 -1
  109. package/dist/{dist-BsB4nPJD.js → dist-u0iIJH3V.js} +1 -1
  110. package/dist/{cdn/chunks/en-nqIW8Q9W.js → en-BhHtdIiU.js} +11 -3
  111. package/dist/{extensions-B2lSGCA8.js → extensions-XPlNAKIL.js} +23 -23
  112. package/dist/formatRelativeTime-CtUU-QZ8.js +10 -0
  113. package/dist/{image-up-1xrPPJYH.js → image-up-BFPbw_Zq.js} +1 -1
  114. package/dist/index.d.ts +32 -0
  115. package/dist/{info-ByAFxArD.js → info-B_qLEBN2.js} +1 -1
  116. package/dist/{keys-DsRdOmg3.js → keys-mFiJ5N0_.js} +1 -1
  117. package/dist/{liquid.browser--qtl1Fqy.js → liquid.browser-CVjP5Mex.js} +501 -496
  118. package/dist/{list-checks-CKUP4UZU.js → list-checks-CGg7JxPm.js} +1 -1
  119. package/dist/{loader-circle-BuxX338d.js → loader-circle-CDF8eR_Q.js} +1 -1
  120. package/dist/{message-circle-nLwqegRi.js → message-circle-C3cHsCJl.js} +1 -1
  121. package/dist/{pt-BR-DCNnLLx9.js → pt-BR-Bth5a93y.js} +11 -1
  122. package/dist/{refresh-cw-DAkD6iDI.js → refresh-cw-Butml7Q4.js} +1 -1
  123. package/dist/{scan-line-DEELRJJ5.js → scan-line-XYEqim_E.js} +1 -1
  124. package/dist/{send-DCMgrNT4.js → send-k7npFJNO.js} +1 -1
  125. package/dist/{shield-check-BFtVr_ov.js → shield-check-CV6GbmCu.js} +1 -1
  126. package/dist/{sparkles-CeYIQ5RJ.js → sparkles-C965Xop4.js} +1 -1
  127. package/dist/style.css +1 -1
  128. package/dist/{styles-D_ztiOsh.js → styles-Dp4mJuCM.js} +817 -729
  129. package/dist/templatical-editor.js +117 -116
  130. package/dist/{text-align-start-BsmIoqLS.js → text-align-start-Bxnps8fH.js} +1 -1
  131. package/dist/{trash-2-C2S4-CIH.js → trash-2-DpGb7fIt.js} +1 -1
  132. package/dist/{triangle-alert-DMdedF6W.js → triangle-alert-BKYElAwz.js} +1 -1
  133. package/dist/{useAliveFlag-DlVvpZxc.js → useAliveFlag-BinvbqQR.js} +1 -1
  134. package/dist/{useCloudI18n-BEuiZdzs.js → useCloudI18n-L3H2XvdW.js} +2 -2
  135. package/dist/{useEditorCore-tZGAVvNz.js → useEditorCore-D7dQFRkw.js} +699 -769
  136. package/dist/{useI18n-DNspT6uw.js → useI18n-CTs_bP9d.js} +2 -2
  137. package/dist/{useMergeTag-abutjUud.js → useMergeTag-e3RSY-s3.js} +6 -6
  138. package/dist/usePopoverRoot-DVh7NY1q.js +8 -0
  139. package/dist/{vue.runtime.esm-bundler-mPytWZFh.js → vue.runtime.esm-bundler-B2k01iQh.js} +345 -337
  140. package/dist/{x-_9jw816B.js → x-CGjkjdKK.js} +1 -1
  141. package/package.json +11 -11
  142. package/dist/cdn/chunks/blockTypeIcons-BC5qpvuV.js +0 -22
  143. package/dist/cdn/chunks/de-DIAGP7yH.js.map +0 -1
  144. package/dist/cdn/chunks/draggable-iAb7QVJo.js.map +0 -1
  145. package/dist/cdn/chunks/en-nqIW8Q9W.js.map +0 -1
  146. package/dist/cdn/chunks/features-DmUOSthI.js.map +0 -1
  147. package/dist/cdn/chunks/icons-DguD4x_X.js.map +0 -1
  148. package/dist/cdn/chunks/liquid.browser-DUDc3U21.js.map +0 -1
  149. package/dist/cdn/chunks/pt-BR-DCNnLLx9.js.map +0 -1
  150. package/dist/cdn/chunks/renderer-Bx8I7_Rb.js.map +0 -1
  151. package/dist/cdn/chunks/styles-CfqCvq0Z.js.map +0 -1
  152. package/dist/cdn/chunks/tiptap-BAwu9VcJ.js.map +0 -1
  153. package/dist/dist-D6L_WdRL.js +0 -403
  154. package/dist/formatRelativeTime-CyDg5cDD.js +0 -12
  155. package/dist/usePopoverRoot-DG3mlvd1.js +0 -8
@@ -1,10 +1,10 @@
1
- import { $ as e, A as t, H as n, J as r, M as i, N as a, P as o, V as s, Z as c, _ as l, b as u, ct as d, f, g as p, h as m, it as h, j as g, l as _, m as v, n as y, ot as b, p as x, s as S, st as C, u as w, v as T, x as E, y as D, z as O } from "./draggable-iAb7QVJo.js";
2
- import { A as k, An as A, At as j, Dt as M, E as N, Et as P, Ft as F, Ht as I, It as L, Nt as R, Qt as z, Rt as B, S as V, Un as H, Ut as U, Vt as W, Z as ee, _ as G, _t as K, b as q, c as te, d as ne, en as re, f as J, g as ie, h as Y, hn as X, l as Z, m as ae, on as oe, p as se, pt as ce, rt as le, s as ue, st as de, tn as fe, tt as Q, u as pe, ut as me, v as he, vt as ge, wn as _e, x as ve, y as ye } from "./features-DmUOSthI.js";
3
- import { S as be, x as xe } from "./icons-DguD4x_X.js";
4
- import { a as Se, c as Ce, i as we, l as Te, n as Ee, o as De, r as Oe, s as ke, t as Ae, u as je } from "./styles-CfqCvq0Z.js";
1
+ import { $ as e, A as t, H as n, J as r, M as i, N as a, P as o, V as s, Z as c, _ as l, b as u, ct as d, f, g as p, h as m, it as h, j as g, l as _, m as v, n as y, ot as b, p as x, s as S, st as C, u as w, v as T, x as E, y as D, z as O } from "./draggable-Bci-fq8y.js";
2
+ import { A as k, An as A, At as j, Ct as M, Dt as N, E as P, Et as F, Ft as I, Ht as L, It as R, J as z, Nt as ee, Ot as B, Qt as te, Rt as ne, S as V, Un as H, Ut as U, Vt as W, Z as G, _ as K, b as re, c as ie, d as ae, dt as q, en as oe, f as J, g as Y, h as X, hn as Z, ht as se, kt as ce, l as le, m as ue, on as de, p as fe, rt as pe, s as me, tn as he, tt as Q, u as ge, v as _e, wn as ve, x as ye, y as be } from "./features-DxWz_Enw.js";
3
+ import { _ as xe, v as Se } from "./icons-BflGUmFY.js";
4
+ import { a as Ce, c as we, d as Te, i as Ee, l as De, n as Oe, o as ke, r as Ae, s as je, t as Me, u as Ne } from "./styles-D45rgVq8.js";
5
5
  import { d as $ } from "./styleConstants-lGobwiLH.js";
6
6
  //#region src/cloud/composables/useSnapshotPreview.ts
7
- function Me(t) {
7
+ function Pe(t) {
8
8
  let { authManager: n, editor: i, history: a, conditionPreview: o, autoSave: s, onError: l } = t, u = e(null), d = c(null), p = c(null), m = !1;
9
9
  r(() => {
10
10
  m = !0;
@@ -63,7 +63,7 @@ function Me(t) {
63
63
  }
64
64
  //#endregion
65
65
  //#region src/cloud/composables/useCloudPanelState.ts
66
- function Ne() {
66
+ function Fe() {
67
67
  let e = c(null), t = f({
68
68
  get: () => e.value === "ai-chat",
69
69
  set: (t) => e.value = t ? "ai-chat" : null
@@ -86,7 +86,7 @@ function Ne() {
86
86
  function g(t) {
87
87
  l.value = !1, e.value = e.value === t ? null : t;
88
88
  }
89
- return oe(u, () => {
89
+ return de(u, () => {
90
90
  l.value = !1;
91
91
  }), {
92
92
  activePanel: e,
@@ -108,8 +108,8 @@ function Ne() {
108
108
  }
109
109
  //#endregion
110
110
  //#region src/cloud/composables/useCollabUndoWarning.ts
111
- function Pe(e) {
112
- let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = X(() => {
111
+ function Ie(e) {
112
+ let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = Z(() => {
113
113
  a.value = !1;
114
114
  }, H, { immediate: !1 });
115
115
  function s() {
@@ -122,8 +122,8 @@ function Pe(e) {
122
122
  }
123
123
  //#endregion
124
124
  //#region src/cloud/composables/useCloudFeatureFlags.ts
125
- function Fe(e) {
126
- let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = f(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = f(() => t.hasFeature("test_email")), o = f(() => !!r.state.template?.id), s = f(() => t.hasFeature("white_label")), l = f(() => t.config.value?.limits.max_templates ?? null), u = f(() => t.config.value?.template_count ?? 0), d = c(!1), p = c("idle"), m = c(""), { start: h } = X(() => {
125
+ function Le(e) {
126
+ let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = f(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = f(() => t.hasFeature("test_email")), o = f(() => !!r.state.template?.id), s = f(() => t.hasFeature("white_label")), l = f(() => t.config.value?.limits.max_templates ?? null), u = f(() => t.config.value?.template_count ?? 0), d = c(!1), p = c("idle"), m = c(""), { start: h } = Z(() => {
127
127
  p.value = "idle";
128
128
  }, 3e3, { immediate: !1 });
129
129
  return {
@@ -141,7 +141,7 @@ function Fe(e) {
141
141
  }
142
142
  //#endregion
143
143
  //#region src/cloud/composables/useCloudMediaLibrary.ts
144
- function Ie(e) {
144
+ function Re(e) {
145
145
  let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: i } = e, a = null;
146
146
  async function o() {
147
147
  if (t) {
@@ -176,30 +176,30 @@ function Ie(e) {
176
176
  }
177
177
  //#endregion
178
178
  //#region src/cloud/composables/useCloudInitialization.ts
179
- function Le(e) {
180
- let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, p = { value: null }, m = null, h = null, g = new N({
179
+ function ze(e) {
180
+ let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, p = { value: null }, m = null, h = null, g = new P({
181
181
  ...t.auth,
182
182
  onError: t.onError
183
- }), _ = Z({
183
+ }), _ = le({
184
184
  authManager: g,
185
185
  onError: t.onError
186
- }), v = c(/* @__PURE__ */ new Map()), y = ve({
186
+ }), v = c(/* @__PURE__ */ new Map()), y = ye({
187
187
  authManager: g,
188
188
  defaultFontFamily: t.fonts?.defaultFont,
189
189
  templateDefaults: t.templateDefaults,
190
190
  onError: t.onError,
191
191
  lockedBlocks: v
192
- }), b = ae({
192
+ }), b = ue({
193
193
  authManager: g,
194
194
  onError: t.onError
195
195
  });
196
- t.mcp?.enabled && ue({
196
+ t.mcp?.enabled && me({
197
197
  editor: y,
198
198
  channel: b.channel,
199
199
  onOperation: t.mcp.onOperation
200
200
  });
201
201
  let x = null;
202
- t.collaboration?.enabled && (x = ie({
202
+ t.collaboration?.enabled && (x = Y({
203
203
  authManager: g,
204
204
  editor: y,
205
205
  channel: b.channel,
@@ -210,7 +210,7 @@ function Le(e) {
210
210
  onBlockUnlocked: t.collaboration.onBlockUnlocked
211
211
  }), O(() => x.lockedBlocks.value, (e) => {
212
212
  v.value = e;
213
- }, { immediate: !0 }), Y(y, x));
213
+ }, { immediate: !0 }), X(y, x));
214
214
  let S = f(() => !!t.collaboration?.enabled && _.hasFeature("collaboration")), C = k({
215
215
  editor: y,
216
216
  config: {
@@ -222,7 +222,7 @@ function Le(e) {
222
222
  mergeTags: t.mergeTags,
223
223
  displayConditions: t.displayConditions,
224
224
  onRequestMedia: null,
225
- lint: je(t),
225
+ lint: Te(t),
226
226
  onSave: () => {
227
227
  p.value?.().catch((e) => {
228
228
  t.onError?.(e);
@@ -243,13 +243,13 @@ function Le(e) {
243
243
  keyboardOptions: { onBeforeUndo: () => h?.showCollabUndoWarning() },
244
244
  editorRoot: e.editorRoot,
245
245
  containerEl: e.containerEl
246
- }), w = Pe({
246
+ }), w = Ie({
247
247
  isCollaborationEnabled: S,
248
248
  getCollaboratorCount: () => x?.collaborators.value.length ?? 0,
249
249
  canUndo: C.history.canUndo
250
250
  });
251
251
  h = w;
252
- let T = Me({
252
+ let T = Pe({
253
253
  authManager: g,
254
254
  editor: y,
255
255
  history: C.history,
@@ -258,24 +258,24 @@ function Le(e) {
258
258
  onError: t.onError
259
259
  });
260
260
  m = T;
261
- let E = Ne(), D = q(t.ai), A = Fe({
261
+ let E = Fe(), D = re(t.ai), A = Le({
262
262
  planConfigInstance: _,
263
263
  aiConfig: D,
264
264
  editor: y
265
- }), j = Ie({
265
+ }), j = Re({
266
266
  onRequestMedia: t.onRequestMedia,
267
267
  mediaLibraryOpen: E.mediaLibraryOpen,
268
268
  mediaLibraryAccept: E.mediaLibraryAccept
269
269
  });
270
- ee({
270
+ G({
271
271
  onBlockMove: y.moveBlock,
272
272
  onBlockAdd: y.addBlock
273
273
  });
274
- let M = pe({
274
+ let M = ge({
275
275
  authManager: g,
276
276
  getFontsConfig: () => t.fonts,
277
277
  canUseCustomFonts: () => _.hasFeature("custom_fonts")
278
- }), P = ne({
278
+ }), N = ae({
279
279
  authManager: g,
280
280
  getTemplateId: () => y.state.template?.id ?? null,
281
281
  save: () => y.save(),
@@ -283,7 +283,7 @@ function Le(e) {
283
283
  onError: t.onError,
284
284
  isAuthReady: l,
285
285
  onBeforeTestEmail: t.onBeforeTestEmail
286
- }), F = he({
286
+ }), F = _e({
287
287
  authManager: g,
288
288
  getTemplateId: () => y.state.template?.id ?? null,
289
289
  getSocketId: () => b.getSocketId(),
@@ -292,55 +292,55 @@ function Le(e) {
292
292
  isAuthReady: l,
293
293
  hasCommentingFeature: () => t.commenting !== !1 && _.hasFeature("commenting")
294
294
  });
295
- G({
295
+ K({
296
296
  comments: F,
297
297
  channel: b.channel
298
298
  });
299
- let I = se({
299
+ let I = fe({
300
300
  authManager: g,
301
301
  onError: t.onError
302
- }), V = c(!1), H = c(null), K = c(!1), J = ye({
302
+ }), L = c(!1), z = c(null), B = c(!1), V = be({
303
303
  authManager: g,
304
304
  getTemplateId: () => y.state.template?.id ?? null
305
305
  });
306
- function X(e) {
306
+ function H(e) {
307
307
  E.commentsOpen.value = !0, queueMicrotask(() => {
308
308
  o()?.filterByBlock(e);
309
309
  });
310
310
  }
311
- a(z, j.handleRequestMedia), a(B, g), a(L, D), a(U, F), a(re, I), a(fe, J), a(W, {
311
+ a(te, j.handleRequestMedia), a(ne, g), a(R, D), a(U, F), a(oe, I), a(he, V), a(W, {
312
312
  plan: _,
313
313
  ai: D,
314
314
  comments: {
315
315
  getBlockCount: (e) => F.commentCountByBlock.value.get(e) ?? 0,
316
- openForBlock: X
316
+ openForBlock: H
317
317
  },
318
318
  savedModules: {
319
319
  openSaveDialog: (e) => {
320
- H.value = e ?? null, V.value = !0;
320
+ z.value = e ?? null, L.value = !0;
321
321
  },
322
322
  openBrowser: () => {
323
- K.value = !0;
323
+ B.value = !0;
324
324
  },
325
325
  moduleCount: f(() => I.modules.value.length)
326
326
  }
327
327
  });
328
- function oe(e) {
328
+ function q(e) {
329
329
  _.hasFeature("theme_customization") && (C.themeOverrides.value = e);
330
330
  }
331
- function ce(e) {
331
+ function J(e) {
332
332
  y.setUiTheme(e);
333
333
  }
334
- async function le() {
334
+ async function Z() {
335
335
  s.value = !0, u.value = null;
336
336
  try {
337
337
  if (await g.initialize(), d) return;
338
338
  l.value = !0;
339
- let e = await te({ authManager: g });
339
+ let e = await ie({ authManager: g });
340
340
  if (d) return;
341
341
  if (!e.api.ok) throw Error("Health check failed: API is not reachable");
342
342
  if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
343
- if (e.websocket.ok || R.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await _.fetchConfig(), d) return;
343
+ if (e.websocket.ok || ee.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await _.fetchConfig(), d) return;
344
344
  r.setCustomFontsEnabled(_.hasFeature("custom_fonts")), t.customBlocks?.length && _.hasFeature("custom_blocks") && C.registerCustomBlocks(t.customBlocks), t.theme && _.hasFeature("theme_customization") && (C.themeOverrides.value = t.theme), t.modules !== !1 && _.hasFeature("saved_modules") && I.loadModules(), i("ready");
345
345
  } catch (e) {
346
346
  if (d) return;
@@ -350,7 +350,7 @@ function Le(e) {
350
350
  d || (s.value = !1);
351
351
  }
352
352
  }
353
- function de() {
353
+ function se() {
354
354
  d = !0, r.cleanupFontLinks(), b.disconnect(), C.destroy(), t.onUnmount?.();
355
355
  }
356
356
  return {
@@ -369,27 +369,27 @@ function Le(e) {
369
369
  featureFlags: A,
370
370
  mediaLib: j,
371
371
  exporter: M,
372
- testEmail: P,
372
+ testEmail: N,
373
373
  commentsInstance: F,
374
374
  savedModulesHeadless: I,
375
- scoringInstance: J,
375
+ scoringInstance: V,
376
376
  panelState: E,
377
377
  snapshotPreview: T,
378
378
  collabWarning: w,
379
- showSaveModuleDialog: V,
380
- showModuleBrowserModal: K,
381
- saveModulePreSelectedBlockId: H,
379
+ showSaveModuleDialog: L,
380
+ showModuleBrowserModal: B,
381
+ saveModulePreSelectedBlockId: z,
382
382
  onSaveHook: p,
383
- initialize: le,
384
- destroy: de,
385
- setThemeOverrides: oe,
386
- setUiTheme: ce,
387
- openCommentsForBlock: X
383
+ initialize: Z,
384
+ destroy: se,
385
+ setThemeOverrides: q,
386
+ setUiTheme: J,
387
+ openCommentsForBlock: H
388
388
  };
389
389
  }
390
390
  //#endregion
391
391
  //#region src/utils/preRenderCustomBlocks.ts
392
- async function Re(e, t) {
392
+ async function Be(e, t) {
393
393
  let n = async (e) => {
394
394
  if (A(e)) {
395
395
  let n = e;
@@ -408,7 +408,7 @@ async function Re(e, t) {
408
408
  }
409
409
  //#endregion
410
410
  //#region src/cloud/composables/useCloudLifecycle.ts
411
- function ze(e) {
411
+ function Ve(e) {
412
412
  let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
413
413
  function u() {
414
414
  return V(i.config.value.websocket);
@@ -424,7 +424,7 @@ function ze(e) {
424
424
  async function p() {
425
425
  c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
426
426
  try {
427
- if (await Re(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
427
+ if (await Be(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
428
428
  let e = await n.save();
429
429
  if (l()) throw Error("Component unmounted during save");
430
430
  a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
@@ -451,7 +451,7 @@ function ze(e) {
451
451
  }
452
452
  //#endregion
453
453
  //#region src/cloud/composables/useCloudSaveGate.ts
454
- function Be(e) {
454
+ function He(e) {
455
455
  let t = c(!1), n = null, r = f(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = f(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = f(() => i.value.length > 0);
456
456
  async function o(e) {
457
457
  return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
@@ -474,7 +474,7 @@ function Be(e) {
474
474
  }
475
475
  //#endregion
476
476
  //#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
477
- var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl:max-w-md tpl:flex-col tpl:gap-4 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-5 tpl:shadow-[var(--tpl-shadow-md)]" }, Ue = { class: "tpl:flex tpl:items-center tpl:gap-2" }, We = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ge = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ke = { class: "tpl:m-0 tpl:flex tpl:max-h-64 tpl:list-none tpl:flex-col tpl:gap-1.5 tpl:overflow-y-auto tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-2" }, qe = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, Je = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ye = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Xe = /* @__PURE__ */ E({
477
+ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl:max-w-md tpl:flex-col tpl:gap-4 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-5 tpl:shadow-[var(--tpl-shadow-md)]" }, Ge = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ke = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, qe = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Je = { class: "tpl:m-0 tpl:flex tpl:max-h-64 tpl:list-none tpl:flex-col tpl:gap-1.5 tpl:overflow-y-auto tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-2" }, Ye = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, Xe = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ze = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Qe = /* @__PURE__ */ E({
478
478
  __name: "CloudSaveGateModal",
479
479
  props: {
480
480
  open: { type: Boolean },
@@ -496,18 +496,18 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
496
496
  "aria-label": h(r).saveGate.title,
497
497
  class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
498
498
  onClick: a[2] ||= _((e) => n("cancel"), ["self"])
499
- }, [x("div", He, [
500
- x("header", Ue, [D(h(de), {
499
+ }, [x("div", We, [
500
+ x("header", Ge, [D(h(N), {
501
501
  size: 18,
502
502
  "stroke-width": 2,
503
503
  class: "tpl:text-[var(--tpl-warning)]"
504
- }), x("h2", We, d(h(r).saveGate.title), 1)]),
505
- x("p", Ge, d(h(r).saveGate.body), 1),
506
- x("ul", Ke, [(i(!0), p(w, null, o(e.issues, (e) => (i(), p("li", {
504
+ }), x("h2", Ke, d(h(r).saveGate.title), 1)]),
505
+ x("p", qe, d(h(r).saveGate.body), 1),
506
+ x("ul", Je, [(i(!0), p(w, null, o(e.issues, (e) => (i(), p("li", {
507
507
  key: `${e.ruleId}-${e.blockId ?? "template"}`,
508
508
  class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
509
- }, [x("span", qe, d(e.message), 1), x("span", Je, d(e.ruleId), 1)]))), 128))]),
510
- x("footer", Ye, [x("button", {
509
+ }, [x("span", Ye, d(e.message), 1), x("span", Xe, d(e.ruleId), 1)]))), 128))]),
510
+ x("footer", Ze, [x("button", {
511
511
  type: "button",
512
512
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]",
513
513
  onClick: a[0] ||= (e) => n("cancel")
@@ -516,11 +516,11 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
516
516
  class: "tpl:rounded-md tpl:bg-[var(--tpl-danger)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white",
517
517
  onClick: a[1] ||= (e) => n("confirm")
518
518
  }, d(h(r).saveGate.confirm), 1)])
519
- ])], 8, Ve)) : m("", !0)]),
519
+ ])], 8, Ue)) : m("", !0)]),
520
520
  _: 1
521
521
  }));
522
522
  }
523
- }), Ze = {
523
+ }), $e = {
524
524
  class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4",
525
525
  style: {
526
526
  "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
@@ -529,24 +529,24 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
529
529
  "box-shadow": "var(--tpl-shadow-md)",
530
530
  "border-bottom": "1px solid var(--tpl-border)"
531
531
  }
532
- }, Qe = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, $e = {
532
+ }, et = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, tt = {
533
533
  key: 0,
534
534
  class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
535
- }, et = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, tt = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, nt = ["data-tooltip"], rt = {
535
+ }, nt = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, rt = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, it = ["data-tooltip"], at = {
536
536
  key: 1,
537
537
  "aria-live": "polite",
538
538
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
539
- }, it = {
539
+ }, ot = {
540
540
  key: 2,
541
541
  "aria-live": "polite",
542
542
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
543
- }, at = ["aria-label", "aria-expanded"], ot = {
543
+ }, st = ["aria-label", "aria-expanded"], ct = {
544
544
  key: 0,
545
545
  class: "tpl:inline-flex tpl:size-4.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)]"
546
- }, st = ["aria-expanded"], ct = {
546
+ }, lt = ["aria-expanded"], ut = {
547
547
  key: 0,
548
548
  class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
549
- }, lt = ["disabled"], ut = ["disabled"], dt = /* @__PURE__ */ E({
549
+ }, dt = ["disabled"], ft = ["disabled"], pt = /* @__PURE__ */ E({
550
550
  __name: "CloudHeader",
551
551
  props: {
552
552
  editor: {},
@@ -564,22 +564,22 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
564
564
  },
565
565
  emits: ["save"],
566
566
  setup(e) {
567
- let t = u(() => import("./CollaboratorBar-BfoGJhns.js")), n = u(() => import("./features-DmUOSthI.js").then((e) => e.r)), r = u(() => import("./AiFeatureMenu-Dm9CL3u0.js")), { t: a, format: o } = Q();
568
- return (c, l) => (i(), p("header", Ze, [
569
- x("div", Qe, [e.featureFlags.templateLimit.value === null ? m("", !0) : (i(), p("span", $e, d(h(o)(h(a).header.templatesUsed, {
567
+ let t = u(() => import("./CollaboratorBar-Dn5gXNDt.js")), n = u(() => import("./features-DxWz_Enw.js").then((e) => e.r)), r = u(() => import("./AiFeatureMenu-4NhCFeTh.js")), { t: a, format: o } = Q();
568
+ return (c, l) => (i(), p("header", $e, [
569
+ x("div", et, [e.featureFlags.templateLimit.value === null ? m("", !0) : (i(), p("span", tt, d(h(o)(h(a).header.templatesUsed, {
570
570
  used: e.featureFlags.templateCount.value,
571
571
  max: e.featureFlags.templateLimit.value
572
572
  })), 1))]),
573
- x("div", et, [
574
- D(Se, {
573
+ x("div", nt, [
574
+ D(Ce, {
575
575
  viewport: e.editor.state.viewport,
576
576
  onChange: e.editor.setViewport
577
577
  }, null, 8, ["viewport", "onChange"]),
578
- D(Oe, {
578
+ D(Ae, {
579
579
  "dark-mode": e.editor.state.darkMode,
580
580
  onChange: e.editor.setDarkMode
581
581
  }, null, 8, ["dark-mode", "onChange"]),
582
- D(we, {
582
+ D(Ee, {
583
583
  "preview-mode": e.editor.state.previewMode,
584
584
  onChange: e.editor.setPreviewMode
585
585
  }, null, 8, ["preview-mode", "onChange"]),
@@ -603,19 +603,19 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
603
603
  "onNavigate"
604
604
  ])) : m("", !0)
605
605
  ]),
606
- x("div", tt, [
606
+ x("div", rt, [
607
607
  e.featureFlags.saveStatus.value === "error" ? (i(), p("div", {
608
608
  key: 0,
609
609
  "aria-live": "assertive",
610
610
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
611
611
  "data-tooltip": e.featureFlags.saveErrorMessage.value
612
- }, [D(h(M), {
612
+ }, [D(h(j), {
613
613
  size: 12,
614
614
  "stroke-width": 2.5
615
- }), T(" " + d(h(a).header.saveFailed), 1)], 8, nt)) : e.featureFlags.saveStatus.value === "saved" ? (i(), p("div", rt, [D(h(j), {
615
+ }), T(" " + d(h(a).header.saveFailed), 1)], 8, it)) : e.featureFlags.saveStatus.value === "saved" ? (i(), p("div", at, [D(h(F), {
616
616
  size: 12,
617
617
  "stroke-width": 2.5
618
- }), T(" " + d(h(a).header.saved), 1)])) : e.editor.state.isDirty ? (i(), p("div", it, [l[4] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), T(" " + d(h(a).header.unsaved), 1)])) : m("", !0),
618
+ }), T(" " + d(h(a).header.saved), 1)])) : e.editor.state.isDirty ? (i(), p("div", ot, [l[4] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), T(" " + d(h(a).header.unsaved), 1)])) : m("", !0),
619
619
  e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (i(), p("button", {
620
620
  key: 3,
621
621
  "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${h(a).comments.button} (${e.commentsInstance.unresolvedCount.value})` : h(a).comments.button,
@@ -628,13 +628,13 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
628
628
  }),
629
629
  onClick: l[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
630
630
  }, [
631
- D(h(K), {
631
+ D(h(se), {
632
632
  size: 16,
633
633
  "stroke-width": 2
634
634
  }),
635
635
  T(" " + d(h(a).comments.button) + " ", 1),
636
- e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (i(), p("span", ot, d(e.commentsInstance.unresolvedCount.value), 1)) : m("", !0)
637
- ], 14, at)) : m("", !0),
636
+ e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (i(), p("span", ct, d(e.commentsInstance.unresolvedCount.value), 1)) : m("", !0)
637
+ ], 14, st)) : m("", !0),
638
638
  e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (i(), p("div", {
639
639
  key: 4,
640
640
  ref: (t) => e.panelState.aiMenuRef.value = t,
@@ -643,11 +643,11 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
643
643
  "aria-expanded": e.panelState.aiMenuOpen.value,
644
644
  class: b(["tpl-ai-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:whitespace-nowrap tpl:transition-all tpl:duration-200", e.panelState.aiButtonActive.value ? "tpl-ai-btn--active" : "tpl-ai-btn--idle"]),
645
645
  onClick: l[1] ||= _((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
646
- }, [D(h(me), {
646
+ }, [D(h(B), {
647
647
  size: 16,
648
648
  "stroke-width": 2,
649
649
  class: "tpl-ai-btn-icon"
650
- }), T(" " + d(h(a).aiChat.button), 1)], 10, st), D(y, {
650
+ }), T(" " + d(h(a).aiChat.button), 1)], 10, lt), D(y, {
651
651
  "enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
652
652
  "enter-from-class": "tpl:scale-95 tpl:opacity-0",
653
653
  "enter-to-class": "tpl:scale-100 tpl:opacity-100",
@@ -655,7 +655,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
655
655
  "leave-from-class": "tpl:scale-100 tpl:opacity-100",
656
656
  "leave-to-class": "tpl:scale-95 tpl:opacity-0"
657
657
  }, {
658
- default: s(() => [e.panelState.aiMenuOpen.value ? (i(), p("div", ct, [D(h(r), {
658
+ default: s(() => [e.panelState.aiMenuOpen.value ? (i(), p("div", ut, [D(h(r), {
659
659
  "active-feature": e.panelState.activeAiFeature.value,
660
660
  onSelect: e.panelState.handleAiFeatureSelect
661
661
  }, null, 8, ["active-feature", "onSelect"])])) : m("", !0)]),
@@ -671,16 +671,16 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
671
671
  },
672
672
  disabled: e.testEmail.isSending.value || !e.featureFlags.hasTemplateSaved.value,
673
673
  onClick: l[2] ||= (t) => e.panelState.testEmailModalOpen.value = !0
674
- }, [e.testEmail.isSending.value ? (i(), v(h(ge), {
674
+ }, [e.testEmail.isSending.value ? (i(), v(h(ce), {
675
675
  key: 1,
676
676
  class: "tpl-spinner",
677
677
  size: 16,
678
678
  "stroke-width": 2
679
- })) : (i(), v(h(ce), {
679
+ })) : (i(), v(h(q), {
680
680
  key: 0,
681
681
  size: 16,
682
682
  "stroke-width": 2
683
- })), T(" " + d(h(a).testEmail.button), 1)], 10, lt)) : m("", !0),
683
+ })), T(" " + d(h(a).testEmail.button), 1)], 10, dt)) : m("", !0),
684
684
  x("button", {
685
685
  class: b(h($)),
686
686
  style: {
@@ -690,7 +690,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
690
690
  },
691
691
  disabled: e.isSaveDisabled,
692
692
  onClick: l[3] ||= (e) => c.$emit("save")
693
- }, [e.isSaving ? (i(), v(h(ge), {
693
+ }, [e.isSaving ? (i(), v(h(ce), {
694
694
  key: 1,
695
695
  class: "tpl-spinner",
696
696
  size: 16,
@@ -699,11 +699,11 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
699
699
  key: 0,
700
700
  size: 16,
701
701
  "stroke-width": 2
702
- })), T(" " + d(e.isSaving ? h(a).header.saving : h(a).header.save), 1)], 10, ut)
702
+ })), T(" " + d(e.isSaving ? h(a).header.saving : h(a).header.save), 1)], 10, ft)
703
703
  ])
704
704
  ]));
705
705
  }
706
- }), ft = /* @__PURE__ */ E({
706
+ }), mt = /* @__PURE__ */ E({
707
707
  __name: "CloudPanels",
708
708
  props: {
709
709
  config: {},
@@ -726,9 +726,9 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
726
726
  "module-insert"
727
727
  ],
728
728
  setup(e, { expose: t, emit: n }) {
729
- let r = u(() => import("./features-DmUOSthI.js").then((e) => e.o)), a = u(() => import("./features-DmUOSthI.js").then((e) => e.a)), o = u(() => import("./features-DmUOSthI.js").then((e) => e.i)), s = u(() => import("./features-DmUOSthI.js").then((e) => e.n)), l = u(() => import("./features-DmUOSthI.js").then((e) => e.t)), d = u(() => import("./SaveModuleDialog-CPu5e2VG.js")), f = u(() => import("./ModuleBrowserModal-Dj7gRT4Q.js")), g = u(async () => {
729
+ let r = u(() => import("./features-DxWz_Enw.js").then((e) => e.o)), a = u(() => import("./features-DxWz_Enw.js").then((e) => e.a)), o = u(() => import("./features-DxWz_Enw.js").then((e) => e.i)), s = u(() => import("./features-DxWz_Enw.js").then((e) => e.n)), l = u(() => import("./features-DxWz_Enw.js").then((e) => e.t)), d = u(() => import("./SaveModuleDialog-CCX5U7VA.js")), f = u(() => import("./ModuleBrowserModal-DtCksAeW.js")), g = u(async () => {
730
730
  try {
731
- return (await import("./src-C-GlM149.js")).MediaLibraryModal;
731
+ return (await import("./src-DzvOWQ9S.js")).MediaLibraryModal;
732
732
  } catch {
733
733
  throw Error("[Templatical] Cloud media library requires the optional peer dependency '@templatical/media-library'. Please install it.");
734
734
  }
@@ -808,23 +808,23 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
808
808
  ])
809
809
  ], 64));
810
810
  }
811
- }), pt = {
811
+ }), ht = {
812
812
  key: 0,
813
813
  class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
814
- }, mt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, ht = { class: "tpl:flex tpl:w-12 tpl:shrink-0 tpl:flex-col tpl:items-center tpl:gap-4 tpl:py-5 tpl:border-r tpl:border-[var(--tpl-border)]" }, gt = /* @__PURE__ */ E({
814
+ }, gt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, _t = { class: "tpl:flex tpl:w-12 tpl:shrink-0 tpl:flex-col tpl:items-center tpl:gap-4 tpl:py-5 tpl:border-r tpl:border-[var(--tpl-border)]" }, vt = /* @__PURE__ */ E({
815
815
  __name: "CloudLoadingOverlay",
816
816
  props: { visible: { type: Boolean } },
817
817
  setup(e) {
818
- return (t, n) => e.visible ? (i(), p("div", pt, [n[1] ||= l("<div class=\"tpl:flex tpl:h-14 tpl:shrink-0 tpl:items-center tpl:justify-between tpl:px-4 tpl:border-b tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-5 tpl:w-28 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl:flex tpl:gap-3\"><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div></div>", 1), x("div", mt, [x("div", ht, [(i(), p(w, null, o(5, (e) => x("div", {
818
+ return (t, n) => e.visible ? (i(), p("div", ht, [n[1] ||= l("<div class=\"tpl:flex tpl:h-14 tpl:shrink-0 tpl:items-center tpl:justify-between tpl:px-4 tpl:border-b tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-5 tpl:w-28 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl:flex tpl:gap-3\"><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div></div>", 1), x("div", gt, [x("div", _t, [(i(), p(w, null, o(5, (e) => x("div", {
819
819
  key: e,
820
820
  class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
821
821
  })), 64))]), n[0] ||= l("<div class=\"tpl:flex tpl:flex-1 tpl:items-start tpl:justify-center tpl:overflow-auto tpl:p-8 tpl:bg-[var(--tpl-canvas-bg)]\"><div class=\"tpl:w-full tpl:max-w-[600px] tpl:rounded-[var(--tpl-radius)] tpl:p-6 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)]\"><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-3/4 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-5/6 tpl:rounded\"></div></div><div class=\"tpl:py-4\"><div class=\"tpl-shimmer tpl:h-44 tpl:w-full tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-2/3 tpl:rounded\"></div></div><div class=\"tpl:flex tpl:justify-center tpl:py-4\"><div class=\"tpl-shimmer tpl:h-10 tpl:w-36 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/2 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/3 tpl:rounded\"></div></div></div></div><div class=\"tpl:flex tpl:w-[320px] tpl:shrink-0 tpl:flex-col tpl:gap-4 tpl:p-4 tpl:border-l tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-8 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div></div>", 2)])])) : m("", !0);
822
822
  }
823
- }), _t = {
823
+ }), yt = {
824
824
  key: 0,
825
825
  role: "alert",
826
826
  class: "tpl-error tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-6 tpl:px-8 tpl:bg-[var(--tpl-bg)]"
827
- }, vt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, yt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, bt = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, xt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, St = /* @__PURE__ */ E({
827
+ }, bt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, xt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, St = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ct = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wt = /* @__PURE__ */ E({
828
828
  __name: "CloudErrorOverlay",
829
829
  props: {
830
830
  error: {},
@@ -839,13 +839,13 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
839
839
  function o(e) {
840
840
  return "isNotFound" in e && !!e.isNotFound;
841
841
  }
842
- return (t, s) => e.visible && e.error ? (i(), p("div", _t, [
843
- x("div", vt, [D(h(M), {
842
+ return (t, s) => e.visible && e.error ? (i(), p("div", yt, [
843
+ x("div", bt, [D(h(j), {
844
844
  size: 32,
845
845
  "stroke-width": 1.5,
846
846
  class: "tpl:text-[var(--tpl-danger)]"
847
847
  })]),
848
- x("div", yt, [x("h2", bt, d(h(r).error.title), 1), x("p", xt, d(a(e.error)), 1)]),
848
+ x("div", xt, [x("h2", St, d(h(r).error.title), 1), x("p", Ct, d(a(e.error)), 1)]),
849
849
  o(e.error) ? m("", !0) : (i(), p("button", {
850
850
  key: 0,
851
851
  class: "tpl-btn tpl-btn-primary tpl:inline-flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
@@ -853,20 +853,20 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
853
853
  }, d(h(r).error.retry), 1))
854
854
  ])) : m("", !0);
855
855
  }
856
- }), Ct = {
856
+ }), Tt = {
857
857
  key: 0,
858
858
  class: "tpl-preview-banner tpl:absolute tpl:top-14 tpl:right-0 tpl:left-0 tpl:z-40 tpl:flex tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-4 tpl:py-3 tpl:bg-[var(--tpl-primary-light)] tpl:border-b tpl:border-[var(--tpl-primary)]"
859
- }, wt = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Tt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Et = /* @__PURE__ */ E({
859
+ }, Et = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Dt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ot = /* @__PURE__ */ E({
860
860
  __name: "SnapshotPreviewBanner",
861
861
  props: { visible: { type: Boolean } },
862
862
  emits: ["cancel", "confirm"],
863
863
  setup(e, { emit: t }) {
864
864
  let n = t, { t: r } = Q();
865
- return (t, a) => e.visible ? (i(), p("div", Ct, [x("div", wt, [D(h(P), {
865
+ return (t, a) => e.visible ? (i(), p("div", Tt, [x("div", Et, [D(h(M), {
866
866
  size: 18,
867
867
  "stroke-width": 2,
868
868
  class: "tpl:text-[var(--tpl-primary)]"
869
- }), x("span", null, d(h(r).snapshotPreview.message), 1)]), x("div", Tt, [x("button", {
869
+ }), x("span", null, d(h(r).snapshotPreview.message), 1)]), x("div", Dt, [x("button", {
870
870
  class: "tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
871
871
  style: { "background-color": "transparent" },
872
872
  onClick: a[0] ||= (e) => n("cancel")
@@ -875,7 +875,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
875
875
  onClick: a[1] ||= (e) => n("confirm")
876
876
  }, d(h(r).snapshotPreview.restore), 1)])])) : m("", !0);
877
877
  }
878
- }), Dt = {
878
+ }), kt = {
879
879
  key: 0,
880
880
  role: "status",
881
881
  "aria-live": "polite",
@@ -885,14 +885,14 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
885
885
  color: "var(--tpl-text)",
886
886
  border: "1px solid var(--tpl-warning)"
887
887
  }
888
- }, Ot = /* @__PURE__ */ E({
888
+ }, At = /* @__PURE__ */ E({
889
889
  __name: "CollabUndoToast",
890
890
  props: { visible: { type: Boolean } },
891
891
  setup(e) {
892
- let { t } = F();
893
- return (n, r) => e.visible ? (i(), p("div", Dt, d(h(t).history.collabWarning), 1)) : m("", !0);
892
+ let { t } = I();
893
+ return (n, r) => e.visible ? (i(), p("div", kt, d(h(t).history.collabWarning), 1)) : m("", !0);
894
894
  }
895
- }), kt = ["data-tpl-theme"], At = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, jt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Mt = ["aria-label"], Nt = /*#__PURE__*/ le(/* @__PURE__ */ E({
895
+ }), jt = ["data-tpl-theme"], Mt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Nt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Pt = ["aria-label"], Ft = /*#__PURE__*/ pe(/* @__PURE__ */ E({
896
896
  __name: "CloudEditor",
897
897
  props: {
898
898
  config: {},
@@ -904,8 +904,8 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
904
904
  emits: ["ready"],
905
905
  setup(e, { expose: r, emit: o }) {
906
906
  let l = e;
907
- a(I, l.cloudTranslations);
908
- let u = o, f = c(null), _ = c(null), w = Le({
907
+ a(L, l.cloudTranslations);
908
+ let u = o, f = c(null), _ = c(null), w = ze({
909
909
  config: l.config,
910
910
  translations: l.translations,
911
911
  fontsManager: l.fontsManager,
@@ -913,35 +913,35 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
913
913
  getCommentsSidebar: () => f.value ? { filterByBlock: f.value.filterCommentsByBlock } : null,
914
914
  editorRoot: l.shadowRoot,
915
915
  containerEl: _
916
- }), { isInitializing: E, isAuthReady: O, initError: k, planConfigInstance: A, websocket: j, collaboration: M, isCollaborationEnabled: N, editor: P, core: F, featureFlags: L, mediaLib: R, exporter: z, testEmail: B, commentsInstance: V, savedModulesHeadless: H, panelState: U, snapshotPreview: W, collabWarning: ee, showSaveModuleDialog: G, showModuleBrowserModal: K, saveModulePreSelectedBlockId: q, setThemeOverrides: te, setUiTheme: ne } = w;
917
- async function re(e) {
916
+ }), { isInitializing: E, isAuthReady: O, initError: k, planConfigInstance: A, websocket: j, collaboration: M, isCollaborationEnabled: N, editor: P, core: F, featureFlags: I, mediaLib: R, exporter: ee, testEmail: B, commentsInstance: te, savedModulesHeadless: ne, panelState: V, snapshotPreview: H, collabWarning: U, showSaveModuleDialog: W, showModuleBrowserModal: G, saveModulePreSelectedBlockId: K, setThemeOverrides: re, setUiTheme: ie } = w, { showNotice: ae } = z(() => l.config.smallScreenNotice);
917
+ async function q(e) {
918
918
  try {
919
- await B.sendTestEmail(e), U.testEmailModalOpen.value = !1;
919
+ await B.sendTestEmail(e), V.testEmailModalOpen.value = !1;
920
920
  } catch {}
921
921
  }
922
- async function J() {
922
+ async function oe() {
923
923
  try {
924
- await W.confirmRestoreSnapshot();
924
+ await H.confirmRestoreSnapshot();
925
925
  } catch {}
926
926
  }
927
- function ie(e, t) {
927
+ function J(e, t) {
928
928
  for (let n = 0; n < e.content.length; n++) {
929
- let r = _e(e.content[n]), i = t === void 0 ? void 0 : t + n;
929
+ let r = ve(e.content[n]), i = t === void 0 ? void 0 : t + n;
930
930
  P.addBlock(r, void 0, void 0, i);
931
931
  }
932
- K.value = !1;
932
+ G.value = !1;
933
933
  }
934
- let Y = ze({
934
+ let Y = Ve({
935
935
  config: l.config,
936
936
  editor: P,
937
937
  websocket: j,
938
938
  planConfigInstance: A,
939
- snapshotPreview: W,
939
+ snapshotPreview: H,
940
940
  core: F,
941
- exporter: z,
942
- featureFlags: L,
941
+ exporter: ee,
942
+ featureFlags: I,
943
943
  isDestroyed: w.isDestroyed
944
- }), X = Be({
944
+ }), X = He({
945
945
  issues: F.templateLint ? F.templateLint.issues : c([]),
946
946
  planConfig: A.config
947
947
  });
@@ -955,8 +955,8 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
955
955
  }), r({
956
956
  getContent: () => P.content.value,
957
957
  setContent: (e) => P.setContent(e),
958
- setTheme: ne,
959
- setThemeOverrides: te,
958
+ setTheme: ie,
959
+ setThemeOverrides: re,
960
960
  create: Y.createTemplate,
961
961
  load: Y.loadTemplate,
962
962
  save: Y.saveTemplate,
@@ -968,7 +968,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
968
968
  "data-tpl-theme": h(F).resolvedTheme.value,
969
969
  style: C(h(F).themeStyles.value)
970
970
  }, [
971
- D(Ce),
971
+ D(De),
972
972
  D(y, {
973
973
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
974
974
  "enter-from-class": "tpl:opacity-100",
@@ -977,7 +977,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
977
977
  "leave-from-class": "tpl:opacity-100",
978
978
  "leave-to-class": "tpl:opacity-0"
979
979
  }, {
980
- default: s(() => [D(gt, { visible: h(E) || h(P).state.isLoading }, null, 8, ["visible"])]),
980
+ default: s(() => [D(vt, { visible: h(E) || h(P).state.isLoading }, null, 8, ["visible"])]),
981
981
  _: 1
982
982
  }),
983
983
  D(y, {
@@ -988,7 +988,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
988
988
  "leave-from-class": "tpl:opacity-100",
989
989
  "leave-to-class": "tpl:opacity-0"
990
990
  }, {
991
- default: s(() => [D(St, {
991
+ default: s(() => [D(wt, {
992
992
  error: h(k),
993
993
  visible: !!h(k) && !h(E),
994
994
  onRetry: h(w).initialize
@@ -999,19 +999,19 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
999
999
  ])]),
1000
1000
  _: 1
1001
1001
  }),
1002
- D(dt, {
1002
+ D(pt, {
1003
1003
  editor: h(P),
1004
1004
  core: h(F),
1005
- "feature-flags": h(L),
1006
- "panel-state": h(U),
1007
- "snapshot-preview": h(W),
1008
- "comments-instance": h(V),
1005
+ "feature-flags": h(I),
1006
+ "panel-state": h(V),
1007
+ "snapshot-preview": h(H),
1008
+ "comments-instance": h(te),
1009
1009
  "test-email": h(B),
1010
1010
  websocket: h(j),
1011
1011
  collaboration: h(M),
1012
1012
  "is-collaboration-enabled": h(N),
1013
- "is-saving": h(P).state.isSaving || h(L).isSaveExporting.value,
1014
- "is-save-disabled": h(P).state.isSaving || h(L).isSaveExporting.value || !h(P).state.isDirty,
1013
+ "is-saving": h(P).state.isSaving || h(I).isSaveExporting.value,
1014
+ "is-save-disabled": h(P).state.isSaving || h(I).isSaveExporting.value || !h(P).state.isDirty,
1015
1015
  onSave: Z
1016
1016
  }, null, 8, [
1017
1017
  "editor",
@@ -1027,7 +1027,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1027
1027
  "is-saving",
1028
1028
  "is-save-disabled"
1029
1029
  ]),
1030
- D(Xe, {
1030
+ D(Qe, {
1031
1031
  open: h(X).modalOpen.value,
1032
1032
  issues: h(X).blockingIssues.value,
1033
1033
  onCancel: h(X).cancel,
@@ -1038,10 +1038,10 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1038
1038
  "onCancel",
1039
1039
  "onConfirm"
1040
1040
  ]),
1041
- D(Et, {
1042
- visible: h(W).isPreviewingSnapshot.value,
1043
- onCancel: h(W).cancelPreview,
1044
- onConfirm: J
1041
+ D(Ot, {
1042
+ visible: h(H).isPreviewingSnapshot.value,
1043
+ onCancel: h(H).cancelPreview,
1044
+ onConfirm: oe
1045
1045
  }, null, 8, ["visible", "onCancel"]),
1046
1046
  D(y, {
1047
1047
  "enter-active-class": "tpl:transition-all tpl:duration-200 tpl:ease-out",
@@ -1051,17 +1051,17 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1051
1051
  "leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
1052
1052
  "leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
1053
1053
  }, {
1054
- default: s(() => [D(Ot, { visible: h(ee).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1054
+ default: s(() => [D(At, { visible: h(U).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1055
1055
  _: 1
1056
1056
  }),
1057
- n(D(ke, null, null, 512), [[S, !h(P).state.previewMode]]),
1057
+ n(D(we, null, null, 512), [[S, !h(P).state.previewMode]]),
1058
1058
  x("div", {
1059
- class: b(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [h(P).state.previewMode ? "tpl:left-0 tpl:right-0" : h(U).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", h(W).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1059
+ class: b(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [h(P).state.previewMode ? "tpl:left-0 tpl:right-0" : h(V).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", h(H).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1060
1060
  style: {
1061
1061
  transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
1062
1062
  "background-color": "var(--tpl-canvas-bg)"
1063
1063
  }
1064
- }, [x("div", At, [D(y, { name: "tpl-restore-btn" }, {
1064
+ }, [x("div", Mt, [D(y, { name: "tpl-restore-btn" }, {
1065
1065
  default: s(() => [h(F).conditionPreview.hasHiddenBlocks.value ? (i(), p("button", {
1066
1066
  key: 0,
1067
1067
  class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:-translate-x-1/2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-full tpl:border tpl:px-3.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:whitespace-nowrap tpl:shadow-md tpl:hover:opacity-80",
@@ -1072,12 +1072,12 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1072
1072
  "backdrop-filter": "blur(8px)"
1073
1073
  },
1074
1074
  onClick: r[0] ||= (e) => h(F).conditionPreview.reset()
1075
- }, [D(h(be), {
1075
+ }, [D(h(Se), {
1076
1076
  size: 13,
1077
1077
  "stroke-width": 2
1078
1078
  }), T(" " + d(h(F).t.blockSettings.restoreHiddenBlocks), 1)])) : m("", !0)]),
1079
1079
  _: 1
1080
- })]), x("main", jt, [D(Te, {
1080
+ })]), x("main", Nt, [D(Ne, {
1081
1081
  viewport: h(P).state.viewport,
1082
1082
  content: h(P).content.value,
1083
1083
  "selected-block-id": h(P).state.selectedBlockId,
@@ -1085,8 +1085,8 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1085
1085
  "preview-mode": h(P).state.previewMode,
1086
1086
  "locked-blocks": h(M)?.lockedBlocks.value ?? void 0,
1087
1087
  onSelectBlock: h(P).selectBlock,
1088
- onOpenAiChat: r[1] ||= (e) => h(U).aiChatOpen.value = !0,
1089
- onOpenDesignReference: r[2] ||= (e) => h(U).designReferenceOpen.value = !0
1088
+ onOpenAiChat: r[1] ||= (e) => h(V).aiChatOpen.value = !0,
1089
+ onOpenDesignReference: r[2] ||= (e) => h(V).designReferenceOpen.value = !0
1090
1090
  }, null, 8, [
1091
1091
  "viewport",
1092
1092
  "content",
@@ -1096,9 +1096,9 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1096
1096
  "locked-blocks",
1097
1097
  "onSelectBlock"
1098
1098
  ])])], 2),
1099
- e.config.branding !== !1 && !h(L).isWhiteLabeled.value ? (i(), v(Ee, {
1099
+ e.config.branding !== !1 && !h(I).isWhiteLabeled.value ? (i(), v(Oe, {
1100
1100
  key: 0,
1101
- "position-class": [h(P).state.previewMode ? "tpl:left-0 tpl:right-0" : h(U).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1101
+ "position-class": [h(P).state.previewMode ? "tpl:left-0 tpl:right-0" : h(V).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1102
1102
  }, null, 8, ["position-class"])) : m("", !0),
1103
1103
  x("div", {
1104
1104
  class: "tpl-sr-only",
@@ -1106,11 +1106,11 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1106
1106
  "aria-live": "polite",
1107
1107
  "aria-atomic": "true",
1108
1108
  "aria-label": h(F).t.landmarks.reorderAnnouncements
1109
- }, d(h(F).keyboardReorder.announcement.value), 9, Mt),
1110
- n(D(De, {
1109
+ }, d(h(F).keyboardReorder.announcement.value), 9, Pt),
1110
+ n(D(je, {
1111
1111
  "selected-block": h(P).selectedBlock.value,
1112
1112
  settings: h(P).content.value.settings,
1113
- "shifted-left": h(U).rightPanelOpen.value,
1113
+ "shifted-left": h(V).rightPanelOpen.value,
1114
1114
  onUpdateBlock: r[3] ||= (e) => h(P).updateBlock(h(P).selectedBlock.value.id, e),
1115
1115
  onDeleteBlock: r[4] ||= (e) => h(F).blockActions.deleteBlock(h(P).selectedBlock.value.id),
1116
1116
  onDuplicateBlock: r[5] ||= (e) => h(F).blockActions.duplicateBlock(h(P).selectedBlock.value),
@@ -1121,26 +1121,26 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1121
1121
  "shifted-left",
1122
1122
  "onUpdateSettings"
1123
1123
  ]), [[S, !h(P).state.previewMode]]),
1124
- !h(E) && h(O) ? (i(), v(ft, {
1124
+ !h(E) && h(O) ? (i(), v(mt, {
1125
1125
  key: 1,
1126
1126
  ref_key: "cloudPanelsRef",
1127
1127
  ref: f,
1128
1128
  config: l.config,
1129
1129
  editor: h(P),
1130
1130
  core: h(F),
1131
- "panel-state": h(U),
1131
+ "panel-state": h(V),
1132
1132
  "plan-config-instance": h(A),
1133
1133
  "test-email": h(B),
1134
1134
  "media-lib": h(R),
1135
- "saved-modules-headless": h(H),
1136
- "show-save-module-dialog": h(G),
1137
- "save-module-pre-selected-block-id": h(q),
1138
- "show-module-browser-modal": h(K),
1139
- "onUpdate:showSaveModuleDialog": r[6] ||= (e) => G.value = e,
1140
- "onUpdate:saveModulePreSelectedBlockId": r[7] ||= (e) => q.value = e,
1141
- "onUpdate:showModuleBrowserModal": r[8] ||= (e) => K.value = e,
1142
- onSendTestEmail: re,
1143
- onModuleInsert: ie
1135
+ "saved-modules-headless": h(ne),
1136
+ "show-save-module-dialog": h(W),
1137
+ "save-module-pre-selected-block-id": h(K),
1138
+ "show-module-browser-modal": h(G),
1139
+ "onUpdate:showSaveModuleDialog": r[6] ||= (e) => W.value = e,
1140
+ "onUpdate:saveModulePreSelectedBlockId": r[7] ||= (e) => K.value = e,
1141
+ "onUpdate:showModuleBrowserModal": r[8] ||= (e) => G.value = e,
1142
+ onSendTestEmail: q,
1143
+ onModuleInsert: J
1144
1144
  }, null, 8, [
1145
1145
  "config",
1146
1146
  "editor",
@@ -1158,11 +1158,12 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1158
1158
  ref: (e) => h(F).popoverRoot.value = e,
1159
1159
  class: "tpl-popover-root"
1160
1160
  }, null, 512),
1161
- D(Ae)
1162
- ], 14, kt));
1161
+ D(Me),
1162
+ h(ae) ? (i(), v(ke, { key: 2 })) : m("", !0)
1163
+ ], 14, jt));
1163
1164
  }
1164
- }), [["__scopeId", "data-v-3a8bb0e8"]]);
1165
+ }), [["__scopeId", "data-v-df1ba3f4"]]);
1165
1166
  //#endregion
1166
- export { Nt as default };
1167
+ export { Ft as default };
1167
1168
 
1168
- //# sourceMappingURL=CloudEditor-XSmLmdgp.js.map
1169
+ //# sourceMappingURL=CloudEditor-OO8hWAVp.js.map