@templatical/editor 0.11.0 → 0.11.1

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 (79) hide show
  1. package/dist/{AiFeatureMenu-D4D2Sqfk.js → AiFeatureMenu-DBWcfcWl.js} +1 -1
  2. package/dist/{CloudEditor-CLwyq3kf.js → CloudEditor-C6cSXtcP.js} +155 -154
  3. package/dist/{CollaboratorBar-DjX-o5Pi.js → CollaboratorBar-B8-AQfG2.js} +1 -1
  4. package/dist/{ModuleBrowserModal-CVS4Sf7H.js → ModuleBrowserModal-B_tLzFAk.js} +4 -4
  5. package/dist/{ModulePreviewCanvas-C10YXsL_.js → ModulePreviewCanvas-B7pNpAHM.js} +1 -1
  6. package/dist/{ParagraphEditor-BKoqcKIt.js → ParagraphEditor-DmA9K7dx.js} +6 -6
  7. package/dist/{SaveModuleDialog-BMuIjxVn.js → SaveModuleDialog-B8ypoxdj.js} +2 -2
  8. package/dist/{SnapshotHistory-DZ5_W7e4.js → SnapshotHistory-BTHd7CVP.js} +1 -1
  9. package/dist/{TestEmailModal-EjpH-F-W.js → TestEmailModal-CBIFMzK6.js} +2 -2
  10. package/dist/{TitleEditor-Rv1deuV7.js → TitleEditor-C9jDA5lI.js} +1 -1
  11. package/dist/{TplModal-DSmCQIm4.js → TplModal-ND4fiqOS.js} +1 -1
  12. package/dist/{blockTypeIcons-OhEkQhYj.js → blockTypeIcons-Bn-_Smlm.js} +4 -4
  13. package/dist/bundle-stats.json +6 -6
  14. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js → AiFeatureMenu-BuSO0dXP.js} +8 -8
  15. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js.map → AiFeatureMenu-BuSO0dXP.js.map} +1 -1
  16. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js → BlockIssueBadge-sv3IZ1Pb.js} +5 -5
  17. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js.map → BlockIssueBadge-sv3IZ1Pb.js.map} +1 -1
  18. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js → CloudEditor-hxoqsTsq.js} +236 -235
  19. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js.map → CloudEditor-hxoqsTsq.js.map} +1 -1
  20. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js → CollaboratorBar-DFqsaNX0.js} +3 -3
  21. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js.map → CollaboratorBar-DFqsaNX0.js.map} +1 -1
  22. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js → CountdownBlock-PpH3fxAX.js} +2 -2
  23. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js.map → CountdownBlock-PpH3fxAX.js.map} +1 -1
  24. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js → CountdownToolbar-CZN92Bhz.js} +3 -3
  25. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js.map → CountdownToolbar-CZN92Bhz.js.map} +1 -1
  26. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js → IssuesPanel-wQjrnuyc.js} +6 -6
  27. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js.map → IssuesPanel-wQjrnuyc.js.map} +1 -1
  28. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js → ModuleBrowserModal-348wCgft.js} +8 -8
  29. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js.map → ModuleBrowserModal-348wCgft.js.map} +1 -1
  30. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js → ModulePreviewCanvas-Cf6DUHml.js} +22 -22
  31. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js.map → ModulePreviewCanvas-Cf6DUHml.js.map} +1 -1
  32. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js → NumberWithSuffix-Deo8EOSz.js} +2 -2
  33. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js.map → NumberWithSuffix-Deo8EOSz.js.map} +1 -1
  34. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js → ParagraphEditor-Cbl_gBYM.js} +40 -40
  35. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js.map → ParagraphEditor-Cbl_gBYM.js.map} +1 -1
  36. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js → RichTextEditorContent-TBPzn3RC.js} +4 -4
  37. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js.map → RichTextEditorContent-TBPzn3RC.js.map} +1 -1
  38. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js → SaveModuleDialog-CxdYMutK.js} +4 -4
  39. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js.map → SaveModuleDialog-CxdYMutK.js.map} +1 -1
  40. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js → TitleEditor--XulEf7R.js} +6 -6
  41. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js.map → TitleEditor--XulEf7R.js.map} +1 -1
  42. package/dist/cdn/chunks/{blockTypeIcons-BC5qpvuV.js → blockTypeIcons-BJND4L-A.js} +6 -6
  43. package/dist/cdn/chunks/{blockTypeIcons-BC5qpvuV.js.map → blockTypeIcons-BJND4L-A.js.map} +1 -1
  44. package/dist/{de-DIAGP7yH.js → cdn/chunks/de-BJMLpg_p.js} +6 -0
  45. package/dist/cdn/chunks/{de-DIAGP7yH.js.map → de-BJMLpg_p.js.map} +1 -1
  46. package/dist/{en-nqIW8Q9W.js → cdn/chunks/en-DFMMw7SL.js} +6 -0
  47. package/dist/cdn/chunks/{en-nqIW8Q9W.js.map → en-DFMMw7SL.js.map} +1 -1
  48. package/dist/cdn/chunks/{extensions-DH7ESsaz.js → extensions-BtWoLy6E.js} +23 -23
  49. package/dist/cdn/chunks/{extensions-DH7ESsaz.js.map → extensions-BtWoLy6E.js.map} +1 -1
  50. package/dist/cdn/chunks/{features-DmUOSthI.js → features-mO5NzwnN.js} +442 -432
  51. package/dist/cdn/chunks/features-mO5NzwnN.js.map +1 -0
  52. package/dist/cdn/chunks/{icons-DguD4x_X.js → icons-CuXm6XAT.js} +2 -2
  53. package/dist/cdn/chunks/{icons-DguD4x_X.js.map → icons-CuXm6XAT.js.map} +1 -1
  54. package/dist/cdn/chunks/{media-library-ClQUPxRM.js → media-library-BtNzYUTi.js} +525 -525
  55. package/dist/cdn/chunks/{media-library-ClQUPxRM.js.map → media-library-BtNzYUTi.js.map} +1 -1
  56. package/dist/cdn/chunks/{pt-BR-DCNnLLx9.js → pt-BR-C-9aWLlR.js} +5 -1
  57. package/dist/cdn/chunks/{pt-BR-DCNnLLx9.js.map → pt-BR-C-9aWLlR.js.map} +1 -1
  58. package/dist/cdn/chunks/{quality-CIw_7cXv.js → quality-YKe19zp8.js} +83 -83
  59. package/dist/cdn/chunks/{quality-CIw_7cXv.js.map → quality-YKe19zp8.js.map} +1 -1
  60. package/dist/cdn/chunks/{renderer-Bx8I7_Rb.js → renderer-BcOaxCs6.js} +20 -20
  61. package/dist/cdn/chunks/{renderer-Bx8I7_Rb.js.map → renderer-BcOaxCs6.js.map} +1 -1
  62. package/dist/cdn/chunks/{src-C-GlM149.js → src-B_ZRmuit.js} +63 -63
  63. package/dist/cdn/chunks/{src-C-GlM149.js.map → src-B_ZRmuit.js.map} +1 -1
  64. package/dist/cdn/chunks/{styles-CfqCvq0Z.js → styles-DDBCCJ-l.js} +218 -200
  65. package/dist/cdn/chunks/styles-DDBCCJ-l.js.map +1 -0
  66. package/dist/cdn/editor.css +1 -1
  67. package/dist/cdn/editor.js +105 -104
  68. package/dist/cdn/editor.js.map +1 -1
  69. package/dist/{cdn/chunks/de-DIAGP7yH.js → de-BJMLpg_p.js} +4 -2
  70. package/dist/{cdn/chunks/en-nqIW8Q9W.js → en-DFMMw7SL.js} +4 -2
  71. package/dist/index.d.ts +32 -0
  72. package/dist/{pt-BR-DCNnLLx9.js → pt-BR-C-9aWLlR.js} +4 -0
  73. package/dist/style.css +1 -1
  74. package/dist/{styles-D_ztiOsh.js → styles-DZcQGzsN.js} +514 -496
  75. package/dist/templatical-editor.js +117 -116
  76. package/dist/{useEditorCore-tZGAVvNz.js → useEditorCore-D00QzW07.js} +731 -721
  77. package/package.json +8 -8
  78. package/dist/cdn/chunks/features-DmUOSthI.js.map +0 -1
  79. package/dist/cdn/chunks/styles-CfqCvq0Z.js.map +0 -1
