@aswin.dev/editor 0.8.5 → 0.8.9

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 (89) hide show
  1. package/dist/{AccessibilityPanel-COL6Wm7p.js → AccessibilityPanel-B39ct5ON.js} +2 -2
  2. package/dist/{AiChatSidebar-DAJOuHPG.js → AiChatSidebar-CYh7SPHW.js} +2 -2
  3. package/dist/{AiFeatureMenu-CKnEDzme.js → AiFeatureMenu-D9UhqJAa.js} +3 -3
  4. package/dist/{BlockA11yBadge-Qs6HtXid.js → BlockA11yBadge-Dr854uEe.js} +2 -2
  5. package/dist/{CloudEditor-BUlmUuhO.js → CloudEditor-BNEIze18.js} +281 -274
  6. package/dist/{CollaboratorBar-C6TfqpyV.js → CollaboratorBar-DZXuPSfU.js} +2 -2
  7. package/dist/{CommentsSidebar-DE6ZsM4D.js → CommentsSidebar-BVKFtxml.js} +4 -4
  8. package/dist/{CountdownBlock-Ba3T-i2X.js → CountdownBlock-CrpaDWze.js} +1 -1
  9. package/dist/{CountdownToolbar-B9IAZzeV.js → CountdownToolbar-D1tb2T_b.js} +2 -2
  10. package/dist/{DesignReferenceSidebar-C6yDJlD8.js → DesignReferenceSidebar-_QsmFpE_.js} +44 -44
  11. package/dist/{ModuleBrowserModal-DUKuDjS-.js → ModuleBrowserModal-Bth1crh_.js} +7 -7
  12. package/dist/{ModulePreviewCanvas-C9HTjfkN.js → ModulePreviewCanvas-96pndrb9.js} +3 -3
  13. package/dist/{ParagraphEditor-CFuaZKGk.js → ParagraphEditor-C2d9O2P4.js} +123 -123
  14. package/dist/{RichTextEditorContent-CrqPQdnk.js → RichTextEditorContent-Cn0ZU41b.js} +3 -3
  15. package/dist/{SaveModuleDialog-QjgPFEDg.js → SaveModuleDialog-B1EJtMGq.js} +17 -17
  16. package/dist/{SlidingPillSelect-DfcBdJqN.js → SlidingPillSelect-Dt34f5VF.js} +1 -1
  17. package/dist/{SnapshotHistory-Dblt21_W.js → SnapshotHistory-Cd-a_xGv.js} +3 -3
  18. package/dist/{TemplateScoringPanel-CS7o62zS.js → TemplateScoringPanel-C8WixDsv.js} +77 -77
  19. package/dist/{TestEmailModal-D_y3ZksG.js → TestEmailModal-CEj_81cQ.js} +3 -3
  20. package/dist/TitleEditor-C8Qyr_U3.js +172 -0
  21. package/dist/{TplModal-DinL7DhQ.js → TplModal-B_HcUS4S.js} +2 -2
  22. package/dist/{blockTypeIcons-JjmIZ_Vx.js → blockTypeIcons-CeaSm2Xd.js} +1 -1
  23. package/dist/bundle-stats.json +6 -6
  24. package/dist/cdn/chunks/{AccessibilityPanel-BTADkTp2.js → AccessibilityPanel-C8vY7QIF.js} +3 -3
  25. package/dist/cdn/chunks/{AccessibilityPanel-BTADkTp2.js.map → AccessibilityPanel-C8vY7QIF.js.map} +1 -1
  26. package/dist/cdn/chunks/{AiFeatureMenu-D99Pw32q.js → AiFeatureMenu-BaUpnF6T.js} +2 -2
  27. package/dist/cdn/chunks/{AiFeatureMenu-D99Pw32q.js.map → AiFeatureMenu-BaUpnF6T.js.map} +1 -1
  28. package/dist/cdn/chunks/{BlockA11yBadge-dtyeSSvY.js → BlockA11yBadge-BHkh4Otq.js} +2 -2
  29. package/dist/cdn/chunks/{BlockA11yBadge-dtyeSSvY.js.map → BlockA11yBadge-BHkh4Otq.js.map} +1 -1
  30. package/dist/cdn/chunks/{CloudEditor-BBBkTBfW.js → CloudEditor-DUIjZDAS.js} +264 -257
  31. package/dist/cdn/chunks/{CloudEditor-BBBkTBfW.js.map → CloudEditor-DUIjZDAS.js.map} +1 -1
  32. package/dist/cdn/chunks/{CollaboratorBar-Cuy1BusU.js → CollaboratorBar-pyuEO5Bm.js} +3 -3
  33. package/dist/cdn/chunks/{CollaboratorBar-Cuy1BusU.js.map → CollaboratorBar-pyuEO5Bm.js.map} +1 -1
  34. package/dist/cdn/chunks/{CountdownToolbar-CqFM85Xv.js → CountdownToolbar-CCGHm6Gg.js} +3 -3
  35. package/dist/cdn/chunks/{CountdownToolbar-CqFM85Xv.js.map → CountdownToolbar-CCGHm6Gg.js.map} +1 -1
  36. package/dist/cdn/chunks/{ModuleBrowserModal-Dcxtq_dC.js → ModuleBrowserModal-DKsMddYS.js} +6 -6
  37. package/dist/cdn/chunks/{ModuleBrowserModal-Dcxtq_dC.js.map → ModuleBrowserModal-DKsMddYS.js.map} +1 -1
  38. package/dist/cdn/chunks/{ModulePreviewCanvas-Didb4ZCU.js → ModulePreviewCanvas-E0mfCUJi.js} +2 -2
  39. package/dist/cdn/chunks/{ModulePreviewCanvas-Didb4ZCU.js.map → ModulePreviewCanvas-E0mfCUJi.js.map} +1 -1
  40. package/dist/cdn/chunks/{ParagraphEditor-BX2L35YF.js → ParagraphEditor-DwmzHg6F.js} +116 -116
  41. package/dist/cdn/chunks/ParagraphEditor-DwmzHg6F.js.map +1 -0
  42. package/dist/cdn/chunks/{RichTextEditorContent-ywrdsvHY.js → RichTextEditorContent-4-cNqB4H.js} +3 -3
  43. package/dist/cdn/chunks/{RichTextEditorContent-ywrdsvHY.js.map → RichTextEditorContent-4-cNqB4H.js.map} +1 -1
  44. package/dist/cdn/chunks/{SaveModuleDialog-Ddp-HCFB.js → SaveModuleDialog-COm3ptOF.js} +3 -3
  45. package/dist/cdn/chunks/{SaveModuleDialog-Ddp-HCFB.js.map → SaveModuleDialog-COm3ptOF.js.map} +1 -1
  46. package/dist/cdn/chunks/{SlidingPillSelect-CS6N3vGq.js → SlidingPillSelect-DlgRynQN.js} +2 -2
  47. package/dist/cdn/chunks/{SlidingPillSelect-CS6N3vGq.js.map → SlidingPillSelect-DlgRynQN.js.map} +1 -1
  48. package/dist/cdn/chunks/TitleEditor-CE8r8txX.js +171 -0
  49. package/dist/cdn/chunks/TitleEditor-CE8r8txX.js.map +1 -0
  50. package/dist/cdn/chunks/{blockTypeIcons-B2x3gJsz.js → blockTypeIcons-BOf7hTFU.js} +3 -3
  51. package/dist/cdn/chunks/{blockTypeIcons-B2x3gJsz.js.map → blockTypeIcons-BOf7hTFU.js.map} +1 -1
  52. package/dist/cdn/chunks/{extensions-CdYSoz4B.js → extensions-B5e8Ov02.js} +17 -17
  53. package/dist/cdn/chunks/{extensions-CdYSoz4B.js.map → extensions-B5e8Ov02.js.map} +1 -1
  54. package/dist/cdn/chunks/{features-BZeMkHMs.js → features-BHTP4oRU.js} +734 -734
  55. package/dist/cdn/chunks/features-BHTP4oRU.js.map +1 -0
  56. package/dist/cdn/chunks/{icons-nP0Wj6Eq.js → icons-DS4IYWzG.js} +2 -2
  57. package/dist/cdn/chunks/{icons-nP0Wj6Eq.js.map → icons-DS4IYWzG.js.map} +1 -1
  58. package/dist/cdn/chunks/{media-library-54Ezt5wL.js → media-library-BLLJsLwk.js} +508 -508
  59. package/dist/cdn/chunks/{media-library-54Ezt5wL.js.map → media-library-BLLJsLwk.js.map} +1 -1
  60. package/dist/cdn/chunks/{quality-Di1pUcCW.js → quality-DfKLOn8j.js} +290 -290
  61. package/dist/cdn/chunks/{quality-Di1pUcCW.js.map → quality-DfKLOn8j.js.map} +1 -1
  62. package/dist/cdn/chunks/{renderer-C4OuJhDG.js → renderer-fG9yLafB.js} +14 -14
  63. package/dist/cdn/chunks/{renderer-C4OuJhDG.js.map → renderer-fG9yLafB.js.map} +1 -1
  64. package/dist/cdn/chunks/{src-DF5NNH7S.js → src-DsfVhQaK.js} +4 -4
  65. package/dist/cdn/chunks/{src-DF5NNH7S.js.map → src-DsfVhQaK.js.map} +1 -1
  66. package/dist/cdn/chunks/{styles-C9P3yzMF.js → styles-CPUuKOlD.js} +210 -210
  67. package/dist/cdn/chunks/{styles-C9P3yzMF.js.map → styles-CPUuKOlD.js.map} +1 -1
  68. package/dist/cdn/chunks/{tiptap-CZ52Pj8k.js → tiptap-q69oUYhb.js} +2 -2
  69. package/dist/cdn/chunks/{tiptap-CZ52Pj8k.js.map → tiptap-q69oUYhb.js.map} +1 -1
  70. package/dist/cdn/editor.css +1 -1
  71. package/dist/cdn/editor.js +130 -123
  72. package/dist/cdn/editor.js.map +1 -1
  73. package/dist/{extensions-CNPdJw_8.js → extensions-mwqd2u9M.js} +2 -2
  74. package/dist/index.d.ts +8 -8
  75. package/dist/keys-CqdzeWhT.js +10 -0
  76. package/dist/style.css +1 -1
  77. package/dist/{styles-ZIYLQwFf.js → styles-BRNubGRJ.js} +287 -287
  78. package/dist/templatical-editor.js +134 -127
  79. package/dist/{useCloudI18n-DOKSZql1.js → useCloudI18n-CDhjmAgB.js} +1 -1
  80. package/dist/{useEditorCore-BHSyoxSK.js → useEditorCore-DB4A_cje.js} +22 -22
  81. package/dist/{useI18n-C2xQZ6K9.js → useI18n-DLZJ6wNn.js} +1 -1
  82. package/dist/{useMergeTag-BfVcyNSv.js → useMergeTag-D-kqWENN.js} +2 -2
  83. package/package.json +7 -7
  84. package/dist/TitleEditor-CHmL3FFR.js +0 -172
  85. package/dist/cdn/chunks/ParagraphEditor-BX2L35YF.js.map +0 -1
  86. package/dist/cdn/chunks/TitleEditor-BTtgZzci.js +0 -171
  87. package/dist/cdn/chunks/TitleEditor-BTtgZzci.js.map +0 -1
  88. package/dist/cdn/chunks/features-BZeMkHMs.js.map +0 -1
  89. package/dist/keys-CvX8D-8C.js +0 -10
