@templatical/editor 0.16.2 → 0.16.3

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 (75) hide show
  1. package/dist/{AiFeatureMenu-DfTYyExg.js → AiFeatureMenu-CcGRd1xE.js} +1 -1
  2. package/dist/{CloudEditor-BQyZ_nFg.js → CloudEditor-CUIWUMp5.js} +6 -6
  3. package/dist/{CollaboratorBar-DeP7K-zk.js → CollaboratorBar-DmxqeBYZ.js} +1 -1
  4. package/dist/ColorPicker-Gs4BMVog.js +474 -0
  5. package/dist/{CountdownToolbar-nY9H0BKd.js → CountdownToolbar-92w1YySJ.js} +2 -2
  6. package/dist/{ModuleBrowserModal-CkeYw1e3.js → ModuleBrowserModal-DsehjLvh.js} +4 -4
  7. package/dist/{ModulePreviewCanvas-BIMFyYaa.js → ModulePreviewCanvas-BBfuS8VW.js} +1 -1
  8. package/dist/{NumberWithSuffix-BoZyUoNz.js → NumberWithSuffix-BxSRfI8b.js} +1 -1
  9. package/dist/{ParagraphEditor-DGsTFMxg.js → ParagraphEditor-vgvQxicC.js} +4 -4
  10. package/dist/{RichTextEditorContent-BB_n8vgB.js → RichTextEditorContent-Dza2oPvh.js} +1 -1
  11. package/dist/{SaveModuleDialog-Cypt_qOB.js → SaveModuleDialog-DNWGCHlS.js} +2 -2
  12. package/dist/{SnapshotHistory-DQTH8TCS.js → SnapshotHistory-BLmnNLg1.js} +2 -2
  13. package/dist/{TestEmailModal-DqxrL-U9.js → TestEmailModal-D6v1hgY2.js} +2 -2
  14. package/dist/{TitleEditor-DoGgnrcb.js → TitleEditor-DPdzOQpq.js} +2 -2
  15. package/dist/{TplModal-Ca-29YDD.js → TplModal-DObT0uxf.js} +1 -1
  16. package/dist/{blockTypeIcons-DVJXg5si.js → blockTypeIcons-B9f5fH_5.js} +1 -1
  17. package/dist/bundle-stats.json +6 -6
  18. package/dist/cdn/chunks/{AiFeatureMenu-roPglhox.js → AiFeatureMenu-CyUCHd9I.js} +8 -8
  19. package/dist/cdn/chunks/{AiFeatureMenu-roPglhox.js.map → AiFeatureMenu-CyUCHd9I.js.map} +1 -1
  20. package/dist/cdn/chunks/{BlockIssueBadge-DW_Tt7Wg.js → BlockIssueBadge-BAa_dI-c.js} +5 -5
  21. package/dist/cdn/chunks/{BlockIssueBadge-DW_Tt7Wg.js.map → BlockIssueBadge-BAa_dI-c.js.map} +1 -1
  22. package/dist/cdn/chunks/{CloudEditor-CX6y1k3C.js → CloudEditor-ClfgLU48.js} +159 -159
  23. package/dist/cdn/chunks/{CloudEditor-CX6y1k3C.js.map → CloudEditor-ClfgLU48.js.map} +1 -1
  24. package/dist/cdn/chunks/{CollaboratorBar-Dyrab63H.js → CollaboratorBar-DCc5SL0P.js} +3 -3
  25. package/dist/cdn/chunks/{CollaboratorBar-Dyrab63H.js.map → CollaboratorBar-DCc5SL0P.js.map} +1 -1
  26. package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js +471 -0
  27. package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js.map +1 -0
  28. package/dist/cdn/chunks/{CountdownBlock-Bul4tczj.js → CountdownBlock-Bj7aoBUU.js} +4 -4
  29. package/dist/cdn/chunks/{CountdownBlock-Bul4tczj.js.map → CountdownBlock-Bj7aoBUU.js.map} +1 -1
  30. package/dist/cdn/chunks/{CountdownToolbar-DYvATR0J.js → CountdownToolbar-B1oniVq1.js} +4 -4
  31. package/dist/cdn/chunks/{CountdownToolbar-DYvATR0J.js.map → CountdownToolbar-B1oniVq1.js.map} +1 -1
  32. package/dist/cdn/chunks/{IssuesPanel-BhHU-hq3.js → IssuesPanel-BXLVRo-c.js} +7 -7
  33. package/dist/cdn/chunks/{IssuesPanel-BhHU-hq3.js.map → IssuesPanel-BXLVRo-c.js.map} +1 -1
  34. package/dist/cdn/chunks/{ModuleBrowserModal-BGd5Ryyx.js → ModuleBrowserModal-C7BkJvzf.js} +6 -6
  35. package/dist/cdn/chunks/{ModuleBrowserModal-BGd5Ryyx.js.map → ModuleBrowserModal-C7BkJvzf.js.map} +1 -1
  36. package/dist/cdn/chunks/{ModulePreviewCanvas-Hx6SCCjB.js → ModulePreviewCanvas-BJn-ZHlC.js} +10 -10
  37. package/dist/cdn/chunks/{ModulePreviewCanvas-Hx6SCCjB.js.map → ModulePreviewCanvas-BJn-ZHlC.js.map} +1 -1
  38. package/dist/cdn/chunks/{NumberWithSuffix-BImuhc9K.js → NumberWithSuffix-CkOxH3F7.js} +2 -2
  39. package/dist/cdn/chunks/{NumberWithSuffix-BImuhc9K.js.map → NumberWithSuffix-CkOxH3F7.js.map} +1 -1
  40. package/dist/cdn/chunks/{ParagraphEditor-K2vENidm.js → ParagraphEditor-4cMKKC-V.js} +146 -146
  41. package/dist/cdn/chunks/{ParagraphEditor-K2vENidm.js.map → ParagraphEditor-4cMKKC-V.js.map} +1 -1
  42. package/dist/cdn/chunks/{RichTextEditorContent-B_w3u5lN.js → RichTextEditorContent-7RZe4tbj.js} +6 -6
  43. package/dist/cdn/chunks/{RichTextEditorContent-B_w3u5lN.js.map → RichTextEditorContent-7RZe4tbj.js.map} +1 -1
  44. package/dist/cdn/chunks/{SaveModuleDialog-Cw-182CB.js → SaveModuleDialog-mr9A4j6G.js} +4 -4
  45. package/dist/cdn/chunks/{SaveModuleDialog-Cw-182CB.js.map → SaveModuleDialog-mr9A4j6G.js.map} +1 -1
  46. package/dist/cdn/chunks/{TitleEditor-CUKlo_Zj.js → TitleEditor-Cqw2jvuc.js} +8 -8
  47. package/dist/cdn/chunks/{TitleEditor-CUKlo_Zj.js.map → TitleEditor-Cqw2jvuc.js.map} +1 -1
  48. package/dist/cdn/chunks/{blockTypeIcons-Cx1FAqL6.js → blockTypeIcons-B_xRBxSU.js} +8 -8
  49. package/dist/cdn/chunks/{blockTypeIcons-Cx1FAqL6.js.map → blockTypeIcons-B_xRBxSU.js.map} +1 -1
  50. package/dist/cdn/chunks/{extensions-DSxG2wYf.js → extensions-Btyx_IMf.js} +19 -19
  51. package/dist/cdn/chunks/{extensions-DSxG2wYf.js.map → extensions-Btyx_IMf.js.map} +1 -1
  52. package/dist/cdn/chunks/{features-C-cjT_8L.js → features-Dwb5aTLg.js} +18 -16
  53. package/dist/cdn/chunks/features-Dwb5aTLg.js.map +1 -0
  54. package/dist/cdn/chunks/{icons-ay0_fN-T.js → icons-Dhqh5lYQ.js} +2 -2
  55. package/dist/cdn/chunks/{icons-ay0_fN-T.js.map → icons-Dhqh5lYQ.js.map} +1 -1
  56. package/dist/cdn/chunks/{media-library-CkmqPdO4.js → media-library-DRodsf2D.js} +101 -101
  57. package/dist/cdn/chunks/{media-library-CkmqPdO4.js.map → media-library-DRodsf2D.js.map} +1 -1
  58. package/dist/cdn/chunks/{quality-CDNrMw2A.js → quality-A_V2Iqu_.js} +435 -435
  59. package/dist/cdn/chunks/{quality-CDNrMw2A.js.map → quality-A_V2Iqu_.js.map} +1 -1
  60. package/dist/cdn/chunks/{renderer-JQ91A09w.js → renderer-BM_-zceB.js} +11 -11
  61. package/dist/cdn/chunks/{renderer-JQ91A09w.js.map → renderer-BM_-zceB.js.map} +1 -1
  62. package/dist/cdn/chunks/{src-Cehu7Hqx.js → src-DSomxPI-.js} +4 -4
  63. package/dist/cdn/chunks/{src-Cehu7Hqx.js.map → src-DSomxPI-.js.map} +1 -1
  64. package/dist/cdn/chunks/{styles-DBjy3lz9.js → styles--UXn88wH.js} +829 -829
  65. package/dist/cdn/chunks/{styles-DBjy3lz9.js.map → styles--UXn88wH.js.map} +1 -1
  66. package/dist/cdn/editor.js +29 -29
  67. package/dist/{dist-CFOQvhSC.js → color-DhoxCSMv.js} +9 -1
  68. package/dist/{styles-mvx3k1hf.js → styles-CPt6RYEc.js} +6 -6
  69. package/dist/templatical-editor.js +3 -3
  70. package/dist/{useEditorCore-DtZkR7Vk.js → useEditorCore-CSfeEwCj.js} +196 -202
  71. package/package.json +7 -7
  72. package/dist/ColorPicker-CXAbjTaG.js +0 -446
  73. package/dist/cdn/chunks/ColorPicker-BggAWrc9.js +0 -443
  74. package/dist/cdn/chunks/ColorPicker-BggAWrc9.js.map +0 -1
  75. package/dist/cdn/chunks/features-C-cjT_8L.js.map +0 -1