@@ -1,17 +1,17 @@
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 ee } from "./draggable-iAb7QVJo.js";
2
+ import { $t as O, A as k, Dt as A, E as j, Ht as te, It as M, Lt as N, Ot as P, Pt as ne, Q as re, S as F, Tn as I, Ut as L, Wn as R, Wt as ie, Y as z, _ as B, b as V, c as ae, ct as H, d as U, dt as W, f as G, g as oe, gn as K, h as se, it as q, jn as J, jt as Y, l as X, m as Z, mt as ce, nn as le, nt as Q, p as ue, s as de, sn as fe, tn as pe, u as me, v as he, vt as ge, x as _e, y as ve, yt as ye, zt as be } from "./features-mO5NzwnN.js";
3
+ import { S as xe, x as Se } from "./icons-CuXm6XAT.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-DDBCCJ-l.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;
11
11
  });
12
12
  let h = f(() => d.value !== null), g = f(() => u.value?.snapshots.value ?? []), _ = f(() => u.value?.isLoading.value ?? !1), v = f(() => u.value?.isRestoring.value ?? !1);
13
13
  function y() {
14
- i.state.template?.id && !u.value && (u.value = J({
14
+ i.state.template?.id && !u.value && (u.value = G({
15
15
  authManager: n,
16
16
  templateId: i.state.template.id,
17
17
  onRestore: b,
@@ -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 fe(u, () => {
90
90
  l.value = !1;
91
91
  }), {
92
92
  activePanel: e,
@@ -108,10 +108,10 @@ 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 } = K(() => {
113
113
  a.value = !1;
114
- }, H, { immediate: !1 });
114
+ }, R, { immediate: !1 });
115
115
  function s() {
116
116
  i.value || !t.value || n() === 0 || !r.value || (i.value = !0, a.value = !0, o());
117
117
  }
@@ -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 } = K(() => {
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 j({
181
181
  ...t.auth,
182
182
  onError: t.onError
183
- }), _ = Z({
183
+ }), _ = X({
184
184
  authManager: g,
185
185
  onError: t.onError
186
- }), v = c(/* @__PURE__ */ new Map()), y = ve({
186
+ }), v = c(/* @__PURE__ */ new Map()), y = _e({
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 = Z({
193
193
  authManager: g,
194
194
  onError: t.onError
195
195
  });
196
- t.mcp?.enabled && ue({
196
+ t.mcp?.enabled && de({
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 = oe({
203
203
  authManager: g,
204
204
  editor: y,
205
205
  channel: b.channel,
@@ -208,9 +208,9 @@ function Le(e) {
208
208
  onCollaboratorLeft: t.collaboration.onCollaboratorLeft,
209
209
  onBlockLocked: t.collaboration.onBlockLocked,
210
210
  onBlockUnlocked: t.collaboration.onBlockUnlocked
211
- }), O(() => x.lockedBlocks.value, (e) => {
211
+ }), ee(() => x.lockedBlocks.value, (e) => {
212
212
  v.value = e;
213
- }, { immediate: !0 }), Y(y, x));
213
+ }, { immediate: !0 }), se(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,32 +258,32 @@ 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 = V(t.ai), A = Le({
262
262
  planConfigInstance: _,
263
263
  aiConfig: D,
264
264
  editor: y
265
- }), j = Ie({
265
+ }), M = Re({
266
266
  onRequestMedia: t.onRequestMedia,
267
267
  mediaLibraryOpen: E.mediaLibraryOpen,
268
268
  mediaLibraryAccept: E.mediaLibraryAccept
269
269
  });
270
- ee({
270
+ re({
271
271
  onBlockMove: y.moveBlock,
272
272
  onBlockAdd: y.addBlock
273
273
  });
274
- let M = pe({
274
+ let P = me({
275
275
  authManager: g,
276
276
  getFontsConfig: () => t.fonts,
277
277
  canUseCustomFonts: () => _.hasFeature("custom_fonts")
278
- }), P = ne({
278
+ }), F = U({
279
279
  authManager: g,
280
280
  getTemplateId: () => y.state.template?.id ?? null,
281
281
  save: () => y.save(),
282
- exportHtml: (e) => M.exportHtml(e),
282
+ exportHtml: (e) => P.exportHtml(e),
283
283
  onError: t.onError,
284
284
  isAuthReady: l,
285
285
  onBeforeTestEmail: t.onBeforeTestEmail
286
- }), F = he({
286
+ }), I = he({
287
287
  authManager: g,
288
288
  getTemplateId: () => y.state.template?.id ?? null,
289
289
  getSocketId: () => b.getSocketId(),
@@ -292,56 +292,56 @@ function Le(e) {
292
292
  isAuthReady: l,
293
293
  hasCommentingFeature: () => t.commenting !== !1 && _.hasFeature("commenting")
294
294
  });
295
- G({
296
- comments: F,
295
+ B({
296
+ comments: I,
297
297
  channel: b.channel
298
298
  });
299
- let I = se({
299
+ let L = ue({
300
300
  authManager: g,
301
301
  onError: t.onError
302
- }), V = c(!1), H = c(null), K = c(!1), J = ye({
302
+ }), R = c(!1), z = c(null), H = c(!1), W = ve({
303
303
  authManager: g,
304
304
  getTemplateId: () => y.state.template?.id ?? null
305
305
  });
306
- function X(e) {
306
+ function G(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(O, M.handleRequestMedia), a(be, g), a(N, D), a(ie, I), a(pe, L), a(le, W), a(te, {
312
312
  plan: _,
313
313
  ai: D,
314
314
  comments: {
315
- getBlockCount: (e) => F.commentCountByBlock.value.get(e) ?? 0,
316
- openForBlock: X
315
+ getBlockCount: (e) => I.commentCountByBlock.value.get(e) ?? 0,
316
+ openForBlock: G
317
317
  },
318
318
  savedModules: {
319
319
  openSaveDialog: (e) => {
320
- H.value = e ?? null, V.value = !0;
320
+ z.value = e ?? null, R.value = !0;
321
321
  },
322
322
  openBrowser: () => {
323
- K.value = !0;
323
+ H.value = !0;
324
324
  },
325
- moduleCount: f(() => I.modules.value.length)
325
+ moduleCount: f(() => L.modules.value.length)
326
326
  }
327
327
  });
328
- function oe(e) {
328
+ function K(e) {
329
329
  _.hasFeature("theme_customization") && (C.themeOverrides.value = e);
330
330
  }
331
- function ce(e) {
331
+ function q(e) {
332
332
  y.setUiTheme(e);
333
333
  }
334
- async function le() {
334
+ async function J() {
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 ae({ 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;
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");
343
+ if (e.websocket.ok || ne.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await _.fetchConfig(), d) return;
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") && L.loadModules(), i("ready");
345
345
  } catch (e) {
346
346
  if (d) return;
347
347
  let n = e instanceof Error ? e : Error("Initialization failed", { cause: e });
@@ -350,7 +350,7 @@ function Le(e) {
350
350
  d || (s.value = !1);
351
351
  }
352
352
  }
353
- function de() {
353
+ function Y() {
354
354
  d = !0, r.cleanupFontLinks(), b.disconnect(), C.destroy(), t.onUnmount?.();
355
355
  }
356
356
  return {
@@ -367,31 +367,31 @@ function Le(e) {
367
367
  core: C,
368
368
  aiConfig: D,
369
369
  featureFlags: A,
370
- mediaLib: j,
371
- exporter: M,
372
- testEmail: P,
373
- commentsInstance: F,
374
- savedModulesHeadless: I,
375
- scoringInstance: J,
370
+ mediaLib: M,
371
+ exporter: P,
372
+ testEmail: F,
373
+ commentsInstance: I,
374
+ savedModulesHeadless: L,
375
+ scoringInstance: W,
376
376
  panelState: E,
377
377
  snapshotPreview: T,
378
378
  collabWarning: w,
379
- showSaveModuleDialog: V,
380
- showModuleBrowserModal: K,
381
- saveModulePreSelectedBlockId: H,
379
+ showSaveModuleDialog: R,
380
+ showModuleBrowserModal: H,
381
+ saveModulePreSelectedBlockId: z,
382
382
  onSaveHook: p,
383
- initialize: le,
384
- destroy: de,
385
- setThemeOverrides: oe,
386
- setUiTheme: ce,
387
- openCommentsForBlock: X
383
+ initialize: J,
384
+ destroy: Y,
385
+ setThemeOverrides: K,
386
+ setUiTheme: q,
387
+ openCommentsForBlock: G
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
- if (A(e)) {
394
+ if (J(e)) {
395
395
  let n = e;
396
396
  try {
397
397
  n.renderedHtml = await t.renderCustomBlock(n);
@@ -408,10 +408,10 @@ 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
- return V(i.config.value.websocket);
414
+ return F(i.config.value.websocket);
415
415
  }
416
416
  async function d(e) {
417
417
  let i = await n.create(e);
@@ -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(H), {
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-DFqsaNX0.js")), n = u(() => import("./features-mO5NzwnN.js").then((e) => e.r)), r = u(() => import("./AiFeatureMenu-BuSO0dXP.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(P), {
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(Y), {
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(ge), {
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(W), {
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,7 +671,7 @@ 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(ye), {
675
675
  key: 1,
676
676
  class: "tpl-spinner",
677
677
  size: 16,
@@ -680,7 +680,7 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
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,20 +690,20 @@ 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(ye), {
694
694
  key: 1,
695
695
  class: "tpl-spinner",
696
696
  size: 16,
697
697
  "stroke-width": 2
698
- })) : (i(), v(h(xe), {
698
+ })) : (i(), v(h(Se), {
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-mO5NzwnN.js").then((e) => e.o)), a = u(() => import("./features-mO5NzwnN.js").then((e) => e.a)), o = u(() => import("./features-mO5NzwnN.js").then((e) => e.i)), s = u(() => import("./features-mO5NzwnN.js").then((e) => e.n)), l = u(() => import("./features-mO5NzwnN.js").then((e) => e.t)), d = u(() => import("./SaveModuleDialog-CxdYMutK.js")), f = u(() => import("./ModuleBrowserModal-348wCgft.js")), g = u(async () => {
730
730
  try {
731
- return (await import("./src-C-GlM149.js")).MediaLibraryModal;
731
+ return (await import("./src-B_ZRmuit.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(P), {
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(A), {
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 } = M();
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__*/ q(/* @__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,37 +913,37 @@ 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: ee, initError: O, planConfigInstance: k, websocket: A, collaboration: j, isCollaborationEnabled: te, editor: M, core: N, featureFlags: P, mediaLib: ne, exporter: re, testEmail: F, commentsInstance: R, savedModulesHeadless: ie, panelState: B, snapshotPreview: V, collabWarning: ae, showSaveModuleDialog: H, showModuleBrowserModal: U, saveModulePreSelectedBlockId: W, setThemeOverrides: G, setUiTheme: oe } = w, { showNotice: K } = z(() => l.config.smallScreenNotice);
917
+ async function se(e) {
918
918
  try {
919
- await B.sendTestEmail(e), U.testEmailModalOpen.value = !1;
919
+ await F.sendTestEmail(e), B.testEmailModalOpen.value = !1;
920
920
  } catch {}
921
921
  }
922
- async function J() {
922
+ async function q() {
923
923
  try {
924
- await W.confirmRestoreSnapshot();
924
+ await V.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;
930
- P.addBlock(r, void 0, void 0, i);
929
+ let r = I(e.content[n]), i = t === void 0 ? void 0 : t + n;
930
+ M.addBlock(r, void 0, void 0, i);
931
931
  }
932
- K.value = !1;
932
+ U.value = !1;
933
933
  }
934
- let Y = ze({
934
+ let Y = Ve({
935
935
  config: l.config,
936
- editor: P,
937
- websocket: j,
938
- planConfigInstance: A,
939
- snapshotPreview: W,
940
- core: F,
941
- exporter: z,
942
- featureFlags: L,
936
+ editor: M,
937
+ websocket: A,
938
+ planConfigInstance: k,
939
+ snapshotPreview: V,
940
+ core: N,
941
+ exporter: re,
942
+ featureFlags: P,
943
943
  isDestroyed: w.isDestroyed
944
- }), X = Be({
945
- issues: F.templateLint ? F.templateLint.issues : c([]),
946
- planConfig: A.config
944
+ }), X = He({
945
+ issues: N.templateLint ? N.templateLint.issues : c([]),
946
+ planConfig: k.config
947
947
  });
948
948
  async function Z() {
949
949
  await X.tryRunSave(() => Y.saveTemplate().catch((e) => l.config.onError?.(e)));
@@ -953,22 +953,22 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
953
953
  }), g(() => {
954
954
  w.destroy();
955
955
  }), r({
956
- getContent: () => P.content.value,
957
- setContent: (e) => P.setContent(e),
958
- setTheme: ne,
959
- setThemeOverrides: te,
956
+ getContent: () => M.content.value,
957
+ setContent: (e) => M.setContent(e),
958
+ setTheme: oe,
959
+ setThemeOverrides: G,
960
960
  create: Y.createTemplate,
961
961
  load: Y.loadTemplate,
962
962
  save: Y.saveTemplate,
963
- sendTestEmail: B.sendTestEmail
963
+ sendTestEmail: F.sendTestEmail
964
964
  }), (t, r) => (i(), p("div", {
965
965
  ref_key: "rootEl",
966
966
  ref: _,
967
- class: b(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": h(P).state.darkMode }]),
968
- "data-tpl-theme": h(F).resolvedTheme.value,
969
- style: C(h(F).themeStyles.value)
967
+ class: b(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": h(M).state.darkMode }]),
968
+ "data-tpl-theme": h(N).resolvedTheme.value,
969
+ style: C(h(N).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(M).state.isLoading }, null, 8, ["visible"])]),
981
981
  _: 1
982
982
  }),
983
983
  D(y, {
@@ -988,9 +988,9 @@ 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, {
992
- error: h(k),
993
- visible: !!h(k) && !h(E),
991
+ default: s(() => [D(wt, {
992
+ error: h(O),
993
+ visible: !!h(O) && !h(E),
994
994
  onRetry: h(w).initialize
995
995
  }, null, 8, [
996
996
  "error",
@@ -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, {
1003
- editor: h(P),
1004
- core: h(F),
1005
- "feature-flags": h(L),
1006
- "panel-state": h(U),
1007
- "snapshot-preview": h(W),
1008
- "comments-instance": h(V),
1009
- "test-email": h(B),
1010
- websocket: h(j),
1011
- collaboration: h(M),
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,
1002
+ D(pt, {
1003
+ editor: h(M),
1004
+ core: h(N),
1005
+ "feature-flags": h(P),
1006
+ "panel-state": h(B),
1007
+ "snapshot-preview": h(V),
1008
+ "comments-instance": h(R),
1009
+ "test-email": h(F),
1010
+ websocket: h(A),
1011
+ collaboration: h(j),
1012
+ "is-collaboration-enabled": h(te),
1013
+ "is-saving": h(M).state.isSaving || h(P).isSaveExporting.value,
1014
+ "is-save-disabled": h(M).state.isSaving || h(P).isSaveExporting.value || !h(M).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(V).isPreviewingSnapshot.value,
1043
+ onCancel: h(V).cancelPreview,
1044
+ onConfirm: q
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,18 +1051,18 @@ 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(ae).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(M).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(M).state.previewMode ? "tpl:left-0 tpl:right-0" : h(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", h(V).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" }, {
1065
- default: s(() => [h(F).conditionPreview.hasHiddenBlocks.value ? (i(), p("button", {
1064
+ }, [x("div", Mt, [D(y, { name: "tpl-restore-btn" }, {
1065
+ default: s(() => [h(N).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",
1068
1068
  style: {
@@ -1071,22 +1071,22 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1071
1071
  "border-color": "var(--tpl-warning)",
1072
1072
  "backdrop-filter": "blur(8px)"
1073
1073
  },
1074
- onClick: r[0] ||= (e) => h(F).conditionPreview.reset()
1075
- }, [D(h(be), {
1074
+ onClick: r[0] ||= (e) => h(N).conditionPreview.reset()
1075
+ }, [D(h(xe), {
1076
1076
  size: 13,
1077
1077
  "stroke-width": 2
1078
- }), T(" " + d(h(F).t.blockSettings.restoreHiddenBlocks), 1)])) : m("", !0)]),
1078
+ }), T(" " + d(h(N).t.blockSettings.restoreHiddenBlocks), 1)])) : m("", !0)]),
1079
1079
  _: 1
1080
- })]), x("main", jt, [D(Te, {
1081
- viewport: h(P).state.viewport,
1082
- content: h(P).content.value,
1083
- "selected-block-id": h(P).state.selectedBlockId,
1084
- "dark-mode": h(P).state.darkMode,
1085
- "preview-mode": h(P).state.previewMode,
1086
- "locked-blocks": h(M)?.lockedBlocks.value ?? void 0,
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
1080
+ })]), x("main", Nt, [D(Ne, {
1081
+ viewport: h(M).state.viewport,
1082
+ content: h(M).content.value,
1083
+ "selected-block-id": h(M).state.selectedBlockId,
1084
+ "dark-mode": h(M).state.darkMode,
1085
+ "preview-mode": h(M).state.previewMode,
1086
+ "locked-blocks": h(j)?.lockedBlocks.value ?? void 0,
1087
+ onSelectBlock: h(M).selectBlock,
1088
+ onOpenAiChat: r[1] ||= (e) => h(B).aiChatOpen.value = !0,
1089
+ onOpenDesignReference: r[2] ||= (e) => h(B).designReferenceOpen.value = !0
1090
1090
  }, null, 8, [
1091
1091
  "viewport",
1092
1092
  "content",
@@ -1096,51 +1096,51 @@ 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(P).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(M).state.previewMode ? "tpl:left-0 tpl:right-0" : h(B).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",
1105
1105
  role: "status",
1106
1106
  "aria-live": "polite",
1107
1107
  "aria-atomic": "true",
1108
- "aria-label": h(F).t.landmarks.reorderAnnouncements
1109
- }, d(h(F).keyboardReorder.announcement.value), 9, Mt),
1110
- n(D(De, {
1111
- "selected-block": h(P).selectedBlock.value,
1112
- settings: h(P).content.value.settings,
1113
- "shifted-left": h(U).rightPanelOpen.value,
1114
- onUpdateBlock: r[3] ||= (e) => h(P).updateBlock(h(P).selectedBlock.value.id, e),
1115
- onDeleteBlock: r[4] ||= (e) => h(F).blockActions.deleteBlock(h(P).selectedBlock.value.id),
1116
- onDuplicateBlock: r[5] ||= (e) => h(F).blockActions.duplicateBlock(h(P).selectedBlock.value),
1117
- onUpdateSettings: h(P).updateSettings
1108
+ "aria-label": h(N).t.landmarks.reorderAnnouncements
1109
+ }, d(h(N).keyboardReorder.announcement.value), 9, Pt),
1110
+ n(D(je, {
1111
+ "selected-block": h(M).selectedBlock.value,
1112
+ settings: h(M).content.value.settings,
1113
+ "shifted-left": h(B).rightPanelOpen.value,
1114
+ onUpdateBlock: r[3] ||= (e) => h(M).updateBlock(h(M).selectedBlock.value.id, e),
1115
+ onDeleteBlock: r[4] ||= (e) => h(N).blockActions.deleteBlock(h(M).selectedBlock.value.id),
1116
+ onDuplicateBlock: r[5] ||= (e) => h(N).blockActions.duplicateBlock(h(M).selectedBlock.value),
1117
+ onUpdateSettings: h(M).updateSettings
1118
1118
  }, null, 8, [
1119
1119
  "selected-block",
1120
1120
  "settings",
1121
1121
  "shifted-left",
1122
1122
  "onUpdateSettings"
1123
- ]), [[S, !h(P).state.previewMode]]),
1124
- !h(E) && h(O) ? (i(), v(ft, {
1123
+ ]), [[S, !h(M).state.previewMode]]),
1124
+ !h(E) && h(ee) ? (i(), v(mt, {
1125
1125
  key: 1,
1126
1126
  ref_key: "cloudPanelsRef",
1127
1127
  ref: f,
1128
1128
  config: l.config,
1129
- editor: h(P),
1130
- core: h(F),
1131
- "panel-state": h(U),
1132
- "plan-config-instance": h(A),
1133
- "test-email": h(B),
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
1129
+ editor: h(M),
1130
+ core: h(N),
1131
+ "panel-state": h(B),
1132
+ "plan-config-instance": h(k),
1133
+ "test-email": h(F),
1134
+ "media-lib": h(ne),
1135
+ "saved-modules-headless": h(ie),
1136
+ "show-save-module-dialog": h(H),
1137
+ "save-module-pre-selected-block-id": h(W),
1138
+ "show-module-browser-modal": h(U),
1139
+ "onUpdate:showSaveModuleDialog": r[6] ||= (e) => H.value = e,
1140
+ "onUpdate:saveModulePreSelectedBlockId": r[7] ||= (e) => W.value = e,
1141
+ "onUpdate:showModuleBrowserModal": r[8] ||= (e) => U.value = e,
1142
+ onSendTestEmail: se,
1143
+ onModuleInsert: J
1144
1144
  }, null, 8, [
1145
1145
  "config",
1146
1146
  "editor",
@@ -1155,14 +1155,15 @@ var Ve = ["aria-label"], He = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1155
1155
  "show-module-browser-modal"
1156
1156
  ])) : m("", !0),
1157
1157
  x("div", {
1158
- ref: (e) => h(F).popoverRoot.value = e,
1158
+ ref: (e) => h(N).popoverRoot.value = e,
1159
1159
  class: "tpl-popover-root"
1160
1160
  }, null, 512),
1161
- D(Ae)
1162
- ], 14, kt));
1161
+ D(Me),
1162
+ h(K) ? (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-hxoqsTsq.js.map