@@ -1,17 +1,17 @@
1
1
  import { C as e, F as t, G as n, H as r, I as i, M as a, N as o, P as s, Q as c, S as l, W as u, _ as d, b as f, ct as p, d as m, dt as h, f as g, ft as _, g as v, h as y, l as b, m as x, n as S, rt as C, tt as w, ut as T, v as E, x as D, y as O } from "./draggable-C-1_gch3.js";
2
- import { Bn as ee, C as k, Ct as A, D as j, Gt as te, It as M, Jn as N, Jt as P, Mt as F, Nn as ne, S as re, St as I, Tn as L, Ut as R, Vt as z, Xt as ie, Yt as B, _ as V, _t as ae, an as oe, b as H, c as U, cn as W, cr as G, d as K, dt as q, et as se, f as ce, fn as le, g as J, h as Y, it as X, jt as ue, k as de, l as fe, m as pe, mt as me, on as he, ot as ge, p as Z, pn as Q, sn as $, u as _e, v as ve, x as ye, y as be, zn as xe, zt as Se } from "./features-BZeMkHMs.js";
3
- import { D as Ce, E as we } from "./icons-nP0Wj6Eq.js";
4
- import { a as Te, c as Ee, d as De, f as Oe, g as ke, h as Ae, i as je, l as Me, m as Ne, n as Pe, p as Fe, r as Ie, s as Le, t as Re, u as ze } from "./styles-C9P3yzMF.js";
5
- import { d as Be } from "./styleConstants-DfcU8u_r.js";
2
+ import { Bn as ee, C as k, Ct as A, D as j, En as M, Gt as N, It as P, Jt as te, Mt as F, Pn as I, S as ne, St as L, Ut as R, Vn as z, Vt as B, Xt as re, Yn as V, Yt as ie, _ as H, _t as ae, b as oe, c as U, cn as W, d as G, dt as K, en as se, et as q, f as J, g as ce, h as le, it as Y, jt as X, k as Z, l as ue, ln as de, lr as fe, m as pe, mn as me, mt as he, on as ge, ot as Q, p as _e, pn as ve, sn as ye, u as $, v as be, x as xe, y as Se, zt as Ce } from "./features-BHTP4oRU.js";
3
+ import { D as we, E as Te } from "./icons-DS4IYWzG.js";
4
+ import { a as Ee, c as De, d as Oe, f as ke, g as Ae, h as je, i as Me, l as Ne, m as Pe, n as Fe, p as Ie, r as Le, s as Re, t as ze, u as Be } from "./styles-CPUuKOlD.js";
5
+ import { d as Ve } from "./styleConstants-DfcU8u_r.js";
6
6
  //#region src/cloud/composables/useSnapshotPreview.ts
