@templatical/editor 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/{AccessibilityPanel-CvQGLdu6.js → AccessibilityPanel-B2MT0M58.js} +34 -34
  2. package/dist/{AiChatSidebar-B3SJIKG_.js → AiChatSidebar-w5ek3Z76.js} +62 -62
  3. package/dist/{AiFeatureMenu-BLLKoOos.js → AiFeatureMenu-uXTxJh06.js} +20 -20
  4. package/dist/{cdn/chunks/BlockA11yBadge-DcEZftf6.js → BlockA11yBadge-C0S6kPC4.js} +10 -9
  5. package/dist/{CloudEditor-BCz1ZTYC.js → CloudEditor-_GaYluN7.js} +446 -440
  6. package/dist/{CollaboratorBar-DuPYW5iF.js → CollaboratorBar-C4eXJkXW.js} +20 -20
  7. package/dist/CommentsSidebar-BQROg36f.js +441 -0
  8. package/dist/{cdn/chunks/CountdownBlock-5YdT1uUu.js → CountdownBlock-Bxqe7zwL.js} +21 -22
  9. package/dist/CountdownToolbar-CpFAnjSo.js +210 -0
  10. package/dist/{DesignReferenceSidebar-B8V_F2yF.js → DesignReferenceSidebar-CfqpcWX6.js} +52 -52
  11. package/dist/{LoadingTrack-B0CWFHXQ.js → LoadingTrack-CFkDkjBb.js} +1 -1
  12. package/dist/{ModuleBrowserModal-DrUFMTDx.js → ModuleBrowserModal-EDKHLJtb.js} +79 -79
  13. package/dist/{ModulePreviewCanvas-CHdOwV_4.js → ModulePreviewCanvas-MQxat34K.js} +29 -29
  14. package/dist/{NumberWithSuffix-DkXUez9t.js → NumberWithSuffix-Dw8dN1Pt.js} +88 -88
  15. package/dist/{ParagraphEditor-D75wl3BX.js → ParagraphEditor-C8IP9HOZ.js} +218 -218
  16. package/dist/{RichTextEditorContent-DYkIauIk.js → RichTextEditorContent-CK3Om7ES.js} +38 -38
  17. package/dist/{SaveModuleDialog-FZ9lxY7_.js → SaveModuleDialog-Bgu0FVr6.js} +34 -34
  18. package/dist/{SnapshotHistory-BR3eV120.js → SnapshotHistory-aSULEKUJ.js} +33 -33
  19. package/dist/{TemplateScoringPanel-4GTNHej5.js → TemplateScoringPanel-BIAeCAEP.js} +82 -82
  20. package/dist/{TestEmailModal--ue5w9fT.js → TestEmailModal-wcbmmWCs.js} +30 -30
  21. package/dist/{TitleEditor-fStSADI-.js → TitleEditor-21D8_OUQ.js} +67 -67
  22. package/dist/{TplModal-BwSfxIHf.js → TplModal-CINtyB6Y.js} +14 -14
  23. package/dist/{accessibility-e8JYu_zd.js → accessibility-BgUEA-Ai.js} +1 -1
  24. package/dist/{blockTypeIcons-BcTrDjmH.js → blockTypeIcons-DKetBdJx.js} +2 -2
  25. package/dist/bundle-stats.json +6 -6
  26. package/dist/cdn/chunks/{AccessibilityPanel-B6DOjojm.js → AccessibilityPanel-BMSGhaNU.js} +34 -34
  27. package/dist/cdn/chunks/{AccessibilityPanel-B6DOjojm.js.map → AccessibilityPanel-BMSGhaNU.js.map} +1 -1
  28. package/dist/cdn/chunks/{AiFeatureMenu-qEdB2fZJ.js → AiFeatureMenu-hNba-JqQ.js} +16 -16
  29. package/dist/cdn/chunks/{AiFeatureMenu-qEdB2fZJ.js.map → AiFeatureMenu-hNba-JqQ.js.map} +1 -1
  30. package/dist/{BlockA11yBadge-CXDLqkcJ.js → cdn/chunks/BlockA11yBadge-BIR88CvN.js} +11 -12
  31. package/dist/cdn/chunks/{BlockA11yBadge-DcEZftf6.js.map → BlockA11yBadge-BIR88CvN.js.map} +1 -1
  32. package/dist/cdn/chunks/{CloudEditor-D2GsEC_n.js → CloudEditor-D2G2nNpQ.js} +429 -423
  33. package/dist/cdn/chunks/{CloudEditor-D2GsEC_n.js.map → CloudEditor-D2G2nNpQ.js.map} +1 -1
  34. package/dist/cdn/chunks/{CollaboratorBar--nO7TX6b.js → CollaboratorBar-Btzom8dY.js} +20 -20
  35. package/dist/cdn/chunks/{CollaboratorBar--nO7TX6b.js.map → CollaboratorBar-Btzom8dY.js.map} +1 -1
  36. package/dist/cdn/chunks/CountdownBlock-BJSAJlJ1.js +93 -0
  37. package/dist/cdn/chunks/{CountdownBlock-5YdT1uUu.js.map → CountdownBlock-BJSAJlJ1.js.map} +1 -1
  38. package/dist/cdn/chunks/CountdownToolbar-DbknNrIi.js +212 -0
  39. package/dist/cdn/chunks/{CountdownToolbar-DXPXrbAA.js.map → CountdownToolbar-DbknNrIi.js.map} +1 -1
  40. package/dist/cdn/chunks/{ModuleBrowserModal-DxoPp81s.js → ModuleBrowserModal-BvAuW8O5.js} +43 -43
  41. package/dist/cdn/chunks/{ModuleBrowserModal-DxoPp81s.js.map → ModuleBrowserModal-BvAuW8O5.js.map} +1 -1
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-CoLdb4ar.js → ModulePreviewCanvas-CYtt0boo.js} +23 -23
  43. package/dist/cdn/chunks/{ModulePreviewCanvas-CoLdb4ar.js.map → ModulePreviewCanvas-CYtt0boo.js.map} +1 -1
  44. package/dist/cdn/chunks/{NumberWithSuffix-CE3NrZhH.js → NumberWithSuffix-CVfo9ztG.js} +108 -108
  45. package/dist/cdn/chunks/{NumberWithSuffix-CE3NrZhH.js.map → NumberWithSuffix-CVfo9ztG.js.map} +1 -1
  46. package/dist/cdn/chunks/{ParagraphEditor-B6Ygu-Mq.js → ParagraphEditor-DCo58JP8.js} +187 -187
  47. package/dist/cdn/chunks/{ParagraphEditor-B6Ygu-Mq.js.map → ParagraphEditor-DCo58JP8.js.map} +1 -1
  48. package/dist/cdn/chunks/{RichTextEditorContent-DL_y2SrR.js → RichTextEditorContent-BzCThv84.js} +33 -33
  49. package/dist/cdn/chunks/{RichTextEditorContent-DL_y2SrR.js.map → RichTextEditorContent-BzCThv84.js.map} +1 -1
  50. package/dist/cdn/chunks/{SaveModuleDialog-B0TnO_o9.js → SaveModuleDialog-S2Lix1LD.js} +27 -27
  51. package/dist/cdn/chunks/{SaveModuleDialog-B0TnO_o9.js.map → SaveModuleDialog-S2Lix1LD.js.map} +1 -1
  52. package/dist/cdn/chunks/{TitleEditor-BHpfxvwy.js → TitleEditor-CYzAMuUW.js} +66 -66
  53. package/dist/cdn/chunks/{TitleEditor-BHpfxvwy.js.map → TitleEditor-CYzAMuUW.js.map} +1 -1
  54. package/dist/cdn/chunks/{blockTypeIcons-BzzY9_kA.js → blockTypeIcons-DOzUHoor.js} +3 -3
  55. package/dist/cdn/chunks/{blockTypeIcons-BzzY9_kA.js.map → blockTypeIcons-DOzUHoor.js.map} +1 -1
  56. package/dist/cdn/chunks/draggable-CNhyCGIO.js +4804 -0
  57. package/dist/cdn/chunks/draggable-CNhyCGIO.js.map +1 -0
  58. package/dist/cdn/chunks/{extensions-DIxF31tA.js → extensions-wafZZ0-_.js} +95 -95
  59. package/dist/cdn/chunks/{extensions-DIxF31tA.js.map → extensions-wafZZ0-_.js.map} +1 -1
  60. package/dist/cdn/chunks/{features-DEMb13KS.js → features-B4tNvoi4.js} +2260 -2267
  61. package/dist/cdn/chunks/features-B4tNvoi4.js.map +1 -0
  62. package/dist/cdn/chunks/{icons-CsLTcirh.js → icons-B5nBFtvb.js} +2 -2
  63. package/dist/cdn/chunks/{icons-CsLTcirh.js.map → icons-B5nBFtvb.js.map} +1 -1
  64. package/dist/cdn/chunks/{media-library-CVaNvhpM.js → media-library-BLaoBxHe.js} +1397 -1397
  65. package/dist/cdn/chunks/{media-library-CVaNvhpM.js.map → media-library-BLaoBxHe.js.map} +1 -1
  66. package/dist/cdn/chunks/{pusher-CDbNlZBE.js → pusher-bjpcqCZG.js} +2 -2
  67. package/dist/cdn/chunks/{pusher-CDbNlZBE.js.map → pusher-bjpcqCZG.js.map} +1 -1
  68. package/dist/cdn/chunks/{quality-BaBfc54_.js → quality-D920ZxXf.js} +3 -3
  69. package/dist/cdn/chunks/{quality-BaBfc54_.js.map → quality-D920ZxXf.js.map} +1 -1
  70. package/dist/cdn/chunks/{renderer-CUxvx7ro.js → renderer-Yk30CckU.js} +3 -3
  71. package/dist/cdn/chunks/{renderer-CUxvx7ro.js.map → renderer-Yk30CckU.js.map} +1 -1
  72. package/dist/{rolldown-runtime-BZGGJVDF.js → cdn/chunks/rolldown-runtime-C266TIVP.js} +5 -5
  73. package/dist/cdn/chunks/{src-CRaqN-p8.js → src-kLJg7Y0m.js} +171 -171
  74. package/dist/cdn/chunks/{src-CRaqN-p8.js.map → src-kLJg7Y0m.js.map} +1 -1
  75. package/dist/cdn/chunks/styles-DrVLif14.js +2944 -0
  76. package/dist/cdn/chunks/styles-DrVLif14.js.map +1 -0
  77. package/dist/cdn/chunks/{tiptap-ZhwKyFp7.js → tiptap-IyIsncxY.js} +45 -46
  78. package/dist/cdn/chunks/{tiptap-ZhwKyFp7.js.map → tiptap-IyIsncxY.js.map} +1 -1
  79. package/dist/cdn/editor.css +1 -1
  80. package/dist/cdn/editor.js +122 -122
  81. package/dist/cdn/editor.js.map +1 -1
  82. package/dist/{check-Da05j8yl.js → check-Bg5yrRmX.js} +1 -1
  83. package/dist/{chevron-down-R2uY34iD.js → chevron-down-tee-ghFi.js} +1 -1
  84. package/dist/{circle-alert-DZuGWPX-.js → circle-alert-C0L9pUQ4.js} +1 -1
  85. package/dist/{clock-CRp2sIub.js → clock-CDlEdqiP.js} +1 -1
  86. package/dist/{cloud-DEk_b4CR.js → cloud-a3VovHva.js} +145 -145
  87. package/dist/{createLucideIcon-C3pa2siy.js → createLucideIcon-Di4mqmGn.js} +9 -9
  88. package/dist/{dist-B1IR0bpH.js → dist-BzRLLpfq.js} +107 -107
  89. package/dist/{dist-BFawx6IS.js → dist-Pk4MhWMP.js} +35 -35
  90. package/dist/{extensions-CUcl9Ok4.js → extensions-BF39Siqk.js} +103 -103
  91. package/dist/{image-up-MBZKKg9p.js → image-up-1D_3XDdO.js} +1 -1
  92. package/dist/index.d.ts +11 -11
  93. package/dist/{info-CJEC7piy.js → info-DTGrc0Bx.js} +1 -1
  94. package/dist/{keys-ciNfSSGj.js → keys-Bqs_0du9.js} +1 -1
  95. package/dist/{loader-circle-DsY5Yg33.js → loader-circle-_9bP23op.js} +1 -1
  96. package/dist/{message-circle-yElBbR2C.js → message-circle-gzy2ZGJ3.js} +1 -1
  97. package/dist/{refresh-cw-CE_AGtn8.js → refresh-cw-BNAhAmtL.js} +1 -1
  98. package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
  99. package/dist/{scan-line-D0vcUekt.js → scan-line-DUEg6DoT.js} +1 -1
  100. package/dist/{send-DH4oDQqC.js → send-BatIZC9a.js} +1 -1
  101. package/dist/{shield-check-CfJgs2Hd.js → shield-check-C5Gv2cM1.js} +1 -1
  102. package/dist/{sparkles-CvRXGqFs.js → sparkles-D1IGi_cC.js} +1 -1
  103. package/dist/style.css +1 -1
  104. package/dist/styles-CwJQsnSp.js +3173 -0
  105. package/dist/templatical-editor.js +99 -99
  106. package/dist/{text-align-start-BT9VUDxK.js → text-align-start-DG3aAH7Y.js} +1 -1
  107. package/dist/{trash-2-DbP2Y6t2.js → trash-2-424iqbpN.js} +1 -1
  108. package/dist/{triangle-alert-aOXceTSe.js → triangle-alert-DWQySIE2.js} +1 -1
  109. package/dist/{useCloudI18n-BuIwR6OE.js → useCloudI18n-CL_AwWwi.js} +4 -4
  110. package/dist/useEditorCore-DLd-5qMg.js +3784 -0
  111. package/dist/{useI18n-lb2DHDiu.js → useI18n-CgmQftNf.js} +4 -4
  112. package/dist/{useMergeTag-CBwKnnNB.js → useMergeTag-vpwrZ9eQ.js} +3 -3
  113. package/dist/vue.runtime.esm-bundler-Bxqkjqhc.js +4300 -0
  114. package/dist/{x-u2oVmjN_.js → x-Dlaenqta.js} +1 -1
  115. package/package.json +8 -8
  116. package/dist/CommentsSidebar-B1pvJdqF.js +0 -441
  117. package/dist/CountdownBlock-BNSj1jvJ.js +0 -92
  118. package/dist/CountdownToolbar-ClJr2GzL.js +0 -210
  119. package/dist/cdn/chunks/CountdownToolbar-DXPXrbAA.js +0 -212
  120. package/dist/cdn/chunks/draggable-Bcb86AsV.js +0 -11572
  121. package/dist/cdn/chunks/draggable-Bcb86AsV.js.map +0 -1
  122. package/dist/cdn/chunks/features-DEMb13KS.js.map +0 -1
  123. package/dist/cdn/chunks/rolldown-runtime-BNuo_Jkg.js +0 -20
  124. package/dist/cdn/chunks/styles-BHJULjNR.js +0 -2947
  125. package/dist/cdn/chunks/styles-BHJULjNR.js.map +0 -1
  126. package/dist/styles-DEXEkBvg.js +0 -3176
  127. package/dist/useEditorCore-C6ost42Q.js +0 -9342
  128. package/dist/vue.runtime.esm-bundler-DpvJL-nX.js +0 -5775