@@ -2,25 +2,25 @@ import { $ as e, A as t, B as n, D as r, Dt as i, E as a, Et as o, H as s, I as
2
2
  import { c as P, o as se, s as ce } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { A as le, C as ue, D as de, M as fe, N as pe, O as me, P as he, S as ge, T as _e, _ as ve, b as ye, c as be, d as xe, f as Se, g as Ce, h as we, j as Te, k as Ee, l as De, m as Oe, n as ke, o as Ae, p as je, r as Me, s as Ne, t as Pe, u as Fe, v as Ie, w as Le, x as Re, y as ze } from "./dist-DoRIUsfz.js";
4
4
  import { f as Be, g as Ve, h as He, m as Ue } from "./dist-DYv_Pttj.js";
5
- import { a as We, i as Ge, n as Ke, r as qe } from "./dist-CFOQvhSC.js";
6
- import { A as Je, C as Ye, D as Xe, E as Ze, F as Qe, I as $e, L as et, N as tt, O as nt, P as rt, S as it, T as at, _ as ot, a as st, b as ct, d as lt, f as ut, g as dt, h as ft, i as pt, k as mt, m as ht, n as gt, o as _t, p as vt, s as yt, u as bt, v as xt, w as St, x as Ct, y as wt } from "./keys-BbDgCU6K.js";
7
- import { t as Tt } from "./useI18n-eR1yVW0v.js";
5
+ import { a as We, i as Ge, o as Ke, r as qe, t as Je } from "./color-DhoxCSMv.js";
6
+ import { A as Ye, C as Xe, D as Ze, E as Qe, F as $e, I as et, L as tt, N as nt, O as rt, P as it, S as at, T as ot, _ as st, a as ct, b as lt, d as ut, f as dt, g as ft, h as pt, i as mt, k as ht, m as gt, n as _t, o as vt, p as yt, s as bt, u as xt, v as St, w as Ct, x as wt, y as Tt } from "./keys-BbDgCU6K.js";
7
+ import { t as Et } from "./useI18n-eR1yVW0v.js";
8
8
  import { t as F } from "./createLucideIcon-Bh9xOmlW.js";
9
- import { t as Et } from "./loader-circle-DFU0HPAa.js";
10
- import { t as Dt } from "./message-circle-BEBsCHnk.js";
11
- import { t as Ot } from "./trash-2-B6M659Ey.js";
12
- import { t as kt } from "./triangle-alert-D1lzx6ds.js";
13
- import { t as At } from "./upload-3A1oZtOR.js";
14
- import { t as jt } from "./LoadingTrack-KIcREPlS.js";
15
- import { t as Mt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
9
+ import { t as Dt } from "./loader-circle-DFU0HPAa.js";
10
+ import { t as Ot } from "./message-circle-BEBsCHnk.js";
11
+ import { t as kt } from "./trash-2-B6M659Ey.js";
12
+ import { t as At } from "./triangle-alert-D1lzx6ds.js";
13
+ import { t as jt } from "./upload-3A1oZtOR.js";
14
+ import { t as Mt } from "./LoadingTrack-KIcREPlS.js";
15
+ import { t as Nt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
16
  import "./useCloudI18n-WbfVWq5k.js";
17
- import { t as Nt } from "./useMergeTag-C3GfSktg.js";
18
- import { t as Pt } from "./useAliveFlag-C43EhZFY.js";
17
+ import { t as Pt } from "./useMergeTag-C3GfSktg.js";
18
+ import { t as Ft } from "./useAliveFlag-C43EhZFY.js";
19
19
  //#region ../core/dist/index.js
20
- function Ft(e) {
20
+ function It(e) {
21
21
  return e === "1" ? 1 : e === "3" ? 3 : 2;
22
22
  }
23
- function It(e) {
23
+ function Lt(e) {
24
24
  let t = ee({
25
25
  content: e.content ?? xe(e.defaultFontFamily, e.templateDefaults),
26
26
  selectedBlockId: null,
@@ -111,7 +111,7 @@ function It(e) {
111
111
  if (c(n)) return;
112
112
  let o = a(t.content.blocks, n);
113
113
  if (o && o.type === "section") {
114
- if (r < 0 || r >= Ft(o.columns)) return;
114
+ if (r < 0 || r >= It(o.columns)) return;
115
115
  o.children[r] = o.children[r] || [];
116
116
  let t = o.children[r];
117
117
  i !== void 0 && i < t.length ? t.splice(i, 0, e) : t.push(e);
@@ -144,7 +144,7 @@ function It(e) {
144
144
  let u;
145
145
  if (r) {
146
146
  let e = a(t.content.blocks, r);
147
- if (!e || e.type !== "section" || i < 0 || i >= Ft(e.columns)) return;
147
+ if (!e || e.type !== "section" || i < 0 || i >= It(e.columns)) return;
148
148
  e.children[i] = e.children[i] || [], u = e.children[i];
149
149
  } else u = t.content.blocks;
150
150
  let [d] = o.blocks.splice(l, 1);
@@ -173,9 +173,9 @@ function It(e) {
173
173
  findBlockLocation: u
174
174
  };
175
175
  }
176
- var Lt = 50, Rt = 300, zt = 1500;
177
- function Bt(e) {
178
- let { content: t, setContent: r, isRemoteOperation: i, maxSize: a = Lt } = e, o = _([]), s = _([]), c = _(!1), l = null, u = null, d = n(() => o.value.length > 0), f = n(() => s.value.length > 0);
176
+ var Rt = 50, zt = 300, Bt = 1500;
177
+ function Vt(e) {
178
+ let { content: t, setContent: r, isRemoteOperation: i, maxSize: a = Rt } = e, o = _([]), s = _([]), c = _(!1), l = null, u = null, d = n(() => o.value.length > 0), f = n(() => s.value.length > 0);
179
179
  function p() {
180
180
  return he(t.value);
181
181
  }
@@ -193,21 +193,21 @@ function Bt(e) {
193
193
  if (u && u.blockId === e) {
194
194
  clearTimeout(u.timeoutId), u.timeoutId = setTimeout(() => {
195
195
  u = null;
196
- }, Rt);
196
+ }, zt);
197
197
  return;
198
198
  }
199
199
  h(), m(p()), s.value = [], u = {
200
200
  blockId: e,
201
201
  timeoutId: setTimeout(() => {
202
202
  u = null;
203
- }, Rt)
203
+ }, zt)
204
204
  };
205
205
  }
206
206
  }
207
207
  function y() {
208
208
  c.value = !0, l && clearTimeout(l), l = setTimeout(() => {
209
209
  c.value = !1, l = null;
210
- }, zt);
210
+ }, Bt);
211
211
  }
212
212
  function b() {
213
213
  if (o.value.length === 0) return;
@@ -239,7 +239,7 @@ function Bt(e) {
239
239
  destroy: C
240
240
  };
241
241
  }
242
- function Vt(e) {
242
+ function Ht(e) {
243
243
  e.type === "table" ? e.rows = e.rows.map((e) => ({
244
244
  ...e,
245
245
  id: ue(),
@@ -255,7 +255,7 @@ function Vt(e) {
255
255
  id: ue()
256
256
  })));
257
257
  }
258
- function Ht(e) {
258
+ function Ut(e) {
259
259
  let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
260
260
  function o(n, r, a) {
261
261
  let o = Ne(n, e.blockDefaults);
@@ -263,9 +263,9 @@ function Ht(e) {
263
263
  }
264
264
  function s(e, n, r) {
265
265
  let o = JSON.parse(JSON.stringify(e));
266
- if (o.id = ue(), Vt(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
266
+ if (o.id = ue(), Ht(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
267
267
  let t = JSON.parse(JSON.stringify(e));
268
- return t.id = ue(), Vt(t), t;
268
+ return t.id = ue(), Ht(t), t;
269
269
  }))), n !== void 0 || r !== void 0) t(o, n, r);
270
270
  else {
271
271
  let i = a?.(e.id) ?? null;
@@ -286,7 +286,7 @@ function Ht(e) {
286
286
  updateBlockProperty: l
287
287
  };
288
288
  }
289
- function Ut(e) {
289
+ function Wt(e) {
290
290
  let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
291
291
  function c() {
292
292
  return typeof a == "function" ? a() : a;
@@ -322,7 +322,7 @@ function Ut(e) {
322
322
  destroy: h
323
323
  };
324
324
  }
325
- function Wt(e) {
325
+ function Gt(e) {
326
326
  let t = ee(/* @__PURE__ */ new Set()), r = n(() => t.size > 0);
327
327
  function i(e) {
328
328
  return t.has(e);
@@ -340,7 +340,7 @@ function Wt(e) {
340
340
  hasHiddenBlocks: r
341
341
  };
342
342
  }
343
- function Gt(e) {
343
+ function Kt(e) {
344
344
  let t = _(!1), r = _(!1), i = n(() => !!e.definition.value?.dataSource), a = n(() => i.value && !e.block.value.dataSourceFetched);
345
345
  async function o() {
346
346
  let n = e.definition.value;
@@ -370,7 +370,7 @@ function Gt(e) {
370
370
  needsFetch: a
371
371
  };
372
372
  }
373
- function Kt(e, t) {
373
+ function qt(e, t) {
374
374
  let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
375
375
  e.addBlock = (r, i, a, o) => {
376
376
  i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
@@ -386,26 +386,26 @@ function Kt(e, t) {
386
386
  }
387
387
  //#endregion
388
388
  //#region src/utils/activeEditorTracker.ts
389
- var qt = /* @__PURE__ */ new Set(), Jt = 0, Yt = 0;
390
- function Xt() {
391
- let e = ++Yt;
392
- return qt.add(e), Jt === 0 && (Jt = e), {
389
+ var Jt = /* @__PURE__ */ new Set(), Yt = 0, Xt = 0;
390
+ function Zt() {
391
+ let e = ++Xt;
392
+ return Jt.add(e), Yt === 0 && (Yt = e), {
393
393
  id: e,
394
- isActive: () => qt.size <= 1 || Jt === e,
394
+ isActive: () => Jt.size <= 1 || Yt === e,
395
395
  claim: () => {
396
- Jt = e;
396
+ Yt = e;
397
397
  },
398
398
  dispose: () => {
399
- if (qt.delete(e), Jt === e) {
400
- let e = Array.from(qt);
401
- Jt = e[e.length - 1] ?? 0;
399
+ if (Jt.delete(e), Yt === e) {
400
+ let e = Array.from(Jt);
401
+ Yt = e[e.length - 1] ?? 0;
402
402
  }
403
403
  }
404
404
  };
405
405
  }
406
406
  //#endregion
407
407
  //#region src/composables/useMergeTagPicker.ts
408
- function Zt() {
408
+ function Qt() {
409
409
  let e = _(!1), t = _([]), n = null;
410
410
  function r(r) {
411
411
  if (n) {
@@ -435,7 +435,7 @@ function Zt() {
435
435
  }
436
436
  //#endregion
437
437
  //#region src/composables/useLogicTagPicker.ts
438
- function Qt() {
438
+ function $t() {
439
439
  let e = _(!1), t = _([]), n = _([]), r = null;
440
440
  function i(i, a) {
441
441
  if (r) {
@@ -466,11 +466,11 @@ function Qt() {
466
466
  }
467
467
  //#endregion
468
468
  //#region src/composables/useTemplateLint.ts
469
- function $t(e) {
469
+ function en(e) {
470
470
  return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
471
471
  }
472
- function en(e) {
473
- let t = _([]), n = _(!1), r = _(!1), i = v(null), a = $t(e.options), o = null, s = !1;
472
+ function tn(e) {
473
+ let t = _([]), n = _(!1), r = _(!1), i = v(null), a = en(e.options), o = null, s = !1;
474
474
  a || l();
475
475
  async function l() {
476
476
  try {
@@ -511,12 +511,12 @@ function en(e) {
511
511
  }
512
512
  //#endregion
513
513
  //#region src/utils/blockTypeLabels.ts
514
- function tn(e, t) {
514
+ function nn(e, t) {
515
515
  return t.blocks[e] ?? e;
516
516
  }
517
517
  //#endregion
518
518
  //#region src/composables/useKeyboardReorder.ts
519
- function nn(e, t) {
519
+ function rn(e, t) {
520
520
  let n = _(null), r = _(""), i = null;
521
521
  function a(t) {
522
522
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -543,7 +543,7 @@ function nn(e, t) {
543
543
  let r = a(n);
544
544
  if (!r) return "";
545
545
  let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
546
- return i ? tn(i.type, t.t) : "";
546
+ return i ? nn(i.type, t.t) : "";
547
547
  }
548
548
  function s(t, n) {
549
549
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -612,13 +612,13 @@ function nn(e, t) {
612
612
  }
613
613
  //#endregion
614
614
  //#region src/composables/useUiTheme.ts
615
- function rn(e) {
616
- let t = We("(prefers-color-scheme: dark)");
615
+ function an(e) {
616
+ let t = Ke("(prefers-color-scheme: dark)");
617
617
  return { resolvedTheme: j(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
618
618
  }
619
619
  //#endregion
620
620
  //#region src/composables/useThemeStyles.ts
621
- var an = {
621
+ var on = {
622
622
  bg: "--tpl-bg",
623
623
  bgElevated: "--tpl-bg-elevated",
624
624
  bgHover: "--tpl-bg-hover",
@@ -642,10 +642,10 @@ var an = {
642
642
  dangerLight: "--tpl-danger-light",
643
643
  canvasBg: "--tpl-canvas-bg"
644
644
  };
645
- function on({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
645
+ function sn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
646
646
  return { themeStyles: j(() => {
647
647
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
648
- if (a) for (let [e, t] of Object.entries(an)) {
648
+ if (a) for (let [e, t] of Object.entries(on)) {
649
649
  let n = a[e];
650
650
  n && (r[t] = n);
651
651
  }
@@ -654,27 +654,27 @@ function on({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
654
654
  }
655
655
  //#endregion
656
656
  //#region src/utils/logger.ts
657
- var sn = "[Templatical]";
658
- function cn() {
657
+ var cn = "[Templatical]";
658
+ function ln() {
659
659
  return typeof process < "u" && process.env.NODE_ENV === "production";
660
660
  }
661
- var ln = {
661
+ var un = {
662
662
  warn(...e) {
663
- console.warn(sn, ...e);
663
+ console.warn(cn, ...e);
664
664
  },
665
665
  error(...e) {
666
- console.error(sn, ...e);
666
+ console.error(cn, ...e);
667
667
  },
668
668
  debug(...e) {
669
- cn() || console.debug(sn, ...e);
669
+ ln() || console.debug(cn, ...e);
670
670
  },
671
671
  info(...e) {
672
- cn() || console.info(sn, ...e);
672
+ ln() || console.info(cn, ...e);
673
673
  }
674
674
  };
675
675
  //#endregion
676
676
  //#region src/composables/useBlockRegistry.ts
677
- function un() {
677
+ function dn() {
678
678
  let e = v(/* @__PURE__ */ new Map());
679
679
  function t(t, n) {
680
680
  e.value.set(t, n), ne(e);
@@ -714,7 +714,7 @@ function un() {
714
714
  strictFilters: !1
715
715
  }).parseAndRender(t.template, e.fieldValues);
716
716
  } catch (t) {
717
- return ln.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
717
+ return un.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
718
718
  }
719
719
  }
720
720
  function c(t) {
@@ -732,9 +732,9 @@ function un() {
732
732
  }
733
733
  //#endregion
734
734
  //#region src/composables/useCustomBlockStylesheets.ts
735
- function dn(e, t) {
735
+ function fn(e, t) {
736
736
  return j(() => {
737
- let n = fn(e.value.blocks);
737
+ let n = pn(e.value.blocks);
738
738
  if (n.size === 0) return [];
739
739
  let r = /* @__PURE__ */ new Set(), i = [];
740
740
  for (let e of n) {
@@ -746,11 +746,11 @@ function dn(e, t) {
746
746
  return i;
747
747
  });
748
748
  }
749
- function fn(e) {
749
+ function pn(e) {
750
750
  let t = /* @__PURE__ */ new Set();
751
- return pn(e, t), t;
751
+ return mn(e, t), t;
752
752
  }
753
- function pn(e, t) {
753
+ function mn(e, t) {
754
754
  for (let n of e) {
755
755
  if (me(n)) {
756
756
  t.add(n.customType);
@@ -759,13 +759,13 @@ function pn(e, t) {
759
759
  if (n.type === "section") {
760
760
  let e = n.children;
761
761
  if (!e) continue;
762
- for (let n of e) pn(n, t);
762
+ for (let n of e) mn(n, t);
763
763
  }
764
764
  }
765
765
  }
766
766
  //#endregion
767
767
  //#region src/utils/registerBuiltInBlocks.ts
768
- var mn = [
768
+ var hn = [
769
769
  {
770
770
  type: "section",
771
771
  createBlock: ve
@@ -819,8 +819,8 @@ var mn = [
819
819
  createBlock: De
820
820
  }
821
821
  ];
822
- function hn(e, t) {
823
- for (let n of mn) {
822
+ function gn(e, t) {
823
+ for (let n of hn) {
824
824
  let r = t[n.type];
825
825
  r && e.registerBuiltIn(n.type, {
826
826
  component: r,
@@ -830,7 +830,7 @@ function hn(e, t) {
830
830
  }
831
831
  //#endregion
832
832
  //#region src/utils/keyboardShortcuts.ts
833
- function gn(e) {
833
+ function _n(e) {
834
834
  for (let t of e.composedPath()) {
835
835
  if (!(t instanceof HTMLElement)) continue;
836
836
  if (t.isContentEditable) return !0;
@@ -839,14 +839,14 @@ function gn(e) {
839
839
  }
840
840
  return !1;
841
841
  }
842
- function _n(e, t) {
842
+ function vn(e, t) {
843
843
  let n = e.metaKey || e.ctrlKey;
844
844
  if (n && e.key.toLowerCase() === "s") {
845
845
  e.preventDefault(), t.onSave?.();
846
846
  return;
847
847
  }
848
848
  if (n && e.key.toLowerCase() === "z") {
849
- if (gn(e)) return;
849
+ if (_n(e)) return;
850
850
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
851
851
  return;
852
852
  }
@@ -854,11 +854,11 @@ function _n(e, t) {
854
854
  t.selectBlock(null);
855
855
  return;
856
856
  }
857
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !gn(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
857
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !_n(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
858
858
  }
859
859
  //#endregion
860
860
  //#region src/utils/mergeTagLabelSegments.ts
861
- function vn(e, t, n) {
861
+ function yn(e, t, n) {
862
862
  if (!e) return [];
863
863
  let r = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), i = [], a = 0, o;
864
864
  for (; (o = r.exec(e)) !== null;) {
@@ -885,20 +885,20 @@ function vn(e, t, n) {
885
885
  }
886
886
  //#endregion
887
887
  //#region src/components/MergeTagPreviewText.vue
888
- var yn = y({
888
+ var bn = y({
889
889
  name: "MergeTagPreviewText",
890
890
  props: { text: {
891
891
  type: String,
892
892
  required: !0
893
893
  } },
894
894
  setup(e) {
895
- let t = N(it, []), n = N(at, Me.liquid), r = j(() => vn(e.text, t, n));
895
+ let t = N(at, []), n = N(ot, Me.liquid), r = j(() => yn(e.text, t, n));
896
896
  return () => r.value.map((e, t) => e.type === "tag" ? ae("span", {
897
897
  key: t,
898
898
  class: "tpl-merge-tag-label"
899
899
  }, e.value) : e.value);
900
900
  }
901
- }), bn = { class: "tpl:text-center" }, xn = ["href"], Sn = /* @__PURE__ */ y({
901
+ }), xn = { class: "tpl:text-center" }, Sn = ["href"], Cn = /* @__PURE__ */ y({
902
902
  __name: "ButtonBlock",
903
903
  props: {
904
904
  block: {},
@@ -919,17 +919,17 @@ var yn = y({
919
919
  };
920
920
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
921
921
  });
922
- return (t, r) => (f(), x("div", bn, [b("a", {
922
+ return (t, r) => (f(), x("div", xn, [b("a", {
923
923
  href: e.block.url || "#",
924
924
  style: i(n.value),
925
925
  class: "tpl:cursor-default",
926
926
  onClick: r[0] ||= P(() => {}, ["prevent"])
927
- }, [w(yn, { text: e.block.text }, null, 8, ["text"])], 12, xn)]));
927
+ }, [w(bn, { text: e.block.text }, null, 8, ["text"])], 12, Sn)]));
928
928
  }
929
- }), Cn = F("bookmark", [["path", {
929
+ }), wn = F("bookmark", [["path", {
930
930
  d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
931
931
  key: "oz39mx"
932
- }]]), wn = F("box", [
932
+ }]]), Tn = F("box", [
933
933
  ["path", {
934
934
  d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
935
935
  key: "hh9hay"
@@ -942,13 +942,13 @@ var yn = y({
942
942
  d: "M12 22V12",
943
943
  key: "d0xqtd"
944
944
  }]
945
- ]), Tn = F("code", [["path", {
945
+ ]), En = F("code", [["path", {
946
946
  d: "m16 18 6-6-6-6",
947
947
  key: "eg8j8"
948
948
  }], ["path", {
949
949
  d: "m8 6-6 6 6 6",
950
950
  key: "ppft3o"
951
- }]]), En = F("copy", [["rect", {
951
+ }]]), Dn = F("copy", [["rect", {
952
952
  width: "14",
953
953
  height: "14",
954
954
  x: "8",
@@ -959,7 +959,7 @@ var yn = y({
959
959
  }], ["path", {
960
960
  d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
961
961
  key: "zix9uf"
962
- }]]), Dn = F("eye-off", [
962
+ }]]), On = F("eye-off", [
963
963
  ["path", {
964
964
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
965
965
  key: "ct8e1f"
@@ -976,10 +976,10 @@ var yn = y({
976
976
  d: "m2 2 20 20",
977
977
  key: "1ooewy"
978
978
  }]
979
- ]), On = F("funnel", [["path", {
979
+ ]), kn = F("funnel", [["path", {
980
980
  d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
981
981
  key: "sc7q7i"
982
- }]]), kn = F("grip-vertical", [
982
+ }]]), An = F("grip-vertical", [
983
983
  ["circle", {
984
984
  cx: "9",
985
985
  cy: "12",
@@ -1016,7 +1016,7 @@ var yn = y({
1016
1016
  r: "1",
1017
1017
  key: "f4zoj3"
1018
1018
  }]
1019
- ]), An = F("image", [
1019
+ ]), jn = F("image", [
1020
1020
  ["rect", {
1021
1021
  width: "18",
1022
1022
  height: "18",
@@ -1036,13 +1036,13 @@ var yn = y({
1036
1036
  d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
1037
1037
  key: "1xmnt7"
1038
1038
  }]
1039
- ]), jn = F("navigation", [["polygon", {
1039
+ ]), Mn = F("navigation", [["polygon", {
1040
1040
  points: "3 11 22 2 13 21 11 13 3 11",
1041
1041
  key: "1ltx0t"
1042
- }]]), Mn = F("puzzle", [["path", {
1042
+ }]]), Nn = F("puzzle", [["path", {
1043
1043
  d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",
1044
1044
  key: "w46dr5"
1045
- }]]), Nn = F("share-2", [
1045
+ }]]), Pn = F("share-2", [
1046
1046
  ["circle", {
1047
1047
  cx: "18",
1048
1048
  cy: "5",
@@ -1075,7 +1075,7 @@ var yn = y({
1075
1075
  y2: "10.49",
1076
1076
  key: "1n3mei"
1077
1077
  }]
1078
- ]), Pn = F("table", [
1078
+ ]), Fn = F("table", [
1079
1079
  ["path", {
1080
1080
  d: "M12 3v18",
1081
1081
  key: "108xh3"
@@ -1096,7 +1096,7 @@ var yn = y({
1096
1096
  d: "M3 15h18",
1097
1097
  key: "5xshup"
1098
1098
  }]
1099
- ]), Fn = F("video", [["path", {
1099
+ ]), In = F("video", [["path", {
1100
1100
  d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
1101
1101
  key: "ftymec"
1102
1102
  }], ["rect", {
@@ -1106,11 +1106,11 @@ var yn = y({
1106
1106
  height: "12",
1107
1107
  rx: "2",
1108
1108
  key: "158x01"
1109
- }]]), In = ["innerHTML"], Ln = [
1109
+ }]]), Ln = ["innerHTML"], Rn = [
1110
1110
  "src",
1111
1111
  "width",
1112
1112
  "height"
1113
- ], Rn = /* @__PURE__ */ y({
1113
+ ], zn = /* @__PURE__ */ y({
1114
1114
  __name: "CustomBlockIcon",
1115
1115
  props: {
1116
1116
  icon: {},
@@ -1126,14 +1126,14 @@ var yn = y({
1126
1126
  height: `${n.value}px`
1127
1127
  }),
1128
1128
  innerHTML: e.icon
1129
- }, null, 12, In)) : a.value ? (f(), x("img", {
1129
+ }, null, 12, Ln)) : a.value ? (f(), x("img", {
1130
1130
  key: 1,
1131
1131
  src: e.icon,
1132
1132
  width: n.value,
1133
1133
  height: n.value,
1134
1134
  class: "tpl:inline-block",
1135
1135
  alt: ""
1136
- }, null, 8, Ln)) : (f(), D(k(wn), {
1136
+ }, null, 8, Rn)) : (f(), D(k(Tn), {
1137
1137
  key: 2,
1138
1138
  size: n.value,
1139
1139
  "stroke-width": 1.5
@@ -1142,16 +1142,16 @@ var yn = y({
1142
1142
  });
1143
1143
  //#endregion
1144
1144
  //#region src/composables/useEditorRoot.ts
1145
- function zn() {
1146
- return N(ft, document) ?? document;
1145
+ function Bn() {
1146
+ return N(pt, document) ?? document;
1147
1147
  }
1148
1148
  //#endregion
1149
1149
  //#region src/composables/useFocusTrap.ts
1150
- var Bn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1151
- function Vn(e, t) {
1152
- let n = zn(), r = null, i = null, a = null;
1150
+ var Vn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1151
+ function Hn(e, t) {
1152
+ let n = Bn(), r = null, i = null, a = null;
1153
1153
  function o() {
1154
- return e.value ? Array.from(e.value.querySelectorAll(Bn)).filter((e) => e.offsetParent !== null) : [];
1154
+ return e.value ? Array.from(e.value.querySelectorAll(Vn)).filter((e) => e.offsetParent !== null) : [];
1155
1155
  }
1156
1156
  function s(e) {
1157
1157
  if (e.key !== "Tab") return;
@@ -1166,7 +1166,7 @@ function Vn(e, t) {
1166
1166
  a = null;
1167
1167
  let t = o();
1168
1168
  t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
1169
- }), i = Ge(e, "keydown", s);
1169
+ }), i = We(e, "keydown", s);
1170
1170
  }
1171
1171
  function d(e = {}) {
1172
1172
  let t = e.restoreFocus !== !1;
@@ -1181,7 +1181,7 @@ function Vn(e, t) {
1181
1181
  }
1182
1182
  //#endregion
1183
1183
  //#region src/composables/useEmoji.ts
1184
- function Hn() {
1184
+ function Un() {
1185
1185
  let [e, t] = He(!1), n = v([]), r = !1;
1186
1186
  u(() => {
1187
1187
  r = !0;
@@ -1207,7 +1207,7 @@ function Hn() {
1207
1207
  }
1208
1208
  //#endregion
1209
1209
  //#region src/composables/useDragDrop.ts
1210
- function Un(e) {
1210
+ function Wn(e) {
1211
1211
  let { onBlockMove: t, onBlockAdd: n } = e, r = _(!1), i = _(null), a = _(null);
1212
1212
  function o(e) {
1213
1213
  r.value = !0, i.value = e;
@@ -1257,7 +1257,7 @@ function Un(e) {
1257
1257
  }
1258
1258
  //#endregion
1259
1259
  //#region src/composables/useFonts.ts
1260
- var Wn = [
1260
+ var Gn = [
1261
1261
  {
1262
1262
  value: "Arial",
1263
1263
  label: "Arial"
@@ -1286,7 +1286,7 @@ var Wn = [
1286
1286
  value: "Courier New",
1287
1287
  label: "Courier New"
1288
1288
  }
1289
- ], Gn = {
1289
+ ], Kn = {
1290
1290
  arial: "Arial, sans-serif",
1291
1291
  helvetica: "Helvetica, sans-serif",
1292
1292
  georgia: "Georgia, serif",
@@ -1294,14 +1294,14 @@ var Wn = [
1294
1294
  verdana: "Verdana, sans-serif",
1295
1295
  "trebuchet ms": "'Trebuchet MS', sans-serif",
1296
1296
  "courier new": "'Courier New', monospace"
1297
- }, Kn = "Arial, sans-serif";
1298
- function qn(e) {
1299
- let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = j(() => e?.defaultFallback ?? Kn);
1297
+ }, qn = "Arial, sans-serif";
1298
+ function Jn(e) {
1299
+ let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = j(() => e?.defaultFallback ?? qn);
1300
1300
  function a(e) {
1301
1301
  n.value = e;
1302
1302
  }
1303
1303
  let o = j(() => {
1304
- let e = [...Wn];
1304
+ let e = [...Gn];
1305
1305
  if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
1306
1306
  let r = t.value.map((e) => ({
1307
1307
  value: e.name,
@@ -1314,17 +1314,17 @@ function qn(e) {
1314
1314
  return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1315
1315
  }
1316
1316
  function l(e) {
1317
- return Wn.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1317
+ return Gn.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1318
1318
  }
1319
1319
  function d() {
1320
1320
  if (e?.defaultFont) {
1321
- if (!n.value && !l(e.defaultFont)) return Kn;
1321
+ if (!n.value && !l(e.defaultFont)) return qn;
1322
1322
  if (c(e.defaultFont)) {
1323
1323
  let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1324
1324
  if (t) return t.value;
1325
1325
  }
1326
1326
  }
1327
- return Kn;
1327
+ return qn;
1328
1328
  }
1329
1329
  let f = j(() => d());
1330
1330
  function p(e) {
@@ -1334,7 +1334,7 @@ function qn(e) {
1334
1334
  let e = n.fallback ?? i.value;
1335
1335
  return `'${n.name}', ${e}`;
1336
1336
  }
1337
- return Gn[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1337
+ return Kn[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1338
1338
  }
1339
1339
  let m = [], h = !1;
1340
1340
  async function g() {
@@ -1350,7 +1350,7 @@ function qn(e) {
1350
1350
  t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
1351
1351
  });
1352
1352
  } catch (t) {
1353
- ln.warn(`Failed to load custom font "${e.name}":`, t);
1353
+ un.warn(`Failed to load custom font "${e.name}":`, t);
1354
1354
  }
1355
1355
  });
1356
1356
  await Promise.allSettled(e), !h && (r.value = !0);
@@ -1377,8 +1377,8 @@ function qn(e) {
1377
1377
  }
1378
1378
  //#endregion
1379
1379
  //#region src/composables/useLogicTag.ts
1380
- function Jn() {
1381
- let e = N(ct, []), t = N(wt, []), n = N(at, Me.liquid), r = N(Ze, null), i = N(Ct, null), a = _(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
1380
+ function Yn() {
1381
+ let e = N(lt, []), t = N(Tt, []), n = N(ot, Me.liquid), r = N(Qe, null), i = N(wt, null), a = _(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
1382
1382
  async function c() {
1383
1383
  if (r) {
1384
1384
  a.value = !0;
@@ -1409,7 +1409,7 @@ function Jn() {
1409
1409
  }
1410
1410
  //#endregion
1411
1411
  //#region src/utils/mergeTagNodeSpec.ts
1412
- function Yn(e, t, n) {
1412
+ function Xn(e, t, n) {
1413
1413
  return Ee(e, n) ? {
1414
1414
  type: "logicMergeTagNode",
1415
1415
  attrs: {
@@ -1426,15 +1426,15 @@ function Yn(e, t, n) {
1426
1426
  }
1427
1427
  //#endregion
1428
1428
  //#region src/utils/insertLogicTag.ts
1429
- function Xn(e) {
1429
+ function Zn(e) {
1430
1430
  return "before" in e && "after" in e;
1431
1431
  }
1432
- function Zn(e, t, n) {
1433
- if (!Xn(t)) {
1434
- e.chain().focus().insertContent(Yn(t.value, t.label, n)).run();
1432
+ function Qn(e, t, n) {
1433
+ if (!Zn(t)) {
1434
+ e.chain().focus().insertContent(Xn(t.value, t.label, n)).run();
1435
1435
  return;
1436
1436
  }
1437
- let r = Yn(t.before, t.label, n), i = Yn(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1437
+ let r = Xn(t.before, t.label, n), i = Xn(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1438
1438
  if (a !== o) {
1439
1439
  e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
1440
1440
  return;
@@ -1443,26 +1443,20 @@ function Zn(e, t, n) {
1443
1443
  }
1444
1444
  //#endregion
1445
1445
  //#region src/utils/linkColorExtension.ts
1446
- function Qn(e) {
1446
+ function $n(e) {
1447
1447
  if (!e) return null;
1448
1448
  let t = e.trim();
1449
1449
  return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
1450
1450
  }
1451
- function $n(e) {
1452
- let t = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(e.trim());
1453
- if (!t) return e;
1454
- let n = (e) => Number(e).toString(16).padStart(2, "0");
1455
- return `#${n(t[1])}${n(t[2])}${n(t[3])}`;
1456
- }
1457
1451
  function er(e) {
1458
1452
  return e.extend({ addAttributes() {
1459
1453
  return {
1460
1454
  ...this.parent?.(),
1461
1455
  color: {
1462
1456
  default: null,
1463
- parseHTML: (e) => Qn($n(e.style.color)),
1457
+ parseHTML: (e) => $n(Je(e.style.color)),
1464
1458
  renderHTML: (e) => {
1465
- let t = Qn(e.color);
1459
+ let t = $n(e.color);
1466
1460
  return t ? { style: `color: ${t}` } : {};
1467
1461
  }
1468
1462
  }
@@ -1473,7 +1467,7 @@ function er(e) {
1473
1467
  //#region src/composables/useRichTextLinkDialog.ts
1474
1468
  function tr(e) {
1475
1469
  let t = _(!1), n = _(""), r = _(""), i = _(null);
1476
- Vn(i, t);
1470
+ Hn(i, t);
1477
1471
  function a() {
1478
1472
  let i = e.value?.getAttributes("link") ?? {};
1479
1473
  n.value = i.href || "", r.value = i.color || "", t.value = !0;
@@ -1482,7 +1476,7 @@ function tr(e) {
1482
1476
  if (n.value) {
1483
1477
  let t = c(n.value);
1484
1478
  if (t !== null) {
1485
- let n = Qn(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1479
+ let n = $n(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1486
1480
  n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
1487
1481
  }
1488
1482
  }
@@ -1530,7 +1524,7 @@ function tr(e) {
1530
1524
  //#endregion
1531
1525
  //#region src/composables/useRichTextEditor.ts
1532
1526
  function nr(e) {
1533
- let t = N(ht, null), { mergeTags: n, canRequestMergeTag: r, isRequesting: i, requestMergeTag: a, syntax: o, autocomplete: s } = Nt(), { canInsertLogicTag: l, isRequesting: u, requestLogicTag: d } = Jn(), f = N(Qe, null), p = (g(f) ? f.value : f)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", m = de(o), y = v(null), { showLinkDialog: b, linkUrl: x, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = tr(y), { start: k, stop: ee } = Ue(() => y.value?.commands.focus("end"), 0, { immediate: !1 }), A = v(null), te = _(!0), j = _(null), ne = !1;
1527
+ let t = N(gt, null), { mergeTags: n, canRequestMergeTag: r, isRequesting: i, requestMergeTag: a, syntax: o, autocomplete: s } = Pt(), { canInsertLogicTag: l, isRequesting: u, requestLogicTag: d } = Yn(), f = N($e, null), p = (g(f) ? f.value : f)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", m = de(o), y = v(null), { showLinkDialog: b, linkUrl: x, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = tr(y), { start: k, stop: ee } = Ue(() => y.value?.commands.focus("end"), 0, { immediate: !1 }), A = v(null), te = _(!0), j = _(null), ne = !1;
1534
1528
  async function M() {
1535
1529
  j.value = null, te.value = !0;
1536
1530
  try {
@@ -1560,7 +1554,7 @@ function nr(e) {
1560
1554
  y.value = l, te.value = !1, k();
1561
1555
  } catch (t) {
1562
1556
  if (ne) return;
1563
- ln.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), j.value = t instanceof Error ? t.message : "Failed to load editor", te.value = !1;
1557
+ un.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), j.value = t instanceof Error ? t.message : "Failed to load editor", te.value = !1;
1564
1558
  }
1565
1559
  }
1566
1560
  function re() {
@@ -1578,7 +1572,7 @@ function nr(e) {
1578
1572
  let a = n.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
1579
1573
  r.closest(".tpl-text-editor-wrapper") || r.closest(".tpl-text-toolbar") || r.closest(".tpl-link-dialog") || a || e.onDone();
1580
1574
  }
1581
- Ge(document, "mousedown", ae), h(() => {
1575
+ We(document, "mousedown", ae), h(() => {
1582
1576
  ne = !0, ie(), ee(), y.value?.destroy();
1583
1577
  });
1584
1578
  async function oe() {
@@ -1590,7 +1584,7 @@ function nr(e) {
1590
1584
  }
1591
1585
  async function P() {
1592
1586
  let e = await d();
1593
- ne || (e && y.value ? Zn(y.value, e, o) : y.value?.commands.focus());
1587
+ ne || (e && y.value ? Qn(y.value, e, o) : y.value?.commands.focus());
1594
1588
  }
1595
1589
  return {
1596
1590
  editor: y,
@@ -1621,7 +1615,7 @@ function nr(e) {
1621
1615
  //#region src/composables/useSmallScreenNotice.ts
1622
1616
  var rr = "(max-width: 767px)";
1623
1617
  function ir(e) {
1624
- let t = We(rr);
1618
+ let t = Ke(rr);
1625
1619
  return {
1626
1620
  isSmallScreen: t,
1627
1621
  showNotice: j(() => (S(e) ?? !0) && t.value)
@@ -1650,7 +1644,7 @@ var ar = { class: "tpl:w-full" }, or = {
1650
1644
  },
1651
1645
  emits: ["fetchData"],
1652
1646
  setup(e, { emit: t }) {
1653
- let n = e, r = t, { t: i } = Tt(), o = N(_t, null), s = _(""), l = _(!1), u = j(() => o?.getDefinition(n.block.customType)), d = j(() => !!u.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: v } = Gt({
1647
+ let n = e, r = t, { t: i } = Et(), o = N(vt, null), s = _(""), l = _(!1), u = j(() => o?.getDefinition(n.block.customType)), d = j(() => !!u.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: v } = Kt({
1654
1648
  definition: u,
1655
1649
  block: j(() => n.block),
1656
1650
  onUpdate: (e, t) => {
@@ -1676,10 +1670,10 @@ var ar = { class: "tpl:w-full" }, or = {
1676
1670
  y();
1677
1671
  }), c(() => n.block.fieldValues, () => {
1678
1672
  S();
1679
- }, { deep: !0 }), (e, t) => (f(), x("div", ar, [d.value ? l.value ? (f(), x("div", cr, [w(k(kt), {
1673
+ }, { deep: !0 }), (e, t) => (f(), x("div", ar, [d.value ? l.value ? (f(), x("div", cr, [w(k(At), {
1680
1674
  size: 24,
1681
1675
  class: "tpl:text-[var(--tpl-danger)]"
1682
- }), b("span", lr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", ur, [b("div", { innerHTML: s.value }, null, 8, dr), k(v) && k(g) ? (f(), x("div", fr, [k(m) ? (f(), D(jt, {
1676
+ }), b("span", lr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", ur, [b("div", { innerHTML: s.value }, null, 8, dr), k(v) && k(g) ? (f(), x("div", fr, [k(m) ? (f(), D(Mt, {
1683
1677
  key: 1,
1684
1678
  class: "tpl:w-48"
1685
1679
  })) : (f(), x("button", {
@@ -1687,11 +1681,11 @@ var ar = { class: "tpl:w-full" }, or = {
1687
1681
  type: "button",
1688
1682
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-sm tpl:transition-all tpl:duration-150 hover:tpl:border-[var(--tpl-primary)] hover:tpl:shadow-md tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
1689
1683
  onClick: t[0] ||= P((...e) => k(h) && k(h)(...e), ["stop"])
1690
- }, [u.value?.icon ? (f(), D(Rn, {
1684
+ }, [u.value?.icon ? (f(), D(zn, {
1691
1685
  key: 0,
1692
1686
  icon: u.value.icon,
1693
1687
  size: 16
1694
- }, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", or, [w(k(Mn), {
1688
+ }, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", or, [w(k(Nn), {
1695
1689
  size: 24,
1696
1690
  class: "tpl:text-[var(--tpl-warning)]"
1697
1691
  }), b("span", sr, p(k(i).customBlocks.definitionNotFound), 1)]))]));
@@ -1726,15 +1720,15 @@ var ar = { class: "tpl:w-full" }, or = {
1726
1720
  viewport: {}
1727
1721
  },
1728
1722
  setup(e) {
1729
- let t = e, { t: n } = Tt(), r = j(() => t.block.content.trim().length > 0);
1730
- return (e, t) => (f(), x("div", gr, [b("div", _r, [w(k(Tn), {
1723
+ let t = e, { t: n } = Et(), r = j(() => t.block.content.trim().length > 0);
1724
+ return (e, t) => (f(), x("div", gr, [b("div", _r, [w(k(En), {
1731
1725
  size: 24,
1732
1726
  class: "tpl:text-[var(--tpl-text-dim)]"
1733
1727
  }), r.value ? (f(), x("span", vr, p(k(n).html.preview), 1)) : (f(), x("span", yr, p(k(n).html.empty), 1))])]));
1734
1728
  }
1735
1729
  }), xr = "image/";
1736
1730
  function Sr(e) {
1737
- let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } = Ke(t, {
1731
+ let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } = qe(t, {
1738
1732
  preventDefaultForUnhandled: !0,
1739
1733
  onDrop: (e) => {
1740
1734
  if (!i()) return;
@@ -1764,7 +1758,7 @@ var Cr = {
1764
1758
  },
1765
1759
  emits: ["update"],
1766
1760
  setup(e, { emit: t }) {
1767
- let n = e, r = t, { t: a } = Tt(), { syntax: o } = Nt(), s = N(Xe, null), c = j(() => !!s), l = Pt();
1761
+ let n = e, r = t, { t: a } = Et(), { syntax: o } = Pt(), s = N(Ze, null), c = j(() => !!s), l = Ft();
1768
1762
  async function u() {
1769
1763
  let e = await s?.({ accept: ["images"] });
1770
1764
  if (l.alive && e) {
@@ -1811,11 +1805,11 @@ var Cr = {
1811
1805
  "data-testid": "image-drop-zone",
1812
1806
  class: "tpl:relative tpl:w-full",
1813
1807
  style: i(y.value)
1814
- }, [h.value && (k(v) || m.value) ? (f(), x("div", Cr, [m.value ? (f(), x(A, { key: 0 }, [w(k(Et), {
1808
+ }, [h.value && (k(v) || m.value) ? (f(), x("div", Cr, [m.value ? (f(), x(A, { key: 0 }, [w(k(Dt), {
1815
1809
  class: "tpl-spinner",
1816
1810
  size: 20,
1817
1811
  "stroke-width": 2
1818
- }), O(" " + p(k(a).image.uploading), 1)], 64)) : (f(), x(A, { key: 1 }, [w(k(At), {
1812
+ }), O(" " + p(k(a).image.uploading), 1)], 64)) : (f(), x(A, { key: 1 }, [w(k(jt), {
1819
1813
  size: 20,
1820
1814
  "stroke-width": 1.5
1821
1815
  }), O(" " + p(k(a).image.dropToUpload), 1)], 64))])) : M("", !0), e.block.src && C.value && e.block.placeholderUrl ? (f(), x(A, { key: 1 }, [e.block.linkUrl ? (f(), x("a", {
@@ -1840,12 +1834,12 @@ var Cr = {
1840
1834
  key: 2,
1841
1835
  class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
1842
1836
  style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, S.value])
1843
- }, [w(k(An), {
1837
+ }, [w(k(jn), {
1844
1838
  size: 32,
1845
1839
  "stroke-width": 1.5,
1846
1840
  class: "tpl:text-[var(--tpl-primary)]",
1847
1841
  style: { opacity: "0.5" }
1848
- }), b("span", Dr, [w(yn, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), x(A, { key: 3 }, [e.block.linkUrl ? (f(), x("a", {
1842
+ }), b("span", Dr, [w(bn, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), x(A, { key: 3 }, [e.block.linkUrl ? (f(), x("a", {
1849
1843
  key: 0,
1850
1844
  href: e.block.linkUrl,
1851
1845
  target: "_blank",
@@ -1868,7 +1862,7 @@ var Cr = {
1868
1862
  "aria-label": k(a).image.browseMedia,
1869
1863
  class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1870
1864
  onClick: P(u, ["stop"])
1871
- }, [w(k(An), {
1865
+ }, [w(k(jn), {
1872
1866
  size: 14,
1873
1867
  "stroke-width": 1.5
1874
1868
  }), O(" " + p(k(a).image.browseMedia), 1)], 8, Mr)) : (f(), x("span", Nr, p(k(a).image.clickToAdd), 1))]))], 4));
@@ -1883,7 +1877,7 @@ var Cr = {
1883
1877
  viewport: {}
1884
1878
  },
1885
1879
  setup(e) {
1886
- let n = e, { t: r } = Tt(), a = j(() => ({
1880
+ let n = e, { t: r } = Et(), a = j(() => ({
1887
1881
  display: "flex",
1888
1882
  flexWrap: "wrap",
1889
1883
  gap: `0 ${n.block.spacing}px`,
@@ -1907,13 +1901,13 @@ var Cr = {
1907
1901
  textDecoration: t.underline ? "underline" : "none"
1908
1902
  }),
1909
1903
  onClick: c[0] ||= P(() => {}, ["prevent"])
1910
- }, [w(yn, { text: t.text || "..." }, null, 8, ["text"])], 12, Ir), n < e.block.items.length - 1 ? (f(), x("span", {
1904
+ }, [w(bn, { text: t.text || "..." }, null, 8, ["text"])], 12, Ir), n < e.block.items.length - 1 ? (f(), x("span", {
1911
1905
  key: 0,
1912
1906
  style: i({
1913
1907
  color: e.block.separatorColor,
1914
1908
  padding: `0 ${e.block.spacing}px`
1915
1909
  })
1916
- }, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Lr, [w(k(jn), { size: 16 }), b("span", null, p(k(r).menu.addLinks), 1)]))]));
1910
+ }, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Lr, [w(k(Mn), { size: 16 }), b("span", null, p(k(r).menu.addLinks), 1)]))]));
1917
1911
  }
1918
1912
  }), zr = /* @__PURE__ */ new Set([
1919
1913
  "http",
@@ -1987,7 +1981,7 @@ function Wr(e) {
1987
1981
  //#endregion
1988
1982
  //#region src/composables/useEditableTextBlock.ts
1989
1983
  function Gr(e) {
1990
- let t = N(it, []), { syntax: n } = Nt(), r = j(() => Wr(Te(fe(e(), t), n))), i = _(!1), a = _(null), { top: o, left: s } = qe(a), c = j(() => ({
1984
+ let t = N(at, []), { syntax: n } = Pt(), r = j(() => Wr(Te(fe(e(), t), n))), i = _(!1), a = _(null), { top: o, left: s } = Ge(a), c = j(() => ({
1991
1985
  top: o.value - 8,
1992
1986
  left: s.value
1993
1987
  }));
@@ -2015,7 +2009,7 @@ var Kr = ["innerHTML"], qr = /* @__PURE__ */ y({
2015
2009
  viewport: {}
2016
2010
  },
2017
2011
  setup(e) {
2018
- let t = e, n = C(() => import("./ParagraphEditor-DGsTFMxg.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Gr(() => t.block.content);
2012
+ let t = e, n = C(() => import("./ParagraphEditor-vgvQxicC.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Gr(() => t.block.content);
2019
2013
  return (t, l) => (f(), x("div", {
2020
2014
  ref_key: "blockRef",
2021
2015
  ref: i,
@@ -2073,7 +2067,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2073
2067
  }, oi = ["aria-label", "title"], si = {
2074
2068
  key: 3,
2075
2069
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
2076
- }, ci = ["aria-label"], li = /*#__PURE__*/ Mt(/* @__PURE__ */ y({
2070
+ }, ci = ["aria-label"], li = /*#__PURE__*/ Nt(/* @__PURE__ */ y({
2077
2071
  __name: "BlockWrapper",
2078
2072
  props: {
2079
2073
  block: {},
@@ -2083,7 +2077,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2083
2077
  },
2084
2078
  emits: ["select"],
2085
2079
  setup(e, { emit: t }) {
2086
- let n = C(() => import("./BlockIssueBadge-CZYgn-qg.js")), r = e, a = t, { t: s, format: c } = Tt(), l = N(xt, null), u = _(null), d = j(() => l?.liftedBlockId.value === r.block.id), m = j(() => d.value ? c(s.blockActions.dragLifted, { block: r.block.type }) : s.blockActions.drag);
2080
+ let n = C(() => import("./BlockIssueBadge-CZYgn-qg.js")), r = e, a = t, { t: s, format: c } = Et(), l = N(St, null), u = _(null), d = j(() => l?.liftedBlockId.value === r.block.id), m = j(() => d.value ? c(s.blockActions.dragLifted, { block: r.block.type }) : s.blockActions.drag);
2087
2081
  async function h() {
2088
2082
  await ie(), u.value?.focus();
2089
2083
  }
@@ -2109,7 +2103,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2109
2103
  let v = j(() => !r.viewport || !r.block.visibility ? !1 : r.block.visibility[r.viewport] === !1), y = j(() => r.previewMode === !0 && v.value), S = j(() => r.viewport ? {
2110
2104
  desktop: s.viewport.desktop,
2111
2105
  mobile: s.viewport.mobile
2112
- }[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(pt, null), ee = N(bt, null), A = N(yt, {}), te = j(() => !!A.savedModules), ne = j(() => A.comments?.getBlockCount(r.block.id) ?? 0), re = j(() => {
2106
+ }[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(mt, null), ee = N(xt, null), A = N(bt, {}), te = j(() => !!A.savedModules), ne = j(() => A.comments?.getBlockCount(r.block.id) ?? 0), re = j(() => {
2113
2107
  let e = Yr(r.block), t = {
2114
2108
  padding: e.padding,
2115
2109
  backgroundColor: e.backgroundColor
@@ -2158,7 +2152,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2158
2152
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
2159
2153
  title: k(s).blockActions.drag,
2160
2154
  onKeydown: g
2161
- }, [w(k(kn), {
2155
+ }, [w(k(An), {
2162
2156
  size: 14,
2163
2157
  "stroke-width": 1.5
2164
2158
  })], 40, $r),
@@ -2167,7 +2161,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2167
2161
  "aria-label": k(s).blockActions.duplicate,
2168
2162
  title: k(s).blockActions.duplicate,
2169
2163
  onClick: P(ce, ["stop"])
2170
- }, [w(k(En), {
2164
+ }, [w(k(Dn), {
2171
2165
  size: 14,
2172
2166
  "stroke-width": 1.5
2173
2167
  })], 8, ei),
@@ -2177,7 +2171,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2177
2171
  "aria-label": k(s).blockActions.saveAsModule,
2178
2172
  title: k(s).blockActions.saveAsModule,
2179
2173
  onClick: P(le, ["stop"])
2180
- }, [w(k(Cn), {
2174
+ }, [w(k(wn), {
2181
2175
  size: 14,
2182
2176
  "stroke-width": 1.5
2183
2177
  })], 8, ti)) : M("", !0),
@@ -2186,12 +2180,12 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2186
2180
  "aria-label": k(s).blockActions.delete,
2187
2181
  title: k(s).blockActions.delete,
2188
2182
  onClick: P(se, ["stop"])
2189
- }, [w(k(Ot), {
2183
+ }, [w(k(kt), {
2190
2184
  size: 14,
2191
2185
  "stroke-width": 1.5
2192
2186
  })], 8, ni)
2193
2187
  ], 8, Qr)) : M("", !0),
2194
- v.value ? (f(), x("div", ri, [b("span", ii, [w(k(Dn), {
2188
+ v.value ? (f(), x("div", ri, [b("span", ii, [w(k(On), {
2195
2189
  size: 12,
2196
2190
  "stroke-width": 1.5
2197
2191
  }), O(" " + p(k(c)(k(s).blockActions.hiddenOnViewport, { viewport: S.value })), 1)])])) : M("", !0),
@@ -2200,7 +2194,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2200
2194
  "aria-label": k(s).blockActions.conditionToggle,
2201
2195
  title: e.block.displayCondition?.label,
2202
2196
  onClick: P(ue, ["stop"])
2203
- }, [w(k(On), {
2197
+ }, [w(k(kn), {
2204
2198
  size: 12,
2205
2199
  "stroke-width": 2
2206
2200
  })], 8, oi)])) : M("", !0),
@@ -2208,7 +2202,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
2208
2202
  class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
2209
2203
  "aria-label": k(c)(k(s).blockActions.comments, { count: String(ne.value) }),
2210
2204
  onClick: r[0] ||= P((t) => k(A).comments?.openForBlock(e.block.id), ["stop"])
2211
- }, [w(k(Dt), {
2205
+ }, [w(k(Ot), {
2212
2206
  size: 12,
2213
2207
  "stroke-width": 2.5
2214
2208
  }), O(" " + p(ne.value), 1)], 8, ci)])) : M("", !0),
@@ -2242,7 +2236,7 @@ var di = /* @__PURE__ */ y({
2242
2236
  viewport: {}
2243
2237
  },
2244
2238
  setup(e) {
2245
- let t = e, n = C(() => import("./TitleEditor-DoGgnrcb.js")), { isEditing: r, blockRef: a, toolbarPosition: o, resolvedContent: s, handleDoubleClick: c, handleEditorDone: l } = Gr(() => t.block.content), u = j(() => {
2239
+ let t = e, n = C(() => import("./TitleEditor-DPdzOQpq.js")), { isEditing: r, blockRef: a, toolbarPosition: o, resolvedContent: s, handleDoubleClick: c, handleEditorDone: l } = Gr(() => t.block.content), u = j(() => {
2246
2240
  let e = {
2247
2241
  fontSize: `${Pe[t.block.level]}px`,
2248
2242
  textAlign: t.block.textAlign
@@ -3677,10 +3671,10 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3677
3671
  title: di,
3678
3672
  paragraph: qr,
3679
3673
  image: Pr,
3680
- button: Sn,
3674
+ button: Cn,
3681
3675
  divider: hr,
3682
3676
  custom: pr
3683
- }, r = e, { t: a } = Tt(), s = et(ht, "SectionBlock"), c = N(bt, null), l = N(_t, null), u = j(() => {
3677
+ }, r = e, { t: a } = Et(), s = tt(gt, "SectionBlock"), c = N(xt, null), l = N(vt, null), u = j(() => {
3684
3678
  switch (r.block.columns) {
3685
3679
  case "2": return ["50%", "50%"];
3686
3680
  case "3": return [
@@ -3859,7 +3853,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3859
3853
  viewport: {}
3860
3854
  },
3861
3855
  setup(e) {
3862
- let n = e, { t: r } = Tt(), a = j(() => ({
3856
+ let n = e, { t: r } = Et(), a = j(() => ({
3863
3857
  display: "flex",
3864
3858
  flexWrap: "wrap",
3865
3859
  gap: `${n.block.spacing}px`,
@@ -3881,7 +3875,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3881
3875
  "platform",
3882
3876
  "icon-style",
3883
3877
  "icon-size"
3884
- ])], 8, ds))), 128))], 4)) : (f(), x("div", fs, [w(k(Nn), { size: 16 }), b("span", null, p(k(r).social.addIcons), 1)]))]));
3878
+ ])], 8, ds))), 128))], 4)) : (f(), x("div", fs, [w(k(Pn), { size: 16 }), b("span", null, p(k(r).social.addIcons), 1)]))]));
3885
3879
  }
3886
3880
  }), ms = { class: "tpl:w-full" }, hs = {
3887
3881
  key: 0,
@@ -3897,7 +3891,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3897
3891
  viewport: {}
3898
3892
  },
3899
3893
  setup(e) {
3900
- let t = e, n = et(ht, "SpacerBlock"), r = j(() => ({
3894
+ let t = e, n = tt(gt, "SpacerBlock"), r = j(() => ({
3901
3895
  height: `${t.block.height}px`,
3902
3896
  minHeight: `${t.block.height}px`,
3903
3897
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
@@ -3918,7 +3912,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3918
3912
  ], xs = {
3919
3913
  key: 1,
3920
3914
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
3921
- }, Ss = /*#__PURE__*/ Mt(/* @__PURE__ */ y({
3915
+ }, Ss = /*#__PURE__*/ Nt(/* @__PURE__ */ y({
3922
3916
  __name: "TableBlock",
3923
3917
  props: {
3924
3918
  block: {},
@@ -3932,7 +3926,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3932
3926
  updated(e, t) {
3933
3927
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
3934
3928
  }
3935
- }, r = e, { t: a } = Tt(), o = et(ht, "TableBlock"), s = j(() => r.block.rows.length > 0), c = j(() => {
3929
+ }, r = e, { t: a } = Et(), o = tt(gt, "TableBlock"), s = j(() => r.block.rows.length > 0), c = j(() => {
3936
3930
  let e = {
3937
3931
  width: "100%",
3938
3932
  borderCollapse: "collapse",
@@ -3985,7 +3979,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
3985
3979
  onBlur: (n) => g(e.id, t.id, n),
3986
3980
  onKeydown: r[1] ||= ce(P((e) => e.target.blur(), ["prevent"]), ["enter"]),
3987
3981
  onClick: P(h, ["stop"])
3988
- }, null, 44, bs)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", xs, [w(k(Pn), { size: 16 }), b("span", null, p(k(a).table.empty), 1)]))]));
3982
+ }, null, 44, bs)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", xs, [w(k(Fn), { size: 16 }), b("span", null, p(k(a).table.empty), 1)]))]));
3989
3983
  }
3990
3984
  }), [["__scopeId", "data-v-963ac422"]]), Cs = /* @__PURE__ */ y({
3991
3985
  __name: "VideoPlayButton",
@@ -4055,7 +4049,7 @@ var Es = ["src", "alt"], Ds = {
4055
4049
  viewport: {}
4056
4050
  },
4057
4051
  setup(e) {
4058
- let t = e, { t: n } = Tt(), { syntax: r } = Nt(), a = j(() => Ae(t.block.url, r) || Ae(t.block.thumbnailUrl, r)), o = j(() => a.value ? null : Ts(t.block.url, t.block.thumbnailUrl)), s = j(() => ({ textAlign: t.block.align })), c = j(() => {
4052
+ let t = e, { t: n } = Et(), { syntax: r } = Pt(), a = j(() => Ae(t.block.url, r) || Ae(t.block.thumbnailUrl, r)), o = j(() => a.value ? null : Ts(t.block.url, t.block.thumbnailUrl)), s = j(() => ({ textAlign: t.block.align })), c = j(() => {
4059
4053
  let e = t.block.align;
4060
4054
  return {
4061
4055
  maxWidth: "100%",
@@ -4080,12 +4074,12 @@ var Es = ["src", "alt"], Ds = {
4080
4074
  key: 1,
4081
4075
  class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
4082
4076
  style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, c.value])
4083
- }, [w(k(Fn), {
4077
+ }, [w(k(In), {
4084
4078
  size: 36,
4085
4079
  "stroke-width": 1.5,
4086
4080
  class: "tpl:text-[var(--tpl-primary)]",
4087
4081
  style: { opacity: "0.5" }
4088
- }), b("span", Ds, [w(yn, { text: l.value }, null, 8, ["text"])])], 4)) : o.value ? (f(), x(A, { key: 2 }, [e.block.url ? (f(), x("a", {
4082
+ }), b("span", Ds, [w(bn, { text: l.value }, null, 8, ["text"])])], 4)) : o.value ? (f(), x(A, { key: 2 }, [e.block.url ? (f(), x("a", {
4089
4083
  key: 0,
4090
4084
  href: e.block.url,
4091
4085
  target: "_blank",
@@ -4105,7 +4099,7 @@ var Es = ["src", "alt"], Ds = {
4105
4099
  class: "tpl:w-full tpl:border-0",
4106
4100
  src: o.value,
4107
4101
  alt: e.block.alt
4108
- }, null, 8, As), w(Cs)], 4))], 64)) : (f(), x("div", js, [w(k(Fn), {
4102
+ }, null, 8, As), w(Cs)], 4))], 64)) : (f(), x("div", js, [w(k(In), {
4109
4103
  size: 40,
4110
4104
  "stroke-width": 1.5,
4111
4105
  class: "tpl:text-[var(--tpl-border-light)]"
@@ -4116,7 +4110,7 @@ var Es = ["src", "alt"], Ds = {
4116
4110
  title: di,
4117
4111
  paragraph: qr,
4118
4112
  image: Pr,
4119
- button: Sn,
4113
+ button: Cn,
4120
4114
  divider: hr,
4121
4115
  video: Ms,
4122
4116
  social: ps,
@@ -4127,26 +4121,26 @@ var Es = ["src", "alt"], Ds = {
4127
4121
  countdown: C(() => import("./CountdownBlock-173fiO5Z.js").then((e) => e.n))
4128
4122
  };
4129
4123
  function Ps(e) {
4130
- let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Tt(r);
4124
+ let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Et(r);
4131
4125
  t.setUiTheme(n.uiTheme ?? "auto");
4132
- let { resolvedTheme: l } = rn(j(() => t.state.uiTheme)), d = _(n.theme ?? {}), { themeStyles: f } = on({
4126
+ let { resolvedTheme: l } = an(j(() => t.state.uiTheme)), d = _(n.theme ?? {}), { themeStyles: f } = sn({
4133
4127
  themeOverrides: d,
4134
4128
  resolvedTheme: l,
4135
4129
  extraStyles: e.themeExtraStyles
4136
- }), p = Bt({
4130
+ }), p = Vt({
4137
4131
  content: t.content,
4138
4132
  setContent: (e, n) => t.setContent(e, n),
4139
4133
  ...e.historyOptions
4140
4134
  });
4141
- Kt(t, p);
4142
- let m = Ht({
4135
+ qt(t, p);
4136
+ let m = Ut({
4143
4137
  addBlock: t.addBlock,
4144
4138
  removeBlock: t.removeBlock,
4145
4139
  updateBlock: t.updateBlock,
4146
4140
  selectBlock: t.selectBlock,
4147
4141
  findBlockLocation: t.findBlockLocation,
4148
4142
  blockDefaults: n.blockDefaults
4149
- }), h = Wt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Ut({
4143
+ }), h = Gt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Wt({
4150
4144
  content: t.content,
4151
4145
  isDirty: () => t.state.isDirty,
4152
4146
  ...e.autoSaveOptions
@@ -4154,24 +4148,24 @@ function Ps(e) {
4154
4148
  g && (v = c(p.isNavigating, (e) => {
4155
4149
  e ? g.pause() : g.resume();
4156
4150
  }));
4157
- let y = nn(t, {
4151
+ let y = rn(t, {
4158
4152
  t: a,
4159
4153
  format: o
4160
- }), b = un();
4161
- if (hn(b, Ns), n.customBlocks?.length) for (let e of n.customBlocks) b.registerCustom(e, pr);
4154
+ }), b = dn();
4155
+ if (gn(b, Ns), n.customBlocks?.length) for (let e of n.customBlocks) b.registerCustom(e, pr);
4162
4156
  function x(e) {
4163
4157
  for (let t of e) b.registerCustom(t, pr);
4164
4158
  }
4165
- let S = Xt();
4159
+ let S = Zt();
4166
4160
  if (s() && u(S.dispose), e.containerEl) {
4167
4161
  let t = e.containerEl;
4168
- Ge(document, "pointerdown", (e) => {
4162
+ We(document, "pointerdown", (e) => {
4169
4163
  let n = t.value;
4170
4164
  n && (e.composedPath?.() ?? []).includes(n) && S.claim();
4171
4165
  }, { capture: !0 });
4172
4166
  }
4173
4167
  function C(r) {
4174
- S.isActive() && _n(r, {
4168
+ S.isActive() && vn(r, {
4175
4169
  history: p,
4176
4170
  selectBlock: (e) => t.selectBlock(e),
4177
4171
  getSelectedBlockId: () => t.state.selectedBlockId,
@@ -4180,19 +4174,19 @@ function Ps(e) {
4180
4174
  onBeforeUndo: e.keyboardOptions?.onBeforeUndo
4181
4175
  });
4182
4176
  }
4183
- Ge(document, "keydown", C);
4177
+ We(document, "keydown", C);
4184
4178
  let w = _(null);
4185
- E(ft, e.editorRoot ?? document), E(Je, w), E(Qe, r), E(ht, t), E(ot, p), E(pt, m), E(bt, h), E(dt, i), E(rt, f), E($e, l), E(st, n.blockDefaults), E(_t, b), E(lt, n.customBlocks ?? []), E(mt, n.paletteBlocks), E(ut, dn(t.content, b));
4179
+ E(pt, e.editorRoot ?? document), E(Ye, w), E($e, r), E(gt, t), E(st, p), E(mt, m), E(xt, h), E(ft, i), E(it, f), E(et, l), E(ct, n.blockDefaults), E(vt, b), E(ut, n.customBlocks ?? []), E(ht, n.paletteBlocks), E(dt, fn(t.content, b));
4186
4180
  let T = pe(n.mergeTags?.syntax);
4187
- E(it, n.mergeTags?.tags ?? []), E(at, T), E(nt, n.mergeTags?.onRequest ?? null), E(Ye, n.mergeTags?.autocomplete !== !1), E(St, Zt()), E(ct, n.logicTags?.tags ?? []), E(wt, n.logicTags?.pairs ?? []), E(Ze, n.logicTags?.onRequest ?? null), E(Ct, Qt()), E(Xe, n.onRequestMedia ?? null), E(vt, n.displayConditions?.conditions ?? []), E(gt, n.displayConditions?.allowCustom ?? !1), E(yt, e.capabilities ?? {}), E(xt, y);
4188
- let D = $t(n.lint) ? null : en({
4181
+ E(at, n.mergeTags?.tags ?? []), E(ot, T), E(rt, n.mergeTags?.onRequest ?? null), E(Xe, n.mergeTags?.autocomplete !== !1), E(Ct, Qt()), E(lt, n.logicTags?.tags ?? []), E(Tt, n.logicTags?.pairs ?? []), E(Qe, n.logicTags?.onRequest ?? null), E(wt, $t()), E(Ze, n.onRequestMedia ?? null), E(yt, n.displayConditions?.conditions ?? []), E(_t, n.displayConditions?.allowCustom ?? !1), E(bt, e.capabilities ?? {}), E(St, y);
4182
+ let D = en(n.lint) ? null : tn({
4189
4183
  content: t.content,
4190
4184
  options: n.lint ?? {},
4191
4185
  updateBlock: t.updateBlock,
4192
4186
  updateSettings: t.updateSettings,
4193
4187
  removeBlock: t.removeBlock
4194
4188
  });
4195
- E(tt, D);
4189
+ E(nt, D);
4196
4190
  function O() {
4197
4191
  v?.(), D?.destroy(), g?.destroy(), p.destroy();
4198
4192
  }
@@ -4215,4 +4209,4 @@ function Ps(e) {
4215
4209
  };
4216
4210
  }
4217
4211
  //#endregion
4218
- export { Nn as A, It as B, Jn as C, Vn as D, Hn as E, Tn as F, Sn as I, ln as L, An as M, Dn as N, Rn as O, En as P, tn as R, er as S, Un as T, br as _, ps as a, ir as b, Qo as c, Yr as d, Jr as f, Sr as g, Pr as h, gs as i, jn as j, Pn as k, di as l, Rr as m, Ms as n, os as o, qr as p, Ss as r, rs as s, Ps as t, li as u, hr as v, qn as w, nr as x, pr as y, Gt as z };
4212
+ export { Pn as A, Lt as B, Yn as C, Hn as D, Un as E, En as F, Cn as I, un as L, jn as M, On as N, zn as O, Dn as P, nn as R, er as S, Wn as T, br as _, ps as a, ir as b, Qo as c, Yr as d, Jr as f, Sr as g, Pr as h, gs as i, Mn as j, Fn as k, di as l, Rr as m, Ms as n, os as o, qr as p, Ss as r, rs as s, Ps as t, li as u, hr as v, Jn as w, nr as x, pr as y, Kt as z };