7
- function Ve(e) {
7
+ function He(e) {
8
8
  let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: a, onError: o } = e, s = C(null), l = w(null), u = w(null), d = !1;
9
9
  c(() => {
10
10
  d = !0;
11
11
  });
12
12
  let f = x(() => l.value !== null), p = x(() => s.value?.snapshots.value ?? []), m = x(() => s.value?.isLoading.value ?? !1), h = x(() => s.value?.isRestoring.value ?? !1);
13
13
  function g() {
14
- n.state.template?.id && !s.value && (s.value = Z({
14
+ n.state.template?.id && !s.value && (s.value = _e({
15
15
  authManager: t,
16
16
  templateId: n.state.template.id,
17
17
  onRestore: _,
@@ -61,7 +61,7 @@ function Ve(e) {
61
61
  }
62
62
  //#endregion
63
63
  //#region src/cloud/composables/useCloudPanelState.ts
64
- function He() {
64
+ function Ue() {
65
65
  let e = w(null), t = x({
66
66
  get: () => e.value === "ai-chat",
67
67
  set: (t) => e.value = t ? "ai-chat" : null
@@ -84,7 +84,7 @@ function He() {
84
84
  function m(t) {
85
85
  c.value = !1, e.value = e.value === t ? null : t;
86
86
  }
87
- return Q(l, () => {
87
+ return me(l, () => {
88
88
  c.value = !1;
89
89
  }), {
90
90
  activePanel: e,
@@ -106,10 +106,10 @@ function He() {
106
106
  }
107
107
  //#endregion
108
108
  //#region src/cloud/composables/useCollabUndoWarning.ts
109
- function Ue(e) {
110
- let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = w(!1), a = w(!1), { start: o } = L(() => {
109
+ function We(e) {
110
+ let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = w(!1), a = w(!1), { start: o } = M(() => {
111
111
  a.value = !1;
112
- }, G, { immediate: !1 });
112
+ }, fe, { immediate: !1 });
113
113
  function s() {
114
114
  i.value || !t.value || n() === 0 || !r.value || (i.value = !0, a.value = !0, o());
115
115
  }
@@ -120,8 +120,8 @@ function Ue(e) {
120
120
  }
121
121
  //#endregion
122
122
  //#region src/cloud/composables/useCloudFeatureFlags.ts
123
- function We(e) {
124
- let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = x(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = x(() => t.hasFeature("test_email")), o = x(() => !!r.state.template?.id), s = x(() => t.hasFeature("white_label")), c = x(() => t.config.value?.limits.max_templates ?? null), l = x(() => t.config.value?.template_count ?? 0), u = w(!1), d = w("idle"), f = w(""), { start: p } = L(() => {
123
+ function Ge(e) {
124
+ let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = x(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = x(() => t.hasFeature("test_email")), o = x(() => !!r.state.template?.id), s = x(() => t.hasFeature("white_label")), c = x(() => t.config.value?.limits.max_templates ?? null), l = x(() => t.config.value?.template_count ?? 0), u = w(!1), d = w("idle"), f = w(""), { start: p } = M(() => {
125
125
  d.value = "idle";
126
126
  }, 3e3, { immediate: !1 });
127
127
  return {
@@ -139,7 +139,7 @@ function We(e) {
139
139
  }
140
140
  //#endregion
141
141
  //#region src/cloud/composables/useCloudMediaLibrary.ts
142
- function Ge(e) {
142
+ function Ke(e) {
143
143
  let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: r, onTemplateWidthPreview: i } = e, a = null;
144
144
  async function o() {
145
145
  if (t) {
@@ -179,20 +179,20 @@ function Ge(e) {
179
179
  }
180
180
  //#endregion
181
181
  //#region src/cloud/composables/useCloudInitialization.ts
182
- function Ke(e) {
182
+ function qe(e) {
183
183
  let { config: n, translations: i, fontsManager: a, emit: o, getCommentsSidebar: s } = e, c = w(!0), l = w(!1), u = w(null), d = !1, f = { value: null }, p = null, m = null, h = new j({
184
184
  ...n.auth,
185
185
  onError: n.onError
186
- }), g = _e({
186
+ }), g = $({
187
187
  authManager: h,
188
188
  onError: n.onError
189
- }), _ = w(/* @__PURE__ */ new Map()), v = re({
189
+ }), _ = w(/* @__PURE__ */ new Map()), v = ne({
190
190
  authManager: h,
191
191
  defaultFontFamily: n.fonts?.defaultFont,
192
192
  templateDefaults: n.templateDefaults,
193
193
  onError: n.onError,
194
194
  lockedBlocks: _
195
- }), y = Y({
195
+ }), y = le({
196
196
  authManager: h,
197
197
  onError: n.onError
198
198
  });
@@ -202,7 +202,7 @@ function Ke(e) {
202
202
  onOperation: n.mcp.onOperation
203
203
  });
204
204
  let b = null;
205
- n.collaboration?.enabled && (b = V({
205
+ n.collaboration?.enabled && (b = H({
206
206
  authManager: h,
207
207
  editor: v,
208
208
  channel: y.channel,
@@ -213,8 +213,8 @@ function Ke(e) {
213
213
  onBlockUnlocked: n.collaboration.onBlockUnlocked
214
214
  }), r(() => b.lockedBlocks.value, (e) => {
215
215
  _.value = e;
216
- }, { immediate: !0 }), J(v, b));
217
- let S = x(() => !!n.collaboration?.enabled && g.hasFeature("collaboration")), C = de({
216
+ }, { immediate: !0 }), ce(v, b));
217
+ let S = x(() => !!n.collaboration?.enabled && g.hasFeature("collaboration")), C = Z({
218
218
  editor: v,
219
219
  config: {
220
220
  uiTheme: n.uiTheme,
@@ -225,7 +225,7 @@ function Ke(e) {
225
225
  displayConditions: n.displayConditions,
226
226
  onRequestMedia: null,
227
227
  editorType: n.editorType,
228
- accessibility: ke(n),
228
+ accessibility: Ae(n),
229
229
  onSave: () => {
230
230
  f.value?.().catch((e) => {
231
231
  n.onError?.(e);
@@ -244,13 +244,13 @@ function Ke(e) {
244
244
  },
245
245
  themeExtraStyles: () => ({ "--tpl-drop-text": `"${i.canvas.dropHere}"` }),
246
246
  keyboardOptions: { onBeforeUndo: () => m?.showCollabUndoWarning() }
247
- }), T = Ue({
247
+ }), T = We({
248
248
  isCollaborationEnabled: S,
249
249
  getCollaboratorCount: () => b?.collaborators.value.length ?? 0,
250
250
  canUndo: C.history.canUndo
251
251
  });
252
252
  m = T;
253
- let E = Ve({
253
+ let E = He({
254
254
  authManager: h,
255
255
  editor: v,
256
256
  history: C.history,
@@ -259,24 +259,24 @@ function Ke(e) {
259
259
  onError: n.onError
260
260
  });
261
261
  p = E;
262
- let D = He(), O = ye(n.ai), ee = We({
262
+ let D = Ue(), O = xe(n.ai), ee = Ge({
263
263
  planConfigInstance: g,
264
264
  aiConfig: O,
265
265
  editor: v
266
- }), k = Ge({
266
+ }), k = Ke({
267
267
  onRequestMedia: n.onRequestMedia,
268
268
  mediaLibraryOpen: D.mediaLibraryOpen,
269
269
  mediaLibraryAccept: D.mediaLibraryAccept
270
270
  });
271
- se({
271
+ q({
272
272
  onBlockMove: v.moveBlock,
273
273
  onBlockAdd: v.addBlock
274
274
  });
275
- let A = K({
275
+ let A = G({
276
276
  authManager: h,
277
277
  getFontsConfig: () => n.fonts,
278
278
  canUseCustomFonts: () => g.hasFeature("custom_fonts")
279
- }), M = ce({
279
+ }), M = J({
280
280
  authManager: h,
281
281
  getTemplateId: () => v.state.template?.id ?? null,
282
282
  save: () => v.save(),
@@ -284,7 +284,7 @@ function Ke(e) {
284
284
  onError: n.onError,
285
285
  isAuthReady: l,
286
286
  onBeforeTestEmail: n.onBeforeTestEmail
287
- }), N = be({
287
+ }), P = Se({
288
288
  authManager: h,
289
289
  getTemplateId: () => v.state.template?.id ?? null,
290
290
  getSocketId: () => y.getSocketId(),
@@ -293,55 +293,55 @@ function Ke(e) {
293
293
  isAuthReady: l,
294
294
  hasCommentingFeature: () => n.commenting !== !1 && g.hasFeature("commenting")
295
295
  });
296
- ve({
297
- comments: N,
296
+ be({
297
+ comments: P,
298
298
  channel: y.channel
299
299
  });
300
300
  let F = pe({
301
301
  authManager: h,
302
302
  onError: n.onError
303
- }), ne = w(!1), I = w(null), L = w(!1), z = H({
303
+ }), I = w(!1), L = w(null), z = w(!1), B = oe({
304
304
  authManager: h,
305
305
  getTemplateId: () => v.state.template?.id ?? null
306
306
  });
307
- function B(e) {
307
+ function V(e) {
308
308
  D.commentsOpen.value = !0, queueMicrotask(() => {
309
309
  s()?.filterByBlock(e);
310
310
  });
311
311
  }
312
- t(oe, k.handleRequestMedia), t(te, h), t(R, O), t(ie, N), t($, F), t(W, z), t(P, {
312
+ t(ge, k.handleRequestMedia), t(N, h), t(R, O), t(re, P), t(W, F), t(de, B), t(te, {
313
313
  plan: g,
314
314
  ai: O,
315
315
  comments: {
316
- getBlockCount: (e) => N.commentCountByBlock.value.get(e) ?? 0,
317
- openForBlock: B
316
+ getBlockCount: (e) => P.commentCountByBlock.value.get(e) ?? 0,
317
+ openForBlock: V
318
318
  },
319
319
  savedModules: {
320
320
  openSaveDialog: (e) => {
321
- I.value = e ?? null, ne.value = !0;
321
+ L.value = e ?? null, I.value = !0;
322
322
  },
323
323
  openBrowser: () => {
324
- L.value = !0;
324
+ z.value = !0;
325
325
  },
326
326
  moduleCount: x(() => F.modules.value.length)
327
327
  }
328
328
  });
329
- function ae(e) {
329
+ function ie(e) {
330
330
  g.hasFeature("theme_customization") && (C.themeOverrides.value = e);
331
331
  }
332
- function G(e) {
332
+ function ae(e) {
333
333
  v.setUiTheme(e);
334
334
  }
335
- async function q() {
335
+ async function K() {
336
336
  c.value = !0, u.value = null;
337
337
  try {
338
338
  if (await h.initialize(), d) return;
339
339
  l.value = !0;
340
- let e = await fe({ authManager: h });
340
+ let e = await ue({ authManager: h });
341
341
  if (d) return;
342
342
  if (!e.api.ok) throw Error("Health check failed: API is not reachable");
343
343
  if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
344
- if (e.websocket.ok || Se.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await g.fetchConfig(), d) return;
344
+ if (e.websocket.ok || Ce.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await g.fetchConfig(), d) return;
345
345
  a.setCustomFontsEnabled(g.hasFeature("custom_fonts")), n.customBlocks?.length && g.hasFeature("custom_blocks") && C.registerCustomBlocks(n.customBlocks), n.theme && g.hasFeature("theme_customization") && (C.themeOverrides.value = n.theme), n.modules !== !1 && g.hasFeature("saved_modules") && F.loadModules(), o("ready");
346
346
  } catch (e) {
347
347
  if (d) return;
@@ -351,7 +351,7 @@ function Ke(e) {
351
351
  d || (c.value = !1);
352
352
  }
353
353
  }
354
- function le() {
354
+ function se() {
355
355
  d = !0, a.cleanupFontLinks(), y.disconnect(), C.destroy(), n.onUnmount?.();
356
356
  }
357
357
  return {
@@ -371,28 +371,28 @@ function Ke(e) {
371
371
  mediaLib: k,
372
372
  exporter: A,
373
373
  testEmail: M,
374
- commentsInstance: N,
374
+ commentsInstance: P,
375
375
  savedModulesHeadless: F,
376
- scoringInstance: z,
376
+ scoringInstance: B,
377
377
  panelState: D,
378
378
  snapshotPreview: E,
379
379
  collabWarning: T,
380
- showSaveModuleDialog: ne,
381
- showModuleBrowserModal: L,
382
- saveModulePreSelectedBlockId: I,
380
+ showSaveModuleDialog: I,
381
+ showModuleBrowserModal: z,
382
+ saveModulePreSelectedBlockId: L,
383
383
  onSaveHook: f,
384
- initialize: q,
385
- destroy: le,
386
- setThemeOverrides: ae,
387
- setUiTheme: G,
388
- openCommentsForBlock: B
384
+ initialize: K,
385
+ destroy: se,
386
+ setThemeOverrides: ie,
387
+ setUiTheme: ae,
388
+ openCommentsForBlock: V
389
389
  };
390
390
  }
391
391
  //#endregion
392
392
  //#region src/utils/preRenderCustomBlocks.ts
393
- async function qe(e, t) {
393
+ async function Je(e, t) {
394
394
  let n = async (e) => {
395
- if (N(e)) {
395
+ if (V(e)) {
396
396
  let n = e;
397
397
  try {
398
398
  n.renderedHtml = await t.renderCustomBlock(n);
@@ -409,7 +409,7 @@ async function qe(e, t) {
409
409
  }
410
410
  //#endregion
411
411
  //#region src/cloud/composables/useCloudLifecycle.ts
412
- function Je(e) {
412
+ function Ye(e) {
413
413
  let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
414
414
  function u() {
415
415
  return k(i.config.value.websocket);
@@ -425,7 +425,7 @@ function Je(e) {
425
425
  async function p() {
426
426
  c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
427
427
  try {
428
- if (await qe(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
428
+ if (await Je(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
429
429
  let e = await n.save();
430
430
  if (l()) throw Error("Component unmounted during save");
431
431
  a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
@@ -452,7 +452,7 @@ function Je(e) {
452
452
  }
453
453
  //#endregion
454
454
  //#region src/cloud/composables/useCloudSaveGate.ts
455
- function Ye(e) {
455
+ function Xe(e) {
456
456
  let t = w(!1), n = null, r = x(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = x(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = x(() => i.value.length > 0);
457
457
  async function o(e) {
458
458
  return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
@@ -475,7 +475,7 @@ function Ye(e) {
475
475
  }
476
476
  //#endregion
477
477
  //#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
478
- var Xe = ["aria-label"], Ze = { 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)]" }, Qe = { class: "tpl:flex tpl:items-center tpl:gap-2" }, $e = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, et = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, tt = { 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" }, nt = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, rt = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, it = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, at = /* @__PURE__ */ e({
478
+ var Ze = ["aria-label"], Qe = { 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)]" }, $e = { class: "tpl:flex tpl:items-center tpl:gap-2" }, et = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, tt = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, nt = { 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" }, rt = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, it = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, at = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, ot = /* @__PURE__ */ e({
479
479
  __name: "CloudSaveGateModal",
480
480
  props: {
481
481
  open: { type: Boolean },
@@ -483,7 +483,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
483
483
  },
484
484
  emits: ["cancel", "confirm"],
485
485
  setup(e, { emit: t }) {
486
- let n = t, { t: r } = X();
486
+ let n = t, { t: r } = Y();
487
487
  return (t, a) => (s(), v(S, {
488
488
  "enter-active-class": "tpl:transition-opacity tpl:duration-150",
489
489
  "leave-active-class": "tpl:transition-opacity tpl:duration-150",
@@ -497,18 +497,18 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
497
497
  "aria-label": p(r).saveGate.title,
498
498
  class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
499
499
  onClick: a[2] ||= m((e) => n("cancel"), ["self"])
500
- }, [y("div", Ze, [
501
- y("header", Qe, [D(p(q), {
500
+ }, [y("div", Qe, [
501
+ y("header", $e, [D(p(K), {
502
502
  size: 18,
503
503
  "stroke-width": 2,
504
504
  class: "tpl:text-[var(--tpl-warning)]"
505
- }), y("h2", $e, _(p(r).saveGate.title), 1)]),
506
- y("p", et, _(p(r).saveGate.body), 1),
507
- y("ul", tt, [(s(!0), E(g, null, i(e.issues, (e) => (s(), E("li", {
505
+ }), y("h2", et, _(p(r).saveGate.title), 1)]),
506
+ y("p", tt, _(p(r).saveGate.body), 1),
507
+ y("ul", nt, [(s(!0), E(g, null, i(e.issues, (e) => (s(), E("li", {
508
508
  key: `${e.ruleId}-${e.blockId ?? "template"}`,
509
509
  class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
510
- }, [y("span", nt, _(e.message), 1), y("span", rt, _(e.ruleId), 1)]))), 128))]),
511
- y("footer", it, [y("button", {
510
+ }, [y("span", rt, _(e.message), 1), y("span", it, _(e.ruleId), 1)]))), 128))]),
511
+ y("footer", at, [y("button", {
512
512
  type: "button",
513
513
  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)]",
514
514
  onClick: a[0] ||= (e) => n("cancel")
@@ -517,11 +517,11 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
517
517
  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",
518
518
  onClick: a[1] ||= (e) => n("confirm")
519
519
  }, _(p(r).saveGate.confirm), 1)])
520
- ])], 8, Xe)) : d("", !0)]),
520
+ ])], 8, Ze)) : d("", !0)]),
521
521
  _: 1
522
522
  }));
523
523
  }
524
- }), ot = {
524
+ }), st = {
525
525
  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",
526
526
  style: {
527
527
  "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
@@ -530,24 +530,24 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
530
530
  "box-shadow": "var(--tpl-shadow-md)",
531
531
  "border-bottom": "1px solid var(--tpl-border)"
532
532
  }
533
- }, st = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, ct = {
533
+ }, ct = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, lt = {
534
534
  key: 0,
535
535
  class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
536
- }, lt = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, ut = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, dt = ["data-tooltip"], ft = {
536
+ }, ut = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, dt = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, ft = ["data-tooltip"], pt = {
537
537
  key: 1,
538
538
  "aria-live": "polite",
539
539
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
540
- }, pt = {
540
+ }, mt = {
541
541
  key: 2,
542
542
  "aria-live": "polite",
543
543
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
544
- }, mt = ["aria-label", "aria-expanded"], ht = {
544
+ }, ht = ["aria-label", "aria-expanded"], gt = {
545
545
  key: 0,
546
546
  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)]"
547
- }, gt = ["aria-expanded"], _t = {
547
+ }, _t = ["aria-expanded"], vt = {
548
548
  key: 0,
549
549
  class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
550
- }, vt = ["disabled"], yt = ["disabled"], bt = /* @__PURE__ */ e({
550
+ }, yt = ["disabled"], bt = ["disabled"], xt = /* @__PURE__ */ e({
551
551
  __name: "CloudHeader",
552
552
  props: {
553
553
  editor: {},
@@ -565,23 +565,23 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
565
565
  },
566
566
  emits: ["save"],
567
567
  setup(e) {
568
- let t = l(() => import("./CollaboratorBar-Cuy1BusU.js")), n = l(() => import("./features-BZeMkHMs.js").then((e) => e.r)), r = l(() => import("./AiFeatureMenu-D99Pw32q.js")), { t: i, format: a } = X();
569
- return (o, c) => (s(), E("header", ot, [
570
- y("div", st, [e.featureFlags.templateLimit.value === null ? d("", !0) : (s(), E("span", ct, _(p(a)(p(i).header.templatesUsed, {
568
+ let t = l(() => import("./CollaboratorBar-pyuEO5Bm.js")), n = l(() => import("./features-BHTP4oRU.js").then((e) => e.r)), r = l(() => import("./AiFeatureMenu-BaUpnF6T.js")), { t: i, format: a } = Y();
569
+ return (o, c) => (s(), E("header", st, [
570
+ y("div", ct, [e.featureFlags.templateLimit.value === null ? d("", !0) : (s(), E("span", lt, _(p(a)(p(i).header.templatesUsed, {
571
571
  used: e.featureFlags.templateCount.value,
572
572
  max: e.featureFlags.templateLimit.value
573
573
  })), 1))]),
574
- y("div", lt, [
575
- D(De, { "on-before-undo": e.onBeforeHistoryUndo }, null, 8, ["on-before-undo"]),
576
- D(ze, {
574
+ y("div", ut, [
575
+ D(Oe, { "on-before-undo": e.onBeforeHistoryUndo }, null, 8, ["on-before-undo"]),
576
+ D(Be, {
577
577
  viewport: e.editor.state.viewport,
578
578
  onChange: e.editor.setViewport
579
579
  }, null, 8, ["viewport", "onChange"]),
580
- D(Ee, {
580
+ D(De, {
581
581
  "dark-mode": e.editor.state.darkMode,
582
582
  onChange: e.editor.setDarkMode
583
583
  }, null, 8, ["dark-mode", "onChange"]),
584
- D(Me, {
584
+ D(Ne, {
585
585
  "preview-mode": e.editor.state.previewMode,
586
586
  onChange: e.editor.setPreviewMode
587
587
  }, null, 8, ["preview-mode", "onChange"]),
@@ -605,7 +605,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
605
605
  "onNavigate"
606
606
  ])) : d("", !0)
607
607
  ]),
608
- y("div", ut, [
608
+ y("div", dt, [
609
609
  e.featureFlags.saveStatus.value === "error" ? (s(), E("div", {
610
610
  key: 0,
611
611
  "aria-live": "assertive",
@@ -614,15 +614,15 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
614
614
  }, [D(p(F), {
615
615
  size: 12,
616
616
  "stroke-width": 2.5
617
- }), f(" " + _(p(i).header.saveFailed), 1)], 8, dt)) : e.featureFlags.saveStatus.value === "saved" ? (s(), E("div", ft, [D(p(M), {
617
+ }), f(" " + _(p(i).header.saveFailed), 1)], 8, ft)) : e.featureFlags.saveStatus.value === "saved" ? (s(), E("div", pt, [D(p(P), {
618
618
  size: 12,
619
619
  "stroke-width": 2.5
620
- }), f(" " + _(p(i).header.saved), 1)])) : e.editor.state.isDirty ? (s(), E("div", pt, [c[4] ||= y("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), f(" " + _(p(i).header.unsaved), 1)])) : d("", !0),
620
+ }), f(" " + _(p(i).header.saved), 1)])) : e.editor.state.isDirty ? (s(), E("div", mt, [c[4] ||= y("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), f(" " + _(p(i).header.unsaved), 1)])) : d("", !0),
621
621
  e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (s(), E("button", {
622
622
  key: 3,
623
623
  "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${p(i).comments.button} (${e.commentsInstance.unresolvedCount.value})` : p(i).comments.button,
624
624
  "aria-expanded": e.panelState.commentsOpen.value,
625
- class: T(p(Be)),
625
+ class: T(p(Ve)),
626
626
  style: h({
627
627
  backgroundColor: e.panelState.commentsOpen.value ? "var(--tpl-primary)" : "transparent",
628
628
  color: e.panelState.commentsOpen.value ? "var(--tpl-bg)" : "var(--tpl-primary)",
@@ -630,13 +630,13 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
630
630
  }),
631
631
  onClick: c[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
632
632
  }, [
633
- D(p(I), {
633
+ D(p(L), {
634
634
  size: 16,
635
635
  "stroke-width": 2
636
636
  }),
637
637
  f(" " + _(p(i).comments.button) + " ", 1),
638
- e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (s(), E("span", ht, _(e.commentsInstance.unresolvedCount.value), 1)) : d("", !0)
639
- ], 14, mt)) : d("", !0),
638
+ e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (s(), E("span", gt, _(e.commentsInstance.unresolvedCount.value), 1)) : d("", !0)
639
+ ], 14, ht)) : d("", !0),
640
640
  e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (s(), E("div", {
641
641
  key: 4,
642
642
  ref: (t) => e.panelState.aiMenuRef.value = t,
@@ -645,11 +645,11 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
645
645
  "aria-expanded": e.panelState.aiMenuOpen.value,
646
646
  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"]),
647
647
  onClick: c[1] ||= m((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
648
- }, [D(p(me), {
648
+ }, [D(p(he), {
649
649
  size: 16,
650
650
  "stroke-width": 2,
651
651
  class: "tpl-ai-btn-icon"
652
- }), f(" " + _(p(i).aiChat.button), 1)], 10, gt), D(S, {
652
+ }), f(" " + _(p(i).aiChat.button), 1)], 10, _t), D(S, {
653
653
  "enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
654
654
  "enter-from-class": "tpl:scale-95 tpl:opacity-0",
655
655
  "enter-to-class": "tpl:scale-100 tpl:opacity-100",
@@ -657,7 +657,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
657
657
  "leave-from-class": "tpl:scale-100 tpl:opacity-100",
658
658
  "leave-to-class": "tpl:scale-95 tpl:opacity-0"
659
659
  }, {
660
- default: u(() => [e.panelState.aiMenuOpen.value ? (s(), E("div", _t, [D(p(r), {
660
+ default: u(() => [e.panelState.aiMenuOpen.value ? (s(), E("div", vt, [D(p(r), {
661
661
  "active-feature": e.panelState.activeAiFeature.value,
662
662
  onSelect: e.panelState.handleAiFeatureSelect
663
663
  }, null, 8, ["active-feature", "onSelect"])])) : d("", !0)]),
@@ -665,7 +665,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
665
665
  })], 512)) : d("", !0),
666
666
  e.testEmail.isEnabled.value && e.featureFlags.canSendTestEmail.value ? (s(), E("button", {
667
667
  key: 5,
668
- class: T(p(Be)),
668
+ class: T(p(Ve)),
669
669
  style: {
670
670
  "background-color": "transparent",
671
671
  color: "var(--tpl-primary)",
@@ -682,9 +682,9 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
682
682
  key: 0,
683
683
  size: 16,
684
684
  "stroke-width": 2
685
- })), f(" " + _(p(i).testEmail.button), 1)], 10, vt)) : d("", !0),
685
+ })), f(" " + _(p(i).testEmail.button), 1)], 10, yt)) : d("", !0),
686
686
  y("button", {
687
- class: T(p(Be)),
687
+ class: T(p(Ve)),
688
688
  style: {
689
689
  "background-color": "transparent",
690
690
  color: "var(--tpl-primary)",
@@ -697,15 +697,15 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
697
697
  class: "tpl-spinner",
698
698
  size: 16,
699
699
  "stroke-width": 2
700
- })) : (s(), v(p(we), {
700
+ })) : (s(), v(p(Te), {
701
701
  key: 0,
702
702
  size: 16,
703
703
  "stroke-width": 2
704
- })), f(" " + _(e.isSaving ? p(i).header.saving : p(i).header.save), 1)], 10, yt)
704
+ })), f(" " + _(e.isSaving ? p(i).header.saving : p(i).header.save), 1)], 10, bt)
705
705
  ])
706
706
  ]));
707
707
  }
708
- }), xt = /* @__PURE__ */ e({
708
+ }), St = /* @__PURE__ */ e({
709
709
  __name: "CloudPanels",
710
710
  props: {
711
711
  config: {},
@@ -728,7 +728,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
728
728
  "module-insert"
729
729
  ],
730
730
  setup(e, { expose: t, emit: n }) {
731
- let r = l(() => import("./features-BZeMkHMs.js").then((e) => e.s)), i = l(() => import("./features-BZeMkHMs.js").then((e) => e.o)), a = l(() => import("./features-BZeMkHMs.js").then((e) => e.a)), o = l(() => import("./features-BZeMkHMs.js").then((e) => e.n)), c = l(() => import("./features-BZeMkHMs.js").then((e) => e.t)), u = l(() => import("./SaveModuleDialog-Ddp-HCFB.js")), f = l(() => import("./ModuleBrowserModal-Dcxtq_dC.js")), m = l(async () => (await import("./src-DF5NNH7S.js")).MediaLibraryModal), h = e;
731
+ let r = l(() => import("./features-BHTP4oRU.js").then((e) => e.s)), i = l(() => import("./features-BHTP4oRU.js").then((e) => e.o)), a = l(() => import("./features-BHTP4oRU.js").then((e) => e.a)), o = l(() => import("./features-BHTP4oRU.js").then((e) => e.n)), c = l(() => import("./features-BHTP4oRU.js").then((e) => e.t)), u = l(() => import("./SaveModuleDialog-COm3ptOF.js")), f = l(() => import("./ModuleBrowserModal-DKsMddYS.js")), m = l(async () => (await import("./src-DsfVhQaK.js")).MediaLibraryModal), h = e;
732
732
  function _(e) {
733
733
  e === void 0 || !h.editor.content.value.settings.popup || h.editor.updateSettings({ width: e });
734
734
  }
@@ -807,23 +807,23 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
807
807
  ])
808
808
  ], 64));
809
809
  }
810
- }), St = {
810
+ }), Ct = {
811
811
  key: 0,
812
812
  class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
813
- }, Ct = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, wt = { 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)]" }, Tt = /* @__PURE__ */ e({
813
+ }, wt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, Tt = { 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)]" }, Et = /* @__PURE__ */ e({
814
814
  __name: "CloudLoadingOverlay",
815
815
  props: { visible: { type: Boolean } },
816
816
  setup(e) {
817
- return (t, n) => e.visible ? (s(), E("div", St, [n[1] ||= O("<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), y("div", Ct, [y("div", wt, [(s(), E(g, null, i(5, (e) => y("div", {
817
+ return (t, n) => e.visible ? (s(), E("div", Ct, [n[1] ||= O("<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), y("div", wt, [y("div", Tt, [(s(), E(g, null, i(5, (e) => y("div", {
818
818
  key: e,
819
819
  class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
820
820
  })), 64))]), n[0] ||= O("<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)])])) : d("", !0);
821
821
  }
822
- }), Et = {
822
+ }), Dt = {
823
823
  key: 0,
824
824
  role: "alert",
825
825
  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)]"
826
- }, Dt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, Ot = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, kt = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, At = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, jt = /* @__PURE__ */ e({
826
+ }, Ot = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, kt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, At = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, jt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Mt = /* @__PURE__ */ e({
827
827
  __name: "CloudErrorOverlay",
828
828
  props: {
829
829
  error: {},
@@ -831,20 +831,20 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
831
831
  },
832
832
  emits: ["retry"],
833
833
  setup(e, { emit: t }) {
834
- let n = t, { t: r } = X();
834
+ let n = t, { t: r } = Y();
835
835
  function i(e) {
836
836
  return "isUnauthorized" in e && e.isUnauthorized ? r.error.authFailed : "isNotFound" in e && e.isNotFound ? r.error.templateNotFound : r.error.defaultMessage;
837
837
  }
838
838
  function a(e) {
839
839
  return "isNotFound" in e && !!e.isNotFound;
840
840
  }
841
- return (t, o) => e.visible && e.error ? (s(), E("div", Et, [
842
- y("div", Dt, [D(p(F), {
841
+ return (t, o) => e.visible && e.error ? (s(), E("div", Dt, [
842
+ y("div", Ot, [D(p(F), {
843
843
  size: 32,
844
844
  "stroke-width": 1.5,
845
845
  class: "tpl:text-[var(--tpl-danger)]"
846
846
  })]),
847
- y("div", Ot, [y("h2", kt, _(p(r).error.title), 1), y("p", At, _(i(e.error)), 1)]),
847
+ y("div", kt, [y("h2", At, _(p(r).error.title), 1), y("p", jt, _(i(e.error)), 1)]),
848
848
  a(e.error) ? d("", !0) : (s(), E("button", {
849
849
  key: 0,
850
850
  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)]",
@@ -852,20 +852,20 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
852
852
  }, _(p(r).error.retry), 1))
853
853
  ])) : d("", !0);
854
854
  }
855
- }), Mt = {
855
+ }), Nt = {
856
856
  key: 0,
857
857
  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)]"
858
- }, Nt = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Pt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ft = /* @__PURE__ */ e({
858
+ }, Pt = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Ft = { class: "tpl:flex tpl:items-center tpl:gap-2" }, It = /* @__PURE__ */ e({
859
859
  __name: "SnapshotPreviewBanner",
860
860
  props: { visible: { type: Boolean } },
861
861
  emits: ["cancel", "confirm"],
862
862
  setup(e, { emit: t }) {
863
- let n = t, { t: r } = X();
864
- return (t, i) => e.visible ? (s(), E("div", Mt, [y("div", Nt, [D(p(ue), {
863
+ let n = t, { t: r } = Y();
864
+ return (t, i) => e.visible ? (s(), E("div", Nt, [y("div", Pt, [D(p(X), {
865
865
  size: 18,
866
866
  "stroke-width": 2,
867
867
  class: "tpl:text-[var(--tpl-primary)]"
868
- }), y("span", null, _(p(r).snapshotPreview.message), 1)]), y("div", Pt, [y("button", {
868
+ }), y("span", null, _(p(r).snapshotPreview.message), 1)]), y("div", Ft, [y("button", {
869
869
  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)]",
870
870
  style: { "background-color": "transparent" },
871
871
  onClick: i[0] ||= (e) => n("cancel")
@@ -874,7 +874,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
874
874
  onClick: i[1] ||= (e) => n("confirm")
875
875
  }, _(p(r).snapshotPreview.restore), 1)])])) : d("", !0);
876
876
  }
877
- }), It = {
877
+ }), Lt = {
878
878
  key: 0,
879
879
  role: "status",
880
880
  "aria-live": "polite",
@@ -884,17 +884,17 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
884
884
  color: "var(--tpl-text)",
885
885
  border: "1px solid var(--tpl-warning)"
886
886
  }
887
- }, Lt = /* @__PURE__ */ e({
887
+ }, Rt = /* @__PURE__ */ e({
888
888
  __name: "CollabUndoToast",
889
889
  props: { visible: { type: Boolean } },
890
890
  setup(e) {
891
- let { t } = z();
892
- return (n, r) => e.visible ? (s(), E("div", It, _(p(t).history.collabWarning), 1)) : d("", !0);
891
+ let { t } = B();
892
+ return (n, r) => e.visible ? (s(), E("div", Lt, _(p(t).history.collabWarning), 1)) : d("", !0);
893
893
  }
894
- }), Rt = ["data-tpl-theme"], zt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Bt = {
894
+ }), zt = ["data-tpl-theme"], Bt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Vt = {
895
895
  key: 0,
896
896
  class: "tpl-popup-browser-frame tpl:flex tpl:w-full tpl:flex-col tpl:overflow-hidden tpl:rounded-xl tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-xl)]"
897
- }, Vt = ["aria-label"], Ht = /* @__PURE__ */ ge(/* @__PURE__ */ e({
897
+ }, Ht = ["aria-label"], Ut = /* @__PURE__ */ Q(/* @__PURE__ */ e({
898
898
  __name: "CloudEditor",
899
899
  props: {
900
900
  config: {},
@@ -905,86 +905,88 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
905
905
  emits: ["ready"],
906
906
  setup(e, { expose: i, emit: c }) {
907
907
  let l = e;
908
- t(B, l.cloudTranslations);
909
- let m = c, C = w(null), k = w(null), A = Ke({
908
+ t(ie, l.cloudTranslations);
909
+ let m = c, C = w(null), k = w(null), A = qe({
910
910
  config: l.config,
911
911
  translations: l.translations,
912
912
  fontsManager: l.fontsManager,
913
913
  emit: m,
914
914
  getCommentsSidebar: () => C.value ? { filterByBlock: C.value.filterCommentsByBlock } : null
915
- }), { isInitializing: j, isAuthReady: te, initError: M, planConfigInstance: N, websocket: P, collaboration: F, isCollaborationEnabled: re, editor: I, core: L, featureFlags: R, mediaLib: z, exporter: ie, testEmail: V, commentsInstance: ae, savedModulesHeadless: oe, panelState: H, snapshotPreview: U, collabWarning: W, showSaveModuleDialog: G, showModuleBrowserModal: K, saveModulePreSelectedBlockId: q, setThemeOverrides: se, setUiTheme: ce } = A, J = w("blocks");
916
- t(he, J);
917
- let Y = x(() => le(l.config.editorType) === "popup"), X = x(() => Y.value && J.value === "displayRules"), ue = x(() => Y.value && J.value === "schedule"), de = x(() => J.value === "design"), fe = x(() => Y.value && (X.value || ue.value || de.value)), pe = x(() => X.value || ue.value);
918
- r(() => [te.value, I.content.value.settings.popup], ([e]) => {
919
- if (!e || !Y.value || I.content.value.settings.popup) return;
920
- let t = ee();
921
- I.updateSettings({
915
+ }), { isInitializing: j, isAuthReady: M, initError: N, planConfigInstance: P, websocket: te, collaboration: F, isCollaborationEnabled: ne, editor: L, core: R, featureFlags: B, mediaLib: re, exporter: V, testEmail: H, commentsInstance: ae, savedModulesHeadless: oe, panelState: U, snapshotPreview: W, collabWarning: G, showSaveModuleDialog: K, showModuleBrowserModal: q, saveModulePreSelectedBlockId: J, setThemeOverrides: ce, setUiTheme: le } = A, Y = w("blocks");
916
+ t(ye, Y);
917
+ let X = w(null);
918
+ t(se, X);
919
+ let Z = x(() => ve(l.config.editorType) === "popup"), ue = x(() => Z.value && Y.value === "displayRules"), de = x(() => Z.value && Y.value === "schedule"), fe = x(() => Y.value === "design"), pe = x(() => Z.value && (ue.value || de.value || fe.value)), me = x(() => ue.value || de.value);
920
+ r(() => [M.value, L.content.value.settings.popup], ([e]) => {
921
+ if (!e || !Z.value || L.content.value.settings.popup) return;
922
+ let t = z();
923
+ L.updateSettings({
922
924
  popup: t,
923
- width: xe[t.design.sizePreset]
925
+ width: ee[t.design.sizePreset]
924
926
  });
925
927
  }, { immediate: !0 });
926
- async function me(e) {
928
+ async function he(e) {
927
929
  try {
928
- await V.sendTestEmail(e), H.testEmailModalOpen.value = !1;
930
+ await H.sendTestEmail(e), U.testEmailModalOpen.value = !1;
929
931
  } catch {}
930
932
  }
931
933
  function ge(e, t) {
932
934
  for (let n = 0; n < e.content.length; n++) {
933
- let r = ne(e.content[n]), i = t === void 0 ? void 0 : t + n;
934
- I.addBlock(r, void 0, void 0, i);
935
+ let r = I(e.content[n]), i = t === void 0 ? void 0 : t + n;
936
+ L.addBlock(r, void 0, void 0, i);
935
937
  }
936
- K.value = !1;
938
+ q.value = !1;
937
939
  }
938
- let Z = Je({
940
+ let Q = Ye({
939
941
  config: l.config,
940
- editor: I,
941
- websocket: P,
942
- planConfigInstance: N,
943
- snapshotPreview: U,
944
- core: L,
945
- exporter: ie,
946
- featureFlags: R,
942
+ editor: L,
943
+ websocket: te,
944
+ planConfigInstance: P,
945
+ snapshotPreview: W,
946
+ core: R,
947
+ exporter: V,
948
+ featureFlags: B,
947
949
  isDestroyed: A.isDestroyed
948
- }), Q = x(() => {
949
- if (I.state.previewMode) return ["tpl:left-0", "tpl:right-0"];
950
- let e = H.rightPanelOpen.value ? "tpl:right-[680px]" : "tpl:right-[320px]";
951
- if (!Y.value) return ["tpl:left-12", e];
950
+ }), _e = x(() => {
951
+ if (L.state.previewMode) return ["tpl:left-0", "tpl:right-0"];
952
+ let e = U.rightPanelOpen.value ? "tpl:right-[680px]" : "tpl:right-[320px]";
953
+ if (!Z.value) return ["tpl:left-12", e];
952
954
  let t;
953
- return t = J.value === "blocks" ? "tpl:left-[272px]" : de.value ? "tpl:left-[392px]" : "tpl:left-[72px]", [t, fe.value ? "tpl:right-0" : e];
954
- }), $ = Ye({
955
- issues: L.accessibilityLint ? L.accessibilityLint.issues : w([]),
956
- planConfig: N.config
955
+ return t = Y.value === "blocks" ? "tpl:left-[272px]" : fe.value ? "tpl:left-[392px]" : "tpl:left-[72px]", [t, pe.value ? "tpl:right-0" : e];
956
+ }), $ = Xe({
957
+ issues: R.accessibilityLint ? R.accessibilityLint.issues : w([]),
958
+ planConfig: P.config
957
959
  });
958
- async function _e() {
959
- await $.tryRunSave(() => Z.saveTemplate().catch((e) => l.config.onError?.(e)));
960
+ async function be() {
961
+ await $.tryRunSave(() => Q.saveTemplate().catch((e) => l.config.onError?.(e)));
960
962
  }
961
- return A.onSaveHook.value = _e, a(() => {
963
+ return A.onSaveHook.value = be, a(() => {
962
964
  A.initialize();
963
965
  }), o(() => {
964
966
  A.destroy();
965
967
  }), i({
966
- getContent: () => I.content.value,
967
- setContent: (e) => I.setContent(e),
968
- setTheme: ce,
969
- setThemeOverrides: se,
968
+ getContent: () => L.content.value,
969
+ setContent: (e) => L.setContent(e),
970
+ setTheme: le,
971
+ setThemeOverrides: ce,
970
972
  undo: () => {
971
- W.showCollabUndoWarning(), L.history.undo();
973
+ G.showCollabUndoWarning(), R.history.undo();
972
974
  },
973
- redo: () => L.history.redo(),
974
- canUndo: () => L.history.canUndo.value,
975
- canRedo: () => L.history.canRedo.value,
976
- create: Z.createTemplate,
977
- load: Z.loadTemplate,
978
- save: Z.saveTemplate,
979
- sendTestEmail: V.sendTestEmail,
975
+ redo: () => R.history.redo(),
976
+ canUndo: () => R.history.canUndo.value,
977
+ canRedo: () => R.history.canRedo.value,
978
+ create: Q.createTemplate,
979
+ load: Q.loadTemplate,
980
+ save: Q.saveTemplate,
981
+ sendTestEmail: H.sendTestEmail,
980
982
  startTour: (e) => k.value?.start(e),
981
983
  dismissTour: () => k.value?.dismiss(),
982
- resetTourDismissed: () => je(l.config.tour),
983
- isTourDismissed: () => l.config.tour ? Te(l.config.tour) : !0
984
+ resetTourDismissed: () => Me(l.config.tour),
985
+ isTourDismissed: () => l.config.tour ? Ee(l.config.tour) : !0
984
986
  }), (t, r) => (s(), E("div", {
985
- class: T(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": p(I).state.darkMode }]),
986
- "data-tpl-theme": p(L).resolvedTheme.value,
987
- style: h(p(L).themeStyles.value)
987
+ class: T(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": p(L).state.darkMode }]),
988
+ "data-tpl-theme": p(R).resolvedTheme.value,
989
+ style: h(p(R).themeStyles.value)
988
990
  }, [
989
991
  D(S, {
990
992
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
@@ -994,7 +996,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
994
996
  "leave-from-class": "tpl:opacity-100",
995
997
  "leave-to-class": "tpl:opacity-0"
996
998
  }, {
997
- default: u(() => [D(Tt, { visible: p(j) || p(I).state.isLoading }, null, 8, ["visible"])]),
999
+ default: u(() => [D(Et, { visible: p(j) || p(L).state.isLoading }, null, 8, ["visible"])]),
998
1000
  _: 1
999
1001
  }),
1000
1002
  D(S, {
@@ -1005,9 +1007,9 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1005
1007
  "leave-from-class": "tpl:opacity-100",
1006
1008
  "leave-to-class": "tpl:opacity-0"
1007
1009
  }, {
1008
- default: u(() => [D(jt, {
1009
- error: p(M),
1010
- visible: !!p(M) && !p(j),
1010
+ default: u(() => [D(Mt, {
1011
+ error: p(N),
1012
+ visible: !!p(N) && !p(j),
1011
1013
  onRetry: p(A).initialize
1012
1014
  }, null, 8, [
1013
1015
  "error",
@@ -1016,20 +1018,20 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1016
1018
  ])]),
1017
1019
  _: 1
1018
1020
  }),
1019
- D(bt, {
1020
- editor: p(I),
1021
- "on-before-history-undo": p(W).showCollabUndoWarning,
1022
- "feature-flags": p(R),
1023
- "panel-state": p(H),
1024
- "snapshot-preview": p(U),
1021
+ D(xt, {
1022
+ editor: p(L),
1023
+ "on-before-history-undo": p(G).showCollabUndoWarning,
1024
+ "feature-flags": p(B),
1025
+ "panel-state": p(U),
1026
+ "snapshot-preview": p(W),
1025
1027
  "comments-instance": p(ae),
1026
- "test-email": p(V),
1027
- websocket: p(P),
1028
+ "test-email": p(H),
1029
+ websocket: p(te),
1028
1030
  collaboration: p(F),
1029
- "is-collaboration-enabled": p(re),
1030
- "is-saving": p(I).state.isSaving || p(R).isSaveExporting.value,
1031
- "is-save-disabled": p(I).state.isSaving || p(R).isSaveExporting.value || !p(I).state.isDirty,
1032
- onSave: _e
1031
+ "is-collaboration-enabled": p(ne),
1032
+ "is-saving": p(L).state.isSaving || p(B).isSaveExporting.value,
1033
+ "is-save-disabled": p(L).state.isSaving || p(B).isSaveExporting.value || !p(L).state.isDirty,
1034
+ onSave: be
1033
1035
  }, null, 8, [
1034
1036
  "editor",
1035
1037
  "on-before-history-undo",
@@ -1044,7 +1046,7 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1044
1046
  "is-saving",
1045
1047
  "is-save-disabled"
1046
1048
  ]),
1047
- D(at, {
1049
+ D(ot, {
1048
1050
  open: p($).modalOpen.value,
1049
1051
  issues: p($).blockingIssues.value,
1050
1052
  onCancel: p($).cancel,
@@ -1055,10 +1057,10 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1055
1057
  "onCancel",
1056
1058
  "onConfirm"
1057
1059
  ]),
1058
- D(Ft, {
1059
- visible: p(U).isPreviewingSnapshot.value,
1060
- onCancel: p(U).cancelPreview,
1061
- onConfirm: p(U).confirmRestoreSnapshot
1060
+ D(It, {
1061
+ visible: p(W).isPreviewingSnapshot.value,
1062
+ onCancel: p(W).cancelPreview,
1063
+ onConfirm: p(W).confirmRestoreSnapshot
1062
1064
  }, null, 8, [
1063
1065
  "visible",
1064
1066
  "onCancel",
@@ -1072,21 +1074,21 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1072
1074
  "leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
1073
1075
  "leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
1074
1076
  }, {
1075
- default: u(() => [D(Lt, { visible: p(W).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1077
+ default: u(() => [D(Rt, { visible: p(G).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1076
1078
  _: 1
1077
1079
  }),
1078
- n(D(Fe, null, null, 512), [[b, !p(I).state.previewMode]]),
1080
+ n(D(Ie, null, null, 512), [[b, !p(L).state.previewMode]]),
1079
1081
  y("div", {
1080
- class: T(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [...Q.value, p(U).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1082
+ class: T(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [..._e.value, p(W).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1081
1083
  style: h({
1082
1084
  transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
1083
- backgroundColor: pe.value ? "var(--tpl-bg)" : "var(--tpl-canvas-bg)"
1085
+ backgroundColor: me.value ? "var(--tpl-bg)" : "var(--tpl-canvas-bg)"
1084
1086
  })
1085
- }, [Y.value && J.value === "displayRules" ? (s(), v(Pe, { key: 0 })) : Y.value && J.value === "schedule" ? (s(), v(Re, {
1087
+ }, [Z.value && Y.value === "displayRules" ? (s(), v(Fe, { key: 0 })) : Z.value && Y.value === "schedule" ? (s(), v(ze, {
1086
1088
  key: 1,
1087
1089
  layout: "standalone"
1088
- })) : (s(), E(g, { key: 2 }, [y("div", zt, [D(S, { name: "tpl-restore-btn" }, {
1089
- default: u(() => [p(L).conditionPreview.hasHiddenBlocks.value ? (s(), E("button", {
1090
+ })) : (s(), E(g, { key: 2 }, [y("div", Bt, [D(S, { name: "tpl-restore-btn" }, {
1091
+ default: u(() => [p(R).conditionPreview.hasHiddenBlocks.value ? (s(), E("button", {
1090
1092
  key: 0,
1091
1093
  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",
1092
1094
  style: {
@@ -1095,26 +1097,26 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1095
1097
  "border-color": "var(--tpl-warning)",
1096
1098
  "backdrop-filter": "blur(8px)"
1097
1099
  },
1098
- onClick: r[0] ||= (e) => p(L).conditionPreview.reset()
1099
- }, [D(p(Ce), {
1100
+ onClick: r[0] ||= (e) => p(R).conditionPreview.reset()
1101
+ }, [D(p(we), {
1100
1102
  size: 13,
1101
1103
  "stroke-width": 2
1102
- }), f(" " + _(p(L).t.blockSettings.restoreHiddenBlocks), 1)])) : d("", !0)]),
1104
+ }), f(" " + _(p(R).t.blockSettings.restoreHiddenBlocks), 1)])) : d("", !0)]),
1103
1105
  _: 1
1104
- })]), y("main", { class: T(["tpl-main tpl:flex tpl:w-full tpl:flex-col", Y.value ? "tpl:gap-3 tpl:px-4 tpl:pt-4 tpl:pb-6" : "tpl:items-center tpl:gap-3 tpl:p-8"]) }, [D(Ne, {
1105
- "preview-mode": p(I).state.previewMode,
1106
+ })]), y("main", { class: T(["tpl-main tpl:flex tpl:w-full tpl:flex-col", Z.value ? "tpl:gap-3 tpl:px-4 tpl:pt-4 tpl:pb-6" : "tpl:items-center tpl:gap-3 tpl:p-8"]) }, [D(Pe, {
1107
+ "preview-mode": p(L).state.previewMode,
1106
1108
  "multi-page-canvas": e.config.multiPageCanvas ?? !1
1107
- }, null, 8, ["preview-mode", "multi-page-canvas"]), Y.value ? (s(), E("div", Bt, [r[11] ||= O("<div class=\"tpl-popup-browser-bar tpl:relative tpl:flex tpl:h-9 tpl:items-center tpl:gap-1.5 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:px-3\" aria-hidden=\"true\" data-v-1d3e3f2d><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#ff5f57;\" data-v-1d3e3f2d></span><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#febc2e;\" data-v-1d3e3f2d></span><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#28c840;\" data-v-1d3e3f2d></span><div class=\"tpl:pointer-events-none tpl:absolute tpl:left-1/2 tpl:top-1/2 tpl:-translate-x-1/2 tpl:-translate-y-1/2 tpl:rounded-md tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-0.5 tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:tracking-tight\" data-v-1d3e3f2d> yourstore.com </div></div>", 1), D(Ae, {
1108
- viewport: p(I).state.viewport,
1109
- content: p(I).content.value,
1110
- "selected-block-id": p(I).state.selectedBlockId,
1111
- "dark-mode": p(I).state.darkMode,
1112
- "preview-mode": p(I).state.previewMode,
1109
+ }, null, 8, ["preview-mode", "multi-page-canvas"]), Z.value ? (s(), E("div", Vt, [r[11] ||= O("<div class=\"tpl-popup-browser-bar tpl:relative tpl:flex tpl:h-9 tpl:items-center tpl:gap-1.5 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:px-3\" aria-hidden=\"true\" data-v-2d71aee7><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#ff5f57;\" data-v-2d71aee7></span><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#febc2e;\" data-v-2d71aee7></span><span class=\"tpl:block tpl:size-3 tpl:rounded-full\" style=\"background-color:#28c840;\" data-v-2d71aee7></span><div class=\"tpl:pointer-events-none tpl:absolute tpl:left-1/2 tpl:top-1/2 tpl:-translate-x-1/2 tpl:-translate-y-1/2 tpl:rounded-md tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-0.5 tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:tracking-tight\" data-v-2d71aee7> yourstore.com </div></div>", 1), D(je, {
1110
+ viewport: p(L).state.viewport,
1111
+ content: p(L).content.value,
1112
+ "selected-block-id": p(L).state.selectedBlockId,
1113
+ "dark-mode": p(L).state.darkMode,
1114
+ "preview-mode": p(L).state.previewMode,
1113
1115
  "multi-page-canvas": e.config.multiPageCanvas ?? !1,
1114
1116
  "locked-blocks": p(F)?.lockedBlocks.value ?? void 0,
1115
- onSelectBlock: p(I).selectBlock,
1116
- onOpenAiChat: r[1] ||= (e) => p(H).aiChatOpen.value = !0,
1117
- onOpenDesignReference: r[2] ||= (e) => p(H).designReferenceOpen.value = !0
1117
+ onSelectBlock: p(L).selectBlock,
1118
+ onOpenAiChat: r[1] ||= (e) => p(U).aiChatOpen.value = !0,
1119
+ onOpenDesignReference: r[2] ||= (e) => p(U).designReferenceOpen.value = !0
1118
1120
  }, null, 8, [
1119
1121
  "viewport",
1120
1122
  "content",
@@ -1124,18 +1126,18 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1124
1126
  "multi-page-canvas",
1125
1127
  "locked-blocks",
1126
1128
  "onSelectBlock"
1127
- ])])) : (s(), v(Ae, {
1129
+ ])])) : (s(), v(je, {
1128
1130
  key: 1,
1129
- viewport: p(I).state.viewport,
1130
- content: p(I).content.value,
1131
- "selected-block-id": p(I).state.selectedBlockId,
1132
- "dark-mode": p(I).state.darkMode,
1133
- "preview-mode": p(I).state.previewMode,
1131
+ viewport: p(L).state.viewport,
1132
+ content: p(L).content.value,
1133
+ "selected-block-id": p(L).state.selectedBlockId,
1134
+ "dark-mode": p(L).state.darkMode,
1135
+ "preview-mode": p(L).state.previewMode,
1134
1136
  "multi-page-canvas": e.config.multiPageCanvas ?? !1,
1135
1137
  "locked-blocks": p(F)?.lockedBlocks.value ?? void 0,
1136
- onSelectBlock: p(I).selectBlock,
1137
- onOpenAiChat: r[3] ||= (e) => p(H).aiChatOpen.value = !0,
1138
- onOpenDesignReference: r[4] ||= (e) => p(H).designReferenceOpen.value = !0
1138
+ onSelectBlock: p(L).selectBlock,
1139
+ onOpenAiChat: r[3] ||= (e) => p(U).aiChatOpen.value = !0,
1140
+ onOpenDesignReference: r[4] ||= (e) => p(U).designReferenceOpen.value = !0
1139
1141
  }, null, 8, [
1140
1142
  "viewport",
1141
1143
  "content",
@@ -1146,50 +1148,50 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1146
1148
  "locked-blocks",
1147
1149
  "onSelectBlock"
1148
1150
  ]))], 2)], 64))], 6),
1149
- e.config.branding !== !1 && !p(R).isWhiteLabeled.value ? (s(), v(Le, {
1151
+ e.config.branding !== !1 && !p(B).isWhiteLabeled.value ? (s(), v(Re, {
1150
1152
  key: 0,
1151
- "position-class": Q.value
1153
+ "position-class": _e.value
1152
1154
  }, null, 8, ["position-class"])) : d("", !0),
1153
1155
  y("div", {
1154
1156
  class: "tpl-sr-only",
1155
1157
  role: "status",
1156
1158
  "aria-live": "polite",
1157
1159
  "aria-atomic": "true",
1158
- "aria-label": p(L).t.landmarks.reorderAnnouncements
1159
- }, _(p(L).keyboardReorder.announcement.value), 9, Vt),
1160
- n(D(Oe, {
1161
- "selected-block": p(I).selectedBlock.value,
1162
- settings: p(I).content.value.settings,
1163
- "shifted-left": p(H).rightPanelOpen.value,
1164
- onUpdateBlock: r[5] ||= (e) => p(I).updateBlock(p(I).selectedBlock.value.id, e),
1165
- onDeleteBlock: r[6] ||= (e) => p(L).blockActions.deleteBlock(p(I).selectedBlock.value.id),
1166
- onDuplicateBlock: r[7] ||= (e) => p(L).blockActions.duplicateBlock(p(I).selectedBlock.value),
1167
- onUpdateSettings: p(I).updateSettings
1160
+ "aria-label": p(R).t.landmarks.reorderAnnouncements
1161
+ }, _(p(R).keyboardReorder.announcement.value), 9, Ht),
1162
+ n(D(ke, {
1163
+ "selected-block": p(L).selectedBlock.value,
1164
+ settings: p(L).content.value.settings,
1165
+ "shifted-left": p(U).rightPanelOpen.value,
1166
+ onUpdateBlock: r[5] ||= (e) => p(L).updateBlock(p(L).selectedBlock.value.id, e),
1167
+ onDeleteBlock: r[6] ||= (e) => p(R).blockActions.deleteBlock(p(L).selectedBlock.value.id),
1168
+ onDuplicateBlock: r[7] ||= (e) => p(R).blockActions.duplicateBlock(p(L).selectedBlock.value),
1169
+ onUpdateSettings: p(L).updateSettings
1168
1170
  }, null, 8, [
1169
1171
  "selected-block",
1170
1172
  "settings",
1171
1173
  "shifted-left",
1172
1174
  "onUpdateSettings"
1173
- ]), [[b, !p(I).state.previewMode && !fe.value]]),
1174
- !p(j) && p(te) ? (s(), v(xt, {
1175
+ ]), [[b, !p(L).state.previewMode && !pe.value]]),
1176
+ !p(j) && p(M) ? (s(), v(St, {
1175
1177
  key: 1,
1176
1178
  ref_key: "cloudPanelsRef",
1177
1179
  ref: C,
1178
1180
  config: l.config,
1179
- editor: p(I),
1180
- core: p(L),
1181
- "panel-state": p(H),
1182
- "plan-config-instance": p(N),
1183
- "test-email": p(V),
1184
- "media-lib": p(z),
1181
+ editor: p(L),
1182
+ core: p(R),
1183
+ "panel-state": p(U),
1184
+ "plan-config-instance": p(P),
1185
+ "test-email": p(H),
1186
+ "media-lib": p(re),
1185
1187
  "saved-modules-headless": p(oe),
1186
- "show-save-module-dialog": p(G),
1187
- "save-module-pre-selected-block-id": p(q),
1188
- "show-module-browser-modal": p(K),
1189
- "onUpdate:showSaveModuleDialog": r[8] ||= (e) => G.value = e,
1190
- "onUpdate:saveModulePreSelectedBlockId": r[9] ||= (e) => q.value = e,
1191
- "onUpdate:showModuleBrowserModal": r[10] ||= (e) => K.value = e,
1192
- onSendTestEmail: me,
1188
+ "show-save-module-dialog": p(K),
1189
+ "save-module-pre-selected-block-id": p(J),
1190
+ "show-module-browser-modal": p(q),
1191
+ "onUpdate:showSaveModuleDialog": r[8] ||= (e) => K.value = e,
1192
+ "onUpdate:saveModulePreSelectedBlockId": r[9] ||= (e) => J.value = e,
1193
+ "onUpdate:showModuleBrowserModal": r[10] ||= (e) => q.value = e,
1194
+ onSendTestEmail: he,
1193
1195
  onModuleInsert: ge
1194
1196
  }, null, 8, [
1195
1197
  "config",
@@ -1204,17 +1206,22 @@ var Xe = ["aria-label"], Ze = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1204
1206
  "save-module-pre-selected-block-id",
1205
1207
  "show-module-browser-modal"
1206
1208
  ])) : d("", !0),
1207
- e.config.tour ? (s(), v(Ie, {
1209
+ y("div", {
1210
+ ref_key: "floatingUiTeleportEl",
1211
+ ref: X,
1212
+ class: "tpl-editor-floating-ui tpl:pointer-events-none tpl:fixed tpl:inset-0 tpl:z-[9999] tpl:overflow-visible"
1213
+ }, null, 512),
1214
+ e.config.tour ? (s(), v(Le, {
1208
1215
  key: 2,
1209
1216
  ref_key: "editorTourRef",
1210
1217
  ref: k,
1211
1218
  "tour-config": e.config.tour,
1212
- "dark-mode": p(I).state.darkMode
1219
+ "dark-mode": p(L).state.darkMode
1213
1220
  }, null, 8, ["tour-config", "dark-mode"])) : d("", !0)
1214
- ], 14, Rt));
1221
+ ], 14, zt));
1215
1222
  }
1216
- }), [["__scopeId", "data-v-1d3e3f2d"]]);
1223
+ }), [["__scopeId", "data-v-2d71aee7"]]);
1217
1224
  //#endregion
1218
- export { Ht as default };
1225
+ export { Ut as default };
1219
1226
 
1220
- //# sourceMappingURL=CloudEditor-BBBkTBfW.js.map
1227
+ //# sourceMappingURL=CloudEditor-DUIjZDAS.js.map