@@ -1,24 +1,24 @@
1
- import { A as e, Dt as t, H as n, M as r, Mt as i, N as a, Ot as o, P as s, Q as c, S as l, V as u, Y as d, _ as f, b as p, c as m, d as h, et as g, g as _, h as v, it as y, j as b, m as x, p as S, t as C, u as w, v as T, x as E, y as D, z as O } from "./vue.runtime.esm-bundler-DpvJL-nX.js";
1
+ import { A as e, B as t, L as n, M as r, O as i, Q as a, X as o, _ as s, at as c, b as l, c as u, d, f, g as p, h as m, j as h, k as g, l as _, m as v, o as y, ot as b, p as x, q as S, rt as C, st as w, t as T, v as E, y as D, z as O } from "./vue.runtime.esm-bundler-Bxqkjqhc.js";
2
2
  import { t as k } from "./timeouts-BSGxjuUF.js";
3
3
  import { E as A, i as j } from "./dist-DJmnUmW9.js";
4
- import { P as M, S as ee, t as N } from "./useEditorCore-C6ost42Q.js";
5
- import { s as P, t as F } from "./dist-B1IR0bpH.js";
6
- import { C as te, c as I, i as L, l as R, n as z, u as ne, w as B, x as V } from "./keys-ciNfSSGj.js";
7
- import { t as H } from "./useI18n-lb2DHDiu.js";
8
- import { t as U } from "./createLucideIcon-C3pa2siy.js";
9
- import { t as W } from "./check-Da05j8yl.js";
10
- import { t as G } from "./circle-alert-DZuGWPX-.js";
11
- import { a as K, c as re, i as q, l as ie, n as J, o as ae, r as oe, s as se, t as ce } from "./styles-DEXEkBvg.js";
12
- import { t as Y } from "./clock-CRp2sIub.js";
13
- import { t as X } from "./loader-circle-DsY5Yg33.js";
14
- import { t as Z } from "./message-circle-yElBbR2C.js";
15
- import { t as le } from "./send-DH4oDQqC.js";
16
- import { t as ue } from "./sparkles-CvRXGqFs.js";
17
- import { t as de } from "./triangle-alert-aOXceTSe.js";
4
+ import { P as M, S as ee, t as N } from "./useEditorCore-DLd-5qMg.js";
5
+ import { s as P, t as F } from "./dist-BzRLLpfq.js";
6
+ import { C as te, c as ne, i as I, l as L, n as R, u as z, w as B, x as V } from "./keys-Bqs_0du9.js";
7
+ import { t as H } from "./useI18n-CgmQftNf.js";
8
+ import { t as U } from "./createLucideIcon-Di4mqmGn.js";
9
+ import { t as W } from "./check-Bg5yrRmX.js";
10
+ import { t as G } from "./circle-alert-C0L9pUQ4.js";
11
+ import { a as K, c as re, i as q, l as ie, n as J, o as ae, r as oe, s as se, t as ce } from "./styles-CwJQsnSp.js";
12
+ import { t as Y } from "./clock-CDlEdqiP.js";
13
+ import { t as X } from "./loader-circle-_9bP23op.js";
14
+ import { t as Z } from "./message-circle-gzy2ZGJ3.js";
15
+ import { t as le } from "./send-BatIZC9a.js";
16
+ import { t as ue } from "./sparkles-D1IGi_cC.js";
17
+ import { t as de } from "./triangle-alert-DWQySIE2.js";
18
18
  import { t as fe } from "./_plugin-vue_export-helper-B0hnzhyu.js";
19
- import { n as Q } from "./useCloudI18n-BuIwR6OE.js";
19
+ import { n as Q } from "./useCloudI18n-CL_AwWwi.js";
20
20
  import { d as $ } from "./styleConstants-fWzlIIwN.js";
21
- import { _ as pe, a as me, c as he, d as ge, f as _e, g as ve, h as ye, l as be, m as xe, n as Se, o as Ce, p as we, r as Te, s as Ee, t as De, v as Oe, y as ke } from "./cloud-DEk_b4CR.js";
21
+ import { _ as pe, a as me, c as he, d as ge, f as _e, g as ve, h as ye, l as be, m as xe, n as Se, o as Ce, p as we, r as Te, s as Ee, t as De, v as Oe, y as ke } from "./cloud-a3VovHva.js";
22
22
  var Ae = U("save", [
23
23
  ["path", {
24
24
  d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",
@@ -36,51 +36,51 @@ var Ae = U("save", [
36
36
  //#endregion
37
37
  //#region src/cloud/composables/useSnapshotPreview.ts
38
38
  function je(e) {
39
- let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: a, onError: o } = e, s = g(null), l = c(null), u = c(null), f = !1;
40
- d(() => {
41
- f = !0;
39
+ let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: s, onError: c } = e, l = a(null), u = o(null), f = o(null), p = !1;
40
+ S(() => {
41
+ p = !0;
42
42
  });
43
- let p = S(() => l.value !== null), m = S(() => s.value?.snapshots.value ?? []), h = S(() => s.value?.isLoading.value ?? !1), _ = S(() => s.value?.isRestoring.value ?? !1);
43
+ let m = d(() => u.value !== null), h = d(() => l.value?.snapshots.value ?? []), g = d(() => l.value?.isLoading.value ?? !1), _ = d(() => l.value?.isRestoring.value ?? !1);
44
44
  function v() {
45
- n.state.template?.id && !s.value && (s.value = ve({
45
+ n.state.template?.id && !l.value && (l.value = ve({
46
46
  authManager: t,
47
47
  templateId: n.state.template.id,
48
48
  onRestore: y,
49
- onError: o
50
- }), s.value.loadSnapshots());
49
+ onError: c
50
+ }), l.value.loadSnapshots());
51
51
  }
52
52
  function y(e) {
53
53
  n.setContent(e.content, !1), r.clear(), i.reset();
54
54
  }
55
55
  async function b(e) {
56
- if (!f) {
57
- if (l.value) {
58
- l.value = e, n.setContent(e.content, !1);
56
+ if (!p) {
57
+ if (u.value) {
58
+ u.value = e, n.setContent(e.content, !1);
59
59
  return;
60
60
  }
61
- n.state.isDirty && n.hasTemplate() && (await n.createSnapshot(), f) || (u.value = structuredClone(n.content.value), a?.pause(), l.value = e, n.setContent(e.content, !1));
61
+ n.state.isDirty && n.hasTemplate() && (await n.createSnapshot(), p) || (f.value = structuredClone(n.content.value), s?.pause(), u.value = e, n.setContent(e.content, !1));
62
62
  }
63
63
  }
64
64
  async function x() {
65
- if (!(!l.value || !s.value)) try {
66
- if (await s.value.restoreSnapshot(l.value.id), f || (await s.value.loadSnapshots(), f)) return;
65
+ if (!(!u.value || !l.value)) try {
66
+ if (await l.value.restoreSnapshot(u.value.id), p || (await l.value.loadSnapshots(), p)) return;
67
67
  } finally {
68
- f || (l.value = null, u.value = null, a?.resume());
68
+ p || (u.value = null, f.value = null, s?.resume());
69
69
  }
70
70
  }
71
71
  function C() {
72
- !l.value || !u.value || (n.setContent(u.value, !1), l.value = null, u.value = null, a?.resume());
72
+ !u.value || !f.value || (n.setContent(f.value, !1), u.value = null, f.value = null, s?.resume());
73
73
  }
74
74
  async function w() {
75
- f || s.value && await s.value.loadSnapshots();
75
+ p || l.value && await l.value.loadSnapshots();
76
76
  }
77
77
  return {
78
- snapshotHistoryInstance: s,
79
- previewingSnapshot: l,
80
- contentBeforePreview: u,
81
- isPreviewingSnapshot: p,
82
- snapshotHistorySnapshots: m,
83
- snapshotHistoryIsLoading: h,
78
+ snapshotHistoryInstance: l,
79
+ previewingSnapshot: u,
80
+ contentBeforePreview: f,
81
+ isPreviewingSnapshot: m,
82
+ snapshotHistorySnapshots: h,
83
+ snapshotHistoryIsLoading: g,
84
84
  snapshotHistoryIsRestoring: _,
85
85
  initSnapshotHistory: v,
86
86
  handleRestore: y,
@@ -93,26 +93,26 @@ function je(e) {
93
93
  //#endregion
94
94
  //#region src/cloud/composables/useCloudPanelState.ts
95
95
  function Me() {
96
- let e = c(null), t = S({
96
+ let e = o(null), t = d({
97
97
  get: () => e.value === "ai-chat",
98
98
  set: (t) => e.value = t ? "ai-chat" : null
99
- }), n = S({
99
+ }), n = d({
100
100
  get: () => e.value === "scoring",
101
101
  set: (t) => e.value = t ? "scoring" : null
102
- }), r = S({
102
+ }), r = d({
103
103
  get: () => e.value === "design-reference",
104
104
  set: (t) => e.value = t ? "design-reference" : null
105
- }), i = S({
105
+ }), i = d({
106
106
  get: () => e.value === "comments",
107
107
  set: (t) => e.value = t ? "comments" : null
108
- }), a = c(!1), o = c(!1), s = c(void 0), l = c(!1), u = c(null), d = S(() => e.value !== null), f = S(() => {
108
+ }), a = o(!1), s = o(!1), c = o(void 0), l = o(!1), u = o(null), f = d(() => e.value !== null), p = d(() => {
109
109
  let t = e.value;
110
110
  return t === "ai-chat" || t === "design-reference" || t === "scoring" ? t : null;
111
- }), p = S(() => l.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
112
- function m() {
111
+ }), m = d(() => l.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
112
+ function h() {
113
113
  l.value = !l.value;
114
114
  }
115
- function h(t) {
115
+ function g(t) {
116
116
  l.value = !1, e.value = e.value === t ? null : t;
117
117
  }
118
118
  return F(u, () => {
@@ -124,48 +124,48 @@ function Me() {
124
124
  designReferenceOpen: r,
125
125
  commentsOpen: i,
126
126
  testEmailModalOpen: a,
127
- mediaLibraryOpen: o,
128
- mediaLibraryAccept: s,
127
+ mediaLibraryOpen: s,
128
+ mediaLibraryAccept: c,
129
129
  aiMenuOpen: l,
130
130
  aiMenuRef: u,
131
- rightPanelOpen: d,
132
- activeAiFeature: f,
133
- aiButtonActive: p,
134
- toggleAiMenu: m,
135
- handleAiFeatureSelect: h
131
+ rightPanelOpen: f,
132
+ activeAiFeature: p,
133
+ aiButtonActive: m,
134
+ toggleAiMenu: h,
135
+ handleAiFeatureSelect: g
136
136
  };
137
137
  }
138
138
  //#endregion
139
139
  //#region src/cloud/composables/useCollabUndoWarning.ts
140
140
  function Ne(e) {
141
- let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = P(() => {
141
+ let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = o(!1), a = o(!1), { start: s } = P(() => {
142
142
  a.value = !1;
143
143
  }, k, { immediate: !1 });
144
- function s() {
145
- i.value || !t.value || n() === 0 || !r.value || (i.value = !0, a.value = !0, o());
144
+ function c() {
145
+ i.value || !t.value || n() === 0 || !r.value || (i.value = !0, a.value = !0, s());
146
146
  }
147
147
  return {
148
148
  collabUndoWarningVisible: a,
149
- showCollabUndoWarning: s
149
+ showCollabUndoWarning: c
150
150
  };
151
151
  }
152
152
  //#endregion
153
153
  //#region src/cloud/composables/useCloudFeatureFlags.ts
154
154
  function Pe(e) {
155
- let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = S(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = S(() => t.hasFeature("test_email")), o = S(() => !!r.state.template?.id), s = S(() => t.hasFeature("white_label")), l = S(() => t.config.value?.limits.max_templates ?? null), u = S(() => t.config.value?.template_count ?? 0), d = c(!1), f = c("idle"), p = c(""), { start: m } = P(() => {
156
- f.value = "idle";
155
+ let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = d(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = d(() => t.hasFeature("test_email")), s = d(() => !!r.state.template?.id), c = d(() => t.hasFeature("white_label")), l = d(() => t.config.value?.limits.max_templates ?? null), u = d(() => t.config.value?.template_count ?? 0), f = o(!1), p = o("idle"), m = o(""), { start: h } = P(() => {
156
+ p.value = "idle";
157
157
  }, 3e3, { immediate: !1 });
158
158
  return {
159
159
  canUseAiGeneration: i,
160
160
  canSendTestEmail: a,
161
- hasTemplateSaved: o,
162
- isWhiteLabeled: s,
161
+ hasTemplateSaved: s,
162
+ isWhiteLabeled: c,
163
163
  templateLimit: l,
164
164
  templateCount: u,
165
- isSaveExporting: d,
166
- saveStatus: f,
167
- saveErrorMessage: p,
168
- startSaveStatusClear: m
165
+ isSaveExporting: f,
166
+ saveStatus: p,
167
+ saveErrorMessage: m,
168
+ startSaveStatusClear: h
169
169
  };
170
170
  }
171
171
  //#endregion
@@ -195,7 +195,7 @@ function Fe(e) {
195
195
  function s() {
196
196
  n.value = !1, i?.(null), i = null;
197
197
  }
198
- return d(() => {
198
+ return S(() => {
199
199
  i &&= (i(null), null);
200
200
  }), {
201
201
  handleRequestMedia: a,
@@ -206,42 +206,42 @@ function Fe(e) {
206
206
  //#endregion
207
207
  //#region src/cloud/composables/useCloudInitialization.ts
208
208
  function Ie(e) {
209
- let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, f = { value: null }, p = null, m = null, h = new De({
209
+ let { config: t, translations: r, fontsManager: i, emit: a, getCommentsSidebar: s } = e, c = o(!0), l = o(!1), u = o(null), f = !1, p = { value: null }, m = null, g = null, _ = new De({
210
210
  ...t.auth,
211
211
  onError: t.onError
212
- }), g = xe({
213
- authManager: h,
212
+ }), v = xe({
213
+ authManager: _,
214
214
  onError: t.onError
215
- }), _ = c(/* @__PURE__ */ new Map()), v = ge({
216
- authManager: h,
215
+ }), y = o(/* @__PURE__ */ new Map()), b = ge({
216
+ authManager: _,
217
217
  defaultFontFamily: t.fonts?.defaultFont,
218
218
  templateDefaults: t.templateDefaults,
219
219
  onError: t.onError,
220
- lockedBlocks: _
221
- }), y = ke({
222
- authManager: h,
220
+ lockedBlocks: y
221
+ }), x = ke({
222
+ authManager: _,
223
223
  onError: t.onError
224
224
  });
225
225
  t.mcp?.enabled && we({
226
- editor: v,
227
- channel: y.channel,
226
+ editor: b,
227
+ channel: x.channel,
228
228
  onOperation: t.mcp.onOperation
229
229
  });
230
- let b = null;
231
- t.collaboration?.enabled && (b = Ce({
232
- authManager: h,
233
- editor: v,
234
- channel: y.channel,
230
+ let S = null;
231
+ t.collaboration?.enabled && (S = Ce({
232
+ authManager: _,
233
+ editor: b,
234
+ channel: x.channel,
235
235
  onError: t.onError,
236
236
  onCollaboratorJoined: t.collaboration.onCollaboratorJoined,
237
237
  onCollaboratorLeft: t.collaboration.onCollaboratorLeft,
238
238
  onBlockLocked: t.collaboration.onBlockLocked,
239
239
  onBlockUnlocked: t.collaboration.onBlockUnlocked
240
- }), O(() => b.lockedBlocks.value, (e) => {
241
- _.value = e;
242
- }, { immediate: !0 }), Ee(v, b));
243
- let x = S(() => !!t.collaboration?.enabled && g.hasFeature("collaboration")), C = N({
244
- editor: v,
240
+ }), n(() => S.lockedBlocks.value, (e) => {
241
+ y.value = e;
242
+ }, { immediate: !0 }), Ee(b, S));
243
+ let C = d(() => !!t.collaboration?.enabled && v.hasFeature("collaboration")), w = N({
244
+ editor: b,
245
245
  config: {
246
246
  uiTheme: t.uiTheme,
247
247
  theme: void 0,
@@ -252,91 +252,91 @@ function Ie(e) {
252
252
  onRequestMedia: null,
253
253
  accessibility: re(t),
254
254
  onSave: () => {
255
- f.value?.().catch((e) => {
255
+ p.value?.().catch((e) => {
256
256
  t.onError?.(e);
257
257
  });
258
258
  }
259
259
  },
260
- translations: n,
261
- fontsManager: r,
262
- historyOptions: b ? { isRemoteOperation: () => b._isProcessingRemoteOperation() } : void 0,
260
+ translations: r,
261
+ fontsManager: i,
262
+ historyOptions: S ? { isRemoteOperation: () => S._isProcessingRemoteOperation() } : void 0,
263
263
  autoSaveOptions: {
264
264
  onChange: async () => {
265
- v.hasTemplate() && (await v.createSnapshot(), p?.snapshotHistoryInstance.value?.loadSnapshots());
265
+ b.hasTemplate() && (await b.createSnapshot(), m?.snapshotHistoryInstance.value?.loadSnapshots());
266
266
  },
267
267
  debounce: t.autoSaveDebounce ?? 5e3,
268
- enabled: () => t.autoSave !== !1 && g.hasFeature("auto_save")
268
+ enabled: () => t.autoSave !== !1 && v.hasFeature("auto_save")
269
269
  },
270
- themeExtraStyles: () => ({ "--tpl-drop-text": `"${n.canvas.dropHere}"` }),
271
- keyboardOptions: { onBeforeUndo: () => m?.showCollabUndoWarning() }
272
- }), w = Ne({
273
- isCollaborationEnabled: x,
274
- getCollaboratorCount: () => b?.collaborators.value.length ?? 0,
275
- canUndo: C.history.canUndo
270
+ themeExtraStyles: () => ({ "--tpl-drop-text": `"${r.canvas.dropHere}"` }),
271
+ keyboardOptions: { onBeforeUndo: () => g?.showCollabUndoWarning() }
272
+ }), T = Ne({
273
+ isCollaborationEnabled: C,
274
+ getCollaboratorCount: () => S?.collaborators.value.length ?? 0,
275
+ canUndo: w.history.canUndo
276
276
  });
277
- m = w;
278
- let T = je({
279
- authManager: h,
280
- editor: v,
281
- history: C.history,
282
- conditionPreview: C.conditionPreview,
283
- autoSave: C.autoSave,
277
+ g = T;
278
+ let E = je({
279
+ authManager: _,
280
+ editor: b,
281
+ history: w.history,
282
+ conditionPreview: w.conditionPreview,
283
+ autoSave: w.autoSave,
284
284
  onError: t.onError
285
285
  });
286
- p = T;
287
- let E = Me(), D = me(t.ai), k = Pe({
288
- planConfigInstance: g,
289
- aiConfig: D,
290
- editor: v
286
+ m = E;
287
+ let D = Me(), O = me(t.ai), k = Pe({
288
+ planConfigInstance: v,
289
+ aiConfig: O,
290
+ editor: b
291
291
  }), A = Fe({
292
292
  onRequestMedia: t.onRequestMedia,
293
- mediaLibraryOpen: E.mediaLibraryOpen,
294
- mediaLibraryAccept: E.mediaLibraryAccept
293
+ mediaLibraryOpen: D.mediaLibraryOpen,
294
+ mediaLibraryAccept: D.mediaLibraryAccept
295
295
  });
296
296
  ee({
297
- onBlockMove: v.moveBlock,
298
- onBlockAdd: v.addBlock
297
+ onBlockMove: b.moveBlock,
298
+ onBlockAdd: b.addBlock
299
299
  });
300
300
  let j = _e({
301
- authManager: h,
301
+ authManager: _,
302
302
  getFontsConfig: () => t.fonts,
303
- canUseCustomFonts: () => g.hasFeature("custom_fonts")
303
+ canUseCustomFonts: () => v.hasFeature("custom_fonts")
304
304
  }), P = Oe({
305
- authManager: h,
306
- getTemplateId: () => v.state.template?.id ?? null,
307
- save: () => v.save(),
305
+ authManager: _,
306
+ getTemplateId: () => b.state.template?.id ?? null,
307
+ save: () => b.save(),
308
308
  exportHtml: (e) => j.exportHtml(e),
309
309
  onError: t.onError,
310
310
  isAuthReady: l,
311
311
  onBeforeTestEmail: t.onBeforeTestEmail
312
312
  }), F = be({
313
- authManager: h,
314
- getTemplateId: () => v.state.template?.id ?? null,
315
- getSocketId: () => y.getSocketId(),
313
+ authManager: _,
314
+ getTemplateId: () => b.state.template?.id ?? null,
315
+ getSocketId: () => x.getSocketId(),
316
316
  onComment: t.onComment,
317
317
  onError: t.onError,
318
318
  isAuthReady: l,
319
- hasCommentingFeature: () => t.commenting !== !1 && g.hasFeature("commenting")
319
+ hasCommentingFeature: () => t.commenting !== !1 && v.hasFeature("commenting")
320
320
  });
321
321
  he({
322
322
  comments: F,
323
- channel: y.channel
323
+ channel: x.channel
324
324
  });
325
- let R = ye({
326
- authManager: h,
325
+ let L = ye({
326
+ authManager: _,
327
327
  onError: t.onError
328
- }), H = c(!1), U = c(null), W = c(!1), G = pe({
329
- authManager: h,
330
- getTemplateId: () => v.state.template?.id ?? null
328
+ }), H = o(!1), U = o(null), W = o(!1), G = pe({
329
+ authManager: _,
330
+ getTemplateId: () => b.state.template?.id ?? null
331
331
  });
332
332
  function K(e) {
333
- E.commentsOpen.value = !0, queueMicrotask(() => {
334
- o()?.filterByBlock(e);
333
+ D.commentsOpen.value = !0, queueMicrotask(() => {
334
+ s()?.filterByBlock(e);
335
335
  });
336
336
  }
337
- a(V, A.handleRequestMedia), a(L, h), a(z, D), a(ne, F), a(te, R), a(B, G), a(I, {
338
- plan: g,
339
- ai: D,
337
+ h(V, A.handleRequestMedia), h(I, _), h(R, O), h(z, F), h(te, L), h(B, G), h(ne, {
338
+ plan: v,
339
+ ai: O,
340
340
  comments: {
341
341
  getBlockCount: (e) => F.commentCountByBlock.value.get(e) ?? 0,
342
342
  openForBlock: K
@@ -348,64 +348,64 @@ function Ie(e) {
348
348
  openBrowser: () => {
349
349
  W.value = !0;
350
350
  },
351
- moduleCount: S(() => R.modules.value.length)
351
+ moduleCount: d(() => L.modules.value.length)
352
352
  }
353
353
  });
354
354
  function q(e) {
355
- g.hasFeature("theme_customization") && (C.themeOverrides.value = e);
355
+ v.hasFeature("theme_customization") && (w.themeOverrides.value = e);
356
356
  }
357
357
  function ie(e) {
358
- v.setUiTheme(e);
358
+ b.setUiTheme(e);
359
359
  }
360
360
  async function J() {
361
- s.value = !0, u.value = null;
361
+ c.value = !0, u.value = null;
362
362
  try {
363
- if (await h.initialize(), d) return;
363
+ if (await _.initialize(), f) return;
364
364
  l.value = !0;
365
- let e = await Se({ authManager: h });
366
- if (d) return;
365
+ let e = await Se({ authManager: _ });
366
+ if (f) return;
367
367
  if (!e.api.ok) throw Error("Health check failed: API is not reachable");
368
368
  if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
369
- if (e.websocket.ok || M.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await g.fetchConfig(), d) return;
370
- r.setCustomFontsEnabled(g.hasFeature("custom_fonts")), t.customBlocks?.length && g.hasFeature("custom_blocks") && C.registerCustomBlocks(t.customBlocks), t.theme && g.hasFeature("theme_customization") && (C.themeOverrides.value = t.theme), t.modules !== !1 && g.hasFeature("saved_modules") && R.loadModules(), i("ready");
369
+ if (e.websocket.ok || M.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await v.fetchConfig(), f) return;
370
+ i.setCustomFontsEnabled(v.hasFeature("custom_fonts")), t.customBlocks?.length && v.hasFeature("custom_blocks") && w.registerCustomBlocks(t.customBlocks), t.theme && v.hasFeature("theme_customization") && (w.themeOverrides.value = t.theme), t.modules !== !1 && v.hasFeature("saved_modules") && L.loadModules(), a("ready");
371
371
  } catch (e) {
372
- if (d) return;
372
+ if (f) return;
373
373
  let n = e instanceof Error ? e : Error("Initialization failed", { cause: e });
374
374
  u.value = n, t.onError?.(n);
375
375
  } finally {
376
- d || (s.value = !1);
376
+ f || (c.value = !1);
377
377
  }
378
378
  }
379
379
  function ae() {
380
- d = !0, r.cleanupFontLinks(), y.disconnect(), C.destroy(), t.onUnmount?.();
380
+ f = !0, i.cleanupFontLinks(), x.disconnect(), w.destroy(), t.onUnmount?.();
381
381
  }
382
382
  return {
383
- isInitializing: s,
383
+ isInitializing: c,
384
384
  isAuthReady: l,
385
385
  initError: u,
386
- isDestroyed: () => d,
387
- authManager: h,
388
- planConfigInstance: g,
389
- websocket: y,
390
- collaboration: b,
391
- isCollaborationEnabled: x,
392
- editor: v,
393
- core: C,
394
- aiConfig: D,
386
+ isDestroyed: () => f,
387
+ authManager: _,
388
+ planConfigInstance: v,
389
+ websocket: x,
390
+ collaboration: S,
391
+ isCollaborationEnabled: C,
392
+ editor: b,
393
+ core: w,
394
+ aiConfig: O,
395
395
  featureFlags: k,
396
396
  mediaLib: A,
397
397
  exporter: j,
398
398
  testEmail: P,
399
399
  commentsInstance: F,
400
- savedModulesHeadless: R,
400
+ savedModulesHeadless: L,
401
401
  scoringInstance: G,
402
- panelState: E,
403
- snapshotPreview: T,
404
- collabWarning: w,
402
+ panelState: D,
403
+ snapshotPreview: E,
404
+ collabWarning: T,
405
405
  showSaveModuleDialog: H,
406
406
  showModuleBrowserModal: W,
407
407
  saveModulePreSelectedBlockId: U,
408
- onSaveHook: f,
408
+ onSaveHook: p,
409
409
  initialize: J,
410
410
  destroy: ae,
411
411
  setThemeOverrides: q,
@@ -478,11 +478,11 @@ function Re(e) {
478
478
  //#endregion
479
479
  //#region src/cloud/composables/useCloudSaveGate.ts
480
480
  function ze(e) {
481
- let t = c(!1), n = null, r = S(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = S(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = S(() => i.value.length > 0);
482
- async function o(e) {
481
+ let t = o(!1), n = null, r = d(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = d(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = d(() => i.value.length > 0);
482
+ async function s(e) {
483
483
  return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
484
484
  }
485
- async function s() {
485
+ async function c() {
486
486
  let e = n;
487
487
  n = null, t.value = !1, e && await e();
488
488
  }
@@ -493,8 +493,8 @@ function ze(e) {
493
493
  shouldBlock: a,
494
494
  blockingIssues: i,
495
495
  modalOpen: t,
496
- tryRunSave: o,
497
- confirmAndSave: s,
496
+ tryRunSave: s,
497
+ confirmAndSave: c,
498
498
  cancel: l
499
499
  };
500
500
  }
@@ -507,42 +507,42 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
507
507
  issues: {}
508
508
  },
509
509
  emits: ["cancel", "confirm"],
510
- setup(e, { emit: t }) {
511
- let n = t, { t: a } = Q();
512
- return (t, o) => (r(), v(C, {
510
+ setup(t, { emit: n }) {
511
+ let i = n, { t: a } = Q();
512
+ return (n, o) => (e(), x(T, {
513
513
  "enter-active-class": "tpl:transition-opacity tpl:duration-150",
514
514
  "leave-active-class": "tpl:transition-opacity tpl:duration-150",
515
515
  "enter-from-class": "tpl:opacity-0",
516
516
  "leave-to-class": "tpl:opacity-0"
517
517
  }, {
518
- default: u(() => [e.open ? (r(), f("div", {
518
+ default: O(() => [t.open ? (e(), m("div", {
519
519
  key: 0,
520
520
  role: "dialog",
521
521
  "aria-modal": "true",
522
- "aria-label": y(a).saveGate.title,
522
+ "aria-label": C(a).saveGate.title,
523
523
  class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
524
- onClick: o[2] ||= w((e) => n("cancel"), ["self"])
525
- }, [x("div", Ve, [
526
- x("header", He, [p(y(de), {
524
+ onClick: o[2] ||= u((e) => i("cancel"), ["self"])
525
+ }, [f("div", Ve, [
526
+ f("header", He, [E(C(de), {
527
527
  size: 18,
528
528
  "stroke-width": 2,
529
529
  class: "tpl:text-[var(--tpl-warning)]"
530
- }), x("h2", Ue, i(y(a).saveGate.title), 1)]),
531
- x("p", We, i(y(a).saveGate.body), 1),
532
- x("ul", Ge, [(r(!0), f(h, null, s(e.issues, (e) => (r(), f("li", {
533
- key: `${e.ruleId}-${e.blockId ?? "template"}`,
530
+ }), f("h2", Ue, w(C(a).saveGate.title), 1)]),
531
+ f("p", We, w(C(a).saveGate.body), 1),
532
+ f("ul", Ge, [(e(!0), m(_, null, r(t.issues, (t) => (e(), m("li", {
533
+ key: `${t.ruleId}-${t.blockId ?? "template"}`,
534
534
  class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
535
- }, [x("span", Ke, i(e.message), 1), x("span", qe, i(e.ruleId), 1)]))), 128))]),
536
- x("footer", Je, [x("button", {
535
+ }, [f("span", Ke, w(t.message), 1), f("span", qe, w(t.ruleId), 1)]))), 128))]),
536
+ f("footer", Je, [f("button", {
537
537
  type: "button",
538
538
  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)]",
539
- onClick: o[0] ||= (e) => n("cancel")
540
- }, i(y(a).saveGate.cancel), 1), x("button", {
539
+ onClick: o[0] ||= (e) => i("cancel")
540
+ }, w(C(a).saveGate.cancel), 1), f("button", {
541
541
  type: "button",
542
542
  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",
543
- onClick: o[1] ||= (e) => n("confirm")
544
- }, i(y(a).saveGate.confirm), 1)])
545
- ])], 8, Be)) : _("", !0)]),
543
+ onClick: o[1] ||= (e) => i("confirm")
544
+ }, w(C(a).saveGate.confirm), 1)])
545
+ ])], 8, Be)) : v("", !0)]),
546
546
  _: 1
547
547
  }));
548
548
  }
@@ -589,91 +589,91 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
589
589
  isSaving: { type: Boolean }
590
590
  },
591
591
  emits: ["save"],
592
- setup(e) {
593
- let n = E(() => import("./CollaboratorBar-DuPYW5iF.js")), a = E(() => import("./SnapshotHistory-BR3eV120.js")), s = E(() => import("./AiFeatureMenu-BLLKoOos.js")), { t: c, format: l } = Q();
594
- return (d, m) => (r(), f("header", Xe, [
595
- x("div", Ze, [e.featureFlags.templateLimit.value === null ? _("", !0) : (r(), f("span", Qe, i(y(l)(y(c).header.templatesUsed, {
596
- used: e.featureFlags.templateCount.value,
597
- max: e.featureFlags.templateLimit.value
592
+ setup(t) {
593
+ let n = D(() => import("./CollaboratorBar-C4eXJkXW.js")), r = D(() => import("./SnapshotHistory-aSULEKUJ.js")), i = D(() => import("./AiFeatureMenu-uXTxJh06.js")), { t: a, format: o } = Q();
594
+ return (l, d) => (e(), m("header", Xe, [
595
+ f("div", Ze, [t.featureFlags.templateLimit.value === null ? v("", !0) : (e(), m("span", Qe, w(C(o)(C(a).header.templatesUsed, {
596
+ used: t.featureFlags.templateCount.value,
597
+ max: t.featureFlags.templateLimit.value
598
598
  })), 1))]),
599
- x("div", $e, [
600
- p(q, {
601
- viewport: e.editor.state.viewport,
602
- onChange: e.editor.setViewport
599
+ f("div", $e, [
600
+ E(q, {
601
+ viewport: t.editor.state.viewport,
602
+ onChange: t.editor.setViewport
603
603
  }, null, 8, ["viewport", "onChange"]),
604
- p(J, {
605
- "dark-mode": e.editor.state.darkMode,
606
- onChange: e.editor.setDarkMode
604
+ E(J, {
605
+ "dark-mode": t.editor.state.darkMode,
606
+ onChange: t.editor.setDarkMode
607
607
  }, null, 8, ["dark-mode", "onChange"]),
608
- p(oe, {
609
- "preview-mode": e.editor.state.previewMode,
610
- onChange: e.editor.setPreviewMode
608
+ E(oe, {
609
+ "preview-mode": t.editor.state.previewMode,
610
+ onChange: t.editor.setPreviewMode
611
611
  }, null, 8, ["preview-mode", "onChange"]),
612
- e.collaboration && e.isCollaborationEnabled ? (r(), v(y(n), {
612
+ t.collaboration && t.isCollaborationEnabled ? (e(), x(C(n), {
613
613
  key: 0,
614
- collaborators: e.collaboration.collaborators.value,
615
- "is-connected": e.websocket.isConnected.value
616
- }, null, 8, ["collaborators", "is-connected"])) : _("", !0),
617
- e.snapshotPreview.snapshotHistoryInstance.value ? (r(), v(y(a), {
614
+ collaborators: t.collaboration.collaborators.value,
615
+ "is-connected": t.websocket.isConnected.value
616
+ }, null, 8, ["collaborators", "is-connected"])) : v("", !0),
617
+ t.snapshotPreview.snapshotHistoryInstance.value ? (e(), x(C(r), {
618
618
  key: 1,
619
- snapshots: e.snapshotPreview.snapshotHistorySnapshots.value,
620
- "is-loading": e.snapshotPreview.snapshotHistoryIsLoading.value,
621
- "is-restoring": e.snapshotPreview.snapshotHistoryIsRestoring.value,
622
- onLoad: e.snapshotPreview.loadSnapshotHistory,
623
- onNavigate: e.snapshotPreview.handleSnapshotNavigate
619
+ snapshots: t.snapshotPreview.snapshotHistorySnapshots.value,
620
+ "is-loading": t.snapshotPreview.snapshotHistoryIsLoading.value,
621
+ "is-restoring": t.snapshotPreview.snapshotHistoryIsRestoring.value,
622
+ onLoad: t.snapshotPreview.loadSnapshotHistory,
623
+ onNavigate: t.snapshotPreview.handleSnapshotNavigate
624
624
  }, null, 8, [
625
625
  "snapshots",
626
626
  "is-loading",
627
627
  "is-restoring",
628
628
  "onLoad",
629
629
  "onNavigate"
630
- ])) : _("", !0)
630
+ ])) : v("", !0)
631
631
  ]),
632
- x("div", et, [
633
- e.featureFlags.saveStatus.value === "error" ? (r(), f("div", {
632
+ f("div", et, [
633
+ t.featureFlags.saveStatus.value === "error" ? (e(), m("div", {
634
634
  key: 0,
635
635
  "aria-live": "assertive",
636
636
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
637
- "data-tooltip": e.featureFlags.saveErrorMessage.value
638
- }, [p(y(G), {
637
+ "data-tooltip": t.featureFlags.saveErrorMessage.value
638
+ }, [E(C(G), {
639
639
  size: 12,
640
640
  "stroke-width": 2.5
641
- }), D(" " + i(y(c).header.saveFailed), 1)], 8, tt)) : e.featureFlags.saveStatus.value === "saved" ? (r(), f("div", nt, [p(y(W), {
641
+ }), s(" " + w(C(a).header.saveFailed), 1)], 8, tt)) : t.featureFlags.saveStatus.value === "saved" ? (e(), m("div", nt, [E(C(W), {
642
642
  size: 12,
643
643
  "stroke-width": 2.5
644
- }), D(" " + i(y(c).header.saved), 1)])) : e.editor.state.isDirty ? (r(), f("div", rt, [m[4] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), D(" " + i(y(c).header.unsaved), 1)])) : _("", !0),
645
- e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (r(), f("button", {
644
+ }), s(" " + w(C(a).header.saved), 1)])) : t.editor.state.isDirty ? (e(), m("div", rt, [d[4] ||= f("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), s(" " + w(C(a).header.unsaved), 1)])) : v("", !0),
645
+ t.commentsInstance.isEnabled.value && t.featureFlags.hasTemplateSaved.value ? (e(), m("button", {
646
646
  key: 3,
647
- "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${y(c).comments.button} (${e.commentsInstance.unresolvedCount.value})` : y(c).comments.button,
648
- "aria-expanded": e.panelState.commentsOpen.value,
649
- class: t(y($)),
650
- style: o({
651
- backgroundColor: e.panelState.commentsOpen.value ? "var(--tpl-primary)" : "transparent",
652
- color: e.panelState.commentsOpen.value ? "var(--tpl-bg)" : "var(--tpl-primary)",
647
+ "aria-label": t.commentsInstance.unresolvedCount.value > 0 ? `${C(a).comments.button} (${t.commentsInstance.unresolvedCount.value})` : C(a).comments.button,
648
+ "aria-expanded": t.panelState.commentsOpen.value,
649
+ class: c(C($)),
650
+ style: b({
651
+ backgroundColor: t.panelState.commentsOpen.value ? "var(--tpl-primary)" : "transparent",
652
+ color: t.panelState.commentsOpen.value ? "var(--tpl-bg)" : "var(--tpl-primary)",
653
653
  borderColor: "var(--tpl-primary)"
654
654
  }),
655
- onClick: m[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
655
+ onClick: d[0] ||= (e) => t.panelState.commentsOpen.value = !t.panelState.commentsOpen.value
656
656
  }, [
657
- p(y(Z), {
657
+ E(C(Z), {
658
658
  size: 16,
659
659
  "stroke-width": 2
660
660
  }),
661
- D(" " + i(y(c).comments.button) + " ", 1),
662
- e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (r(), f("span", at, i(e.commentsInstance.unresolvedCount.value), 1)) : _("", !0)
663
- ], 14, it)) : _("", !0),
664
- e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (r(), f("div", {
661
+ s(" " + w(C(a).comments.button) + " ", 1),
662
+ t.commentsInstance.unresolvedCount.value > 0 && !t.panelState.commentsOpen.value ? (e(), m("span", at, w(t.commentsInstance.unresolvedCount.value), 1)) : v("", !0)
663
+ ], 14, it)) : v("", !0),
664
+ t.featureFlags.canUseAiGeneration.value && t.featureFlags.hasTemplateSaved.value ? (e(), m("div", {
665
665
  key: 4,
666
- ref: (t) => e.panelState.aiMenuRef.value = t,
666
+ ref: (e) => t.panelState.aiMenuRef.value = e,
667
667
  class: "tpl:relative"
668
- }, [x("button", {
669
- "aria-expanded": e.panelState.aiMenuOpen.value,
670
- class: t(["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"]),
671
- onClick: m[1] ||= w((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
672
- }, [p(y(ue), {
668
+ }, [f("button", {
669
+ "aria-expanded": t.panelState.aiMenuOpen.value,
670
+ class: c(["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", t.panelState.aiButtonActive.value ? "tpl-ai-btn--active" : "tpl-ai-btn--idle"]),
671
+ onClick: d[1] ||= u((...e) => t.panelState.toggleAiMenu && t.panelState.toggleAiMenu(...e), ["stop"])
672
+ }, [E(C(ue), {
673
673
  size: 16,
674
674
  "stroke-width": 2,
675
675
  class: "tpl-ai-btn-icon"
676
- }), D(" " + i(y(c).aiChat.button), 1)], 10, ot), p(C, {
676
+ }), s(" " + w(C(a).aiChat.button), 1)], 10, ot), E(T, {
677
677
  "enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
678
678
  "enter-from-class": "tpl:scale-95 tpl:opacity-0",
679
679
  "enter-to-class": "tpl:scale-100 tpl:opacity-100",
@@ -681,51 +681,51 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
681
681
  "leave-from-class": "tpl:scale-100 tpl:opacity-100",
682
682
  "leave-to-class": "tpl:scale-95 tpl:opacity-0"
683
683
  }, {
684
- default: u(() => [e.panelState.aiMenuOpen.value ? (r(), f("div", st, [p(y(s), {
685
- "active-feature": e.panelState.activeAiFeature.value,
686
- onSelect: e.panelState.handleAiFeatureSelect
687
- }, null, 8, ["active-feature", "onSelect"])])) : _("", !0)]),
684
+ default: O(() => [t.panelState.aiMenuOpen.value ? (e(), m("div", st, [E(C(i), {
685
+ "active-feature": t.panelState.activeAiFeature.value,
686
+ onSelect: t.panelState.handleAiFeatureSelect
687
+ }, null, 8, ["active-feature", "onSelect"])])) : v("", !0)]),
688
688
  _: 1
689
- })], 512)) : _("", !0),
690
- e.testEmail.isEnabled.value && e.featureFlags.canSendTestEmail.value ? (r(), f("button", {
689
+ })], 512)) : v("", !0),
690
+ t.testEmail.isEnabled.value && t.featureFlags.canSendTestEmail.value ? (e(), m("button", {
691
691
  key: 5,
692
- class: t(y($)),
692
+ class: c(C($)),
693
693
  style: {
694
694
  "background-color": "transparent",
695
695
  color: "var(--tpl-primary)",
696
696
  "border-color": "var(--tpl-primary)"
697
697
  },
698
- disabled: e.testEmail.isSending.value || !e.featureFlags.hasTemplateSaved.value,
699
- onClick: m[2] ||= (t) => e.panelState.testEmailModalOpen.value = !0
700
- }, [e.testEmail.isSending.value ? (r(), v(y(X), {
698
+ disabled: t.testEmail.isSending.value || !t.featureFlags.hasTemplateSaved.value,
699
+ onClick: d[2] ||= (e) => t.panelState.testEmailModalOpen.value = !0
700
+ }, [t.testEmail.isSending.value ? (e(), x(C(X), {
701
701
  key: 1,
702
702
  class: "tpl-spinner",
703
703
  size: 16,
704
704
  "stroke-width": 2
705
- })) : (r(), v(y(le), {
705
+ })) : (e(), x(C(le), {
706
706
  key: 0,
707
707
  size: 16,
708
708
  "stroke-width": 2
709
- })), D(" " + i(y(c).testEmail.button), 1)], 10, ct)) : _("", !0),
710
- x("button", {
711
- class: t(y($)),
709
+ })), s(" " + w(C(a).testEmail.button), 1)], 10, ct)) : v("", !0),
710
+ f("button", {
711
+ class: c(C($)),
712
712
  style: {
713
713
  "background-color": "transparent",
714
714
  color: "var(--tpl-primary)",
715
715
  "border-color": "var(--tpl-primary)"
716
716
  },
717
- disabled: e.isSaveDisabled,
718
- onClick: m[3] ||= (e) => d.$emit("save")
719
- }, [e.isSaving ? (r(), v(y(X), {
717
+ disabled: t.isSaveDisabled,
718
+ onClick: d[3] ||= (e) => l.$emit("save")
719
+ }, [t.isSaving ? (e(), x(C(X), {
720
720
  key: 1,
721
721
  class: "tpl-spinner",
722
722
  size: 16,
723
723
  "stroke-width": 2
724
- })) : (r(), v(y(Ae), {
724
+ })) : (e(), x(C(Ae), {
725
725
  key: 0,
726
726
  size: 16,
727
727
  "stroke-width": 2
728
- })), D(" " + i(e.isSaving ? y(c).header.saving : y(c).header.save), 1)], 10, lt)
728
+ })), s(" " + w(t.isSaving ? C(a).header.saving : C(a).header.save), 1)], 10, lt)
729
729
  ])
730
730
  ]));
731
731
  }
@@ -751,73 +751,79 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
751
751
  "send-test-email",
752
752
  "module-insert"
753
753
  ],
754
- setup(e, { expose: t, emit: n }) {
755
- let i = E(() => import("./AiChatSidebar-B3SJIKG_.js")), a = E(() => import("./CommentsSidebar-B1pvJdqF.js")), o = E(() => import("./DesignReferenceSidebar-B8V_F2yF.js")), s = E(() => import("./TemplateScoringPanel-4GTNHej5.js")), l = E(() => import("./TestEmailModal--ue5w9fT.js")), u = E(() => import("./SaveModuleDialog-FZ9lxY7_.js")), d = E(() => import("./ModuleBrowserModal-DrUFMTDx.js")), m = E(async () => (await import("@templatical/media-library")).MediaLibraryModal), g = n;
756
- function b(e, t, n) {
754
+ setup(t, { expose: n, emit: r }) {
755
+ let i = D(() => import("./AiChatSidebar-w5ek3Z76.js")), a = D(() => import("./CommentsSidebar-BQROg36f.js")), s = D(() => import("./DesignReferenceSidebar-CfqpcWX6.js")), c = D(() => import("./TemplateScoringPanel-BIAeCAEP.js")), l = D(() => import("./TestEmailModal-wcbmmWCs.js")), u = D(() => import("./SaveModuleDialog-Bgu0FVr6.js")), d = D(() => import("./ModuleBrowserModal-EDKHLJtb.js")), f = D(async () => {
756
+ try {
757
+ return (await import("@templatical/media-library")).MediaLibraryModal;
758
+ } catch {
759
+ throw Error("[Templatical] Cloud media library requires the optional peer dependency '@templatical/media-library'. Please install it.");
760
+ }
761
+ }), p = r;
762
+ function h(e, t, n) {
757
763
  t.history.record(), n.setContent(e), t.conditionPreview.reset();
758
764
  }
759
- function x(e, t) {
760
- g("module-insert", e, t);
765
+ function g(e, t) {
766
+ p("module-insert", e, t);
761
767
  }
762
- let S = c(null);
763
- function C(e) {
764
- S.value?.filterByBlock(e);
768
+ let y = o(null);
769
+ function b(e) {
770
+ y.value?.filterByBlock(e);
765
771
  }
766
- return t({ filterCommentsByBlock: C }), (t, n) => (r(), f(h, null, [
767
- p(y(i), {
768
- visible: e.panelState.aiChatOpen.value,
769
- "on-apply": (t) => b(t, e.core, e.editor),
770
- onClose: n[0] ||= (t) => e.panelState.aiChatOpen.value = !1
772
+ return n({ filterCommentsByBlock: b }), (n, r) => (e(), m(_, null, [
773
+ E(C(i), {
774
+ visible: t.panelState.aiChatOpen.value,
775
+ "on-apply": (e) => h(e, t.core, t.editor),
776
+ onClose: r[0] ||= (e) => t.panelState.aiChatOpen.value = !1
771
777
  }, null, 8, ["visible", "on-apply"]),
772
- p(y(s), {
773
- visible: e.panelState.scoringPanelOpen.value,
774
- onClose: n[1] ||= (t) => e.panelState.scoringPanelOpen.value = !1
778
+ E(C(c), {
779
+ visible: t.panelState.scoringPanelOpen.value,
780
+ onClose: r[1] ||= (e) => t.panelState.scoringPanelOpen.value = !1
775
781
  }, null, 8, ["visible"]),
776
- p(y(o), {
777
- visible: e.panelState.designReferenceOpen.value,
778
- "has-existing-blocks": e.editor.content.value.blocks.length > 0,
779
- onClose: n[2] ||= (t) => e.panelState.designReferenceOpen.value = !1,
780
- onApply: n[3] ||= (t) => b(t, e.core, e.editor)
782
+ E(C(s), {
783
+ visible: t.panelState.designReferenceOpen.value,
784
+ "has-existing-blocks": t.editor.content.value.blocks.length > 0,
785
+ onClose: r[2] ||= (e) => t.panelState.designReferenceOpen.value = !1,
786
+ onApply: r[3] ||= (e) => h(e, t.core, t.editor)
781
787
  }, null, 8, ["visible", "has-existing-blocks"]),
782
- p(y(a), {
788
+ E(C(a), {
783
789
  ref_key: "commentsSidebar",
784
- ref: S,
785
- visible: e.panelState.commentsOpen.value,
786
- onClose: n[4] ||= (t) => e.panelState.commentsOpen.value = !1
790
+ ref: y,
791
+ visible: t.panelState.commentsOpen.value,
792
+ onClose: r[4] ||= (e) => t.panelState.commentsOpen.value = !1
787
793
  }, null, 8, ["visible"]),
788
- p(y(l), {
789
- visible: e.panelState.testEmailModalOpen.value,
790
- "allowed-emails": e.testEmail.allowedEmails.value,
791
- "is-sending": e.testEmail.isSending.value,
792
- error: e.testEmail.error.value,
793
- onSend: n[5] ||= (e) => g("send-test-email", e),
794
- onClose: n[6] ||= (t) => e.panelState.testEmailModalOpen.value = !1
794
+ E(C(l), {
795
+ visible: t.panelState.testEmailModalOpen.value,
796
+ "allowed-emails": t.testEmail.allowedEmails.value,
797
+ "is-sending": t.testEmail.isSending.value,
798
+ error: t.testEmail.error.value,
799
+ onSend: r[5] ||= (e) => p("send-test-email", e),
800
+ onClose: r[6] ||= (e) => t.panelState.testEmailModalOpen.value = !1
795
801
  }, null, 8, [
796
802
  "visible",
797
803
  "allowed-emails",
798
804
  "is-sending",
799
805
  "error"
800
806
  ]),
801
- e.planConfigInstance.hasFeature("saved_modules") && e.config.modules !== !1 ? (r(), v(y(u), {
807
+ t.planConfigInstance.hasFeature("saved_modules") && t.config.modules !== !1 ? (e(), x(C(u), {
802
808
  key: 0,
803
- visible: e.showSaveModuleDialog,
804
- "pre-selected-block-id": e.saveModulePreSelectedBlockId,
805
- onClose: n[7] ||= (e) => {
806
- g("update:showSaveModuleDialog", !1), g("update:saveModulePreSelectedBlockId", null);
809
+ visible: t.showSaveModuleDialog,
810
+ "pre-selected-block-id": t.saveModulePreSelectedBlockId,
811
+ onClose: r[7] ||= (e) => {
812
+ p("update:showSaveModuleDialog", !1), p("update:saveModulePreSelectedBlockId", null);
807
813
  },
808
- onSaved: n[8] ||= (t) => e.savedModulesHeadless.loadModules()
809
- }, null, 8, ["visible", "pre-selected-block-id"])) : _("", !0),
810
- e.planConfigInstance.hasFeature("saved_modules") && e.config.modules !== !1 ? (r(), v(y(d), {
814
+ onSaved: r[8] ||= (e) => t.savedModulesHeadless.loadModules()
815
+ }, null, 8, ["visible", "pre-selected-block-id"])) : v("", !0),
816
+ t.planConfigInstance.hasFeature("saved_modules") && t.config.modules !== !1 ? (e(), x(C(d), {
811
817
  key: 1,
812
- visible: e.showModuleBrowserModal,
813
- onClose: n[9] ||= (e) => g("update:showModuleBrowserModal", !1),
814
- onInsert: x
815
- }, null, 8, ["visible"])) : _("", !0),
816
- p(y(m), {
817
- visible: e.panelState.mediaLibraryOpen.value,
818
- accept: e.panelState.mediaLibraryAccept.value,
819
- onSelect: e.mediaLib.handleMediaSelect,
820
- onClose: e.mediaLib.handleMediaLibraryClose
818
+ visible: t.showModuleBrowserModal,
819
+ onClose: r[9] ||= (e) => p("update:showModuleBrowserModal", !1),
820
+ onInsert: g
821
+ }, null, 8, ["visible"])) : v("", !0),
822
+ E(C(f), {
823
+ visible: t.panelState.mediaLibraryOpen.value,
824
+ accept: t.panelState.mediaLibraryAccept.value,
825
+ onSelect: t.mediaLib.handleMediaSelect,
826
+ onClose: t.mediaLib.handleMediaLibraryClose
821
827
  }, null, 8, [
822
828
  "visible",
823
829
  "accept",
@@ -832,11 +838,11 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
832
838
  }, pt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, mt = { 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)]" }, ht = /* @__PURE__ */ l({
833
839
  __name: "CloudLoadingOverlay",
834
840
  props: { visible: { type: Boolean } },
835
- setup(e) {
836
- return (t, n) => e.visible ? (r(), f("div", ft, [n[1] ||= T("<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", pt, [x("div", mt, [(r(), f(h, null, s(5, (e) => x("div", {
841
+ setup(t) {
842
+ return (n, i) => t.visible ? (e(), m("div", ft, [i[1] ||= p("<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), f("div", pt, [f("div", mt, [(e(), m(_, null, r(5, (e) => f("div", {
837
843
  key: e,
838
844
  class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
839
- })), 64))]), n[0] ||= T("<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)])])) : _("", !0);
845
+ })), 64))]), i[0] ||= p("<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)])])) : v("", !0);
840
846
  }
841
847
  }), gt = {
842
848
  key: 0,
@@ -849,27 +855,27 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
849
855
  visible: { type: Boolean }
850
856
  },
851
857
  emits: ["retry"],
852
- setup(e, { emit: t }) {
853
- let n = t, { t: a } = Q();
854
- function o(e) {
855
- return "isUnauthorized" in e && e.isUnauthorized ? a.error.authFailed : "isNotFound" in e && e.isNotFound ? a.error.templateNotFound : a.error.defaultMessage;
858
+ setup(t, { emit: n }) {
859
+ let r = n, { t: i } = Q();
860
+ function a(e) {
861
+ return "isUnauthorized" in e && e.isUnauthorized ? i.error.authFailed : "isNotFound" in e && e.isNotFound ? i.error.templateNotFound : i.error.defaultMessage;
856
862
  }
857
- function s(e) {
863
+ function o(e) {
858
864
  return "isNotFound" in e && !!e.isNotFound;
859
865
  }
860
- return (t, c) => e.visible && e.error ? (r(), f("div", gt, [
861
- x("div", _t, [p(y(G), {
866
+ return (n, s) => t.visible && t.error ? (e(), m("div", gt, [
867
+ f("div", _t, [E(C(G), {
862
868
  size: 32,
863
869
  "stroke-width": 1.5,
864
870
  class: "tpl:text-[var(--tpl-danger)]"
865
871
  })]),
866
- x("div", vt, [x("h2", yt, i(y(a).error.title), 1), x("p", bt, i(o(e.error)), 1)]),
867
- s(e.error) ? _("", !0) : (r(), f("button", {
872
+ f("div", vt, [f("h2", yt, w(C(i).error.title), 1), f("p", bt, w(a(t.error)), 1)]),
873
+ o(t.error) ? v("", !0) : (e(), m("button", {
868
874
  key: 0,
869
875
  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)]",
870
- onClick: c[0] ||= (e) => n("retry")
871
- }, i(y(a).error.retry), 1))
872
- ])) : _("", !0);
876
+ onClick: s[0] ||= (e) => r("retry")
877
+ }, w(C(i).error.retry), 1))
878
+ ])) : v("", !0);
873
879
  }
874
880
  }), St = {
875
881
  key: 0,
@@ -878,20 +884,20 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
878
884
  __name: "SnapshotPreviewBanner",
879
885
  props: { visible: { type: Boolean } },
880
886
  emits: ["cancel", "confirm"],
881
- setup(e, { emit: t }) {
882
- let n = t, { t: a } = Q();
883
- return (t, o) => e.visible ? (r(), f("div", St, [x("div", Ct, [p(y(Y), {
887
+ setup(t, { emit: n }) {
888
+ let r = n, { t: i } = Q();
889
+ return (n, a) => t.visible ? (e(), m("div", St, [f("div", Ct, [E(C(Y), {
884
890
  size: 18,
885
891
  "stroke-width": 2,
886
892
  class: "tpl:text-[var(--tpl-primary)]"
887
- }), x("span", null, i(y(a).snapshotPreview.message), 1)]), x("div", wt, [x("button", {
893
+ }), f("span", null, w(C(i).snapshotPreview.message), 1)]), f("div", wt, [f("button", {
888
894
  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)]",
889
895
  style: { "background-color": "transparent" },
890
- onClick: o[0] ||= (e) => n("cancel")
891
- }, i(y(a).snapshotPreview.cancel), 1), x("button", {
896
+ onClick: a[0] ||= (e) => r("cancel")
897
+ }, w(C(i).snapshotPreview.cancel), 1), f("button", {
892
898
  class: "tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
893
- onClick: o[1] ||= (e) => n("confirm")
894
- }, i(y(a).snapshotPreview.restore), 1)])])) : _("", !0);
899
+ onClick: a[1] ||= (e) => r("confirm")
900
+ }, w(C(i).snapshotPreview.restore), 1)])])) : v("", !0);
895
901
  }
896
902
  }), Et = {
897
903
  key: 0,
@@ -906,9 +912,9 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
906
912
  }, Dt = /* @__PURE__ */ l({
907
913
  __name: "CollabUndoToast",
908
914
  props: { visible: { type: Boolean } },
909
- setup(e) {
910
- let { t } = H();
911
- return (n, a) => e.visible ? (r(), f("div", Et, i(y(t).history.collabWarning), 1)) : _("", !0);
915
+ setup(t) {
916
+ let { t: n } = H();
917
+ return (r, i) => t.visible ? (e(), m("div", Et, w(C(n).history.collabWarning), 1)) : v("", !0);
912
918
  }
913
919
  }), Ot = ["data-tpl-theme"], kt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, At = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, jt = ["aria-label"], Mt = /* @__PURE__ */ fe(/* @__PURE__ */ l({
914
920
  __name: "CloudEditor",
@@ -919,19 +925,19 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
919
925
  fontsManager: {}
920
926
  },
921
927
  emits: ["ready"],
922
- setup(s, { expose: l, emit: d }) {
923
- let h = s;
924
- a(R, h.cloudTranslations);
925
- let g = d, S = c(null), w = Ie({
926
- config: h.config,
927
- translations: h.translations,
928
- fontsManager: h.fontsManager,
929
- emit: g,
930
- getCommentsSidebar: () => S.value ? { filterByBlock: S.value.filterCommentsByBlock } : null
931
- }), { isInitializing: T, isAuthReady: E, initError: O, planConfigInstance: k, websocket: A, collaboration: M, isCollaborationEnabled: ee, editor: N, core: P, featureFlags: F, mediaLib: te, exporter: I, testEmail: L, commentsInstance: z, savedModulesHeadless: ne, panelState: B, snapshotPreview: V, collabWarning: H, showSaveModuleDialog: U, showModuleBrowserModal: W, saveModulePreSelectedBlockId: G, setThemeOverrides: re, setUiTheme: q } = w;
928
+ setup(n, { expose: r, emit: a }) {
929
+ let l = n;
930
+ h(L, l.cloudTranslations);
931
+ let u = a, d = o(null), p = Ie({
932
+ config: l.config,
933
+ translations: l.translations,
934
+ fontsManager: l.fontsManager,
935
+ emit: u,
936
+ getCommentsSidebar: () => d.value ? { filterByBlock: d.value.filterCommentsByBlock } : null
937
+ }), { isInitializing: _, isAuthReady: S, initError: D, planConfigInstance: k, websocket: A, collaboration: M, isCollaborationEnabled: ee, editor: N, core: P, featureFlags: F, mediaLib: te, exporter: ne, testEmail: I, commentsInstance: R, savedModulesHeadless: z, panelState: B, snapshotPreview: V, collabWarning: H, showSaveModuleDialog: U, showModuleBrowserModal: W, saveModulePreSelectedBlockId: G, setThemeOverrides: re, setUiTheme: q } = p;
932
938
  async function J(e) {
933
939
  try {
934
- await L.sendTestEmail(e), B.testEmailModalOpen.value = !1;
940
+ await I.sendTestEmail(e), B.testEmailModalOpen.value = !1;
935
941
  } catch {}
936
942
  }
937
943
  function oe(e, t) {
@@ -942,27 +948,27 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
942
948
  W.value = !1;
943
949
  }
944
950
  let Y = Re({
945
- config: h.config,
951
+ config: l.config,
946
952
  editor: N,
947
953
  websocket: A,
948
954
  planConfigInstance: k,
949
955
  snapshotPreview: V,
950
956
  core: P,
951
- exporter: I,
957
+ exporter: ne,
952
958
  featureFlags: F,
953
- isDestroyed: w.isDestroyed
959
+ isDestroyed: p.isDestroyed
954
960
  }), X = ze({
955
- issues: P.accessibilityLint ? P.accessibilityLint.issues : c([]),
961
+ issues: P.accessibilityLint ? P.accessibilityLint.issues : o([]),
956
962
  planConfig: k.config
957
963
  });
958
964
  async function Z() {
959
- await X.tryRunSave(() => Y.saveTemplate().catch((e) => h.config.onError?.(e)));
965
+ await X.tryRunSave(() => Y.saveTemplate().catch((e) => l.config.onError?.(e)));
960
966
  }
961
- return w.onSaveHook.value = Z, e(() => {
962
- w.initialize();
963
- }), b(() => {
964
- w.destroy();
965
- }), l({
967
+ return p.onSaveHook.value = Z, i(() => {
968
+ p.initialize();
969
+ }), g(() => {
970
+ p.destroy();
971
+ }), r({
966
972
  getContent: () => N.content.value,
967
973
  setContent: (e) => N.setContent(e),
968
974
  setTheme: q,
@@ -970,13 +976,13 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
970
976
  create: Y.createTemplate,
971
977
  load: Y.loadTemplate,
972
978
  save: Y.saveTemplate,
973
- sendTestEmail: L.sendTestEmail
974
- }), (e, a) => (r(), f("div", {
975
- class: t(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": y(N).state.darkMode }]),
976
- "data-tpl-theme": y(P).resolvedTheme.value,
977
- style: o(y(P).themeStyles.value)
979
+ sendTestEmail: I.sendTestEmail
980
+ }), (r, i) => (e(), m("div", {
981
+ class: c(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": C(N).state.darkMode }]),
982
+ "data-tpl-theme": C(P).resolvedTheme.value,
983
+ style: b(C(P).themeStyles.value)
978
984
  }, [
979
- p(C, {
985
+ E(T, {
980
986
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
981
987
  "enter-from-class": "tpl:opacity-100",
982
988
  "enter-to-class": "tpl:opacity-100",
@@ -984,10 +990,10 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
984
990
  "leave-from-class": "tpl:opacity-100",
985
991
  "leave-to-class": "tpl:opacity-0"
986
992
  }, {
987
- default: u(() => [p(ht, { visible: y(T) || y(N).state.isLoading }, null, 8, ["visible"])]),
993
+ default: O(() => [E(ht, { visible: C(_) || C(N).state.isLoading }, null, 8, ["visible"])]),
988
994
  _: 1
989
995
  }),
990
- p(C, {
996
+ E(T, {
991
997
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
992
998
  "enter-from-class": "tpl:opacity-0",
993
999
  "enter-to-class": "tpl:opacity-100",
@@ -995,10 +1001,10 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
995
1001
  "leave-from-class": "tpl:opacity-100",
996
1002
  "leave-to-class": "tpl:opacity-0"
997
1003
  }, {
998
- default: u(() => [p(xt, {
999
- error: y(O),
1000
- visible: !!y(O) && !y(T),
1001
- onRetry: y(w).initialize
1004
+ default: O(() => [E(xt, {
1005
+ error: C(D),
1006
+ visible: !!C(D) && !C(_),
1007
+ onRetry: C(p).initialize
1002
1008
  }, null, 8, [
1003
1009
  "error",
1004
1010
  "visible",
@@ -1006,19 +1012,19 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1006
1012
  ])]),
1007
1013
  _: 1
1008
1014
  }),
1009
- p(ut, {
1010
- editor: y(N),
1011
- core: y(P),
1012
- "feature-flags": y(F),
1013
- "panel-state": y(B),
1014
- "snapshot-preview": y(V),
1015
- "comments-instance": y(z),
1016
- "test-email": y(L),
1017
- websocket: y(A),
1018
- collaboration: y(M),
1019
- "is-collaboration-enabled": y(ee),
1020
- "is-saving": y(N).state.isSaving || y(F).isSaveExporting.value,
1021
- "is-save-disabled": y(N).state.isSaving || y(F).isSaveExporting.value || !y(N).state.isDirty,
1015
+ E(ut, {
1016
+ editor: C(N),
1017
+ core: C(P),
1018
+ "feature-flags": C(F),
1019
+ "panel-state": C(B),
1020
+ "snapshot-preview": C(V),
1021
+ "comments-instance": C(R),
1022
+ "test-email": C(I),
1023
+ websocket: C(A),
1024
+ collaboration: C(M),
1025
+ "is-collaboration-enabled": C(ee),
1026
+ "is-saving": C(N).state.isSaving || C(F).isSaveExporting.value,
1027
+ "is-save-disabled": C(N).state.isSaving || C(F).isSaveExporting.value || !C(N).state.isDirty,
1022
1028
  onSave: Z
1023
1029
  }, null, 8, [
1024
1030
  "editor",
@@ -1034,27 +1040,27 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1034
1040
  "is-saving",
1035
1041
  "is-save-disabled"
1036
1042
  ]),
1037
- p(Ye, {
1038
- open: y(X).modalOpen.value,
1039
- issues: y(X).blockingIssues.value,
1040
- onCancel: y(X).cancel,
1041
- onConfirm: y(X).confirmAndSave
1043
+ E(Ye, {
1044
+ open: C(X).modalOpen.value,
1045
+ issues: C(X).blockingIssues.value,
1046
+ onCancel: C(X).cancel,
1047
+ onConfirm: C(X).confirmAndSave
1042
1048
  }, null, 8, [
1043
1049
  "open",
1044
1050
  "issues",
1045
1051
  "onCancel",
1046
1052
  "onConfirm"
1047
1053
  ]),
1048
- p(Tt, {
1049
- visible: y(V).isPreviewingSnapshot.value,
1050
- onCancel: y(V).cancelPreview,
1051
- onConfirm: y(V).confirmRestoreSnapshot
1054
+ E(Tt, {
1055
+ visible: C(V).isPreviewingSnapshot.value,
1056
+ onCancel: C(V).cancelPreview,
1057
+ onConfirm: C(V).confirmRestoreSnapshot
1052
1058
  }, null, 8, [
1053
1059
  "visible",
1054
1060
  "onCancel",
1055
1061
  "onConfirm"
1056
1062
  ]),
1057
- p(C, {
1063
+ E(T, {
1058
1064
  "enter-active-class": "tpl:transition-all tpl:duration-200 tpl:ease-out",
1059
1065
  "enter-from-class": "tpl:translate-y-[-8px] tpl:opacity-0",
1060
1066
  "enter-to-class": "tpl:translate-y-0 tpl:opacity-100",
@@ -1062,18 +1068,18 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1062
1068
  "leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
1063
1069
  "leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
1064
1070
  }, {
1065
- default: u(() => [p(Dt, { visible: y(H).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1071
+ default: O(() => [E(Dt, { visible: C(H).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1066
1072
  _: 1
1067
1073
  }),
1068
- n(p(ae, null, null, 512), [[m, !y(N).state.previewMode]]),
1069
- x("div", {
1070
- class: t(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [y(N).state.previewMode ? "tpl:left-0 tpl:right-0" : y(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", y(V).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1074
+ t(E(ae, null, null, 512), [[y, !C(N).state.previewMode]]),
1075
+ f("div", {
1076
+ class: c(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [C(N).state.previewMode ? "tpl:left-0 tpl:right-0" : C(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", C(V).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1071
1077
  style: {
1072
1078
  transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
1073
1079
  "background-color": "var(--tpl-canvas-bg)"
1074
1080
  }
1075
- }, [x("div", kt, [p(C, { name: "tpl-restore-btn" }, {
1076
- default: u(() => [y(P).conditionPreview.hasHiddenBlocks.value ? (r(), f("button", {
1081
+ }, [f("div", kt, [E(T, { name: "tpl-restore-btn" }, {
1082
+ default: O(() => [C(P).conditionPreview.hasHiddenBlocks.value ? (e(), m("button", {
1077
1083
  key: 0,
1078
1084
  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",
1079
1085
  style: {
@@ -1082,22 +1088,22 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1082
1088
  "border-color": "var(--tpl-warning)",
1083
1089
  "backdrop-filter": "blur(8px)"
1084
1090
  },
1085
- onClick: a[0] ||= (e) => y(P).conditionPreview.reset()
1086
- }, [p(y(ie), {
1091
+ onClick: i[0] ||= (e) => C(P).conditionPreview.reset()
1092
+ }, [E(C(ie), {
1087
1093
  size: 13,
1088
1094
  "stroke-width": 2
1089
- }), D(" " + i(y(P).t.blockSettings.restoreHiddenBlocks), 1)])) : _("", !0)]),
1095
+ }), s(" " + w(C(P).t.blockSettings.restoreHiddenBlocks), 1)])) : v("", !0)]),
1090
1096
  _: 1
1091
- })]), x("main", At, [p(se, {
1092
- viewport: y(N).state.viewport,
1093
- content: y(N).content.value,
1094
- "selected-block-id": y(N).state.selectedBlockId,
1095
- "dark-mode": y(N).state.darkMode,
1096
- "preview-mode": y(N).state.previewMode,
1097
- "locked-blocks": y(M)?.lockedBlocks.value ?? void 0,
1098
- onSelectBlock: y(N).selectBlock,
1099
- onOpenAiChat: a[1] ||= (e) => y(B).aiChatOpen.value = !0,
1100
- onOpenDesignReference: a[2] ||= (e) => y(B).designReferenceOpen.value = !0
1097
+ })]), f("main", At, [E(se, {
1098
+ viewport: C(N).state.viewport,
1099
+ content: C(N).content.value,
1100
+ "selected-block-id": C(N).state.selectedBlockId,
1101
+ "dark-mode": C(N).state.darkMode,
1102
+ "preview-mode": C(N).state.previewMode,
1103
+ "locked-blocks": C(M)?.lockedBlocks.value ?? void 0,
1104
+ onSelectBlock: C(N).selectBlock,
1105
+ onOpenAiChat: i[1] ||= (e) => C(B).aiChatOpen.value = !0,
1106
+ onOpenDesignReference: i[2] ||= (e) => C(B).designReferenceOpen.value = !0
1101
1107
  }, null, 8, [
1102
1108
  "viewport",
1103
1109
  "content",
@@ -1107,49 +1113,49 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1107
1113
  "locked-blocks",
1108
1114
  "onSelectBlock"
1109
1115
  ])])], 2),
1110
- s.config.branding !== !1 && !y(F).isWhiteLabeled.value ? (r(), v(ce, {
1116
+ n.config.branding !== !1 && !C(F).isWhiteLabeled.value ? (e(), x(ce, {
1111
1117
  key: 0,
1112
- "position-class": [y(N).state.previewMode ? "tpl:left-0 tpl:right-0" : y(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1113
- }, null, 8, ["position-class"])) : _("", !0),
1114
- x("div", {
1118
+ "position-class": [C(N).state.previewMode ? "tpl:left-0 tpl:right-0" : C(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1119
+ }, null, 8, ["position-class"])) : v("", !0),
1120
+ f("div", {
1115
1121
  class: "tpl-sr-only",
1116
1122
  role: "status",
1117
1123
  "aria-live": "polite",
1118
1124
  "aria-atomic": "true",
1119
- "aria-label": y(P).t.landmarks.reorderAnnouncements
1120
- }, i(y(P).keyboardReorder.announcement.value), 9, jt),
1121
- n(p(K, {
1122
- "selected-block": y(N).selectedBlock.value,
1123
- settings: y(N).content.value.settings,
1124
- "shifted-left": y(B).rightPanelOpen.value,
1125
- onUpdateBlock: a[3] ||= (e) => y(N).updateBlock(y(N).selectedBlock.value.id, e),
1126
- onDeleteBlock: a[4] ||= (e) => y(P).blockActions.deleteBlock(y(N).selectedBlock.value.id),
1127
- onDuplicateBlock: a[5] ||= (e) => y(P).blockActions.duplicateBlock(y(N).selectedBlock.value),
1128
- onUpdateSettings: y(N).updateSettings
1125
+ "aria-label": C(P).t.landmarks.reorderAnnouncements
1126
+ }, w(C(P).keyboardReorder.announcement.value), 9, jt),
1127
+ t(E(K, {
1128
+ "selected-block": C(N).selectedBlock.value,
1129
+ settings: C(N).content.value.settings,
1130
+ "shifted-left": C(B).rightPanelOpen.value,
1131
+ onUpdateBlock: i[3] ||= (e) => C(N).updateBlock(C(N).selectedBlock.value.id, e),
1132
+ onDeleteBlock: i[4] ||= (e) => C(P).blockActions.deleteBlock(C(N).selectedBlock.value.id),
1133
+ onDuplicateBlock: i[5] ||= (e) => C(P).blockActions.duplicateBlock(C(N).selectedBlock.value),
1134
+ onUpdateSettings: C(N).updateSettings
1129
1135
  }, null, 8, [
1130
1136
  "selected-block",
1131
1137
  "settings",
1132
1138
  "shifted-left",
1133
1139
  "onUpdateSettings"
1134
- ]), [[m, !y(N).state.previewMode]]),
1135
- !y(T) && y(E) ? (r(), v(dt, {
1140
+ ]), [[y, !C(N).state.previewMode]]),
1141
+ !C(_) && C(S) ? (e(), x(dt, {
1136
1142
  key: 1,
1137
1143
  ref_key: "cloudPanelsRef",
1138
- ref: S,
1139
- config: h.config,
1140
- editor: y(N),
1141
- core: y(P),
1142
- "panel-state": y(B),
1143
- "plan-config-instance": y(k),
1144
- "test-email": y(L),
1145
- "media-lib": y(te),
1146
- "saved-modules-headless": y(ne),
1147
- "show-save-module-dialog": y(U),
1148
- "save-module-pre-selected-block-id": y(G),
1149
- "show-module-browser-modal": y(W),
1150
- "onUpdate:showSaveModuleDialog": a[6] ||= (e) => U.value = e,
1151
- "onUpdate:saveModulePreSelectedBlockId": a[7] ||= (e) => G.value = e,
1152
- "onUpdate:showModuleBrowserModal": a[8] ||= (e) => W.value = e,
1144
+ ref: d,
1145
+ config: l.config,
1146
+ editor: C(N),
1147
+ core: C(P),
1148
+ "panel-state": C(B),
1149
+ "plan-config-instance": C(k),
1150
+ "test-email": C(I),
1151
+ "media-lib": C(te),
1152
+ "saved-modules-headless": C(z),
1153
+ "show-save-module-dialog": C(U),
1154
+ "save-module-pre-selected-block-id": C(G),
1155
+ "show-module-browser-modal": C(W),
1156
+ "onUpdate:showSaveModuleDialog": i[6] ||= (e) => U.value = e,
1157
+ "onUpdate:saveModulePreSelectedBlockId": i[7] ||= (e) => G.value = e,
1158
+ "onUpdate:showModuleBrowserModal": i[8] ||= (e) => W.value = e,
1153
1159
  onSendTestEmail: J,
1154
1160
  onModuleInsert: oe
1155
1161
  }, null, 8, [
@@ -1164,7 +1170,7 @@ var Be = ["aria-label"], Ve = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1164
1170
  "show-save-module-dialog",
1165
1171
  "save-module-pre-selected-block-id",
1166
1172
  "show-module-browser-modal"
1167
- ])) : _("", !0)
1173
+ ])) : v("", !0)
1168
1174
  ], 14, Ot));
1169
1175
  }
1170
1176
  }), [["__scopeId", "data-v-b332971f"]]);