@templatical/editor 0.10.1 → 0.10.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 (135) hide show
  1. package/dist/{AiChatSidebar-Dz5bH1z3.js → AiChatSidebar-BMwpZx-6.js} +14 -14
  2. package/dist/{AiFeatureMenu-D2Xn0jFx.js → AiFeatureMenu-BqLi9Kh7.js} +8 -8
  3. package/dist/{BlockIssueBadge-CnqD1cGo.js → BlockIssueBadge-3kNs6WoD.js} +5 -5
  4. package/dist/{CloudEditor-BizZwsfD.js → CloudEditor-DbyKnqbS.js} +21 -21
  5. package/dist/{CollaboratorBar-Bn2JDu6l.js → CollaboratorBar-BXLwod21.js} +4 -4
  6. package/dist/{CommentsSidebar-BAG6rdVC.js → CommentsSidebar-jFZj_CTo.js} +13 -13
  7. package/dist/{CountdownBlock-B_Hr9Bm9.js → CountdownBlock-S-SCyVye.js} +4 -4
  8. package/dist/{CountdownToolbar-DaqDLKLk.js → CountdownToolbar-Ckdo-3P-.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-I9LWjvrj.js → DesignReferenceSidebar-B9QNPZNV.js} +10 -10
  10. package/dist/{IssuesPanel-B32Ifp4x.js → IssuesPanel-_E_fbSM8.js} +8 -8
  11. package/dist/{LoadingTrack-UTqOUN4O.js → LoadingTrack-BZ5KJyZ_.js} +2 -2
  12. package/dist/{ModuleBrowserModal-DodRped1.js → ModuleBrowserModal-Dy3fU2UD.js} +10 -10
  13. package/dist/{ModulePreviewCanvas-DhcnddJF.js → ModulePreviewCanvas-Cutg3m7U.js} +3 -3
  14. package/dist/{NumberWithSuffix-DB7GyyCI.js → NumberWithSuffix-BHDXHMpo.js} +3 -3
  15. package/dist/{ParagraphEditor-pJA9BHAL.js → ParagraphEditor-DkLmn3Nf.js} +24 -24
  16. package/dist/{RichTextEditorContent-dTGSUff_.js → RichTextEditorContent-COijbaWp.js} +8 -8
  17. package/dist/{SaveModuleDialog-D634e99d.js → SaveModuleDialog-C6cmHTRI.js} +7 -7
  18. package/dist/{SnapshotHistory-m_nGAHlb.js → SnapshotHistory-DcLZlAhz.js} +9 -9
  19. package/dist/{TemplateScoringPanel-BOQh9neV.js → TemplateScoringPanel-Dhf_Qgr7.js} +15 -15
  20. package/dist/{TestEmailModal-DOcwoKkc.js → TestEmailModal-iRqNzKLT.js} +5 -5
  21. package/dist/{TitleEditor-t6JMWamY.js → TitleEditor-B-Adnssr.js} +12 -12
  22. package/dist/{TplModal-BAtbfDB0.js → TplModal-BlqH7CdL.js} +4 -4
  23. package/dist/{blockTypeIcons-C4lXx3Au.js → blockTypeIcons-upTll6yr.js} +2 -2
  24. package/dist/bundle-stats.json +6 -6
  25. package/dist/cdn/chunks/{AiFeatureMenu-BeOyHAoZ.js → AiFeatureMenu-DwZWx_da.js} +4 -4
  26. package/dist/cdn/chunks/{AiFeatureMenu-BeOyHAoZ.js.map → AiFeatureMenu-DwZWx_da.js.map} +1 -1
  27. package/dist/cdn/chunks/{BlockIssueBadge-C6YilQdl.js → BlockIssueBadge-ClwC6oSs.js} +3 -3
  28. package/dist/cdn/chunks/{BlockIssueBadge-C6YilQdl.js.map → BlockIssueBadge-ClwC6oSs.js.map} +1 -1
  29. package/dist/cdn/chunks/{CloudEditor-DEA37rdW.js → CloudEditor-BCfQOcnm.js} +123 -123
  30. package/dist/cdn/chunks/{CloudEditor-DEA37rdW.js.map → CloudEditor-BCfQOcnm.js.map} +1 -1
  31. package/dist/cdn/chunks/{CollaboratorBar-CKW7jOW4.js → CollaboratorBar-yz1eW4cW.js} +4 -4
  32. package/dist/cdn/chunks/{CollaboratorBar-CKW7jOW4.js.map → CollaboratorBar-yz1eW4cW.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownBlock-DU9ga9Ki.js → CountdownBlock-CXQnTPVs.js} +4 -4
  34. package/dist/cdn/chunks/{CountdownBlock-DU9ga9Ki.js.map → CountdownBlock-CXQnTPVs.js.map} +1 -1
  35. package/dist/cdn/chunks/{CountdownToolbar-BHWsxth7.js → CountdownToolbar-TQGPjSz_.js} +4 -4
  36. package/dist/cdn/chunks/{CountdownToolbar-BHWsxth7.js.map → CountdownToolbar-TQGPjSz_.js.map} +1 -1
  37. package/dist/cdn/chunks/{IssuesPanel-BkYhij39.js → IssuesPanel-CTCK-R67.js} +4 -4
  38. package/dist/cdn/chunks/{IssuesPanel-BkYhij39.js.map → IssuesPanel-CTCK-R67.js.map} +1 -1
  39. package/dist/cdn/chunks/{ModuleBrowserModal-D51w942J.js → ModuleBrowserModal-CFpBtFiA.js} +6 -6
  40. package/dist/cdn/chunks/{ModuleBrowserModal-D51w942J.js.map → ModuleBrowserModal-CFpBtFiA.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-BqTqcKHS.js → ModulePreviewCanvas-DhAubE2o.js} +3 -3
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-BqTqcKHS.js.map → ModulePreviewCanvas-DhAubE2o.js.map} +1 -1
  43. package/dist/cdn/chunks/{NumberWithSuffix-DuUcF2zG.js → NumberWithSuffix-DUwFMc_M.js} +3 -3
  44. package/dist/cdn/chunks/{NumberWithSuffix-DuUcF2zG.js.map → NumberWithSuffix-DUwFMc_M.js.map} +1 -1
  45. package/dist/cdn/chunks/{ParagraphEditor-Bqjn3ZNm.js → ParagraphEditor-B3az9xuj.js} +18 -18
  46. package/dist/cdn/chunks/{ParagraphEditor-Bqjn3ZNm.js.map → ParagraphEditor-B3az9xuj.js.map} +1 -1
  47. package/dist/cdn/chunks/{RichTextEditorContent-mIkkb5EK.js → RichTextEditorContent-DtcHHUSO.js} +5 -5
  48. package/dist/cdn/chunks/{RichTextEditorContent-mIkkb5EK.js.map → RichTextEditorContent-DtcHHUSO.js.map} +1 -1
  49. package/dist/cdn/chunks/{SaveModuleDialog-Felfmkcj.js → SaveModuleDialog-Da8g2aeD.js} +3 -3
  50. package/dist/cdn/chunks/{SaveModuleDialog-Felfmkcj.js.map → SaveModuleDialog-Da8g2aeD.js.map} +1 -1
  51. package/dist/cdn/chunks/{TitleEditor-Dcldr8D6.js → TitleEditor-jxOFe6Q6.js} +9 -9
  52. package/dist/cdn/chunks/{TitleEditor-Dcldr8D6.js.map → TitleEditor-jxOFe6Q6.js.map} +1 -1
  53. package/dist/cdn/chunks/{blockTypeIcons-D05Wqf5u.js → blockTypeIcons-Cxjz4oHg.js} +3 -3
  54. package/dist/cdn/chunks/{blockTypeIcons-D05Wqf5u.js.map → blockTypeIcons-Cxjz4oHg.js.map} +1 -1
  55. package/dist/cdn/chunks/{draggable-J_1CPXYc.js → draggable-BTGr7_-X.js} +19 -19
  56. package/dist/cdn/chunks/{draggable-J_1CPXYc.js.map → draggable-BTGr7_-X.js.map} +1 -1
  57. package/dist/cdn/chunks/{extensions-CNmpC18A.js → extensions-2tEgrD-f.js} +4 -4
  58. package/dist/cdn/chunks/{extensions-CNmpC18A.js.map → extensions-2tEgrD-f.js.map} +1 -1
  59. package/dist/cdn/chunks/{features-_ar9QbVv.js → features-C3H2u-FV.js} +815 -810
  60. package/dist/cdn/chunks/features-C3H2u-FV.js.map +1 -0
  61. package/dist/cdn/chunks/{icons-CnwCLJX-.js → icons-DClusKFv.js} +2 -2
  62. package/dist/cdn/chunks/{icons-CnwCLJX-.js.map → icons-DClusKFv.js.map} +1 -1
  63. package/dist/cdn/chunks/{liquid.browser-rMoPo2t_.js → liquid.browser-DUDc3U21.js} +10 -10
  64. package/dist/cdn/chunks/{liquid.browser-rMoPo2t_.js.map → liquid.browser-DUDc3U21.js.map} +1 -1
  65. package/dist/cdn/chunks/{media-library-9jyt7Bf9.js → media-library-8bD3x0mc.js} +7 -7
  66. package/dist/cdn/chunks/{media-library-9jyt7Bf9.js.map → media-library-8bD3x0mc.js.map} +1 -1
  67. package/dist/cdn/chunks/pusher-CHo5Cua0.js.map +1 -1
  68. package/dist/cdn/chunks/{quality-CO9mj_RH.js → quality-Dqwx7TdN.js} +530 -530
  69. package/dist/cdn/chunks/{quality-CO9mj_RH.js.map → quality-Dqwx7TdN.js.map} +1 -1
  70. package/dist/cdn/chunks/{renderer-m6XTCWCL.js → renderer-DwmyVTa2.js} +16 -16
  71. package/dist/cdn/chunks/{renderer-m6XTCWCL.js.map → renderer-DwmyVTa2.js.map} +1 -1
  72. package/dist/cdn/chunks/{src-DfMSYqvE.js → src-C2v-Zix_.js} +6 -6
  73. package/dist/cdn/chunks/{src-DfMSYqvE.js.map → src-C2v-Zix_.js.map} +1 -1
  74. package/dist/cdn/chunks/{styles-1uFWdD5T.js → styles-CwetU6QM.js} +143 -143
  75. package/dist/cdn/chunks/styles-CwetU6QM.js.map +1 -0
  76. package/dist/cdn/chunks/{tiptap-CJbIm_hE.js → tiptap-P5abGB13.js} +4434 -2577
  77. package/dist/cdn/chunks/tiptap-P5abGB13.js.map +1 -0
  78. package/dist/cdn/editor.css +1 -1
  79. package/dist/cdn/editor.js +100 -100
  80. package/dist/cdn/editor.js.map +1 -1
  81. package/dist/{check-Bs6_uQpm.js → check-KooI2jyS.js} +1 -1
  82. package/dist/{chevron-down-so1rnGwF.js → chevron-down-mnlFgueW.js} +1 -1
  83. package/dist/{circle-alert-CrKv0AuW.js → circle-alert-D89_hB8j.js} +1 -1
  84. package/dist/{clock-Cpx6GYpa.js → clock-BaadyUrg.js} +1 -1
  85. package/dist/{cloud-bHhCNRZa.js → cloud-D-FScaHx.js} +2 -2
  86. package/dist/{createLucideIcon-DFBxEm5K.js → createLucideIcon-D-6fpD2L.js} +1 -1
  87. package/dist/{dist-DwEpKyry.js → dist-BttO3Zdx.js} +44 -44
  88. package/dist/{dist-CMkZaqX1.js → dist-C1WcikEF.js} +5 -5
  89. package/dist/dist-CjULgTep.js +4072 -0
  90. package/dist/{dist-BufRk8ZY.js → dist-D6L_WdRL.js} +95 -85
  91. package/dist/{dist-DJ5YJLXn.js → dist-DaajG7Fo.js} +5 -5
  92. package/dist/dist-Df4eV6Zi.js +5 -0
  93. package/dist/{dist-BejBMbBX.js → dist-Dnqx5UF3.js} +171 -158
  94. package/dist/{dist-CIK3BYgh.js → dist-Drp5bNAu.js} +5 -5
  95. package/dist/dist-WJ1fVd5b.js +5 -0
  96. package/dist/{dist-CoaWXQ7N.js → dist-XA2i70J5.js} +8 -8
  97. package/dist/{dist-74n2Mqc6.js → dist-b52vYHb5.js} +2 -2
  98. package/dist/{dist-2-A7SaKm.js → dist-cl33Ip6W.js} +1 -1
  99. package/dist/{dist-0RguD1vS.js → dist-sqf7pq5q.js} +16 -16
  100. package/dist/{dist-B3CcePtK.js → dist-zInT3Lf6.js} +75 -57
  101. package/dist/{extensions-C810eSzv.js → extensions-DA-w1gVg.js} +29 -29
  102. package/dist/{image-up-kMLE5GsI.js → image-up-DjwfAom6.js} +1 -1
  103. package/dist/{info-xqRxLfNz.js → info-Db3HlTr8.js} +1 -1
  104. package/dist/{keys-BoYBr3PU.js → keys-BjmL5YCT.js} +1 -1
  105. package/dist/{liquid.browser-IgQrXHPQ.js → liquid.browser--qtl1Fqy.js} +9 -9
  106. package/dist/{list-checks-C81htkBJ.js → list-checks-BlAB0X8a.js} +1 -1
  107. package/dist/{loader-circle-C6cZPIum.js → loader-circle-EVqyIxjU.js} +1 -1
  108. package/dist/{message-circle-dqOBRe07.js → message-circle-BuI5pBVG.js} +1 -1
  109. package/dist/{refresh-cw-DCjNd6o0.js → refresh-cw-C2vM_6zQ.js} +1 -1
  110. package/dist/{scan-line-DXz0nZVJ.js → scan-line-AUIh_SHI.js} +1 -1
  111. package/dist/{send-C4uH_WaI.js → send-nrbwF7xg.js} +1 -1
  112. package/dist/{shield-check-B3U68ssA.js → shield-check-B55Ozmva.js} +1 -1
  113. package/dist/{sparkles-CsDweGUy.js → sparkles-oh1NUSFq.js} +1 -1
  114. package/dist/style.css +1 -1
  115. package/dist/{styles-CBlNpqL9.js → styles-DMh_bHK0.js} +34 -34
  116. package/dist/templatical-editor.js +81 -80
  117. package/dist/{text-align-start-BkKQePFp.js → text-align-start-B2MqzZwU.js} +1 -1
  118. package/dist/{trash-2-BIOkaEz1.js → trash-2-DH8RBwAx.js} +1 -1
  119. package/dist/{triangle-alert-Bbgu6uUG.js → triangle-alert-BQHjCt3B.js} +1 -1
  120. package/dist/{useAliveFlag-Bc99FWyR.js → useAliveFlag-B_b9ubwD.js} +1 -1
  121. package/dist/{useCloudI18n-DiwsLi6z.js → useCloudI18n-BHCrmQgj.js} +2 -2
  122. package/dist/{useEditorCore-7c1QpPlw.js → useEditorCore-wBmdLj66.js} +368 -375
  123. package/dist/{useI18n-DskZMfRJ.js → useI18n-Bb9-ha9X.js} +2 -2
  124. package/dist/{useMergeTag-Co4xYwG6.js → useMergeTag-HykzEtBn.js} +3 -3
  125. package/dist/usePopoverRoot-BZDkRRry.js +8 -0
  126. package/dist/{vue.runtime.esm-bundler-D0Hg03Ub.js → vue.runtime.esm-bundler-MzYCkFSH.js} +18 -18
  127. package/dist/{x-DWU6NCuE.js → x-DgCCENgP.js} +1 -1
  128. package/package.json +25 -25
  129. package/dist/cdn/chunks/features-_ar9QbVv.js.map +0 -1
  130. package/dist/cdn/chunks/styles-1uFWdD5T.js.map +0 -1
  131. package/dist/cdn/chunks/tiptap-CJbIm_hE.js.map +0 -1
  132. package/dist/dist-Bvje_Tqb.js +0 -5
  133. package/dist/dist-BxHa6kIT.js +0 -2243
  134. package/dist/dist-D1YvgM6p.js +0 -5
  135. package/dist/usePopoverRoot-DYH_gX8o.js +0 -8
@@ -1,5 +1,5 @@
1
1
  import { n as e, r as t } from "./rolldown-runtime-Dqa2HsxW.js";
2
- import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as ee, b as T, c as E, ct as D, d as te, et as ne, f as O, g as k, h as A, it as j, k as re, l as M, m as N, n as ie, nt as P, o as ae, ot as F, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-J_1CPXYc.js";
2
+ import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as ee, b as T, c as E, ct as D, d as te, et as ne, f as O, g as k, h as A, it as j, k as re, l as M, m as N, n as ie, nt as P, o as ae, ot as F, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-BTGr7_-X.js";
3
3
  //#region src/constants/timeouts.ts
4
4
  var ue = 3e4, de = 4e3, fe = 5e3, pe = {
5
5
  1: 36,
@@ -328,8 +328,20 @@ function ct(e) {
328
328
  return t.id = W(), t.type === "section" && (t.children = t.children.map((e) => e.map((e) => ct(e)))), t;
329
329
  }
330
330
  //#endregion
331
+ //#region ../types/src/clone.ts
332
+ function lt(e) {
333
+ let t = /* @__PURE__ */ new WeakSet();
334
+ return JSON.parse(JSON.stringify(e, (e, n) => {
335
+ if (typeof n == "object" && n) {
336
+ if (t.has(n)) return;
337
+ t.add(n);
338
+ }
339
+ return n;
340
+ }));
341
+ }
342
+ //#endregion
331
343
  //#region ../types/src/merge-tags.ts
332
- var lt = {
344
+ var ut = {
333
345
  liquid: {
334
346
  value: /\{\{.+?\}\}/g,
335
347
  logic: /\{%-?\s*(\w+).*?-?%\}/g
@@ -346,50 +358,50 @@ var lt = {
346
358
  value: /%%=.+?=%%/g,
347
359
  logic: /%%\[\s*(\w+).*?\]%%/g
348
360
  }
349
- }, ut = {
361
+ }, dt = {
350
362
  liquid: "{{",
351
363
  handlebars: "{{",
352
364
  mailchimp: "*|",
353
365
  ampscript: "%%="
354
366
  };
355
- function dt(e) {
356
- for (let t of Object.keys(lt)) if (lt[t].value.source === e.value.source) return ut[t];
357
- return null;
358
- }
359
367
  function ft(e) {
360
- return e ? typeof e == "string" ? lt[e] ?? lt.liquid : e : lt.liquid;
368
+ for (let t of Object.keys(ut)) if (ut[t].value.source === e.value.source) return dt[t];
369
+ return null;
361
370
  }
362
371
  function pt(e) {
372
+ return e ? typeof e == "string" ? ut[e] ?? ut.liquid : e : ut.liquid;
373
+ }
374
+ function mt(e) {
363
375
  let t = e.source, n = e.flags.replace("g", "");
364
376
  return RegExp(`^${t}$`, n);
365
377
  }
366
- function mt(e, t) {
378
+ function ht(e, t) {
367
379
  let n = e?.trim() || "";
368
- return pt(t.logic).test(n) ? !1 : pt(t.value).test(n);
380
+ return mt(t.logic).test(n) ? !1 : mt(t.value).test(n);
369
381
  }
370
- function ht(e, t) {
382
+ function gt(e, t) {
371
383
  let n = t.find((t) => t.value === e);
372
384
  return n ? n.label : e;
373
385
  }
374
- function gt(e, t) {
375
- return xt(e, "data-merge-tag", (e) => ht(e, t));
376
- }
377
386
  function _t(e, t) {
387
+ return St(e, "data-merge-tag", (e) => gt(e, t));
388
+ }
389
+ function vt(e, t) {
378
390
  if (!e) return !1;
379
391
  let n = new RegExp(t.value.source, t.value.flags), r = new RegExp(t.logic.source, t.logic.flags);
380
392
  return n.test(e) || r.test(e);
381
393
  }
382
- function vt(e, t) {
383
- return pt(t.logic).test(e?.trim() || "");
384
- }
385
394
  function yt(e, t) {
395
+ return mt(t.logic).test(e?.trim() || "");
396
+ }
397
+ function bt(e, t) {
386
398
  let n = new RegExp(t.logic.source, t.logic.flags.replace("g", "")), r = e.match(n);
387
399
  return r && r[1] ? r[1].toUpperCase() : e;
388
400
  }
389
- function bt(e, t) {
390
- return xt(e, "data-logic-merge-tag", (e) => yt(e, t));
401
+ function xt(e, t) {
402
+ return St(e, "data-logic-merge-tag", (e) => bt(e, t));
391
403
  }
392
- function xt(e, t, n) {
404
+ function St(e, t, n) {
393
405
  let r = RegExp(`(?:^|\\s)${t}="([^"<>]*)"`), i = "", a = 0;
394
406
  for (; a < e.length;) {
395
407
  let t = e.indexOf("<span", a);
@@ -424,7 +436,7 @@ function xt(e, t, n) {
424
436
  }
425
437
  //#endregion
426
438
  //#region ../types/src/config.ts
427
- var St = class extends Error {
439
+ var Ct = class extends Error {
428
440
  statusCode;
429
441
  constructor(e, t) {
430
442
  super(e), this.statusCode = t, this.name = "SdkError";
@@ -441,10 +453,10 @@ var St = class extends Error {
441
453
  };
442
454
  //#endregion
443
455
  //#region ../core/src/editor.ts
444
- function Ct(e) {
456
+ function wt(e) {
445
457
  return e === "1" ? 1 : e === "3" ? 3 : 2;
446
458
  }
447
- function wt(e) {
459
+ function Tt(e) {
448
460
  let t = S({
449
461
  content: e.content ?? Ue(e.defaultFontFamily, e.templateDefaults),
450
462
  selectedBlockId: null,
@@ -534,7 +546,7 @@ function wt(e) {
534
546
  if (s(n)) return;
535
547
  let o = i(t.content.blocks, n);
536
548
  if (o && o.type === "section") {
537
- if (r < 0 || r >= Ct(o.columns)) return;
549
+ if (r < 0 || r >= wt(o.columns)) return;
538
550
  o.children[r] = o.children[r] || [];
539
551
  let t = o.children[r];
540
552
  a !== void 0 && a < t.length ? t.splice(a, 0, e) : t.push(e);
@@ -566,7 +578,7 @@ function wt(e) {
566
578
  let u;
567
579
  if (r) {
568
580
  let e = i(t.content.blocks, r);
569
- if (!e || e.type !== "section" || a < 0 || a >= Ct(e.columns)) return;
581
+ if (!e || e.type !== "section" || a < 0 || a >= wt(e.columns)) return;
570
582
  e.children[a] = e.children[a] || [], u = e.children[a];
571
583
  } else u = t.content.blocks;
572
584
  let [d] = c.blocks.splice(l, 1);
@@ -597,18 +609,11 @@ function wt(e) {
597
609
  }
598
610
  //#endregion
599
611
  //#region ../core/src/history.ts
600
- var Tt = 50, Et = 300, Dt = 1500;
601
- function Ot(e) {
602
- let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = Tt } = e, a = C([]), o = C([]), s = C(!1), c = null, l = null, u = y(() => a.value.length > 0), d = y(() => o.value.length > 0);
612
+ var Et = 50, Dt = 300, Ot = 1500;
613
+ function kt(e) {
614
+ let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = Et } = e, a = C([]), o = C([]), s = C(!1), c = null, l = null, u = y(() => a.value.length > 0), d = y(() => o.value.length > 0);
603
615
  function f() {
604
- let e = /* @__PURE__ */ new WeakSet();
605
- return JSON.parse(JSON.stringify(t.value, (t, n) => {
606
- if (typeof n == "object" && n) {
607
- if (e.has(n)) return;
608
- e.add(n);
609
- }
610
- return n;
611
- }));
616
+ return lt(t.value);
612
617
  }
613
618
  function p(e) {
614
619
  a.value.push(e), a.value.length > i && a.value.splice(0, a.value.length - i);
@@ -624,21 +629,21 @@ function Ot(e) {
624
629
  if (l && l.blockId === e) {
625
630
  clearTimeout(l.timeoutId), l.timeoutId = setTimeout(() => {
626
631
  l = null;
627
- }, Et);
632
+ }, Dt);
628
633
  return;
629
634
  }
630
635
  m(), p(f()), o.value = [], l = {
631
636
  blockId: e,
632
637
  timeoutId: setTimeout(() => {
633
638
  l = null;
634
- }, Et)
639
+ }, Dt)
635
640
  };
636
641
  }
637
642
  }
638
643
  function _() {
639
644
  s.value = !0, c && clearTimeout(c), c = setTimeout(() => {
640
645
  s.value = !1, c = null;
641
- }, Dt);
646
+ }, Ot);
642
647
  }
643
648
  function v() {
644
649
  if (a.value.length === 0) return;
@@ -672,7 +677,7 @@ function Ot(e) {
672
677
  }
673
678
  //#endregion
674
679
  //#region ../core/src/block-actions.ts
675
- function kt(e) {
680
+ function At(e) {
676
681
  e.type === "table" ? e.rows = e.rows.map((e) => ({
677
682
  ...e,
678
683
  id: W(),
@@ -688,7 +693,7 @@ function kt(e) {
688
693
  id: W()
689
694
  })));
690
695
  }
691
- function At(e) {
696
+ function jt(e) {
692
697
  let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
693
698
  function o(n, r, a) {
694
699
  let o = st(n, e.blockDefaults);
@@ -696,9 +701,9 @@ function At(e) {
696
701
  }
697
702
  function s(e, n, r) {
698
703
  let o = JSON.parse(JSON.stringify(e));
699
- if (o.id = W(), kt(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
704
+ if (o.id = W(), At(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
700
705
  let t = JSON.parse(JSON.stringify(e));
701
- return t.id = W(), kt(t), t;
706
+ return t.id = W(), At(t), t;
702
707
  }))), n !== void 0 || r !== void 0) t(o, n, r);
703
708
  else {
704
709
  let i = a?.(e.id) ?? null;
@@ -721,7 +726,7 @@ function At(e) {
721
726
  }
722
727
  //#endregion
723
728
  //#region ../core/src/auto-save.ts
724
- function jt(e) {
729
+ function Mt(e) {
725
730
  let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
726
731
  function c() {
727
732
  return typeof a == "function" ? a() : a;
@@ -759,7 +764,7 @@ function jt(e) {
759
764
  }
760
765
  //#endregion
761
766
  //#region ../core/src/condition-preview.ts
762
- function Mt(e) {
767
+ function Nt(e) {
763
768
  let t = S(/* @__PURE__ */ new Set()), n = y(() => t.size > 0);
764
769
  function r(e) {
765
770
  return t.has(e);
@@ -779,7 +784,7 @@ function Mt(e) {
779
784
  }
780
785
  //#endregion
781
786
  //#region ../core/src/data-source-fetch.ts
782
- function Nt(e) {
787
+ function Pt(e) {
783
788
  let t = C(!1), n = C(!1), r = y(() => !!e.definition.value?.dataSource), i = y(() => r.value && !e.block.value.dataSourceFetched);
784
789
  async function a() {
785
790
  let r = e.definition.value;
@@ -811,7 +816,7 @@ function Nt(e) {
811
816
  }
812
817
  //#endregion
813
818
  //#region ../core/src/history-interceptor.ts
814
- function Pt(e, t) {
819
+ function Ft(e, t) {
815
820
  let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
816
821
  e.addBlock = (r, i, a, o) => {
817
822
  i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
@@ -827,10 +832,10 @@ function Pt(e, t) {
827
832
  }
828
833
  //#endregion
829
834
  //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.35_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
830
- function Ft(e, t) {
835
+ function It(e, t) {
831
836
  return s() ? (l(e, t), !0) : !1;
832
837
  }
833
- function It() {
838
+ function Lt() {
834
839
  let e = /* @__PURE__ */ new Set(), t = (t) => {
835
840
  e.delete(t);
836
841
  };
@@ -838,7 +843,7 @@ function It() {
838
843
  on: (n) => {
839
844
  e.add(n);
840
845
  let r = () => t(n);
841
- return Ft(r), { off: r };
846
+ return It(r), { off: r };
842
847
  },
843
848
  off: t,
844
849
  trigger: (...t) => Promise.all(Array.from(e).map((e) => e(...t))),
@@ -847,18 +852,18 @@ function It() {
847
852
  }
848
853
  };
849
854
  }
850
- var Lt = /* @__PURE__ */ new WeakMap(), Rt = (...e) => {
855
+ var Rt = /* @__PURE__ */ new WeakMap(), zt = (...e) => {
851
856
  let t = e[0], n = _()?.proxy ?? s();
852
857
  if (n == null && !le()) throw Error("injectLocal must be called in setup");
853
- return n && Lt.has(n) && t in Lt.get(n) ? Lt.get(n)[t] : v(...e);
854
- }, zt = typeof window < "u" && typeof document < "u";
858
+ return n && Rt.has(n) && t in Rt.get(n) ? Rt.get(n)[t] : v(...e);
859
+ }, Bt = typeof window < "u" && typeof document < "u";
855
860
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
856
- var Bt = (e) => e != null, Vt = Object.prototype.toString, Ht = (e) => Vt.call(e) === "[object Object]", Ut = () => {}, Wt = (e, t) => Object.hasOwn(e, t), Gt = /* @__PURE__ */ Kt();
857
- function Kt() {
861
+ var Vt = (e) => e != null, Ht = Object.prototype.toString, Ut = (e) => Ht.call(e) === "[object Object]", Wt = () => {}, Gt = (e, t) => Object.hasOwn(e, t), Kt = /* @__PURE__ */ qt();
862
+ function qt() {
858
863
  var e, t;
859
- return zt && !!(!((e = window) == null || (e = e.navigator) == null) && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
864
+ return Bt && !!(!((e = window) == null || (e = e.navigator) == null) && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
860
865
  }
861
- function qt(e, t) {
866
+ function Jt(e, t) {
862
867
  function n(...n) {
863
868
  return new Promise((r, i) => {
864
869
  Promise.resolve(e(() => t.apply(this, n), {
@@ -870,10 +875,10 @@ function qt(e, t) {
870
875
  }
871
876
  return n;
872
877
  }
873
- var Jt = (e) => e();
874
- function Yt(e, t = {}) {
875
- let n, r, i = Ut, a = (e) => {
876
- clearTimeout(e), i(), i = Ut;
878
+ var Yt = (e) => e();
879
+ function Xt(e, t = {}) {
880
+ let n, r, i = Wt, a = (e) => {
881
+ clearTimeout(e), i(), i = Wt;
877
882
  }, o;
878
883
  return (s) => {
879
884
  let c = P(e), l = P(t.maxWait);
@@ -886,7 +891,7 @@ function Yt(e, t = {}) {
886
891
  });
887
892
  };
888
893
  }
889
- function Xt(e) {
894
+ function Zt(e) {
890
895
  let t;
891
896
  function n() {
892
897
  return t ||= e(), t;
@@ -896,32 +901,32 @@ function Xt(e) {
896
901
  t = void 0, e && await e;
897
902
  }, n;
898
903
  }
899
- function Zt(e) {
904
+ function Qt(e) {
900
905
  return e.endsWith("rem") ? Number.parseFloat(e) * 16 : Number.parseFloat(e);
901
906
  }
902
- function Qt(e) {
907
+ function $t(e) {
903
908
  return Array.isArray(e) ? e : [e];
904
909
  }
905
- function $t(e) {
910
+ function en(e) {
906
911
  return e || _();
907
912
  }
908
- function en(e, t = 200, n = {}) {
909
- return qt(Yt(t, n), e);
910
- }
911
913
  function tn(e, t = 200, n = {}) {
912
- let r = C(P(e)), i = en(() => {
914
+ return Jt(Xt(t, n), e);
915
+ }
916
+ function nn(e, t = 200, n = {}) {
917
+ let r = C(P(e)), i = tn(() => {
913
918
  r.value = e.value;
914
919
  }, t, n);
915
920
  return H(e, () => i()), g(r);
916
921
  }
917
- function nn(e, t, n = {}) {
918
- let { eventFilter: r = Jt, ...i } = n;
919
- return H(e, qt(r, t), i);
922
+ function rn(e, t, n = {}) {
923
+ let { eventFilter: r = Yt, ...i } = n;
924
+ return H(e, Jt(r, t), i);
920
925
  }
921
- function rn(e, t = !0, n) {
922
- $t(n) ? r(e, n) : t ? e() : m(e);
926
+ function an(e, t = !0, n) {
927
+ en(n) ? r(e, n) : t ? e() : m(e);
923
928
  }
924
- function an(e, t = 1e3, r = {}) {
929
+ function on(e, t = 1e3, r = {}) {
925
930
  let { immediate: i = !0, immediateCallback: a = !1 } = r, o = null, s = n(!1);
926
931
  function c() {
927
932
  o &&= (clearInterval(o), null);
@@ -933,15 +938,15 @@ function an(e, t = 1e3, r = {}) {
933
938
  let n = P(t);
934
939
  n <= 0 || (s.value = !0, a && e(), c(), s.value && (o = setInterval(e, n)));
935
940
  }
936
- return i && zt && d(), (u(t) || typeof t == "function") && Ft(H(t, () => {
937
- s.value && zt && d();
938
- })), Ft(l), {
941
+ return i && Bt && d(), (u(t) || typeof t == "function") && It(H(t, () => {
942
+ s.value && Bt && d();
943
+ })), It(l), {
939
944
  isActive: g(s),
940
945
  pause: l,
941
946
  resume: d
942
947
  };
943
948
  }
944
- function on(e, t, r = {}) {
949
+ function sn(e, t, r = {}) {
945
950
  let { immediate: i = !0, immediateCallback: a = !1 } = r, o = n(!1), s;
946
951
  function c() {
947
952
  s &&= (clearTimeout(s), void 0);
@@ -954,13 +959,13 @@ function on(e, t, r = {}) {
954
959
  o.value = !1, s = void 0, e(...n);
955
960
  }, P(t));
956
961
  }
957
- return i && (o.value = !0, zt && u()), Ft(l), {
962
+ return i && (o.value = !0, Bt && u()), It(l), {
958
963
  isPending: g(o),
959
964
  start: u,
960
965
  stop: l
961
966
  };
962
967
  }
963
- function sn(e = !1, t = {}) {
968
+ function cn(e = !1, t = {}) {
964
969
  let { truthyValue: r = !0, falsyValue: i = !1 } = t, a = u(e), o = n(e);
965
970
  function s(e) {
966
971
  if (arguments.length) return o.value = e, o.value;
@@ -971,14 +976,14 @@ function sn(e = !1, t = {}) {
971
976
  }
972
977
  return a ? s : [o, s];
973
978
  }
974
- function cn(e, t, n = {}) {
979
+ function ln(e, t, n = {}) {
975
980
  let { debounce: r = 0, maxWait: i = void 0, ...a } = n;
976
- return nn(e, t, {
981
+ return rn(e, t, {
977
982
  ...a,
978
- eventFilter: Yt(r, { maxWait: i })
983
+ eventFilter: Xt(r, { maxWait: i })
979
984
  });
980
985
  }
981
- function ln(e, t, n) {
986
+ function un(e, t, n) {
982
987
  return H(e, t, {
983
988
  ...n,
984
989
  immediate: !0
@@ -986,41 +991,41 @@ function ln(e, t, n) {
986
991
  }
987
992
  //#endregion
988
993
  //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.35_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
989
- var un = zt ? window : void 0, dn = zt ? window.document : void 0, fn = zt ? window.navigator : void 0;
994
+ var dn = Bt ? window : void 0, fn = Bt ? window.document : void 0, pn = Bt ? window.navigator : void 0;
990
995
  function K(e) {
991
996
  let t = P(e);
992
997
  return t?.$el ?? t;
993
998
  }
994
999
  function q(...e) {
995
1000
  let t = (e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)), n = O(() => {
996
- let t = Qt(P(e[0])).filter((e) => e != null);
1001
+ let t = $t(P(e[0])).filter((e) => e != null);
997
1002
  return t.every((e) => typeof e != "string") ? t : void 0;
998
1003
  });
999
- return ln(() => [
1000
- n.value?.map((e) => K(e)) ?? [un].filter((e) => e != null),
1001
- Qt(P(n.value ? e[1] : e[0])),
1002
- Qt(j(n.value ? e[2] : e[1])),
1004
+ return un(() => [
1005
+ n.value?.map((e) => K(e)) ?? [dn].filter((e) => e != null),
1006
+ $t(P(n.value ? e[1] : e[0])),
1007
+ $t(j(n.value ? e[2] : e[1])),
1003
1008
  P(n.value ? e[3] : e[2])
1004
1009
  ], ([e, n, r, i], a, o) => {
1005
1010
  if (!e?.length || !n?.length || !r?.length) return;
1006
- let s = Ht(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
1011
+ let s = Ut(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
1007
1012
  o(() => {
1008
1013
  c.forEach((e) => e());
1009
1014
  });
1010
1015
  }, { flush: "post" });
1011
1016
  }
1012
- var pn = !1;
1013
- function mn(e, t, n = {}) {
1014
- let { window: r = un, ignore: i = [], capture: a = !0, detectIframe: o = !1, controls: s = !1 } = n;
1017
+ var mn = !1;
1018
+ function hn(e, t, n = {}) {
1019
+ let { window: r = dn, ignore: i = [], capture: a = !0, detectIframe: o = !1, controls: s = !1 } = n;
1015
1020
  if (!r) return s ? {
1016
- stop: Ut,
1017
- cancel: Ut,
1018
- trigger: Ut
1019
- } : Ut;
1020
- if (Gt && !pn) {
1021
- pn = !0;
1021
+ stop: Wt,
1022
+ cancel: Wt,
1023
+ trigger: Wt
1024
+ } : Wt;
1025
+ if (Kt && !mn) {
1026
+ mn = !0;
1022
1027
  let e = { passive: !0 };
1023
- Array.from(r.document.body.children).forEach((t) => t.addEventListener("click", Ut, e)), r.document.documentElement.addEventListener("click", Ut, e);
1028
+ Array.from(r.document.body.children).forEach((t) => t.addEventListener("click", Wt, e)), r.document.documentElement.addEventListener("click", Wt, e);
1024
1029
  }
1025
1030
  let c = !0, l = (e) => P(i).some((t) => {
1026
1031
  if (typeof t == "string") return Array.from(r.document.querySelectorAll(t)).some((t) => t === e.target || e.composedPath().includes(t));
@@ -1077,21 +1082,21 @@ function mn(e, t, n = {}) {
1077
1082
  }
1078
1083
  } : h;
1079
1084
  }
1080
- function hn() {
1085
+ function gn() {
1081
1086
  let e = n(!1), t = _();
1082
1087
  return t && r(() => {
1083
1088
  e.value = !0;
1084
1089
  }, t), e;
1085
1090
  }
1086
1091
  /* @__NO_SIDE_EFFECTS__ */
1087
- function gn(e) {
1088
- return hn(), O(() => !!e());
1092
+ function _n(e) {
1093
+ return gn(), O(() => !!e());
1089
1094
  }
1090
- function _n(e, t, n = {}) {
1091
- let { window: r = un, ...i } = n, a, o = /* @__PURE__ */ gn(() => r && "MutationObserver" in r), s = () => {
1095
+ function vn(e, t, n = {}) {
1096
+ let { window: r = dn, ...i } = n, a, o = /* @__PURE__ */ _n(() => r && "MutationObserver" in r), s = () => {
1092
1097
  a &&= (a.disconnect(), void 0);
1093
1098
  }, c = H(O(() => {
1094
- let t = Qt(P(e)).map(K).filter(Bt);
1099
+ let t = $t(P(e)).map(K).filter(Vt);
1095
1100
  return new Set(t);
1096
1101
  }), (e) => {
1097
1102
  s(), o.value && e.size && (a = new MutationObserver(t), e.forEach((e) => a.observe(e, i)));
@@ -1101,25 +1106,25 @@ function _n(e, t, n = {}) {
1101
1106
  }), l = () => a?.takeRecords(), u = () => {
1102
1107
  c(), s();
1103
1108
  };
1104
- return Ft(u), {
1109
+ return It(u), {
1105
1110
  isSupported: o,
1106
1111
  stop: u,
1107
1112
  takeRecords: l
1108
1113
  };
1109
1114
  }
1110
- var vn = Symbol("vueuse-ssr-width");
1115
+ var yn = Symbol("vueuse-ssr-width");
1111
1116
  /* @__NO_SIDE_EFFECTS__ */
1112
- function yn() {
1113
- let e = le() ? Rt(vn, null) : null;
1117
+ function bn() {
1118
+ let e = le() ? zt(yn, null) : null;
1114
1119
  return typeof e == "number" ? e : void 0;
1115
1120
  }
1116
- function bn(e, t = {}) {
1117
- let { window: r = un, ssrWidth: a = /* @__PURE__ */ yn() } = t, o = /* @__PURE__ */ gn(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), s = n(typeof a == "number"), c = n(), l = n(!1);
1121
+ function xn(e, t = {}) {
1122
+ let { window: r = dn, ssrWidth: a = /* @__PURE__ */ bn() } = t, o = /* @__PURE__ */ _n(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), s = n(typeof a == "number"), c = n(), l = n(!1);
1118
1123
  return i(() => {
1119
1124
  if (s.value) {
1120
1125
  s.value = !o.value, l.value = P(e).split(",").some((e) => {
1121
1126
  let t = e.includes("not all"), n = e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), r = e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), i = !!(n || r);
1122
- return n && i && (i = a >= Zt(n[1])), r && i && (i = a <= Zt(r[1])), t ? !i : i;
1127
+ return n && i && (i = a >= Qt(n[1])), r && i && (i = a <= Qt(r[1])), t ? !i : i;
1123
1128
  });
1124
1129
  return;
1125
1130
  }
@@ -1128,12 +1133,12 @@ function bn(e, t = {}) {
1128
1133
  l.value = e.matches;
1129
1134
  }, { passive: !0 }), O(() => l.value);
1130
1135
  }
1131
- function xn(e, t = {}) {
1132
- let { controls: r = !1, navigator: i = fn } = t, a = /* @__PURE__ */ gn(() => i && "permissions" in i), o = n(), s = typeof e == "string" ? { name: e } : e, c = n(), l = () => {
1136
+ function Sn(e, t = {}) {
1137
+ let { controls: r = !1, navigator: i = pn } = t, a = /* @__PURE__ */ _n(() => i && "permissions" in i), o = n(), s = typeof e == "string" ? { name: e } : e, c = n(), l = () => {
1133
1138
  c.value = o.value?.state ?? "prompt";
1134
1139
  };
1135
1140
  q(o, "change", l, { passive: !0 });
1136
- let u = Xt(async () => {
1141
+ let u = Zt(async () => {
1137
1142
  if (a.value) {
1138
1143
  if (!o.value) try {
1139
1144
  o.value = await i.permissions.query(s);
@@ -1151,8 +1156,8 @@ function xn(e, t = {}) {
1151
1156
  query: u
1152
1157
  } : c;
1153
1158
  }
1154
- function Sn(e = {}) {
1155
- let { navigator: t = fn, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ gn(() => t && "clipboard" in t), c = xn("clipboard-read"), l = xn("clipboard-write"), u = O(() => s.value || o), d = n(""), f = n(!1), p = n(!1), m = on(() => f.value = !1, a, { immediate: !1 }), h = 0;
1159
+ function Cn(e = {}) {
1160
+ let { navigator: t = pn, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ _n(() => t && "clipboard" in t), c = Sn("clipboard-read"), l = Sn("clipboard-write"), u = O(() => s.value || o), d = n(""), f = n(!1), p = n(!1), m = sn(() => f.value = !1, a, { immediate: !1 }), h = 0;
1156
1161
  async function _() {
1157
1162
  let e = !(s.value && S(c.value));
1158
1163
  if (!e) try {
@@ -1204,9 +1209,9 @@ function Sn(e = {}) {
1204
1209
  copy: v
1205
1210
  };
1206
1211
  }
1207
- function Cn(e, t = {}) {
1212
+ function wn(e, t = {}) {
1208
1213
  let r = n(!1), i = n(null), a = 0, o = !0;
1209
- if (zt) {
1214
+ if (Bt) {
1210
1215
  let n = typeof t == "function" ? { onDrop: t } : t, s = n.multiple ?? !0, c = n.preventDefaultForUnhandled ?? !1, l = (e) => {
1211
1216
  let t = Array.from(e.dataTransfer?.files ?? []);
1212
1217
  return t.length === 0 ? null : s ? t : [t[0]];
@@ -1249,8 +1254,8 @@ function Cn(e, t = {}) {
1249
1254
  isOverDropZone: r
1250
1255
  };
1251
1256
  }
1252
- function wn(e, t, n = {}) {
1253
- let { window: r = un, ...i } = n, a, o = /* @__PURE__ */ gn(() => r && "ResizeObserver" in r), s = () => {
1257
+ function Tn(e, t, n = {}) {
1258
+ let { window: r = dn, ...i } = n, a, o = /* @__PURE__ */ _n(() => r && "ResizeObserver" in r), s = () => {
1254
1259
  a &&= (a.disconnect(), void 0);
1255
1260
  }, c = H(O(() => {
1256
1261
  let t = P(e);
@@ -1266,12 +1271,12 @@ function wn(e, t, n = {}) {
1266
1271
  }), l = () => {
1267
1272
  s(), c();
1268
1273
  };
1269
- return Ft(l), {
1274
+ return It(l), {
1270
1275
  isSupported: o,
1271
1276
  stop: l
1272
1277
  };
1273
1278
  }
1274
- function Tn(e, t = {}) {
1279
+ function En(e, t = {}) {
1275
1280
  let { reset: r = !0, windowResize: i = !0, windowScroll: a = !0, immediate: o = !0, updateTiming: s = "sync" } = t, c = n(0), l = n(0), u = n(0), d = n(0), f = n(0), p = n(0), m = n(0), h = n(0);
1276
1281
  function g() {
1277
1282
  let t = K(e);
@@ -1285,10 +1290,10 @@ function Tn(e, t = {}) {
1285
1290
  function _() {
1286
1291
  s === "sync" ? g() : s === "next-frame" && requestAnimationFrame(() => g());
1287
1292
  }
1288
- return wn(e, _), H(() => K(e), (e) => !e && _()), _n(e, _, { attributeFilter: ["style", "class"] }), a && q("scroll", _, {
1293
+ return Tn(e, _), H(() => K(e), (e) => !e && _()), vn(e, _, { attributeFilter: ["style", "class"] }), a && q("scroll", _, {
1289
1294
  capture: !0,
1290
1295
  passive: !0
1291
- }), i && q("resize", _, { passive: !0 }), rn(() => {
1296
+ }), i && q("resize", _, { passive: !0 }), an(() => {
1292
1297
  o && _();
1293
1298
  }), {
1294
1299
  height: c,
@@ -1302,8 +1307,8 @@ function Tn(e, t = {}) {
1302
1307
  update: _
1303
1308
  };
1304
1309
  }
1305
- function En(e, t, r = {}) {
1306
- let { root: i, rootMargin: a, threshold: o = 0, window: s = un, immediate: c = !0 } = r, l = /* @__PURE__ */ gn(() => s && "IntersectionObserver" in s), u = O(() => Qt(P(e)).map(K).filter(Bt)), d = Ut, f = n(c), p = l.value ? H(() => [
1310
+ function Dn(e, t, r = {}) {
1311
+ let { root: i, rootMargin: a, threshold: o = 0, window: s = dn, immediate: c = !0 } = r, l = /* @__PURE__ */ _n(() => s && "IntersectionObserver" in s), u = O(() => $t(P(e)).map(K).filter(Vt)), d = Wt, f = n(c), p = l.value ? H(() => [
1307
1312
  u.value,
1308
1313
  K(i),
1309
1314
  P(a),
@@ -1316,15 +1321,15 @@ function En(e, t, r = {}) {
1316
1321
  threshold: o
1317
1322
  });
1318
1323
  e.forEach((e) => e && i.observe(e)), d = () => {
1319
- i.disconnect(), d = Ut;
1324
+ i.disconnect(), d = Wt;
1320
1325
  };
1321
1326
  }, {
1322
1327
  immediate: c,
1323
1328
  flush: "post"
1324
- }) : Ut, m = () => {
1329
+ }) : Wt, m = () => {
1325
1330
  d(), p(), f.value = !1;
1326
1331
  };
1327
- return Ft(m), {
1332
+ return It(m), {
1328
1333
  isSupported: l,
1329
1334
  isActive: f,
1330
1335
  pause() {
@@ -1336,21 +1341,21 @@ function En(e, t, r = {}) {
1336
1341
  stop: m
1337
1342
  };
1338
1343
  }
1339
- var Dn = {
1344
+ var On = {
1340
1345
  multiple: !0,
1341
1346
  accept: "*",
1342
1347
  reset: !1,
1343
1348
  directory: !1
1344
1349
  };
1345
- function On(e) {
1350
+ function kn(e) {
1346
1351
  if (!e) return null;
1347
1352
  if (e instanceof FileList) return e;
1348
1353
  let t = new DataTransfer();
1349
1354
  for (let n of e) t.items.add(n);
1350
1355
  return t.files;
1351
1356
  }
1352
- function kn(e = {}) {
1353
- let { document: t = dn } = e, n = C(On(e.initialFiles)), { on: r, trigger: a } = It(), { on: o, trigger: s } = It(), c = O(() => {
1357
+ function An(e = {}) {
1358
+ let { document: t = fn } = e, n = C(kn(e.initialFiles)), { on: r, trigger: a } = Lt(), { on: o, trigger: s } = Lt(), c = O(() => {
1354
1359
  let r = K(e.input) ?? (t ? t.createElement("input") : void 0);
1355
1360
  return r && (r.type = "file", r.onchange = (e) => {
1356
1361
  n.value = e.target.files, a(n.value);
@@ -1361,7 +1366,7 @@ function kn(e = {}) {
1361
1366
  n.value = null, c.value && c.value.value && (c.value.value = "", a(null));
1362
1367
  }, u = (e) => {
1363
1368
  let t = c.value;
1364
- t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory), Wt(e, "capture") && (t.capture = P(e.capture)));
1369
+ t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory), Gt(e, "capture") && (t.capture = P(e.capture)));
1365
1370
  };
1366
1371
  return i(() => {
1367
1372
  u(e);
@@ -1371,7 +1376,7 @@ function kn(e = {}) {
1371
1376
  let n = c.value;
1372
1377
  if (!n) return;
1373
1378
  let r = {
1374
- ...Dn,
1379
+ ...On,
1375
1380
  ...e,
1376
1381
  ...t
1377
1382
  };
@@ -1384,26 +1389,26 @@ function kn(e = {}) {
1384
1389
  }
1385
1390
  //#endregion
1386
1391
  //#region src/utils/activeEditorTracker.ts
1387
- var An = /* @__PURE__ */ new Set(), jn = 0, Mn = 0;
1388
- function Nn() {
1389
- let e = ++Mn;
1390
- return An.add(e), jn === 0 && (jn = e), {
1392
+ var jn = /* @__PURE__ */ new Set(), Mn = 0, Nn = 0;
1393
+ function Pn() {
1394
+ let e = ++Nn;
1395
+ return jn.add(e), Mn === 0 && (Mn = e), {
1391
1396
  id: e,
1392
- isActive: () => An.size <= 1 || jn === e,
1397
+ isActive: () => jn.size <= 1 || Mn === e,
1393
1398
  claim: () => {
1394
- jn = e;
1399
+ Mn = e;
1395
1400
  },
1396
1401
  dispose: () => {
1397
- if (An.delete(e), jn === e) {
1398
- let e = Array.from(An);
1399
- jn = e[e.length - 1] ?? 0;
1402
+ if (jn.delete(e), Mn === e) {
1403
+ let e = Array.from(jn);
1404
+ Mn = e[e.length - 1] ?? 0;
1400
1405
  }
1401
1406
  }
1402
1407
  };
1403
1408
  }
1404
1409
  //#endregion
1405
1410
  //#region src/keys.ts
1406
- var Pn = Symbol("translations"), Fn = Symbol("editor"), In = Symbol("history"), Ln = Symbol("blockActions"), Rn = Symbol("conditionPreview"), zn = Symbol("fontsManager"), Bn = Symbol("themeStyles"), Vn = Symbol("tplUiTheme"), Hn = Symbol("blockDefaults"), Un = Symbol("blockRegistry"), Wn = Symbol("customBlockDefinitions"), Gn = Symbol("customBlockStylesheets"), Kn = Symbol("mergeTags"), qn = Symbol("mergeTagSyntax"), Jn = Symbol("onRequestMergeTag"), Yn = Symbol("mergeTagAutocomplete"), Xn = Symbol("mergeTagPicker"), Zn = Symbol("onRequestMedia"), Qn = Symbol("displayConditions"), $n = Symbol("allowCustomConditions"), er = Symbol("capabilities"), tr = Symbol("keyboardReorder"), nr = Symbol("templateLint"), rr = Symbol("editorRoot"), ir = Symbol("popoverRoot"), ar = Symbol("authManager"), or = Symbol("aiConfig"), sr = Symbol("comments"), cr = Symbol("savedModulesHeadless"), lr = Symbol("scoring"), ur = Symbol("cloudTranslations");
1411
+ var Fn = Symbol("translations"), In = Symbol("editor"), Ln = Symbol("history"), Rn = Symbol("blockActions"), zn = Symbol("conditionPreview"), Bn = Symbol("fontsManager"), Vn = Symbol("themeStyles"), Hn = Symbol("tplUiTheme"), Un = Symbol("blockDefaults"), Wn = Symbol("blockRegistry"), Gn = Symbol("customBlockDefinitions"), Kn = Symbol("customBlockStylesheets"), qn = Symbol("mergeTags"), Jn = Symbol("mergeTagSyntax"), Yn = Symbol("onRequestMergeTag"), Xn = Symbol("mergeTagAutocomplete"), Zn = Symbol("mergeTagPicker"), Qn = Symbol("onRequestMedia"), $n = Symbol("displayConditions"), er = Symbol("allowCustomConditions"), tr = Symbol("capabilities"), nr = Symbol("keyboardReorder"), rr = Symbol("templateLint"), ir = Symbol("editorRoot"), ar = Symbol("popoverRoot"), or = Symbol("authManager"), sr = Symbol("aiConfig"), cr = Symbol("comments"), lr = Symbol("savedModulesHeadless"), ur = Symbol("scoring"), dr = Symbol("cloudTranslations");
1407
1412
  function J(e, t) {
1408
1413
  let n = v(e, null);
1409
1414
  if (n == null) throw Error(`${t} requires a provider for ${e.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
@@ -1411,7 +1416,7 @@ function J(e, t) {
1411
1416
  }
1412
1417
  //#endregion
1413
1418
  //#region src/composables/useMergeTagPicker.ts
1414
- function dr() {
1419
+ function fr() {
1415
1420
  let e = C(!1), t = C([]), n = null;
1416
1421
  function r(r) {
1417
1422
  if (n) {
@@ -1441,17 +1446,17 @@ function dr() {
1441
1446
  }
1442
1447
  //#endregion
1443
1448
  //#region src/composables/useTemplateLint.ts
1444
- function fr(e) {
1449
+ function pr(e) {
1445
1450
  return e ? e.disabled === !0 ? !0 : e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
1446
1451
  }
1447
- function pr(e) {
1448
- let t = C([]), r = C(!1), i = C(!1), a = n(null), o = fr(e.options), s = null, c = !1;
1452
+ function mr(e) {
1453
+ let t = C([]), r = C(!1), i = C(!1), a = n(null), o = pr(e.options), s = null, c = !1;
1449
1454
  o || l();
1450
1455
  async function l() {
1451
1456
  try {
1452
- let t = await import("./quality-CO9mj_RH.js").then((e) => e.t);
1457
+ let t = await import("./quality-Dqwx7TdN.js").then((e) => e.t);
1453
1458
  if (c) return;
1454
- a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = cn(e.content, u, {
1459
+ a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = ln(e.content, u, {
1455
1460
  debounce: e.debounce ?? 500,
1456
1461
  deep: !0
1457
1462
  });
@@ -1487,7 +1492,7 @@ function pr(e) {
1487
1492
  //#endregion
1488
1493
  //#region src/composables/useI18n.ts
1489
1494
  function Y(e) {
1490
- let t = e ?? v(Pn, null);
1495
+ let t = e ?? v(Fn, null);
1491
1496
  if (!t) throw Error("useI18n() requires a translations provider. Ensure the component is a descendant of Editor or CloudEditor.");
1492
1497
  let n = u(t) ? t.value : t;
1493
1498
  function r(e, t) {
@@ -1500,12 +1505,12 @@ function Y(e) {
1500
1505
  }
1501
1506
  //#endregion
1502
1507
  //#region src/utils/blockTypeLabels.ts
1503
- function mr(e, t) {
1508
+ function hr(e, t) {
1504
1509
  return t.blocks[e] ?? e;
1505
1510
  }
1506
1511
  //#endregion
1507
1512
  //#region src/composables/useKeyboardReorder.ts
1508
- function hr(e, t) {
1513
+ function gr(e, t) {
1509
1514
  let n = C(null), r = C(""), i = null;
1510
1515
  function a(t) {
1511
1516
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -1532,7 +1537,7 @@ function hr(e, t) {
1532
1537
  let r = a(n);
1533
1538
  if (!r) return "";
1534
1539
  let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
1535
- return i ? mr(i.type, t.t) : "";
1540
+ return i ? hr(i.type, t.t) : "";
1536
1541
  }
1537
1542
  function s(t, n) {
1538
1543
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -1601,13 +1606,13 @@ function hr(e, t) {
1601
1606
  }
1602
1607
  //#endregion
1603
1608
  //#region src/composables/useUiTheme.ts
1604
- function gr(e) {
1605
- let t = bn("(prefers-color-scheme: dark)");
1609
+ function _r(e) {
1610
+ let t = xn("(prefers-color-scheme: dark)");
1606
1611
  return { resolvedTheme: O(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
1607
1612
  }
1608
1613
  //#endregion
1609
1614
  //#region src/composables/useThemeStyles.ts
1610
- var _r = {
1615
+ var vr = {
1611
1616
  bg: "--tpl-bg",
1612
1617
  bgElevated: "--tpl-bg-elevated",
1613
1618
  bgHover: "--tpl-bg-hover",
@@ -1631,10 +1636,10 @@ var _r = {
1631
1636
  dangerLight: "--tpl-danger-light",
1632
1637
  canvasBg: "--tpl-canvas-bg"
1633
1638
  };
1634
- function vr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1639
+ function yr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1635
1640
  return { themeStyles: O(() => {
1636
1641
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
1637
- if (a) for (let [e, t] of Object.entries(_r)) {
1642
+ if (a) for (let [e, t] of Object.entries(vr)) {
1638
1643
  let n = a[e];
1639
1644
  n && (r[t] = n);
1640
1645
  }
@@ -1643,27 +1648,27 @@ function vr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1643
1648
  }
1644
1649
  //#endregion
1645
1650
  //#region src/utils/logger.ts
1646
- var yr = "[Templatical]";
1647
- function br() {
1651
+ var br = "[Templatical]";
1652
+ function xr() {
1648
1653
  return typeof process < "u" && !0;
1649
1654
  }
1650
- var xr = {
1655
+ var Sr = {
1651
1656
  warn(...e) {
1652
- console.warn(yr, ...e);
1657
+ console.warn(br, ...e);
1653
1658
  },
1654
1659
  error(...e) {
1655
- console.error(yr, ...e);
1660
+ console.error(br, ...e);
1656
1661
  },
1657
1662
  debug(...e) {
1658
- br() || console.debug(yr, ...e);
1663
+ xr() || console.debug(br, ...e);
1659
1664
  },
1660
1665
  info(...e) {
1661
- br() || console.info(yr, ...e);
1666
+ xr() || console.info(br, ...e);
1662
1667
  }
1663
1668
  };
1664
1669
  //#endregion
1665
1670
  //#region src/composables/useBlockRegistry.ts
1666
- function Sr() {
1671
+ function Cr() {
1667
1672
  let e = n(/* @__PURE__ */ new Map());
1668
1673
  function t(t, n) {
1669
1674
  e.value.set(t, n), oe(e);
@@ -1709,13 +1714,13 @@ function Sr() {
1709
1714
  let t = s(e.customType);
1710
1715
  if (!t) return c("Block definition not found");
1711
1716
  try {
1712
- let { Liquid: n } = await import("./liquid.browser-rMoPo2t_.js");
1717
+ let { Liquid: n } = await import("./liquid.browser-DUDc3U21.js");
1713
1718
  return await new n({
1714
1719
  strictVariables: !1,
1715
1720
  strictFilters: !1
1716
1721
  }).parseAndRender(t.template, e.fieldValues);
1717
1722
  } catch (t) {
1718
- return xr.error(`Failed to render custom block "${e.customType}":`, t), c(`Render error: ${e.customType}`);
1723
+ return Sr.error(`Failed to render custom block "${e.customType}":`, t), c(`Render error: ${e.customType}`);
1719
1724
  }
1720
1725
  }
1721
1726
  function u(t) {
@@ -1734,9 +1739,9 @@ function Sr() {
1734
1739
  }
1735
1740
  //#endregion
1736
1741
  //#region src/composables/useCustomBlockStylesheets.ts
1737
- function Cr(e, t) {
1742
+ function wr(e, t) {
1738
1743
  return O(() => {
1739
- let n = wr(e.value.blocks);
1744
+ let n = Tr(e.value.blocks);
1740
1745
  if (n.size === 0) return [];
1741
1746
  let r = /* @__PURE__ */ new Set(), i = [];
1742
1747
  for (let e of n) {
@@ -1748,11 +1753,11 @@ function Cr(e, t) {
1748
1753
  return i;
1749
1754
  });
1750
1755
  }
1751
- function wr(e) {
1756
+ function Tr(e) {
1752
1757
  let t = /* @__PURE__ */ new Set();
1753
- return Tr(e, t), t;
1758
+ return Er(e, t), t;
1754
1759
  }
1755
- function Tr(e, t) {
1760
+ function Er(e, t) {
1756
1761
  for (let n of e) {
1757
1762
  if (Ee(n)) {
1758
1763
  t.add(n.customType);
@@ -1761,13 +1766,13 @@ function Tr(e, t) {
1761
1766
  if (n.type === "section") {
1762
1767
  let e = n.children;
1763
1768
  if (!e) continue;
1764
- for (let n of e) Tr(n, t);
1769
+ for (let n of e) Er(n, t);
1765
1770
  }
1766
1771
  }
1767
1772
  }
1768
1773
  //#endregion
1769
1774
  //#region src/utils/registerBuiltInBlocks.ts
1770
- var Er = [
1775
+ var Dr = [
1771
1776
  {
1772
1777
  type: "section",
1773
1778
  label: "Section",
@@ -1834,8 +1839,8 @@ var Er = [
1834
1839
  createBlock: it
1835
1840
  }
1836
1841
  ];
1837
- function Dr(e, t) {
1838
- for (let n of Er) {
1842
+ function Or(e, t) {
1843
+ for (let n of Dr) {
1839
1844
  let r = t[n.type];
1840
1845
  r && e.registerBuiltIn(n.type, {
1841
1846
  component: r,
@@ -1850,7 +1855,7 @@ function Dr(e, t) {
1850
1855
  }
1851
1856
  //#endregion
1852
1857
  //#region src/utils/keyboardShortcuts.ts
1853
- function Or(e) {
1858
+ function kr(e) {
1854
1859
  for (let t of e.composedPath()) {
1855
1860
  if (!(t instanceof HTMLElement)) continue;
1856
1861
  if (t.isContentEditable) return !0;
@@ -1859,14 +1864,14 @@ function Or(e) {
1859
1864
  }
1860
1865
  return !1;
1861
1866
  }
1862
- function kr(e, t) {
1867
+ function Ar(e, t) {
1863
1868
  let n = e.metaKey || e.ctrlKey;
1864
1869
  if (n && e.key.toLowerCase() === "s") {
1865
1870
  e.preventDefault(), t.onSave?.();
1866
1871
  return;
1867
1872
  }
1868
1873
  if (n && e.key.toLowerCase() === "z") {
1869
- if (Or(e)) return;
1874
+ if (kr(e)) return;
1870
1875
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
1871
1876
  return;
1872
1877
  }
@@ -1874,11 +1879,11 @@ function kr(e, t) {
1874
1879
  t.selectBlock(null);
1875
1880
  return;
1876
1881
  }
1877
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Or(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1882
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !kr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1878
1883
  }
1879
1884
  //#endregion
1880
1885
  //#region src/components/blocks/ButtonBlock.vue?vue&type=script&setup=true&lang.ts
1881
- var Ar = { class: "tpl:text-center" }, jr = ["href"], Mr = /* @__PURE__ */ B({
1886
+ var jr = { class: "tpl:text-center" }, Mr = ["href"], Nr = /* @__PURE__ */ B({
1882
1887
  __name: "ButtonBlock",
1883
1888
  props: {
1884
1889
  block: {},
@@ -1899,17 +1904,17 @@ var Ar = { class: "tpl:text-center" }, jr = ["href"], Mr = /* @__PURE__ */ B({
1899
1904
  };
1900
1905
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
1901
1906
  });
1902
- return (t, r) => (f(), k("div", Ar, [I("a", {
1907
+ return (t, r) => (f(), k("div", jr, [I("a", {
1903
1908
  href: e.block.url || "#",
1904
1909
  style: L(n.value),
1905
1910
  class: "tpl:cursor-default",
1906
1911
  onClick: r[0] ||= M(() => {}, ["prevent"])
1907
- }, D(e.block.text), 13, jr)]));
1912
+ }, D(e.block.text), 13, Mr)]));
1908
1913
  }
1909
- }), Nr = (e) => e === "", Pr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Fr = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Ir = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Lr = (e) => {
1910
- let t = Ir(e);
1914
+ }), Pr = (e) => e === "", Fr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Ir = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Lr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Rr = (e) => {
1915
+ let t = Lr(e);
1911
1916
  return t.charAt(0).toUpperCase() + t.slice(1);
1912
- }, Rr = {
1917
+ }, zr = {
1913
1918
  xmlns: "http://www.w3.org/2000/svg",
1914
1919
  width: 24,
1915
1920
  height: 24,
@@ -1919,35 +1924,35 @@ var Ar = { class: "tpl:text-center" }, jr = ["href"], Mr = /* @__PURE__ */ B({
1919
1924
  "stroke-width": 2,
1920
1925
  "stroke-linecap": "round",
1921
1926
  "stroke-linejoin": "round"
1922
- }, zr = Symbol("lucide-icons");
1923
- function Br() {
1924
- return v(zr, {});
1927
+ }, Br = Symbol("lucide-icons");
1928
+ function Vr() {
1929
+ return v(Br, {});
1925
1930
  }
1926
1931
  //#endregion
1927
1932
  //#region ../../node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
1928
- var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
1929
- let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = Br(), g = O(() => {
1930
- let e = Nr(n) || Nr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || Rr["stroke-width"];
1931
- return e ? Number(t) * 24 / Number(s ?? d ?? Rr.width) : t;
1933
+ var Hr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
1934
+ let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = Vr(), g = O(() => {
1935
+ let e = Pr(n) || Pr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || zr["stroke-width"];
1936
+ return e ? Number(t) * 24 / Number(s ?? d ?? zr.width) : t;
1932
1937
  });
1933
1938
  return a("svg", {
1934
- ...Rr,
1939
+ ...zr,
1935
1940
  ...l,
1936
- width: s ?? d ?? Rr.width,
1937
- height: s ?? d ?? Rr.height,
1938
- stroke: c ?? f ?? Rr.stroke,
1941
+ width: s ?? d ?? zr.width,
1942
+ height: s ?? d ?? zr.height,
1943
+ stroke: c ?? f ?? zr.stroke,
1939
1944
  "stroke-width": g.value,
1940
- class: Pr("lucide", h, ...e ? [`lucide-${Fr(Lr(e))}-icon`, `lucide-${Fr(e)}`] : ["lucide-icon"])
1945
+ class: Fr("lucide", h, ...e ? [`lucide-${Ir(Rr(e))}-icon`, `lucide-${Ir(e)}`] : ["lucide-icon"])
1941
1946
  }, [...t.map((e) => a(...e)), ...u.default ? [u.default()] : []]);
1942
- }, X = (e, t) => (n, { slots: r, attrs: i }) => a(Vr, {
1947
+ }, X = (e, t) => (n, { slots: r, attrs: i }) => a(Hr, {
1943
1948
  ...i,
1944
1949
  ...n,
1945
1950
  iconNode: t,
1946
1951
  name: e
1947
- }, r.default ? { default: r.default } : void 0), Hr = X("bookmark", [["path", {
1952
+ }, r.default ? { default: r.default } : void 0), Ur = X("bookmark", [["path", {
1948
1953
  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",
1949
1954
  key: "oz39mx"
1950
- }]]), Ur = X("box", [
1955
+ }]]), Wr = X("box", [
1951
1956
  ["path", {
1952
1957
  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",
1953
1958
  key: "hh9hay"
@@ -1960,22 +1965,22 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1960
1965
  d: "M12 22V12",
1961
1966
  key: "d0xqtd"
1962
1967
  }]
1963
- ]), Wr = X("check", [["path", {
1968
+ ]), Gr = X("check", [["path", {
1964
1969
  d: "M20 6 9 17l-5-5",
1965
1970
  key: "1gmf2c"
1966
- }]]), Gr = X("chevron-down", [["path", {
1971
+ }]]), Kr = X("chevron-down", [["path", {
1967
1972
  d: "m6 9 6 6 6-6",
1968
1973
  key: "qrunsl"
1969
- }]]), Kr = X("chevron-left", [["path", {
1974
+ }]]), qr = X("chevron-left", [["path", {
1970
1975
  d: "m15 18-6-6 6-6",
1971
1976
  key: "1wnfg3"
1972
- }]]), qr = X("chevron-right", [["path", {
1977
+ }]]), Jr = X("chevron-right", [["path", {
1973
1978
  d: "m9 18 6-6-6-6",
1974
1979
  key: "mthhwq"
1975
- }]]), Jr = X("chevron-up", [["path", {
1980
+ }]]), Yr = X("chevron-up", [["path", {
1976
1981
  d: "m18 15-6-6-6 6",
1977
1982
  key: "153udz"
1978
- }]]), Yr = X("circle-alert", [
1983
+ }]]), Xr = X("circle-alert", [
1979
1984
  ["circle", {
1980
1985
  cx: "12",
1981
1986
  cy: "12",
@@ -1996,7 +2001,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
1996
2001
  y2: "16",
1997
2002
  key: "4dfq90"
1998
2003
  }]
1999
- ]), Xr = X("circle-check", [["circle", {
2004
+ ]), Zr = X("circle-check", [["circle", {
2000
2005
  cx: "12",
2001
2006
  cy: "12",
2002
2007
  r: "10",
@@ -2004,7 +2009,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2004
2009
  }], ["path", {
2005
2010
  d: "m9 12 2 2 4-4",
2006
2011
  key: "dzmm74"
2007
- }]]), Zr = X("clock", [["circle", {
2012
+ }]]), Qr = X("clock", [["circle", {
2008
2013
  cx: "12",
2009
2014
  cy: "12",
2010
2015
  r: "10",
@@ -2012,13 +2017,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2012
2017
  }], ["path", {
2013
2018
  d: "M12 6v6l4 2",
2014
2019
  key: "mmk7yg"
2015
- }]]), Qr = X("code", [["path", {
2020
+ }]]), $r = X("code", [["path", {
2016
2021
  d: "m16 18 6-6-6-6",
2017
2022
  key: "eg8j8"
2018
2023
  }], ["path", {
2019
2024
  d: "m8 6-6 6 6 6",
2020
2025
  key: "ppft3o"
2021
- }]]), $r = X("copy", [["rect", {
2026
+ }]]), ei = X("copy", [["rect", {
2022
2027
  width: "14",
2023
2028
  height: "14",
2024
2029
  x: "8",
@@ -2029,7 +2034,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2029
2034
  }], ["path", {
2030
2035
  d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
2031
2036
  key: "zix9uf"
2032
- }]]), ei = X("eye-off", [
2037
+ }]]), ti = X("eye-off", [
2033
2038
  ["path", {
2034
2039
  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",
2035
2040
  key: "ct8e1f"
@@ -2046,7 +2051,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2046
2051
  d: "m2 2 20 20",
2047
2052
  key: "1ooewy"
2048
2053
  }]
2049
- ]), ti = X("eye", [["path", {
2054
+ ]), ni = X("eye", [["path", {
2050
2055
  d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
2051
2056
  key: "1nclc0"
2052
2057
  }], ["circle", {
@@ -2054,7 +2059,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2054
2059
  cy: "12",
2055
2060
  r: "3",
2056
2061
  key: "1v7zrd"
2057
- }]]), ni = X("file-image", [
2062
+ }]]), ri = X("file-image", [
2058
2063
  ["path", {
2059
2064
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
2060
2065
  key: "1oefj6"
@@ -2073,7 +2078,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2073
2078
  d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
2074
2079
  key: "wt3hpn"
2075
2080
  }]
2076
- ]), ri = X("file-text", [
2081
+ ]), ii = X("file-text", [
2077
2082
  ["path", {
2078
2083
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
2079
2084
  key: "1oefj6"
@@ -2094,10 +2099,10 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2094
2099
  d: "M16 17H8",
2095
2100
  key: "z1uh3a"
2096
2101
  }]
2097
- ]), ii = X("funnel", [["path", {
2102
+ ]), ai = X("funnel", [["path", {
2098
2103
  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",
2099
2104
  key: "sc7q7i"
2100
- }]]), ai = X("grip-vertical", [
2105
+ }]]), oi = X("grip-vertical", [
2101
2106
  ["circle", {
2102
2107
  cx: "9",
2103
2108
  cy: "12",
@@ -2134,7 +2139,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2134
2139
  r: "1",
2135
2140
  key: "f4zoj3"
2136
2141
  }]
2137
- ]), oi = X("image-up", [
2142
+ ]), si = X("image-up", [
2138
2143
  ["path", {
2139
2144
  d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",
2140
2145
  key: "9csbqa"
@@ -2153,7 +2158,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2153
2158
  r: "2",
2154
2159
  key: "af1f0g"
2155
2160
  }]
2156
- ]), si = X("image", [
2161
+ ]), ci = X("image", [
2157
2162
  ["rect", {
2158
2163
  width: "18",
2159
2164
  height: "18",
@@ -2173,7 +2178,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2173
2178
  d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
2174
2179
  key: "1xmnt7"
2175
2180
  }]
2176
- ]), ci = X("info", [
2181
+ ]), li = X("info", [
2177
2182
  ["circle", {
2178
2183
  cx: "12",
2179
2184
  cy: "12",
@@ -2188,31 +2193,31 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2188
2193
  d: "M12 8h.01",
2189
2194
  key: "e9boi3"
2190
2195
  }]
2191
- ]), li = X("loader-circle", [["path", {
2196
+ ]), ui = X("loader-circle", [["path", {
2192
2197
  d: "M21 12a9 9 0 1 1-6.219-8.56",
2193
2198
  key: "13zald"
2194
- }]]), ui = X("message-circle", [["path", {
2199
+ }]]), di = X("message-circle", [["path", {
2195
2200
  d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
2196
2201
  key: "1sd12s"
2197
- }]]), di = X("navigation", [["polygon", {
2202
+ }]]), fi = X("navigation", [["polygon", {
2198
2203
  points: "3 11 22 2 13 21 11 13 3 11",
2199
2204
  key: "1ltx0t"
2200
- }]]), fi = X("pencil", [["path", {
2205
+ }]]), pi = X("pencil", [["path", {
2201
2206
  d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
2202
2207
  key: "1a8usu"
2203
2208
  }], ["path", {
2204
2209
  d: "m15 5 4 4",
2205
2210
  key: "1mk7zo"
2206
- }]]), pi = X("puzzle", [["path", {
2211
+ }]]), mi = X("puzzle", [["path", {
2207
2212
  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",
2208
2213
  key: "w46dr5"
2209
- }]]), mi = X("redo-2", [["path", {
2214
+ }]]), hi = X("redo-2", [["path", {
2210
2215
  d: "m15 14 5-5-5-5",
2211
2216
  key: "12vg1m"
2212
2217
  }], ["path", {
2213
2218
  d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
2214
2219
  key: "6uklza"
2215
- }]]), hi = X("refresh-cw", [
2220
+ }]]), gi = X("refresh-cw", [
2216
2221
  ["path", {
2217
2222
  d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
2218
2223
  key: "v9h5vc"
@@ -2229,19 +2234,19 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2229
2234
  d: "M8 16H3v5",
2230
2235
  key: "1cv678"
2231
2236
  }]
2232
- ]), gi = X("reply", [["path", {
2237
+ ]), _i = X("reply", [["path", {
2233
2238
  d: "M20 18v-2a4 4 0 0 0-4-4H4",
2234
2239
  key: "5vmcpk"
2235
2240
  }], ["path", {
2236
2241
  d: "m9 17-5-5 5-5",
2237
2242
  key: "nvlc11"
2238
- }]]), _i = X("send", [["path", {
2243
+ }]]), vi = X("send", [["path", {
2239
2244
  d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
2240
2245
  key: "1ffxy3"
2241
2246
  }], ["path", {
2242
2247
  d: "m21.854 2.147-10.94 10.939",
2243
2248
  key: "12cjpa"
2244
- }]]), vi = X("share-2", [
2249
+ }]]), yi = X("share-2", [
2245
2250
  ["circle", {
2246
2251
  cx: "18",
2247
2252
  cy: "5",
@@ -2274,13 +2279,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2274
2279
  y2: "10.49",
2275
2280
  key: "1n3mei"
2276
2281
  }]
2277
- ]), yi = X("shield-check", [["path", {
2282
+ ]), bi = X("shield-check", [["path", {
2278
2283
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2279
2284
  key: "oel41y"
2280
2285
  }], ["path", {
2281
2286
  d: "m9 12 2 2 4-4",
2282
2287
  key: "dzmm74"
2283
- }]]), bi = X("shield-x", [
2288
+ }]]), xi = X("shield-x", [
2284
2289
  ["path", {
2285
2290
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2286
2291
  key: "oel41y"
@@ -2293,7 +2298,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2293
2298
  d: "m9.5 9.5 5 5",
2294
2299
  key: "18nt4w"
2295
2300
  }]
2296
- ]), xi = X("sparkles", [
2301
+ ]), Si = X("sparkles", [
2297
2302
  ["path", {
2298
2303
  d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
2299
2304
  key: "1s2grr"
@@ -2312,7 +2317,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2312
2317
  r: "2",
2313
2318
  key: "6kqj1y"
2314
2319
  }]
2315
- ]), Si = X("table", [
2320
+ ]), Ci = X("table", [
2316
2321
  ["path", {
2317
2322
  d: "M12 3v18",
2318
2323
  key: "108xh3"
@@ -2333,7 +2338,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2333
2338
  d: "M3 15h18",
2334
2339
  key: "5xshup"
2335
2340
  }]
2336
- ]), Ci = X("trash-2", [
2341
+ ]), wi = X("trash-2", [
2337
2342
  ["path", {
2338
2343
  d: "M10 11v6",
2339
2344
  key: "nco0om"
@@ -2354,7 +2359,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2354
2359
  d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
2355
2360
  key: "e791ji"
2356
2361
  }]
2357
- ]), wi = X("triangle-alert", [
2362
+ ]), Ti = X("triangle-alert", [
2358
2363
  ["path", {
2359
2364
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
2360
2365
  key: "wmoenq"
@@ -2367,13 +2372,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2367
2372
  d: "M12 17h.01",
2368
2373
  key: "p32p05"
2369
2374
  }]
2370
- ]), Ti = X("undo-2", [["path", {
2375
+ ]), Ei = X("undo-2", [["path", {
2371
2376
  d: "M9 14 4 9l5-5",
2372
2377
  key: "102s5s"
2373
2378
  }], ["path", {
2374
2379
  d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
2375
2380
  key: "f3b9sd"
2376
- }]]), Ei = X("upload", [
2381
+ }]]), Di = X("upload", [
2377
2382
  ["path", {
2378
2383
  d: "M12 3v12",
2379
2384
  key: "1x0j5s"
@@ -2386,7 +2391,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2386
2391
  d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
2387
2392
  key: "ih7n3h"
2388
2393
  }]
2389
- ]), Di = X("video", [["path", {
2394
+ ]), Oi = X("video", [["path", {
2390
2395
  d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
2391
2396
  key: "ftymec"
2392
2397
  }], ["rect", {
@@ -2396,20 +2401,20 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2396
2401
  height: "12",
2397
2402
  rx: "2",
2398
2403
  key: "158x01"
2399
- }]]), Oi = X("x", [["path", {
2404
+ }]]), ki = X("x", [["path", {
2400
2405
  d: "M18 6 6 18",
2401
2406
  key: "1bl5f8"
2402
2407
  }], ["path", {
2403
2408
  d: "m6 6 12 12",
2404
2409
  key: "d8bk6v"
2405
- }]]), ki = X("zap", [["path", {
2410
+ }]]), Ai = X("zap", [["path", {
2406
2411
  d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
2407
2412
  key: "1xq2db"
2408
- }]]), Ai = ["innerHTML"], ji = [
2413
+ }]]), ji = ["innerHTML"], Mi = [
2409
2414
  "src",
2410
2415
  "width",
2411
2416
  "height"
2412
- ], Mi = /* @__PURE__ */ B({
2417
+ ], Ni = /* @__PURE__ */ B({
2413
2418
  __name: "CustomBlockIcon",
2414
2419
  props: {
2415
2420
  icon: {},
@@ -2425,40 +2430,40 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
2425
2430
  height: `${n.value}px`
2426
2431
  }),
2427
2432
  innerHTML: e.icon
2428
- }, null, 12, Ai)) : i.value ? (f(), k("img", {
2433
+ }, null, 12, ji)) : i.value ? (f(), k("img", {
2429
2434
  key: 1,
2430
2435
  src: e.icon,
2431
2436
  width: n.value,
2432
2437
  height: n.value,
2433
2438
  class: "tpl:inline-block",
2434
2439
  alt: ""
2435
- }, null, 8, ji)) : (f(), N(j(Ur), {
2440
+ }, null, 8, Mi)) : (f(), N(j(Wr), {
2436
2441
  key: 2,
2437
2442
  size: n.value,
2438
2443
  "stroke-width": 1.5
2439
2444
  }, null, 8, ["size"]));
2440
2445
  }
2441
- }), Ni = (e, t) => {
2446
+ }), Pi = (e, t) => {
2442
2447
  let n = e.__vccOpts || e;
2443
2448
  for (let [e, r] of t) n[e] = r;
2444
2449
  return n;
2445
- }, Pi = {}, Fi = { class: "tpl-loading-track" };
2446
- function Ii(e, t) {
2447
- return f(), k("div", Fi);
2450
+ }, Fi = {}, Ii = { class: "tpl-loading-track" };
2451
+ function Li(e, t) {
2452
+ return f(), k("div", Ii);
2448
2453
  }
2449
- var Li = /* @__PURE__ */ Ni(Pi, [["render", Ii], ["__scopeId", "data-v-1ed538ec"]]);
2454
+ var Ri = /*#__PURE__*/ Pi(Fi, [["render", Li], ["__scopeId", "data-v-1ed538ec"]]);
2450
2455
  //#endregion
2451
2456
  //#region src/composables/useEditorRoot.ts
2452
- function Ri() {
2453
- return v(rr, document) ?? document;
2457
+ function zi() {
2458
+ return v(ir, document) ?? document;
2454
2459
  }
2455
2460
  //#endregion
2456
2461
  //#region src/composables/useFocusTrap.ts
2457
- var zi = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
2458
- function Bi(e, t) {
2459
- let n = Ri(), r = null, i = null, a = null;
2462
+ var Bi = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
2463
+ function Vi(e, t) {
2464
+ let n = zi(), r = null, i = null, a = null;
2460
2465
  function o() {
2461
- return e.value ? Array.from(e.value.querySelectorAll(zi)).filter((e) => e.offsetParent !== null) : [];
2466
+ return e.value ? Array.from(e.value.querySelectorAll(Bi)).filter((e) => e.offsetParent !== null) : [];
2462
2467
  }
2463
2468
  function s(e) {
2464
2469
  if (e.key !== "Tab") return;
@@ -2488,18 +2493,18 @@ function Bi(e, t) {
2488
2493
  }
2489
2494
  //#endregion
2490
2495
  //#region src/composables/useCloudI18n.ts
2491
- function Vi(e, t) {
2496
+ function Hi(e, t) {
2492
2497
  return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
2493
2498
  }
2494
- function Hi(e) {
2495
- let t = e ?? v(ur, null);
2499
+ function Ui(e) {
2500
+ let t = e ?? v(dr, null);
2496
2501
  return {
2497
2502
  t: t ? u(t) ? t.value : t : null,
2498
- format: Vi
2503
+ format: Hi
2499
2504
  };
2500
2505
  }
2501
- function Ui(e) {
2502
- let { t, format: n } = Hi(e);
2506
+ function Wi(e) {
2507
+ let { t, format: n } = Ui(e);
2503
2508
  if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
2504
2509
  return {
2505
2510
  t,
@@ -2508,13 +2513,13 @@ function Ui(e) {
2508
2513
  }
2509
2514
  //#endregion
2510
2515
  //#region src/composables/useMergeTag.ts
2511
- function Wi() {
2512
- let e = v(Kn, []), t = v(qn, lt.liquid), n = v(Jn, null), r = v(Yn, !0), i = v(Xn, null), a = C(!1);
2516
+ function Gi() {
2517
+ let e = v(qn, []), t = v(Jn, ut.liquid), n = v(Yn, null), r = v(Xn, !0), i = v(Zn, null), a = C(!1);
2513
2518
  function o(e) {
2514
- return mt(e, t);
2519
+ return ht(e, t);
2515
2520
  }
2516
2521
  function s(t) {
2517
- return ht(t, e);
2522
+ return gt(t, e);
2518
2523
  }
2519
2524
  async function c() {
2520
2525
  if (n) {
@@ -2548,8 +2553,8 @@ function Wi() {
2548
2553
  }
2549
2554
  //#endregion
2550
2555
  //#region src/composables/useEmoji.ts
2551
- function Gi() {
2552
- let [e, t] = sn(!1), r = n([]), i = !1;
2556
+ function Ki() {
2557
+ let [e, t] = cn(!1), r = n([]), i = !1;
2553
2558
  l(() => {
2554
2559
  i = !0;
2555
2560
  }), H(e, async (e) => {
@@ -2574,7 +2579,7 @@ function Gi() {
2574
2579
  }
2575
2580
  //#endregion
2576
2581
  //#region src/composables/useDragDrop.ts
2577
- function Ki(e) {
2582
+ function qi(e) {
2578
2583
  let { onBlockMove: t, onBlockAdd: n } = e, r = C(!1), i = C(null), a = C(null);
2579
2584
  function o(e) {
2580
2585
  r.value = !0, i.value = e;
@@ -2624,7 +2629,7 @@ function Ki(e) {
2624
2629
  }
2625
2630
  //#endregion
2626
2631
  //#region src/composables/useFonts.ts
2627
- var qi = [
2632
+ var Ji = [
2628
2633
  {
2629
2634
  value: "Arial",
2630
2635
  label: "Arial"
@@ -2653,7 +2658,7 @@ var qi = [
2653
2658
  value: "Courier New",
2654
2659
  label: "Courier New"
2655
2660
  }
2656
- ], Ji = {
2661
+ ], Yi = {
2657
2662
  arial: "Arial, sans-serif",
2658
2663
  helvetica: "Helvetica, sans-serif",
2659
2664
  georgia: "Georgia, serif",
@@ -2661,14 +2666,14 @@ var qi = [
2661
2666
  verdana: "Verdana, sans-serif",
2662
2667
  "trebuchet ms": "'Trebuchet MS', sans-serif",
2663
2668
  "courier new": "'Courier New', monospace"
2664
- }, Yi = "Arial, sans-serif";
2665
- function Xi(e) {
2666
- let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ?? Yi);
2669
+ }, Xi = "Arial, sans-serif";
2670
+ function Zi(e) {
2671
+ let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ?? Xi);
2667
2672
  function a(e) {
2668
2673
  n.value = e;
2669
2674
  }
2670
2675
  let o = O(() => {
2671
- let e = [...qi];
2676
+ let e = [...Ji];
2672
2677
  if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
2673
2678
  let r = t.value.map((e) => ({
2674
2679
  value: e.name,
@@ -2681,23 +2686,23 @@ function Xi(e) {
2681
2686
  return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2682
2687
  }
2683
2688
  function u(e) {
2684
- return qi.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2689
+ return Ji.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
2685
2690
  }
2686
2691
  function d() {
2687
2692
  if (e?.defaultFont) {
2688
- if (!n.value && !u(e.defaultFont)) return Yi;
2693
+ if (!n.value && !u(e.defaultFont)) return Xi;
2689
2694
  if (c(e.defaultFont)) {
2690
2695
  let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
2691
2696
  if (t) return t.value;
2692
2697
  }
2693
2698
  }
2694
- return Yi;
2699
+ return Xi;
2695
2700
  }
2696
2701
  let f = O(() => d());
2697
2702
  function p(e) {
2698
2703
  if (!e) return i.value;
2699
2704
  let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
2700
- return n ? `'${n.name}', ${n.fallback ?? i.value}` : Ji[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
2705
+ return n ? `'${n.name}', ${n.fallback ?? i.value}` : Yi[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
2701
2706
  }
2702
2707
  let m = [], h = !1;
2703
2708
  async function g() {
@@ -2713,7 +2718,7 @@ function Xi(e) {
2713
2718
  t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
2714
2719
  });
2715
2720
  } catch (t) {
2716
- xr.warn(`Failed to load custom font "${e.name}":`, t);
2721
+ Sr.warn(`Failed to load custom font "${e.name}":`, t);
2717
2722
  }
2718
2723
  });
2719
2724
  await Promise.allSettled(e), !h && (r.value = !0);
@@ -2740,9 +2745,9 @@ function Xi(e) {
2740
2745
  }
2741
2746
  //#endregion
2742
2747
  //#region src/composables/useRichTextLinkDialog.ts
2743
- function Zi(e) {
2748
+ function Qi(e) {
2744
2749
  let t = C(!1), n = C(""), r = C(null);
2745
- Bi(r, t);
2750
+ Vi(r, t);
2746
2751
  function i() {
2747
2752
  n.value = e.value?.getAttributes("link").href || "", t.value = !0;
2748
2753
  }
@@ -2793,8 +2798,8 @@ function Zi(e) {
2793
2798
  }
2794
2799
  //#endregion
2795
2800
  //#region src/composables/useRichTextEditor.ts
2796
- function Qi(e) {
2797
- let t = v(Fn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Wi(), l = v(Pn, null), d = (u(l) ? l.value : l)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", f = dt(s), p = n(null), { showLinkDialog: m, linkUrl: h, linkDialogRef: g, openLinkDialog: _, insertLink: y, removeLink: b, closeLinkDialog: x, handleLinkKeydown: S } = Zi(p), { start: w, stop: ee } = on(() => p.value?.commands.focus("end"), 0, { immediate: !1 }), T = n(null), E = C(!0), D = C(null), te = !1;
2801
+ function $i(e) {
2802
+ let t = v(In, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Gi(), l = v(Fn, null), d = (u(l) ? l.value : l)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", f = ft(s), p = n(null), { showLinkDialog: m, linkUrl: h, linkDialogRef: g, openLinkDialog: _, insertLink: y, removeLink: b, closeLinkDialog: x, handleLinkKeydown: S } = Qi(p), { start: w, stop: ee } = sn(() => p.value?.commands.focus("end"), 0, { immediate: !1 }), T = n(null), E = C(!0), D = C(null), te = !1;
2798
2803
  async function ne() {
2799
2804
  D.value = null, E.value = !0;
2800
2805
  try {
@@ -2824,7 +2829,7 @@ function Qi(e) {
2824
2829
  p.value = l, E.value = !1, w();
2825
2830
  } catch (t) {
2826
2831
  if (te) return;
2827
- xr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), D.value = t instanceof Error ? t.message : "Failed to load editor", E.value = !1;
2832
+ Sr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), D.value = t instanceof Error ? t.message : "Failed to load editor", E.value = !1;
2828
2833
  }
2829
2834
  }
2830
2835
  function O() {
@@ -2872,20 +2877,20 @@ function Qi(e) {
2872
2877
  }
2873
2878
  //#endregion
2874
2879
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
2875
- var $i = { class: "tpl:w-full" }, ea = {
2880
+ var ea = { class: "tpl:w-full" }, ta = {
2876
2881
  key: 0,
2877
2882
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
2878
- }, ta = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, na = {
2883
+ }, na = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ra = {
2879
2884
  key: 1,
2880
2885
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
2881
- }, ra = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ia = {
2886
+ }, ia = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, aa = {
2882
2887
  key: 2,
2883
2888
  class: "tpl:relative"
2884
- }, aa = ["innerHTML"], oa = {
2889
+ }, oa = ["innerHTML"], sa = {
2885
2890
  key: 0,
2886
2891
  class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
2887
2892
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
2888
- }, sa = /* @__PURE__ */ B({
2893
+ }, ca = /* @__PURE__ */ B({
2889
2894
  __name: "CustomBlock",
2890
2895
  props: {
2891
2896
  block: {},
@@ -2893,7 +2898,7 @@ var $i = { class: "tpl:w-full" }, ea = {
2893
2898
  },
2894
2899
  emits: ["fetchData"],
2895
2900
  setup(e, { emit: t }) {
2896
- let n = e, i = t, { t: a } = Y(), o = v(Un, null), s = C(""), c = C(!1), l = O(() => o?.getDefinition(n.block.customType)), u = O(() => !!l.value), { isFetching: d, fetch: p, needsFetch: m, hasDataSource: h } = Nt({
2901
+ let n = e, i = t, { t: a } = Y(), o = v(Wn, null), s = C(""), c = C(!1), l = O(() => o?.getDefinition(n.block.customType)), u = O(() => !!l.value), { isFetching: d, fetch: p, needsFetch: m, hasDataSource: h } = Pt({
2897
2902
  definition: l,
2898
2903
  block: O(() => n.block),
2899
2904
  onUpdate: (e, t) => {
@@ -2914,15 +2919,15 @@ var $i = { class: "tpl:w-full" }, ea = {
2914
2919
  }
2915
2920
  }
2916
2921
  }
2917
- let _ = en(g, 150);
2922
+ let _ = tn(g, 150);
2918
2923
  return r(() => {
2919
2924
  g();
2920
2925
  }), H(() => n.block.fieldValues, () => {
2921
2926
  _();
2922
- }, { deep: !0 }), (e, t) => (f(), k("div", $i, [u.value ? c.value ? (f(), k("div", na, [V(j(wi), {
2927
+ }, { deep: !0 }), (e, t) => (f(), k("div", ea, [u.value ? c.value ? (f(), k("div", ra, [V(j(Ti), {
2923
2928
  size: 24,
2924
2929
  class: "tpl:text-[var(--tpl-danger)]"
2925
- }), I("span", ra, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", ia, [I("div", { innerHTML: s.value }, null, 8, aa), j(h) && j(m) ? (f(), k("div", oa, [j(d) ? (f(), N(Li, {
2930
+ }), I("span", ia, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", aa, [I("div", { innerHTML: s.value }, null, 8, oa), j(h) && j(m) ? (f(), k("div", sa, [j(d) ? (f(), N(Ri, {
2926
2931
  key: 1,
2927
2932
  class: "tpl:w-48"
2928
2933
  })) : (f(), k("button", {
@@ -2930,16 +2935,16 @@ var $i = { class: "tpl:w-full" }, ea = {
2930
2935
  type: "button",
2931
2936
  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)]",
2932
2937
  onClick: t[0] ||= M((...e) => j(p) && j(p)(...e), ["stop"])
2933
- }, [l.value?.icon ? (f(), N(Mi, {
2938
+ }, [l.value?.icon ? (f(), N(Ni, {
2934
2939
  key: 0,
2935
2940
  icon: l.value.icon,
2936
2941
  size: 16
2937
- }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", ea, [V(j(pi), {
2942
+ }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", ta, [V(j(mi), {
2938
2943
  size: 24,
2939
2944
  class: "tpl:text-[var(--tpl-warning)]"
2940
- }), I("span", ta, D(j(a).customBlocks.definitionNotFound), 1)]))]));
2945
+ }), I("span", na, D(j(a).customBlocks.definitionNotFound), 1)]))]));
2941
2946
  }
2942
- }), ca = { class: "tpl:w-full" }, la = /* @__PURE__ */ B({
2947
+ }), la = { class: "tpl:w-full" }, ua = /* @__PURE__ */ B({
2943
2948
  __name: "DividerBlock",
2944
2949
  props: {
2945
2950
  block: {},
@@ -2951,18 +2956,18 @@ var $i = { class: "tpl:w-full" }, ea = {
2951
2956
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
2952
2957
  margin: t.block.width === "full" ? "0" : "0 auto"
2953
2958
  }));
2954
- return (e, t) => (f(), k("div", ca, [I("hr", {
2959
+ return (e, t) => (f(), k("div", la, [I("hr", {
2955
2960
  class: "tpl:m-0 tpl:border-none",
2956
2961
  style: L(n.value)
2957
2962
  }, null, 4)]));
2958
2963
  }
2959
- }), ua = { class: "tpl:w-full" }, da = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, fa = {
2964
+ }), da = { class: "tpl:w-full" }, fa = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, pa = {
2960
2965
  key: 0,
2961
2966
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
2962
- }, pa = {
2967
+ }, ma = {
2963
2968
  key: 1,
2964
2969
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
2965
- }, ma = /* @__PURE__ */ B({
2970
+ }, ha = /* @__PURE__ */ B({
2966
2971
  __name: "HtmlBlock",
2967
2972
  props: {
2968
2973
  block: {},
@@ -2970,15 +2975,15 @@ var $i = { class: "tpl:w-full" }, ea = {
2970
2975
  },
2971
2976
  setup(e) {
2972
2977
  let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
2973
- return (e, t) => (f(), k("div", ua, [I("div", da, [V(j(Qr), {
2978
+ return (e, t) => (f(), k("div", da, [I("div", fa, [V(j($r), {
2974
2979
  size: 24,
2975
2980
  class: "tpl:text-[var(--tpl-text-dim)]"
2976
- }), r.value ? (f(), k("span", fa, D(j(n).html.preview), 1)) : (f(), k("span", pa, D(j(n).html.empty), 1))])]));
2981
+ }), r.value ? (f(), k("span", pa, D(j(n).html.preview), 1)) : (f(), k("span", ma, D(j(n).html.empty), 1))])]));
2977
2982
  }
2978
2983
  });
2979
2984
  //#endregion
2980
2985
  //#region src/composables/useAliveFlag.ts
2981
- function ha() {
2986
+ function ga() {
2982
2987
  let e = { alive: !0 };
2983
2988
  return re(() => {
2984
2989
  e.alive = !1;
@@ -2986,13 +2991,13 @@ function ha() {
2986
2991
  }
2987
2992
  //#endregion
2988
2993
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
2989
- var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
2994
+ var _a = ["href"], va = ["src", "alt"], ya = ["src", "alt"], ba = {
2990
2995
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2991
2996
  style: { opacity: "0.7" }
2992
- }, ba = ["href"], xa = ["src", "alt"], Sa = ["src", "alt"], Ca = {
2997
+ }, xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
2993
2998
  key: 3,
2994
2999
  class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
2995
- }, wa = ["aria-label"], Ta = { key: 1 }, Ea = /* @__PURE__ */ B({
3000
+ }, Ta = ["aria-label"], Ea = { key: 1 }, Da = /* @__PURE__ */ B({
2996
3001
  __name: "ImageBlock",
2997
3002
  props: {
2998
3003
  block: {},
@@ -3000,7 +3005,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3000
3005
  },
3001
3006
  emits: ["update"],
3002
3007
  setup(e, { emit: t }) {
3003
- let n = e, r = t, { t: i } = Y(), { syntax: a } = Wi(), o = v(Zn, null), s = O(() => !!o), c = ha();
3008
+ let n = e, r = t, { t: i } = Y(), { syntax: a } = Gi(), o = v(Qn, null), s = O(() => !!o), c = ga();
3004
3009
  async function l() {
3005
3010
  let e = await o?.({ accept: ["images"] });
3006
3011
  if (c.alive && e) {
@@ -3017,7 +3022,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3017
3022
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
3018
3023
  marginRight: e === "center" ? "auto" : void 0
3019
3024
  };
3020
- }), p = O(() => _t(n.block.src, a));
3025
+ }), p = O(() => vt(n.block.src, a));
3021
3026
  return (t, n) => (f(), k("div", {
3022
3027
  class: "tpl:w-full",
3023
3028
  style: L(u.value)
@@ -3033,22 +3038,22 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3033
3038
  src: e.block.placeholderUrl,
3034
3039
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3035
3040
  style: L(d.value)
3036
- }, null, 12, _a)], 8, ga)) : (f(), k("img", {
3041
+ }, null, 12, va)], 8, _a)) : (f(), k("img", {
3037
3042
  key: 1,
3038
3043
  class: "tpl:border-0",
3039
3044
  src: e.block.placeholderUrl,
3040
3045
  alt: e.block.alt,
3041
3046
  style: L(d.value)
3042
- }, null, 12, va))], 64)) : e.block.src && p.value ? (f(), k("div", {
3047
+ }, null, 12, ya))], 64)) : e.block.src && p.value ? (f(), k("div", {
3043
3048
  key: 1,
3044
3049
  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)]",
3045
3050
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, d.value])
3046
- }, [V(j(si), {
3051
+ }, [V(j(ci), {
3047
3052
  size: 32,
3048
3053
  "stroke-width": 1.5,
3049
3054
  class: "tpl:text-[var(--tpl-primary)]",
3050
3055
  style: { opacity: "0.5" }
3051
- }), I("span", ya, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 2 }, [e.block.linkUrl ? (f(), k("a", {
3056
+ }), I("span", ba, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 2 }, [e.block.linkUrl ? (f(), k("a", {
3052
3057
  key: 0,
3053
3058
  href: e.block.linkUrl,
3054
3059
  target: "_blank",
@@ -3060,26 +3065,26 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3060
3065
  src: e.block.src,
3061
3066
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3062
3067
  style: L(d.value)
3063
- }, null, 12, xa)], 8, ba)) : (f(), k("img", {
3068
+ }, null, 12, Sa)], 8, xa)) : (f(), k("img", {
3064
3069
  key: 1,
3065
3070
  class: "tpl:border-0",
3066
3071
  src: e.block.src,
3067
3072
  alt: e.block.alt,
3068
3073
  style: L(d.value)
3069
- }, null, 12, Sa))], 64)) : (f(), k("div", Ca, [s.value ? (f(), k("button", {
3074
+ }, null, 12, Ca))], 64)) : (f(), k("div", wa, [s.value ? (f(), k("button", {
3070
3075
  key: 0,
3071
3076
  "aria-label": j(i).image.browseMedia,
3072
3077
  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)]",
3073
3078
  onClick: M(l, ["stop"])
3074
- }, [V(j(si), {
3079
+ }, [V(j(ci), {
3075
3080
  size: 14,
3076
3081
  "stroke-width": 1.5
3077
- }), z(" " + D(j(i).image.browseMedia), 1)], 8, wa)) : (f(), k("span", Ta, D(j(i).image.clickToAdd), 1))]))], 4));
3082
+ }), z(" " + D(j(i).image.browseMedia), 1)], 8, Ta)) : (f(), k("span", Ea, D(j(i).image.clickToAdd), 1))]))], 4));
3078
3083
  }
3079
- }), Da = { class: "tpl:w-full" }, Oa = ["href"], ka = {
3084
+ }), Oa = { class: "tpl:w-full" }, ka = ["href"], Aa = {
3080
3085
  key: 1,
3081
3086
  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)]"
3082
- }, Aa = /* @__PURE__ */ B({
3087
+ }, ja = /* @__PURE__ */ B({
3083
3088
  __name: "MenuBlock",
3084
3089
  props: {
3085
3090
  block: {},
@@ -3098,7 +3103,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3098
3103
  function a(e) {
3099
3104
  return e || t.block.linkColor || t.block.color;
3100
3105
  }
3101
- return (t, o) => (f(), k("div", Da, [i.value ? (f(), k("div", {
3106
+ return (t, o) => (f(), k("div", Oa, [i.value ? (f(), k("div", {
3102
3107
  key: 0,
3103
3108
  style: L(r.value)
3104
3109
  }, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
@@ -3110,15 +3115,15 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3110
3115
  textDecoration: t.underline ? "underline" : "none"
3111
3116
  }),
3112
3117
  onClick: o[0] ||= M(() => {}, ["prevent"])
3113
- }, D(t.text || "..."), 13, Oa), n < e.block.items.length - 1 ? (f(), k("span", {
3118
+ }, D(t.text || "..."), 13, ka), n < e.block.items.length - 1 ? (f(), k("span", {
3114
3119
  key: 0,
3115
3120
  style: L({
3116
3121
  color: e.block.separatorColor,
3117
3122
  padding: `0 ${e.block.spacing}px`
3118
3123
  })
3119
- }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", ka, [V(j(di), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3124
+ }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Aa, [V(j(fi), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3120
3125
  }
3121
- }), ja = new Set([
3126
+ }), Ma = new Set([
3122
3127
  "http",
3123
3128
  "https",
3124
3129
  "mailto",
@@ -3128,7 +3133,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3128
3133
  "sms",
3129
3134
  "xmpp",
3130
3135
  "cid"
3131
- ]), Ma = new Set([
3136
+ ]), Na = new Set([
3132
3137
  "SCRIPT",
3133
3138
  "STYLE",
3134
3139
  "IFRAME",
@@ -3138,7 +3143,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3138
3143
  "META",
3139
3144
  "BASE",
3140
3145
  "FORM"
3141
- ]), Na = new Set([
3146
+ ]), Pa = new Set([
3142
3147
  "href",
3143
3148
  "xlink:href",
3144
3149
  "formaction",
@@ -3147,16 +3152,16 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
3147
3152
  "background",
3148
3153
  "poster"
3149
3154
  ]);
3150
- function Pa(e, t) {
3155
+ function Fa(e, t) {
3151
3156
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
3152
3157
  if (!n || n.startsWith("#")) return !0;
3153
3158
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
3154
3159
  if (!r) return !0;
3155
3160
  let i = r[1].toLowerCase();
3156
- return ja.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3161
+ return Ma.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3157
3162
  }
3158
- function Fa(e) {
3159
- if (Ma.has(e.tagName)) {
3163
+ function Ia(e) {
3164
+ if (Na.has(e.tagName)) {
3160
3165
  e.remove();
3161
3166
  return;
3162
3167
  }
@@ -3168,29 +3173,29 @@ function Fa(e) {
3168
3173
  e.removeAttribute(n);
3169
3174
  continue;
3170
3175
  }
3171
- if (Na.has(t)) {
3172
- Pa(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3176
+ if (Pa.has(t)) {
3177
+ Fa(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3173
3178
  continue;
3174
3179
  }
3175
3180
  if (t === "src") {
3176
- Pa(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3181
+ Fa(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3177
3182
  continue;
3178
3183
  }
3179
3184
  t === "srcdoc" && e.removeAttribute(n);
3180
3185
  }
3181
3186
  let n = Array.from(e.children);
3182
- for (let e of n) Fa(e);
3187
+ for (let e of n) Ia(e);
3183
3188
  }
3184
- function Ia(e) {
3189
+ function La(e) {
3185
3190
  if (typeof DOMParser > "u") return e;
3186
3191
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
3187
- for (let e of n) Fa(e);
3192
+ for (let e of n) Ia(e);
3188
3193
  return t.innerHTML;
3189
3194
  }
3190
3195
  //#endregion
3191
3196
  //#region src/composables/useEditableTextBlock.ts
3192
- function La(e) {
3193
- let t = v(Kn, []), { syntax: n } = Wi(), r = O(() => Ia(bt(gt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = Tn(a), c = O(() => ({
3197
+ function Ra(e) {
3198
+ let t = v(qn, []), { syntax: n } = Gi(), r = O(() => La(xt(_t(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = En(a), c = O(() => ({
3194
3199
  top: o.value - 8,
3195
3200
  left: s.value
3196
3201
  }));
@@ -3211,14 +3216,14 @@ function La(e) {
3211
3216
  }
3212
3217
  //#endregion
3213
3218
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
3214
- var Ra = ["innerHTML"], za = /* @__PURE__ */ B({
3219
+ var za = ["innerHTML"], Ba = /* @__PURE__ */ B({
3215
3220
  __name: "ParagraphBlock",
3216
3221
  props: {
3217
3222
  block: {},
3218
3223
  viewport: {}
3219
3224
  },
3220
3225
  setup(e) {
3221
- let t = e, n = T(() => import("./ParagraphEditor-Bqjn3ZNm.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = La(() => t.block.content);
3226
+ let t = e, n = T(() => import("./ParagraphEditor-B3az9xuj.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ra(() => t.block.content);
3222
3227
  return (t, l) => (f(), k("div", {
3223
3228
  ref_key: "blockRef",
3224
3229
  ref: i,
@@ -3237,19 +3242,19 @@ var Ra = ["innerHTML"], za = /* @__PURE__ */ B({
3237
3242
  key: 1,
3238
3243
  class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
3239
3244
  innerHTML: j(o)
3240
- }, null, 8, Ra))], 544));
3245
+ }, null, 8, za))], 544));
3241
3246
  }
3242
3247
  });
3243
3248
  //#endregion
3244
3249
  //#region src/utils/blockComponentResolver.ts
3245
- function Ba(e, t, n) {
3250
+ function Va(e, t, n) {
3246
3251
  if (t) {
3247
3252
  let n = t.getComponent(e);
3248
3253
  if (n) return n;
3249
3254
  }
3250
3255
  return n[e.type] ?? null;
3251
3256
  }
3252
- function Va(e) {
3257
+ function Ha(e) {
3253
3258
  let { padding: t, backgroundColor: n } = e.styles;
3254
3259
  return {
3255
3260
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
@@ -3258,20 +3263,20 @@ function Va(e) {
3258
3263
  }
3259
3264
  //#endregion
3260
3265
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
3261
- var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
3266
+ var Ua = ["data-block-id", "data-block-type"], Wa = ["aria-label"], Ga = [
3262
3267
  "aria-label",
3263
3268
  "aria-pressed",
3264
3269
  "title"
3265
- ], Ga = ["aria-label", "title"], Ka = ["aria-label", "title"], qa = ["aria-label", "title"], Ja = {
3270
+ ], Ka = ["aria-label", "title"], qa = ["aria-label", "title"], Ja = ["aria-label", "title"], Ya = {
3266
3271
  key: 1,
3267
3272
  class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
3268
- }, Ya = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Xa = {
3273
+ }, Xa = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Za = {
3269
3274
  key: 2,
3270
3275
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
3271
- }, Za = ["aria-label", "title"], Qa = {
3276
+ }, Qa = ["aria-label", "title"], $a = {
3272
3277
  key: 3,
3273
3278
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
3274
- }, $a = ["aria-label"], eo = /* @__PURE__ */ Ni(/* @__PURE__ */ B({
3279
+ }, eo = ["aria-label"], to = /*#__PURE__*/ Pi(/* @__PURE__ */ B({
3275
3280
  __name: "BlockWrapper",
3276
3281
  props: {
3277
3282
  block: {},
@@ -3281,7 +3286,7 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
3281
3286
  },
3282
3287
  emits: ["select"],
3283
3288
  setup(e, { emit: t }) {
3284
- let n = T(() => import("./BlockIssueBadge-C6YilQdl.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(tr, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3289
+ let n = T(() => import("./BlockIssueBadge-ClwC6oSs.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(nr, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
3285
3290
  async function p() {
3286
3291
  await m(), l.value?.focus();
3287
3292
  }
@@ -3307,8 +3312,8 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
3307
3312
  let g = O(() => !r.viewport || !r.block.visibility ? !1 : r.block.visibility[r.viewport] === !1), _ = O(() => r.previewMode === !0 && g.value), y = O(() => r.viewport ? {
3308
3313
  desktop: a.viewport.desktop,
3309
3314
  mobile: a.viewport.mobile
3310
- }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Ln, null), S = v(Rn, null), w = v(er, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3311
- let e = Va(r.block);
3315
+ }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Rn, null), S = v(zn, null), w = v(tr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3316
+ let e = Ha(r.block);
3312
3317
  return {
3313
3318
  padding: e.padding,
3314
3319
  backgroundColor: e.backgroundColor
@@ -3356,90 +3361,90 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
3356
3361
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
3357
3362
  title: j(a).blockActions.drag,
3358
3363
  onKeydown: h
3359
- }, [V(j(ai), {
3364
+ }, [V(j(oi), {
3360
3365
  size: 14,
3361
3366
  "stroke-width": 1.5
3362
- })], 40, Wa),
3367
+ })], 40, Ga),
3363
3368
  I("button", {
3364
3369
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3365
3370
  "aria-label": j(a).blockActions.duplicate,
3366
3371
  title: j(a).blockActions.duplicate,
3367
3372
  onClick: M(N, ["stop"])
3368
- }, [V(j($r), {
3373
+ }, [V(j(ei), {
3369
3374
  size: 14,
3370
3375
  "stroke-width": 1.5
3371
- })], 8, Ga),
3376
+ })], 8, Ka),
3372
3377
  ee.value ? (f(), k("button", {
3373
3378
  key: 0,
3374
3379
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3375
3380
  "aria-label": j(a).blockActions.saveAsModule,
3376
3381
  title: j(a).blockActions.saveAsModule,
3377
3382
  onClick: M(ie, ["stop"])
3378
- }, [V(j(Hr), {
3383
+ }, [V(j(Ur), {
3379
3384
  size: 14,
3380
3385
  "stroke-width": 1.5
3381
- })], 8, Ka)) : A("", !0),
3386
+ })], 8, qa)) : A("", !0),
3382
3387
  I("button", {
3383
3388
  class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3384
3389
  "aria-label": j(a).blockActions.delete,
3385
3390
  title: j(a).blockActions.delete,
3386
3391
  onClick: M(re, ["stop"])
3387
- }, [V(j(Ci), {
3392
+ }, [V(j(wi), {
3388
3393
  size: 14,
3389
3394
  "stroke-width": 1.5
3390
- })], 8, qa)
3391
- ], 8, Ua)) : A("", !0),
3392
- g.value ? (f(), k("div", Ja, [I("span", Ya, [V(j(ei), {
3395
+ })], 8, Ja)
3396
+ ], 8, Wa)) : A("", !0),
3397
+ g.value ? (f(), k("div", Ya, [I("span", Xa, [V(j(ti), {
3393
3398
  size: 12,
3394
3399
  "stroke-width": 1.5
3395
3400
  }), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
3396
- b.value && !g.value ? (f(), k("div", Xa, [I("button", {
3401
+ b.value && !g.value ? (f(), k("div", Za, [I("button", {
3397
3402
  class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
3398
3403
  "aria-label": j(a).blockActions.conditionToggle,
3399
3404
  title: e.block.displayCondition?.label,
3400
3405
  onClick: M(P, ["stop"])
3401
- }, [V(j(ii), {
3406
+ }, [V(j(ai), {
3402
3407
  size: 12,
3403
3408
  "stroke-width": 2
3404
- })], 8, Za)])) : A("", !0),
3405
- E.value > 0 && !g.value ? (f(), k("div", Qa, [I("button", {
3409
+ })], 8, Qa)])) : A("", !0),
3410
+ E.value > 0 && !g.value ? (f(), k("div", $a, [I("button", {
3406
3411
  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)]",
3407
3412
  "aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
3408
3413
  onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
3409
- }, [V(j(ui), {
3414
+ }, [V(j(di), {
3410
3415
  size: 12,
3411
3416
  "stroke-width": 2.5
3412
- }), z(" " + D(E.value), 1)], 8, $a)])) : A("", !0),
3417
+ }), z(" " + D(E.value), 1)], 8, eo)])) : A("", !0),
3413
3418
  I("div", {
3414
3419
  class: "tpl-block-content",
3415
3420
  style: L(te.value)
3416
3421
  }, [o(t.$slots, "default", {}, void 0, !0)], 4)
3417
- ], 10, Ha));
3422
+ ], 10, Ua));
3418
3423
  }
3419
3424
  }), [["__scopeId", "data-v-4a48371d"]]);
3420
3425
  //#endregion
3421
3426
  //#region src/utils/unwrapParagraph.ts
3422
- function to(e) {
3427
+ function no(e) {
3423
3428
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
3424
3429
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
3425
3430
  }
3426
3431
  //#endregion
3427
3432
  //#region src/components/blocks/TitleBlock.vue
3428
- var no = /* @__PURE__ */ B({
3433
+ var ro = /* @__PURE__ */ B({
3429
3434
  __name: "TitleBlock",
3430
3435
  props: {
3431
3436
  block: {},
3432
3437
  viewport: {}
3433
3438
  },
3434
3439
  setup(e) {
3435
- let t = e, n = T(() => import("./TitleEditor-Dcldr8D6.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = La(() => t.block.content), l = O(() => {
3440
+ let t = e, n = T(() => import("./TitleEditor-jxOFe6Q6.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ra(() => t.block.content), l = O(() => {
3436
3441
  let e = {
3437
3442
  fontSize: `${pe[t.block.level]}px`,
3438
3443
  color: t.block.color,
3439
3444
  textAlign: t.block.textAlign
3440
3445
  };
3441
3446
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3442
- }), u = O(() => `h${t.block.level}`), p = O(() => to(o.value));
3447
+ }), u = O(() => `h${t.block.level}`), p = O(() => no(o.value));
3443
3448
  return (t, o) => (f(), k("div", {
3444
3449
  ref_key: "blockRef",
3445
3450
  ref: i,
@@ -3462,11 +3467,11 @@ var no = /* @__PURE__ */ B({
3462
3467
  innerHTML: p.value
3463
3468
  }, null, 8, ["innerHTML"]))], 36));
3464
3469
  }
3465
- }), ro = { class: "tpl:w-full" }, io = { class: "tpl:flex tpl:gap-0" }, ao = {
3470
+ }), io = { class: "tpl:w-full" }, ao = { class: "tpl:flex tpl:gap-0" }, oo = {
3466
3471
  key: 0,
3467
3472
  "data-testid": "section-drop-hint",
3468
3473
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
3469
- }, oo = /* @__PURE__ */ B({
3474
+ }, so = /* @__PURE__ */ B({
3470
3475
  __name: "SectionBlock",
3471
3476
  props: {
3472
3477
  block: {},
@@ -3474,13 +3479,13 @@ var no = /* @__PURE__ */ B({
3474
3479
  },
3475
3480
  setup(e) {
3476
3481
  let t = {
3477
- title: no,
3478
- paragraph: za,
3479
- image: Ea,
3480
- button: Mr,
3481
- divider: la,
3482
- custom: sa
3483
- }, n = e, { t: r } = Y(), i = J(Fn, "SectionBlock"), a = v(Rn, null), o = v(Un, null), s = O(() => {
3482
+ title: ro,
3483
+ paragraph: Ba,
3484
+ image: Da,
3485
+ button: Nr,
3486
+ divider: ua,
3487
+ custom: ca
3488
+ }, n = e, { t: r } = Y(), i = J(In, "SectionBlock"), a = v(zn, null), o = v(Wn, null), s = O(() => {
3484
3489
  switch (n.block.columns) {
3485
3490
  case "2": return ["50%", "50%"];
3486
3491
  case "3": return [
@@ -3506,7 +3511,7 @@ var no = /* @__PURE__ */ B({
3506
3511
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3507
3512
  }
3508
3513
  function m(e) {
3509
- return Ba(e, o, t);
3514
+ return Va(e, o, t);
3510
3515
  }
3511
3516
  function g(e, t) {
3512
3517
  e.type === "custom" && i.updateBlock(e.id, {
@@ -3514,7 +3519,7 @@ var no = /* @__PURE__ */ B({
3514
3519
  dataSourceFetched: t.dataSourceFetched
3515
3520
  });
3516
3521
  }
3517
- return (t, n) => (f(), k("div", ro, [I("div", io, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3522
+ return (t, n) => (f(), k("div", io, [I("div", ao, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3518
3523
  key: n,
3519
3524
  class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3520
3525
  style: L({ width: s.value[n] })
@@ -3536,7 +3541,7 @@ var no = /* @__PURE__ */ B({
3536
3541
  class: "tpl:min-h-[60px]",
3537
3542
  "onUpdate:modelValue": (e) => p(n, e)
3538
3543
  }, {
3539
- default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(eo, {
3544
+ default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(to, {
3540
3545
  block: t,
3541
3546
  "is-selected": j(i).state.selectedBlockId === t.id,
3542
3547
  viewport: e.viewport,
@@ -3565,9 +3570,9 @@ var no = /* @__PURE__ */ B({
3565
3570
  "model-value",
3566
3571
  "group",
3567
3572
  "onUpdate:modelValue"
3568
- ]), u(n).length === 0 ? (f(), k("div", ao, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3573
+ ]), u(n).length === 0 ? (f(), k("div", oo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3569
3574
  }
3570
- }), so = {
3575
+ }), co = {
3571
3576
  facebook: {
3572
3577
  name: "Facebook",
3573
3578
  color: "#1877F2",
@@ -3648,11 +3653,11 @@ var no = /* @__PURE__ */ B({
3648
3653
  color: "#1769FF",
3649
3654
  path: "M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"
3650
3655
  }
3651
- }, co = {
3656
+ }, lo = {
3652
3657
  small: 24,
3653
3658
  medium: 32,
3654
3659
  large: 48
3655
- }, lo = [
3660
+ }, uo = [
3656
3661
  "facebook",
3657
3662
  "twitter",
3658
3663
  "instagram",
@@ -3669,11 +3674,11 @@ var no = /* @__PURE__ */ B({
3669
3674
  "github",
3670
3675
  "dribbble",
3671
3676
  "behance"
3672
- ], uo = [
3677
+ ], fo = [
3673
3678
  "width",
3674
3679
  "height",
3675
3680
  "fill"
3676
- ], fo = ["d"], po = /* @__PURE__ */ B({
3681
+ ], po = ["d"], mo = /* @__PURE__ */ B({
3677
3682
  __name: "SocialIconSvg",
3678
3683
  props: {
3679
3684
  platform: {},
@@ -3681,7 +3686,7 @@ var no = /* @__PURE__ */ B({
3681
3686
  iconSize: {}
3682
3687
  },
3683
3688
  setup(e) {
3684
- let t = e, n = O(() => so[t.platform]), r = O(() => co[t.iconSize]), i = O(() => {
3689
+ let t = e, n = O(() => co[t.platform]), r = O(() => lo[t.iconSize]), i = O(() => {
3685
3690
  let e = {
3686
3691
  display: "inline-flex",
3687
3692
  alignItems: "center",
@@ -3725,12 +3730,12 @@ var no = /* @__PURE__ */ B({
3725
3730
  viewBox: "0 0 24 24",
3726
3731
  fill: o.value,
3727
3732
  xmlns: "http://www.w3.org/2000/svg"
3728
- }, [I("path", { d: n.value.path }, null, 8, fo)], 8, uo))], 4));
3733
+ }, [I("path", { d: n.value.path }, null, 8, po)], 8, fo))], 4));
3729
3734
  }
3730
- }), mo = { class: "tpl:w-full" }, ho = ["href"], go = {
3735
+ }), ho = { class: "tpl:w-full" }, go = ["href"], _o = {
3731
3736
  key: 1,
3732
3737
  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)]"
3733
- }, _o = /* @__PURE__ */ B({
3738
+ }, vo = /* @__PURE__ */ B({
3734
3739
  __name: "SocialIconsBlock",
3735
3740
  props: {
3736
3741
  block: {},
@@ -3743,7 +3748,7 @@ var no = /* @__PURE__ */ B({
3743
3748
  gap: `${t.block.spacing}px`,
3744
3749
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3745
3750
  })), i = O(() => t.block.icons.length > 0);
3746
- return (t, a) => (f(), k("div", mo, [i.value ? (f(), k("div", {
3751
+ return (t, a) => (f(), k("div", ho, [i.value ? (f(), k("div", {
3747
3752
  key: 0,
3748
3753
  style: L(r.value)
3749
3754
  }, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
@@ -3751,7 +3756,7 @@ var no = /* @__PURE__ */ B({
3751
3756
  href: t.url || "#",
3752
3757
  class: "tpl:cursor-default",
3753
3758
  onClick: a[0] ||= M(() => {}, ["prevent"])
3754
- }, [V(po, {
3759
+ }, [V(mo, {
3755
3760
  platform: t.platform,
3756
3761
  "icon-style": e.block.iconStyle,
3757
3762
  "icon-size": e.block.iconSize
@@ -3759,44 +3764,44 @@ var no = /* @__PURE__ */ B({
3759
3764
  "platform",
3760
3765
  "icon-style",
3761
3766
  "icon-size"
3762
- ])], 8, ho))), 128))], 4)) : (f(), k("div", go, [V(j(vi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3767
+ ])], 8, go))), 128))], 4)) : (f(), k("div", _o, [V(j(yi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3763
3768
  }
3764
- }), vo = { class: "tpl:w-full" }, yo = {
3769
+ }), yo = { class: "tpl:w-full" }, bo = {
3765
3770
  key: 0,
3766
3771
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3767
3772
  style: {
3768
3773
  "background-color": "var(--tpl-bg-hover)",
3769
3774
  color: "var(--tpl-text-dim)"
3770
3775
  }
3771
- }, bo = /* @__PURE__ */ B({
3776
+ }, xo = /* @__PURE__ */ B({
3772
3777
  __name: "SpacerBlock",
3773
3778
  props: {
3774
3779
  block: {},
3775
3780
  viewport: {}
3776
3781
  },
3777
3782
  setup(e) {
3778
- let t = e, n = J(Fn, "SpacerBlock"), r = O(() => ({
3783
+ let t = e, n = J(In, "SpacerBlock"), r = O(() => ({
3779
3784
  height: `${t.block.height}px`,
3780
3785
  minHeight: `${t.block.height}px`,
3781
3786
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3782
3787
  }));
3783
- return (t, i) => (f(), k("div", vo, [I("div", {
3788
+ return (t, i) => (f(), k("div", yo, [I("div", {
3784
3789
  style: L(r.value),
3785
3790
  class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
3786
- }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", yo, D(e.block.height) + "px ", 1))], 6)]));
3791
+ }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", bo, D(e.block.height) + "px ", 1))], 6)]));
3787
3792
  }
3788
- }), xo = { class: "tpl:w-full" }, So = { key: 0 }, Co = [
3793
+ }), So = { class: "tpl:w-full" }, Co = { key: 0 }, wo = [
3789
3794
  "aria-label",
3790
3795
  "data-placeholder",
3791
3796
  "onBlur"
3792
- ], wo = [
3797
+ ], To = [
3793
3798
  "aria-label",
3794
3799
  "data-placeholder",
3795
3800
  "onBlur"
3796
- ], To = {
3801
+ ], Eo = {
3797
3802
  key: 1,
3798
3803
  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)]"
3799
- }, Eo = /* @__PURE__ */ Ni(/* @__PURE__ */ B({
3804
+ }, Do = /*#__PURE__*/ Pi(/* @__PURE__ */ B({
3800
3805
  __name: "TableBlock",
3801
3806
  props: {
3802
3807
  block: {},
@@ -3810,7 +3815,7 @@ var no = /* @__PURE__ */ B({
3810
3815
  updated(e, t) {
3811
3816
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
3812
3817
  }
3813
- }, n = e, { t: r } = Y(), i = J(Fn, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => ({
3818
+ }, n = e, { t: r } = Y(), i = J(In, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => ({
3814
3819
  width: "100%",
3815
3820
  borderCollapse: "collapse",
3816
3821
  fontSize: `${n.block.fontSize}px`,
@@ -3839,11 +3844,11 @@ var no = /* @__PURE__ */ B({
3839
3844
  } : n);
3840
3845
  i.updateBlock(n.block.id, { rows: o });
3841
3846
  }
3842
- return (e, n) => (f(), k("div", xo, [a.value ? (f(), k("table", {
3847
+ return (e, n) => (f(), k("div", So, [a.value ? (f(), k("table", {
3843
3848
  key: 0,
3844
3849
  style: L(o.value),
3845
3850
  class: "tpl-table-editable"
3846
- }, [u.value ? (f(), k("thead", So, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
3851
+ }, [u.value ? (f(), k("thead", Co, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
3847
3852
  key: e.id,
3848
3853
  style: L(l.value),
3849
3854
  "aria-label": j(r).table.cellPlaceholder,
@@ -3852,7 +3857,7 @@ var no = /* @__PURE__ */ B({
3852
3857
  onBlur: (t) => m(u.value.id, e.id, t),
3853
3858
  onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
3854
3859
  onClick: M(p, ["stop"])
3855
- }, null, 44, Co)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
3860
+ }, null, 44, wo)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
3856
3861
  key: i.id,
3857
3862
  style: L(s.value),
3858
3863
  "aria-label": j(r).table.cellPlaceholder,
@@ -3861,9 +3866,9 @@ var no = /* @__PURE__ */ B({
3861
3866
  onBlur: (t) => m(e.id, i.id, t),
3862
3867
  onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
3863
3868
  onClick: M(p, ["stop"])
3864
- }, null, 44, wo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", To, [V(j(Si), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
3869
+ }, null, 44, To)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Eo, [V(j(Ci), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
3865
3870
  }
3866
- }), [["__scopeId", "data-v-1b130f2b"]]), Do = /* @__PURE__ */ B({
3871
+ }), [["__scopeId", "data-v-de1a7c76"]]), Oo = /* @__PURE__ */ B({
3867
3872
  __name: "VideoPlayButton",
3868
3873
  props: { hoverEffect: {
3869
3874
  type: Boolean,
@@ -3881,7 +3886,7 @@ var no = /* @__PURE__ */ B({
3881
3886
  });
3882
3887
  //#endregion
3883
3888
  //#region src/utils/videoThumbnail.ts
3884
- function Oo(e) {
3889
+ function ko(e) {
3885
3890
  if (!e) return {
3886
3891
  platform: "unknown",
3887
3892
  videoId: null,
@@ -3913,25 +3918,25 @@ function Oo(e) {
3913
3918
  thumbnailUrl: null
3914
3919
  };
3915
3920
  }
3916
- function ko(e, t) {
3917
- return t || Oo(e).thumbnailUrl;
3921
+ function Ao(e, t) {
3922
+ return t || ko(e).thumbnailUrl;
3918
3923
  }
3919
3924
  //#endregion
3920
3925
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
3921
- var Ao = ["src", "alt"], jo = {
3926
+ var jo = ["src", "alt"], Mo = {
3922
3927
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3923
3928
  style: { opacity: "0.7" }
3924
- }, Mo = ["href"], No = ["src", "alt"], Po = ["src", "alt"], Fo = {
3929
+ }, No = ["href"], Po = ["src", "alt"], Fo = ["src", "alt"], Io = {
3925
3930
  key: 3,
3926
3931
  class: "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-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
3927
- }, Io = /* @__PURE__ */ B({
3932
+ }, Lo = /* @__PURE__ */ B({
3928
3933
  __name: "VideoBlock",
3929
3934
  props: {
3930
3935
  block: {},
3931
3936
  viewport: {}
3932
3937
  },
3933
3938
  setup(e) {
3934
- let t = e, { t: n } = Y(), { syntax: r } = Wi(), i = O(() => _t(t.block.url, r) || _t(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : ko(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
3939
+ let t = e, { t: n } = Y(), { syntax: r } = Gi(), i = O(() => vt(t.block.url, r) || vt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Ao(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
3935
3940
  let e = t.block.align;
3936
3941
  return {
3937
3942
  maxWidth: "100%",
@@ -3940,7 +3945,7 @@ var Ao = ["src", "alt"], jo = {
3940
3945
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
3941
3946
  marginRight: e === "center" ? "auto" : void 0
3942
3947
  };
3943
- }), c = O(() => _t(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
3948
+ }), c = O(() => vt(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
3944
3949
  return (t, r) => (f(), k("div", {
3945
3950
  class: "tpl:w-full",
3946
3951
  style: L(o.value)
@@ -3952,16 +3957,16 @@ var Ao = ["src", "alt"], jo = {
3952
3957
  class: "tpl:w-full tpl:border-0",
3953
3958
  src: e.block.placeholderUrl,
3954
3959
  alt: e.block.alt
3955
- }, null, 8, Ao), V(Do)], 4)) : i.value ? (f(), k("div", {
3960
+ }, null, 8, jo), V(Oo)], 4)) : i.value ? (f(), k("div", {
3956
3961
  key: 1,
3957
3962
  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)]",
3958
3963
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
3959
- }, [V(j(Di), {
3964
+ }, [V(j(Oi), {
3960
3965
  size: 36,
3961
3966
  "stroke-width": 1.5,
3962
3967
  class: "tpl:text-[var(--tpl-primary)]",
3963
3968
  style: { opacity: "0.5" }
3964
- }), I("span", jo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
3969
+ }), I("span", Mo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
3965
3970
  key: 0,
3966
3971
  href: e.block.url,
3967
3972
  target: "_blank",
@@ -3973,7 +3978,7 @@ var Ao = ["src", "alt"], jo = {
3973
3978
  class: "tpl:w-full tpl:border-0",
3974
3979
  src: a.value,
3975
3980
  alt: e.block.alt
3976
- }, null, 8, No), V(Do, { "hover-effect": "" })], 12, Mo)) : (f(), k("div", {
3981
+ }, null, 8, Po), V(Oo, { "hover-effect": "" })], 12, No)) : (f(), k("div", {
3977
3982
  key: 1,
3978
3983
  class: "tpl:relative tpl:inline-block",
3979
3984
  style: L(s.value)
@@ -3981,48 +3986,48 @@ var Ao = ["src", "alt"], jo = {
3981
3986
  class: "tpl:w-full tpl:border-0",
3982
3987
  src: a.value,
3983
3988
  alt: e.block.alt
3984
- }, null, 8, Po), V(Do)], 4))], 64)) : (f(), k("div", Fo, [V(j(Di), {
3989
+ }, null, 8, Fo), V(Oo)], 4))], 64)) : (f(), k("div", Io, [V(j(Oi), {
3985
3990
  size: 40,
3986
3991
  "stroke-width": 1.5,
3987
3992
  class: "tpl:text-[var(--tpl-border-light)]"
3988
3993
  }), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
3989
3994
  }
3990
- }), Lo = {
3991
- section: oo,
3992
- title: no,
3993
- paragraph: za,
3994
- image: Ea,
3995
- button: Mr,
3996
- divider: la,
3997
- video: Io,
3998
- social: _o,
3999
- menu: Aa,
4000
- table: Eo,
4001
- spacer: bo,
4002
- html: ma,
4003
- countdown: T(() => import("./CountdownBlock-DU9ga9Ki.js").then((e) => e.n))
3995
+ }), Ro = {
3996
+ section: so,
3997
+ title: ro,
3998
+ paragraph: Ba,
3999
+ image: Da,
4000
+ button: Nr,
4001
+ divider: ua,
4002
+ video: Lo,
4003
+ social: vo,
4004
+ menu: ja,
4005
+ table: Do,
4006
+ spacer: xo,
4007
+ html: ha,
4008
+ countdown: T(() => import("./CountdownBlock-CXQnTPVs.js").then((e) => e.n))
4004
4009
  };
4005
- function Ro(e) {
4010
+ function zo(e) {
4006
4011
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
4007
4012
  t.setUiTheme(n.uiTheme ?? "auto");
4008
- let { resolvedTheme: c } = gr(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = vr({
4013
+ let { resolvedTheme: c } = _r(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = yr({
4009
4014
  themeOverrides: u,
4010
4015
  resolvedTheme: c,
4011
4016
  extraStyles: e.themeExtraStyles
4012
- }), f = Ot({
4017
+ }), f = kt({
4013
4018
  content: t.content,
4014
4019
  setContent: (e, n) => t.setContent(e, n),
4015
4020
  ...e.historyOptions
4016
4021
  });
4017
- Pt(t, f);
4018
- let m = At({
4022
+ Ft(t, f);
4023
+ let m = jt({
4019
4024
  addBlock: t.addBlock,
4020
4025
  removeBlock: t.removeBlock,
4021
4026
  updateBlock: t.updateBlock,
4022
4027
  selectBlock: t.selectBlock,
4023
4028
  findBlockLocation: t.findBlockLocation,
4024
4029
  blockDefaults: n.blockDefaults
4025
- }), h = Mt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? jt({
4030
+ }), h = Nt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Mt({
4026
4031
  content: t.content,
4027
4032
  isDirty: () => t.state.isDirty,
4028
4033
  ...e.autoSaveOptions
@@ -4030,15 +4035,15 @@ function Ro(e) {
4030
4035
  g && (_ = H(f.isNavigating, (e) => {
4031
4036
  e ? g.pause() : g.resume();
4032
4037
  }));
4033
- let v = hr(t, {
4038
+ let v = gr(t, {
4034
4039
  t: a,
4035
4040
  format: o
4036
- }), y = Sr();
4037
- if (Dr(y, Lo), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, sa);
4041
+ }), y = Cr();
4042
+ if (Or(y, Ro), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, ca);
4038
4043
  function b(e) {
4039
- for (let t of e) y.registerCustom(t, sa);
4044
+ for (let t of e) y.registerCustom(t, ca);
4040
4045
  }
4041
- let x = Nn();
4046
+ let x = Pn();
4042
4047
  if (s() && l(x.dispose), e.containerEl) {
4043
4048
  let t = e.containerEl;
4044
4049
  q(document, "pointerdown", (e) => {
@@ -4047,7 +4052,7 @@ function Ro(e) {
4047
4052
  }, { capture: !0 });
4048
4053
  }
4049
4054
  function S(r) {
4050
- x.isActive() && kr(r, {
4055
+ x.isActive() && Ar(r, {
4051
4056
  history: f,
4052
4057
  selectBlock: (e) => t.selectBlock(e),
4053
4058
  getSelectedBlockId: () => t.state.selectedBlockId,
@@ -4058,17 +4063,17 @@ function Ro(e) {
4058
4063
  }
4059
4064
  q(document, "keydown", S);
4060
4065
  let w = C(null);
4061
- p(rr, e.editorRoot ?? document), p(ir, w), p(Pn, r), p(Fn, t), p(In, f), p(Ln, m), p(Rn, h), p(zn, i), p(Bn, d), p(Vn, c), p(Hn, n.blockDefaults), p(Un, y), p(Wn, n.customBlocks ?? []), p(Gn, Cr(t.content, y));
4062
- let ee = ft(n.mergeTags?.syntax);
4063
- p(Kn, n.mergeTags?.tags ?? []), p(qn, ee), p(Jn, n.mergeTags?.onRequest ?? null), p(Yn, n.mergeTags?.autocomplete !== !1), p(Xn, dr()), p(Zn, n.onRequestMedia ?? null), p(Qn, n.displayConditions?.conditions ?? []), p($n, n.displayConditions?.allowCustom ?? !1), p(er, e.capabilities ?? {}), p(tr, v);
4064
- let T = fr(n.lint) ? null : pr({
4066
+ p(ir, e.editorRoot ?? document), p(ar, w), p(Fn, r), p(In, t), p(Ln, f), p(Rn, m), p(zn, h), p(Bn, i), p(Vn, d), p(Hn, c), p(Un, n.blockDefaults), p(Wn, y), p(Gn, n.customBlocks ?? []), p(Kn, wr(t.content, y));
4067
+ let ee = pt(n.mergeTags?.syntax);
4068
+ p(qn, n.mergeTags?.tags ?? []), p(Jn, ee), p(Yn, n.mergeTags?.onRequest ?? null), p(Xn, n.mergeTags?.autocomplete !== !1), p(Zn, fr()), p(Qn, n.onRequestMedia ?? null), p($n, n.displayConditions?.conditions ?? []), p(er, n.displayConditions?.allowCustom ?? !1), p(tr, e.capabilities ?? {}), p(nr, v);
4069
+ let T = pr(n.lint) ? null : mr({
4065
4070
  content: t.content,
4066
4071
  options: n.lint ?? {},
4067
4072
  updateBlock: t.updateBlock,
4068
4073
  updateSettings: t.updateSettings,
4069
4074
  removeBlock: t.removeBlock
4070
4075
  });
4071
- p(nr, T);
4076
+ p(rr, T);
4072
4077
  function E() {
4073
4078
  _?.(), T?.destroy(), g?.destroy(), f.destroy();
4074
4079
  }
@@ -4092,19 +4097,19 @@ function Ro(e) {
4092
4097
  }
4093
4098
  //#endregion
4094
4099
  //#region src/composables/usePopoverRoot.ts
4095
- function zo() {
4096
- return v(ir, C(null));
4100
+ function Bo() {
4101
+ return v(ar, C(null));
4097
4102
  }
4098
4103
  //#endregion
4099
4104
  //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
4100
- var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
4105
+ var Vo = ["data-tpl-theme"], Ho = /* @__PURE__ */ B({
4101
4106
  __name: "TplModal",
4102
4107
  props: { visible: { type: Boolean } },
4103
4108
  emits: ["close", "keydown"],
4104
4109
  setup(e, { emit: t }) {
4105
4110
  let n = e, r = t, i = C(null);
4106
- Bi(i, O(() => n.visible));
4107
- let a = v(Vn), s = zo();
4111
+ Vi(i, O(() => n.visible));
4112
+ let a = v(Hn), s = Bo();
4108
4113
  function c(e) {
4109
4114
  e.key === "Escape" && r("close"), r("keydown", e);
4110
4115
  }
@@ -4133,11 +4138,11 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
4133
4138
  }, [I("div", {
4134
4139
  ref_key: "dialogRef",
4135
4140
  ref: i
4136
- }, [o(t.$slots, "default")], 512)], 40, Bo)) : A("", !0)]),
4141
+ }, [o(t.$slots, "default")], 512)], 40, Vo)) : A("", !0)]),
4137
4142
  _: 3
4138
4143
  })], 8, ["to"])) : A("", !0);
4139
4144
  }
4140
- }), Ho = class e {
4145
+ }), Uo = class e {
4141
4146
  static DEFAULT_BASE_URL = "https://templatical.com";
4142
4147
  accessToken = null;
4143
4148
  expiresAt = null;
@@ -4211,7 +4216,7 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
4211
4216
  };
4212
4217
  e === "POST" && this.requestOptions.body && (t["Content-Type"] = "application/json", n.body = JSON.stringify(this.requestOptions.body));
4213
4218
  let r = await fetch(this.url, n);
4214
- if (!r.ok) throw new St(`Token refresh failed: ${r.status}`, r.status);
4219
+ if (!r.ok) throw new Ct(`Token refresh failed: ${r.status}`, r.status);
4215
4220
  let i = await r.json();
4216
4221
  if (!i.token || !i.expires_at || !i.project_id || !i.tenant) throw Error("Invalid token response: missing token, expires_at, project_id, or tenant");
4217
4222
  return this.accessToken = i.token, this.expiresAt = /* @__PURE__ */ new Date(i.expires_at * 1e3), this._projectId = i.project_id, this._tenantSlug = i.tenant, i.test_email?.allowed_emails && i.test_email?.signature ? this._testEmailConfig = {
@@ -4238,8 +4243,8 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
4238
4243
  return a.status === 401 && (a = await i(await this.refreshToken())), a;
4239
4244
  }
4240
4245
  };
4241
- function Uo(e, t) {
4242
- return e.mode === "direct" ? new Ho({
4246
+ function Wo(e, t) {
4247
+ return e.mode === "direct" ? new Uo({
4243
4248
  url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
4244
4249
  baseUrl: e.baseUrl,
4245
4250
  requestOptions: {
@@ -4253,7 +4258,7 @@ function Uo(e, t) {
4253
4258
  }
4254
4259
  },
4255
4260
  onError: t
4256
- }) : new Ho({
4261
+ }) : new Uo({
4257
4262
  url: e.url,
4258
4263
  baseUrl: e.baseUrl,
4259
4264
  requestOptions: e.requestOptions,
@@ -4265,16 +4270,16 @@ function Uo(e, t) {
4265
4270
  function Z(e, t) {
4266
4271
  return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
4267
4272
  }
4268
- var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{template}`, Go = `${Q}/ai`, Ko = `${Wo}/media`, qo = `${Ko}/folders`, Jo = `${Wo}/saved-modules`, $ = {
4273
+ var Go = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Go}/templates/{template}`, Ko = `${Q}/ai`, qo = `${Go}/media`, Jo = `${qo}/folders`, Yo = `${Go}/saved-modules`, $ = {
4269
4274
  health: "/api/v1/health",
4270
- "projects.config": `${Wo}/config`,
4271
- "broadcasting.auth": `${Wo}/broadcasting/auth`,
4272
- "templates.store": `${Wo}/templates`,
4275
+ "projects.config": `${Go}/config`,
4276
+ "broadcasting.auth": `${Go}/broadcasting/auth`,
4277
+ "templates.store": `${Go}/templates`,
4273
4278
  "templates.show": `${Q}`,
4274
4279
  "templates.update": `${Q}`,
4275
4280
  "templates.destroy": `${Q}`,
4276
4281
  "templates.export": `${Q}/export`,
4277
- "templates.importFromBeefree": `${Wo}/templates/import/from-beefree`,
4282
+ "templates.importFromBeefree": `${Go}/templates/import/from-beefree`,
4278
4283
  "templates.sendTestEmail": `${Q}/send-test-email`,
4279
4284
  "snapshots.index": `${Q}/snapshots`,
4280
4285
  "snapshots.store": `${Q}/snapshots`,
@@ -4285,31 +4290,31 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
4285
4290
  "comments.update": `${Q}/comments/{comment}`,
4286
4291
  "comments.destroy": `${Q}/comments/{comment}`,
4287
4292
  "comments.resolve": `${Q}/comments/{comment}/resolve`,
4288
- "ai.generate": `${Go}/generate`,
4289
- "ai.conversationMessages": `${Go}/conversation-messages`,
4290
- "ai.suggestions": `${Go}/suggestions`,
4291
- "ai.rewriteText": `${Go}/rewrite-text`,
4292
- "ai.score": `${Go}/score`,
4293
- "ai.fixFinding": `${Go}/fix-finding`,
4294
- "ai.generateFromDesign": `${Go}/generate-from-design`,
4295
- "media.upload": `${Ko}/upload`,
4296
- "media.browse": `${Ko}/browse`,
4297
- "media.delete": `${Ko}/delete`,
4298
- "media.move": `${Ko}/move`,
4299
- "media.update": `${Ko}/{media}`,
4300
- "media.replace": `${Ko}/{media}/replace`,
4301
- "media.checkUsage": `${Ko}/check-usage`,
4302
- "media.frequentlyUsed": `${Ko}/frequently-used`,
4303
- "media.importFromUrl": `${Ko}/import-from-url`,
4304
- "folders.index": `${qo}`,
4305
- "folders.store": `${qo}`,
4306
- "folders.update": `${qo}/{mediaFolder}`,
4307
- "folders.destroy": `${qo}/{mediaFolder}`,
4308
- "savedModules.index": `${Jo}`,
4309
- "savedModules.store": `${Jo}`,
4310
- "savedModules.update": `${Jo}/{savedModule}`,
4311
- "savedModules.destroy": `${Jo}/{savedModule}`
4312
- }, Yo = class {
4293
+ "ai.generate": `${Ko}/generate`,
4294
+ "ai.conversationMessages": `${Ko}/conversation-messages`,
4295
+ "ai.suggestions": `${Ko}/suggestions`,
4296
+ "ai.rewriteText": `${Ko}/rewrite-text`,
4297
+ "ai.score": `${Ko}/score`,
4298
+ "ai.fixFinding": `${Ko}/fix-finding`,
4299
+ "ai.generateFromDesign": `${Ko}/generate-from-design`,
4300
+ "media.upload": `${qo}/upload`,
4301
+ "media.browse": `${qo}/browse`,
4302
+ "media.delete": `${qo}/delete`,
4303
+ "media.move": `${qo}/move`,
4304
+ "media.update": `${qo}/{media}`,
4305
+ "media.replace": `${qo}/{media}/replace`,
4306
+ "media.checkUsage": `${qo}/check-usage`,
4307
+ "media.frequentlyUsed": `${qo}/frequently-used`,
4308
+ "media.importFromUrl": `${qo}/import-from-url`,
4309
+ "folders.index": `${Jo}`,
4310
+ "folders.store": `${Jo}`,
4311
+ "folders.update": `${Jo}/{mediaFolder}`,
4312
+ "folders.destroy": `${Jo}/{mediaFolder}`,
4313
+ "savedModules.index": `${Yo}`,
4314
+ "savedModules.store": `${Yo}`,
4315
+ "savedModules.update": `${Yo}/{savedModule}`,
4316
+ "savedModules.destroy": `${Yo}/{savedModule}`
4317
+ }, Xo = class {
4313
4318
  authManager;
4314
4319
  constructor(e) {
4315
4320
  this.authManager = e;
@@ -4337,7 +4342,7 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
4337
4342
  });
4338
4343
  if (!n.ok) {
4339
4344
  let e = await n.json().catch(() => ({ message: `HTTP error ${n.status}` }));
4340
- throw new St(this.extractFirstValidationError(e), n.status);
4345
+ throw new Ct(this.extractFirstValidationError(e), n.status);
4341
4346
  }
4342
4347
  if (n.status !== 204) return (await n.json()).data;
4343
4348
  }
@@ -4495,14 +4500,14 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
4495
4500
  };
4496
4501
  //#endregion
4497
4502
  //#region ../core/src/cloud/websocket-client.ts
4498
- function Xo(e) {
4503
+ function Zo(e) {
4499
4504
  return {
4500
4505
  host: e.host,
4501
4506
  port: e.port,
4502
4507
  appKey: e.app_key
4503
4508
  };
4504
4509
  }
4505
- var Zo = class {
4510
+ var Qo = class {
4506
4511
  pusher = null;
4507
4512
  authManager;
4508
4513
  config;
@@ -4569,7 +4574,7 @@ var Zo = class {
4569
4574
  };
4570
4575
  //#endregion
4571
4576
  //#region ../core/src/cloud/mcp-operation-handler.ts
4572
- function Qo(e, t) {
4577
+ function $o(e, t) {
4573
4578
  let { operation: n, data: r } = t;
4574
4579
  switch (n) {
4575
4580
  case "add_block":
@@ -4597,11 +4602,11 @@ function Qo(e, t) {
4597
4602
  }
4598
4603
  //#endregion
4599
4604
  //#region ../core/src/cloud/editor.ts
4600
- function $o(e) {
4605
+ function es(e) {
4601
4606
  return e === "1" ? 1 : e === "3" ? 3 : 2;
4602
4607
  }
4603
- function es(e) {
4604
- let t = new Yo(e.authManager), n = S({
4608
+ function ts(e) {
4609
+ let t = new Xo(e.authManager), n = S({
4605
4610
  template: null,
4606
4611
  content: Ue(e.defaultFontFamily, e.templateDefaults),
4607
4612
  selectedBlockId: null,
@@ -4707,7 +4712,7 @@ function es(e) {
4707
4712
  let l;
4708
4713
  if (r) {
4709
4714
  let e = o(n.content.blocks, r);
4710
- if (!e || e.type !== "section" || i < 0 || i >= $o(e.columns)) return;
4715
+ if (!e || e.type !== "section" || i < 0 || i >= es(e.columns)) return;
4711
4716
  e.children[i] = e.children[i] || [], l = e.children[i];
4712
4717
  } else l = n.content.blocks;
4713
4718
  let [u] = a.blocks.splice(c, 1);
@@ -4737,7 +4742,7 @@ function es(e) {
4737
4742
  }
4738
4743
  }
4739
4744
  async function w() {
4740
- if (!n.template?.id) throw new St("No template loaded. Call create() or load() before saving.");
4745
+ if (!n.template?.id) throw new Ct("No template loaded. Call create() or load() before saving.");
4741
4746
  n.isSaving = !0;
4742
4747
  try {
4743
4748
  let e = await t.updateTemplate(n.template.id, n.content);
@@ -4799,11 +4804,11 @@ function es(e) {
4799
4804
  }
4800
4805
  //#endregion
4801
4806
  //#region ../core/src/cloud/ai-chat.ts
4802
- var ts = 0;
4803
- function ns() {
4804
- return `msg_${Date.now()}_${++ts}`;
4807
+ var ns = 0;
4808
+ function rs() {
4809
+ return `msg_${Date.now()}_${++ns}`;
4805
4810
  }
4806
- function rs(e) {
4811
+ function is(e) {
4807
4812
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C([]), o = C(!1), s = C(!1), c = C(null), l = C(null), u = C(null), d = C(null), f = C(null), p = C(null), m = C(!1), h = C([]), g = C(!1);
4808
4813
  function _(e, t) {
4809
4814
  let n = a.value.findIndex((t) => t.id === e);
@@ -4897,14 +4902,14 @@ function rs(e) {
4897
4902
  let v = n();
4898
4903
  if (!v) throw Error("Template must be saved before using AI generation");
4899
4904
  o.value = !0, c.value = null, l.value = null, h.value = [];
4900
- let y = ns();
4905
+ let y = rs();
4901
4906
  a.value = [...a.value, {
4902
4907
  id: y,
4903
4908
  role: "user",
4904
4909
  content: e,
4905
4910
  timestamp: Date.now()
4906
4911
  }];
4907
- let b = ns();
4912
+ let b = rs();
4908
4913
  a.value = [...a.value, {
4909
4914
  id: b,
4910
4915
  role: "assistant",
@@ -4995,7 +5000,7 @@ function rs(e) {
4995
5000
  }
4996
5001
  //#endregion
4997
5002
  //#region ../core/src/cloud/ai-config.ts
4998
- function is(e) {
5003
+ function as(e) {
4999
5004
  function t(t) {
5000
5005
  return e === !1 ? !1 : e?.[t] !== !1;
5001
5006
  }
@@ -5006,7 +5011,7 @@ function is(e) {
5006
5011
  }
5007
5012
  //#endregion
5008
5013
  //#region ../core/src/cloud/template-scoring.ts
5009
- function as(e) {
5014
+ function os(e) {
5010
5015
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
5011
5016
  async function l(e, o) {
5012
5017
  let s = n();
@@ -5151,7 +5156,7 @@ function as(e) {
5151
5156
  }
5152
5157
  //#endregion
5153
5158
  //#region ../core/src/cloud/design-reference.ts
5154
- function os(e) {
5159
+ function ss(e) {
5155
5160
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
5156
5161
  async function s(e) {
5157
5162
  let s = n();
@@ -5214,8 +5219,8 @@ function os(e) {
5214
5219
  }
5215
5220
  //#endregion
5216
5221
  //#region ../core/src/cloud/comments.ts
5217
- function ss(e) {
5218
- let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Yo(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5222
+ function cs(e) {
5223
+ let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Xo(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5219
5224
  let e = 0;
5220
5225
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5221
5226
  return e;
@@ -5414,17 +5419,17 @@ function ss(e) {
5414
5419
  }
5415
5420
  //#endregion
5416
5421
  //#region ../core/src/cloud/comment-listener.ts
5417
- function cs(e) {
5422
+ function ls(e) {
5418
5423
  let { comments: t, channel: n } = e;
5419
5424
  H(n, (e, n) => {
5420
5425
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5421
- ls(t, e);
5426
+ us(t, e);
5422
5427
  });
5423
5428
  }), l(() => {
5424
5429
  n.value?.unbind("comment-broadcast");
5425
5430
  });
5426
5431
  }
5427
- function ls(e, t) {
5432
+ function us(e, t) {
5428
5433
  switch (t.action) {
5429
5434
  case "comment_created":
5430
5435
  e.applyRemoteCreate(t.comment);
@@ -5443,7 +5448,7 @@ function ls(e, t) {
5443
5448
  }
5444
5449
  //#endregion
5445
5450
  //#region ../core/src/cloud/collaboration.ts
5446
- var us = [
5451
+ var ds = [
5447
5452
  "pusher:member_added",
5448
5453
  "pusher:member_removed",
5449
5454
  "client-block_locked",
@@ -5451,10 +5456,10 @@ var us = [
5451
5456
  "client-operation",
5452
5457
  "mcp-operation"
5453
5458
  ];
5454
- function ds(e) {
5455
- for (let t of us) e.unbind(t);
5459
+ function fs(e) {
5460
+ for (let t of ds) e.unbind(t);
5456
5461
  }
5457
- var fs = [
5462
+ var ps = [
5458
5463
  "#3b82f6",
5459
5464
  "#ef4444",
5460
5465
  "#10b981",
@@ -5466,10 +5471,10 @@ var fs = [
5466
5471
  "#6366f1",
5467
5472
  "#14b8a6"
5468
5473
  ];
5469
- function ps(e) {
5474
+ function ms(e) {
5470
5475
  let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
5471
5476
  function u() {
5472
- let e = fs[o % fs.length];
5477
+ let e = ps[o % ps.length];
5473
5478
  return o++, e;
5474
5479
  }
5475
5480
  function d(e) {
@@ -5511,7 +5516,7 @@ function ps(e) {
5511
5516
  function h(e) {
5512
5517
  s = !0;
5513
5518
  try {
5514
- Qo(n, e);
5519
+ $o(n, e);
5515
5520
  } finally {
5516
5521
  s = !1;
5517
5522
  }
@@ -5531,7 +5536,7 @@ function ps(e) {
5531
5536
  return H(() => n.state.selectedBlockId, (e, t) => {
5532
5537
  s || (t && v(t), e && _(e));
5533
5538
  }), H(r, (t, n) => {
5534
- if (n && ds(n), !t) {
5539
+ if (n && fs(n), !t) {
5535
5540
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5536
5541
  return;
5537
5542
  }
@@ -5563,7 +5568,7 @@ function ps(e) {
5563
5568
  h(e);
5564
5569
  });
5565
5570
  }), l(() => {
5566
- r.value && ds(r.value);
5571
+ r.value && fs(r.value);
5567
5572
  }), {
5568
5573
  collaborators: i,
5569
5574
  lockedBlocks: a,
@@ -5573,7 +5578,7 @@ function ps(e) {
5573
5578
  }
5574
5579
  //#endregion
5575
5580
  //#region ../core/src/cloud/collaboration-broadcast.ts
5576
- function ms(e, t) {
5581
+ function hs(e, t) {
5577
5582
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5578
5583
  e.addBlock = (e, r, i, a) => {
5579
5584
  n(e, r, i, a), t._broadcastOperation({
@@ -5628,11 +5633,11 @@ function ms(e, t) {
5628
5633
  }
5629
5634
  //#endregion
5630
5635
  //#region ../core/src/cloud/web-socket.ts
5631
- function hs(e) {
5636
+ function gs(e) {
5632
5637
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5633
5638
  async function s(e, s) {
5634
5639
  if (a) return;
5635
- a = new Zo({
5640
+ a = new Qo({
5636
5641
  authManager: t,
5637
5642
  config: s,
5638
5643
  onError: n
@@ -5660,8 +5665,8 @@ function hs(e) {
5660
5665
  }
5661
5666
  //#endregion
5662
5667
  //#region ../core/src/cloud/saved-modules.ts
5663
- function gs(e) {
5664
- let t = new Yo(e.authManager), n = C([]), r = C(!1);
5668
+ function _s(e) {
5669
+ let t = new Xo(e.authManager), n = C([]), r = C(!1);
5665
5670
  async function i(i) {
5666
5671
  r.value = !0;
5667
5672
  try {
@@ -5709,8 +5714,8 @@ function gs(e) {
5709
5714
  }
5710
5715
  //#endregion
5711
5716
  //#region ../core/src/cloud/snapshots.ts
5712
- function _s(e) {
5713
- let t = new Yo(e.authManager), n = C([]), r = C(!1), i = C(!1);
5717
+ function vs(e) {
5718
+ let t = new Xo(e.authManager), n = C([]), r = C(!1), i = C(!1);
5714
5719
  async function a() {
5715
5720
  r.value = !0;
5716
5721
  try {
@@ -5742,8 +5747,8 @@ function _s(e) {
5742
5747
  }
5743
5748
  //#endregion
5744
5749
  //#region ../core/src/cloud/test-email.ts
5745
- function vs(e) {
5746
- let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Yo(t), l = C(!1), u = C(null), d = C(null);
5750
+ function ys(e) {
5751
+ let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Xo(t), l = C(!1), u = C(null), d = C(null);
5747
5752
  o && H(o, (e) => {
5748
5753
  e && (d.value = t.testEmailConfig);
5749
5754
  }, { immediate: !0 });
@@ -5779,8 +5784,8 @@ function vs(e) {
5779
5784
  }
5780
5785
  //#endregion
5781
5786
  //#region ../core/src/cloud/export.ts
5782
- function ys(e) {
5783
- let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Yo(t);
5787
+ function bs(e) {
5788
+ let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Xo(t);
5784
5789
  function a() {
5785
5790
  let e = n?.();
5786
5791
  return {
@@ -5806,8 +5811,8 @@ function ys(e) {
5806
5811
  }
5807
5812
  //#endregion
5808
5813
  //#region ../core/src/cloud/plan-config.ts
5809
- function bs(e) {
5810
- let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Yo(t), o = O(() => r.value?.features ?? null);
5814
+ function xs(e) {
5815
+ let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Xo(t), o = O(() => r.value?.features ?? null);
5811
5816
  function s(e) {
5812
5817
  return r.value?.features[e] ?? !1;
5813
5818
  }
@@ -5833,11 +5838,11 @@ function bs(e) {
5833
5838
  }
5834
5839
  //#endregion
5835
5840
  //#region ../core/src/cloud/health-check.ts
5836
- var xs = 5e3;
5837
- function Ss(e) {
5841
+ var Ss = 5e3;
5842
+ function Cs(e) {
5838
5843
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
5839
5844
  }
5840
- async function Cs(e, t) {
5845
+ async function ws(e, t) {
5841
5846
  let n = performance.now();
5842
5847
  try {
5843
5848
  let r = t ? await t.authenticatedFetch($.health, {
@@ -5889,7 +5894,7 @@ async function Cs(e, t) {
5889
5894
  };
5890
5895
  }
5891
5896
  }
5892
- async function ws(e) {
5897
+ async function Ts(e) {
5893
5898
  if (!e?.host || !e?.app_key) return {
5894
5899
  ok: !1,
5895
5900
  error: "WebSocket configuration not available"
@@ -5905,7 +5910,7 @@ async function ws(e) {
5905
5910
  ok: !1,
5906
5911
  error: "WebSocket connection timed out"
5907
5912
  });
5908
- }, xs);
5913
+ }, Ss);
5909
5914
  try {
5910
5915
  n = new WebSocket(t);
5911
5916
  } catch (t) {
@@ -5925,8 +5930,8 @@ async function ws(e) {
5925
5930
  };
5926
5931
  });
5927
5932
  }
5928
- async function Ts(e = {}) {
5929
- let t = await Cs(Ss(e), e.authManager), n = await ws(t.wsConfig);
5933
+ async function Es(e = {}) {
5934
+ let t = await ws(Cs(e), e.authManager), n = await Ts(t.wsConfig);
5930
5935
  return {
5931
5936
  api: t.api,
5932
5937
  websocket: n,
@@ -5936,29 +5941,29 @@ async function Ts(e = {}) {
5936
5941
  }
5937
5942
  //#endregion
5938
5943
  //#region ../core/src/cloud/mcp-listener.ts
5939
- function Es(e) {
5944
+ function Ds(e) {
5940
5945
  let { editor: t, channel: n, onOperation: r } = e;
5941
5946
  H(n, (e, n) => {
5942
5947
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
5943
- Qo(t, e), r?.(e);
5948
+ $o(t, e), r?.(e);
5944
5949
  });
5945
5950
  });
5946
5951
  }
5947
5952
  //#endregion
5948
5953
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
5949
- var Ds = {
5954
+ var Os = {
5950
5955
  key: 0,
5951
5956
  class: "tpl-ai-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
5952
- }, Os = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ks = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, As = { class: "tpl:flex tpl:items-center tpl:gap-1" }, js = ["title"], Ms = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Ns = {
5957
+ }, ks = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, As = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, js = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Ms = ["title"], Ns = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Ps = {
5953
5958
  key: 0,
5954
5959
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5955
- }, Ps = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Fs = {
5960
+ }, Fs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Is = {
5956
5961
  key: 1,
5957
5962
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5958
- }, Is = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ls = {
5963
+ }, Ls = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Rs = {
5959
5964
  key: 2,
5960
5965
  class: "tpl:flex tpl:flex-col tpl:gap-4"
5961
- }, Rs = {
5966
+ }, zs = {
5962
5967
  key: 0,
5963
5968
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
5964
5969
  style: {
@@ -5967,10 +5972,10 @@ var Ds = {
5967
5972
  "max-width": "85%",
5968
5973
  "box-shadow": "var(--tpl-shadow)"
5969
5974
  }
5970
- }, zs = {
5975
+ }, Bs = {
5971
5976
  key: 1,
5972
5977
  class: "tpl:flex tpl:flex-col tpl:gap-2"
5973
- }, Bs = {
5978
+ }, Vs = {
5974
5979
  key: 1,
5975
5980
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
5976
5981
  style: {
@@ -5979,21 +5984,21 @@ var Ds = {
5979
5984
  color: "var(--tpl-text)",
5980
5985
  "box-shadow": "var(--tpl-shadow)"
5981
5986
  }
5982
- }, Vs = {
5987
+ }, Hs = {
5983
5988
  key: 0,
5984
5989
  class: "tpl:mx-3 tpl:mb-2 tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs",
5985
5990
  style: {
5986
5991
  "background-color": "var(--tpl-danger-light)",
5987
5992
  color: "var(--tpl-danger)"
5988
5993
  }
5989
- }, Hs = {
5994
+ }, Us = {
5990
5995
  key: 1,
5991
5996
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
5992
5997
  style: {
5993
5998
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
5994
5999
  "backdrop-filter": "blur(2px)"
5995
6000
  }
5996
- }, Us = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Ws = ["onClick"], Gs = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Ks = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, qs = ["placeholder", "disabled"], Js = ["disabled"], Ys = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Xs = /* @__PURE__ */ B({
6001
+ }, Ws = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Gs = ["onClick"], Ks = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, qs = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Js = ["placeholder", "disabled"], Ys = ["disabled"], Xs = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Zs = /*@__PURE__*/ B({
5997
6002
  __name: "AiChatSidebar",
5998
6003
  props: {
5999
6004
  visible: { type: Boolean },
@@ -6001,14 +6006,14 @@ var Ds = {
6001
6006
  },
6002
6007
  emits: ["close"],
6003
6008
  setup(e, { emit: t }) {
6004
- let n = e, r = t, i = J(ur, "AiChatSidebar"), a = J(Fn, "AiChatSidebar"), o = J(ar, "AiChatSidebar"), s = v(Kn, []), l = ha(), u = rs({
6009
+ let n = e, r = t, i = J(dr, "AiChatSidebar"), a = J(In, "AiChatSidebar"), o = J(or, "AiChatSidebar"), s = v(qn, []), l = ga(), u = is({
6005
6010
  authManager: o,
6006
6011
  getTemplateId: () => a.state.template?.id ?? null,
6007
6012
  onApply: n.onApply,
6008
6013
  onError: void 0
6009
- }), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } = an(() => {
6014
+ }), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } = on(() => {
6010
6015
  _.value < (u.suggestions.value?.length ?? 0) ? _.value++ : y();
6011
- }, 150, { immediate: !1 }), { start: S } = on(() => x(), 100, { immediate: !1 });
6016
+ }, 150, { immediate: !1 }), { start: S } = sn(() => x(), 100, { immediate: !1 });
6012
6017
  H(() => u.suggestions.value?.length ?? 0, (e) => {
6013
6018
  if (y(), e === 0) {
6014
6019
  _.value = 0;
@@ -6048,42 +6053,42 @@ var Ds = {
6048
6053
  "leave-from-class": "tpl:translate-x-0",
6049
6054
  "leave-to-class": "tpl:translate-x-full"
6050
6055
  }, {
6051
- default: b(() => [e.visible ? (f(), k("div", Ds, [
6052
- I("div", Os, [I("div", ks, [V(j(xi), {
6056
+ default: b(() => [e.visible ? (f(), k("div", Os, [
6057
+ I("div", ks, [I("div", As, [V(j(Si), {
6053
6058
  size: 13,
6054
6059
  "stroke-width": 2
6055
- }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", As, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6060
+ }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", js, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6056
6061
  key: 0,
6057
6062
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6058
6063
  title: j(i).aiChat.clear,
6059
6064
  onClick: n[0] ||= (e) => j(u).clearChat()
6060
- }, [V(j(Ci), {
6065
+ }, [V(j(wi), {
6061
6066
  size: 14,
6062
6067
  "stroke-width": 2
6063
- })], 8, js)) : A("", !0), I("button", {
6068
+ })], 8, Ms)) : A("", !0), I("button", {
6064
6069
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6065
6070
  onClick: n[1] ||= (e) => r("close")
6066
- }, [V(j(Oi), {
6071
+ }, [V(j(ki), {
6067
6072
  size: 14,
6068
6073
  "stroke-width": 2
6069
6074
  })])])]),
6070
- I("div", Ms, [
6075
+ I("div", Ns, [
6071
6076
  I("div", {
6072
6077
  ref_key: "messagesContainer",
6073
6078
  ref: p,
6074
6079
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
6075
- }, [j(u).isLoadingHistory.value ? (f(), k("div", Ns, [V(j(li), {
6080
+ }, [j(u).isLoadingHistory.value ? (f(), k("div", Ps, [V(j(ui), {
6076
6081
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6077
6082
  size: 24,
6078
6083
  "stroke-width": 2
6079
- }), I("p", Ps, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Fs, [V(j(xi), {
6084
+ }), I("p", Fs, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Is, [V(j(Si), {
6080
6085
  size: 32,
6081
6086
  "stroke-width": 1.5,
6082
6087
  class: "tpl:text-[var(--tpl-text-dim)]"
6083
- }), I("p", Is, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Ls, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6088
+ }), I("p", Ls, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Rs, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6084
6089
  key: e.id,
6085
6090
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6086
- }, [e.role === "user" ? (f(), k("div", Rs, D(e.content), 1)) : (f(), k("div", zs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Li, { key: 0 })) : (f(), k("div", Bs, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6091
+ }, [e.role === "user" ? (f(), k("div", zs, D(e.content), 1)) : (f(), k("div", Bs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Ri, { key: 0 })) : (f(), k("div", Vs, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6087
6092
  key: 2,
6088
6093
  class: "tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:self-start tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
6089
6094
  style: {
@@ -6092,19 +6097,19 @@ var Ds = {
6092
6097
  "background-color": "transparent"
6093
6098
  },
6094
6099
  onClick: n[2] ||= (e) => j(u).toggleLastRevert()
6095
- }, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(mi), {
6100
+ }, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(hi), {
6096
6101
  size: 12,
6097
6102
  "stroke-width": 2
6098
- }), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Ti), {
6103
+ }), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Ei), {
6099
6104
  size: 12,
6100
6105
  "stroke-width": 2
6101
6106
  }), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
6102
- j(u).error.value ? (f(), k("div", Vs, [V(j(Yr), {
6107
+ j(u).error.value ? (f(), k("div", Hs, [V(j(Xr), {
6103
6108
  size: 14,
6104
6109
  "stroke-width": 2,
6105
6110
  class: "tpl:mt-0.5 tpl:shrink-0"
6106
6111
  }), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
6107
- (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Hs, [I("div", Us, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6112
+ (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Us, [I("div", Ws, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6108
6113
  key: t,
6109
6114
  class: F(["tpl-suggestion-btn tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:leading-snug tpl:transition-all tpl:duration-300 tpl:ease-out", (j(u).suggestions.value?.length ?? 0) - 1 - t < _.value ? "tpl:translate-y-0 tpl:opacity-100" : "tpl:pointer-events-none tpl:-translate-y-2 tpl:opacity-0"]),
6110
6115
  style: {
@@ -6114,104 +6119,104 @@ var Ds = {
6114
6119
  "box-shadow": "var(--tpl-shadow)"
6115
6120
  },
6116
6121
  onClick: (t) => E(e)
6117
- }, D(e), 11, Ws))), 128))])])) : A("", !0)
6122
+ }, D(e), 11, Gs))), 128))])])) : A("", !0)
6118
6123
  ]),
6119
- I("div", Gs, [I("div", Ks, [c(I("textarea", {
6124
+ I("div", Ks, [I("div", qs, [c(I("textarea", {
6120
6125
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
6121
6126
  class: "tpl:max-h-32 tpl:min-h-[64px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-sm tpl:outline-none tpl:text-[var(--tpl-text)]",
6122
6127
  placeholder: j(i).aiChat.inputPlaceholder,
6123
6128
  disabled: j(u).isGenerating.value,
6124
6129
  rows: "3",
6125
6130
  onKeydown: te
6126
- }, null, 40, qs), [[ae, d.value]]), I("button", {
6131
+ }, null, 40, Js), [[ae, d.value]]), I("button", {
6127
6132
  class: "tpl-ai-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
6128
6133
  disabled: !d.value.trim() || j(u).isGenerating.value,
6129
6134
  onClick: ee
6130
- }, [V(j(_i), {
6135
+ }, [V(j(vi), {
6131
6136
  size: 16,
6132
6137
  "stroke-width": 2
6133
- })], 8, Js)]), I("p", Ys, D(j(i).aiMenu.disclaimer), 1)])
6138
+ })], 8, Ys)]), I("p", Xs, D(j(i).aiMenu.disclaimer), 1)])
6134
6139
  ])) : A("", !0)]),
6135
6140
  _: 1
6136
6141
  }));
6137
6142
  }
6138
- }), Zs = /* @__PURE__ */ e({ default: () => Qs }), Qs = /* @__PURE__ */ Ni(Xs, [["__scopeId", "data-v-a55e4bff"]]), $s = 6e4, ec = 36e5, tc = 864e5;
6139
- function nc(e, t, n, r) {
6143
+ }), Qs = /* @__PURE__ */ e({ default: () => $s }), $s = /*#__PURE__*/ Pi(Zs, [["__scopeId", "data-v-a55e4bff"]]), ec = 6e4, tc = 36e5, nc = 864e5;
6144
+ function rc(e, t, n, r) {
6140
6145
  let i = new Date(e).getTime();
6141
6146
  if (Number.isNaN(i)) return null;
6142
6147
  let a = Date.now() - i;
6143
6148
  if (a < -6e4) return null;
6144
- let o = Math.floor(a / $s), s = Math.floor(a / ec), c = Math.floor(a / tc);
6149
+ let o = Math.floor(a / ec), s = Math.floor(a / tc), c = Math.floor(a / nc);
6145
6150
  return o < 1 ? t.justNow : o < 60 ? n ? n(t.minutesAgo, { minutes: o }) : t.minutesAgo.replace("{minutes}", String(o)) : s < 24 ? n ? n(t.hoursAgo, { hours: s }) : t.hoursAgo.replace("{hours}", String(s)) : r !== void 0 && c >= r ? null : n ? n(t.daysAgo, { days: c }) : t.daysAgo.replace("{days}", String(c));
6146
6151
  }
6147
6152
  //#endregion
6148
6153
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
6149
- var rc = {
6154
+ var ic = {
6150
6155
  key: 0,
6151
6156
  class: "tpl-comments-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
6152
- }, ic = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ac = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, oc = {
6157
+ }, ac = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, oc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, sc = {
6153
6158
  key: 0,
6154
6159
  class: "tpl:ml-1 tpl:inline-flex tpl:size-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)]"
6155
- }, sc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, cc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, lc = {
6160
+ }, cc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, lc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, uc = {
6156
6161
  key: 0,
6157
6162
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
6158
- }, uc = {
6163
+ }, dc = {
6159
6164
  key: 1,
6160
6165
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
6161
- }, dc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, fc = {
6166
+ }, fc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, pc = {
6162
6167
  key: 2,
6163
6168
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
6164
- }, pc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, mc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, hc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, gc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, _c = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, vc = {
6169
+ }, mc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, hc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, gc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, _c = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, yc = {
6165
6170
  key: 0,
6166
6171
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6167
- }, yc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, bc = ["title", "onClick"], xc = ["title", "onClick"], Sc = ["title", "onClick"], Cc = {
6172
+ }, bc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, xc = ["title", "onClick"], Sc = ["title", "onClick"], Cc = ["title", "onClick"], wc = {
6168
6173
  key: 0,
6169
6174
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
6170
- }, wc = {
6175
+ }, Tc = {
6171
6176
  key: 0,
6172
6177
  class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
6173
- }, Tc = ["onClick"], Ec = {
6178
+ }, Ec = ["onClick"], Dc = {
6174
6179
  key: 2,
6175
6180
  class: "tpl:mt-2"
6176
- }, Dc = ["onKeydown"], Oc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, kc = ["disabled", "onClick"], Ac = {
6181
+ }, Oc = ["onKeydown"], kc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Ac = ["disabled", "onClick"], jc = {
6177
6182
  key: 3,
6178
6183
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6179
- }, jc = {
6184
+ }, Mc = {
6180
6185
  key: 4,
6181
6186
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6182
- }, Mc = { class: "tpl:flex-1" }, Nc = ["onClick"], Pc = {
6187
+ }, Nc = { class: "tpl:flex-1" }, Pc = ["onClick"], Fc = {
6183
6188
  key: 5,
6184
6189
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6185
- }, Fc = ["title", "onClick"], Ic = ["onClick"], Lc = {
6190
+ }, Ic = ["title", "onClick"], Lc = ["onClick"], Rc = {
6186
6191
  key: 0,
6187
6192
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6188
- }, Rc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, zc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Bc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Vc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Hc = {
6193
+ }, zc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Bc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Vc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Hc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Uc = {
6189
6194
  key: 0,
6190
6195
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6191
- }, Uc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Wc = ["title", "onClick"], Gc = ["title", "onClick"], Kc = {
6196
+ }, Wc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Gc = ["title", "onClick"], Kc = ["title", "onClick"], qc = {
6192
6197
  key: 0,
6193
6198
  class: "tpl:mt-1.5"
6194
- }, qc = ["onKeydown"], Jc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Yc = ["disabled", "onClick"], Xc = {
6199
+ }, Jc = ["onKeydown"], Yc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Xc = ["disabled", "onClick"], Zc = {
6195
6200
  key: 1,
6196
6201
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6197
- }, Zc = {
6202
+ }, Qc = {
6198
6203
  key: 2,
6199
6204
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6200
- }, Qc = { class: "tpl:flex-1" }, $c = ["onClick"], el = {
6205
+ }, $c = { class: "tpl:flex-1" }, el = ["onClick"], tl = {
6201
6206
  key: 0,
6202
6207
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6203
- }, tl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, nl = ["placeholder", "onKeydown"], rl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, il = ["disabled", "onClick"], al = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, ol = {
6208
+ }, nl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, rl = ["placeholder", "onKeydown"], il = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, al = ["disabled", "onClick"], ol = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, sl = {
6204
6209
  key: 0,
6205
6210
  class: "tpl:flex tpl:min-h-[68px] tpl:items-center tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
6206
- }, sl = {
6211
+ }, cl = {
6207
6212
  key: 1,
6208
6213
  class: "tpl-comments-input-wrapper tpl:flex tpl:min-h-[68px] tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]"
6209
- }, cl = ["placeholder", "disabled"], ll = ["disabled"], ul = /* @__PURE__ */ B({
6214
+ }, ll = ["placeholder", "disabled"], ul = ["disabled"], dl = /*@__PURE__*/ B({
6210
6215
  __name: "CommentsSidebar",
6211
6216
  props: { visible: { type: Boolean } },
6212
6217
  emits: ["close", "filterBlock"],
6213
6218
  setup(e, { expose: t, emit: n }) {
6214
- let r = e, i = n, { format: a } = Y(), { t: o } = Ui(), s = J(Fn, "CommentsSidebar"), l = J(ar, "CommentsSidebar"), u = J(sr, "CommentsSidebar"), d = C("unresolved"), p = C(null), g = C(""), _ = C(null), v = C(""), y = C(null), x = C(""), S = C(/* @__PURE__ */ new Set()), w = C(null), ee = C(null), T = O(() => l.userConfig?.id ?? null), E = O(() => {
6219
+ let r = e, i = n, { format: a } = Y(), { t: o } = Wi(), s = J(In, "CommentsSidebar"), l = J(or, "CommentsSidebar"), u = J(cr, "CommentsSidebar"), d = C("unresolved"), p = C(null), g = C(""), _ = C(null), v = C(""), y = C(null), x = C(""), S = C(/* @__PURE__ */ new Set()), w = C(null), ee = C(null), T = O(() => l.userConfig?.id ?? null), E = O(() => {
6215
6220
  let e = /* @__PURE__ */ new Set();
6216
6221
  for (let t of s.content.value.blocks) if (e.add(t.id), t.type === "section") for (let n of t.children) for (let t of n) e.add(t.id);
6217
6222
  return e;
@@ -6279,7 +6284,7 @@ var rc = {
6279
6284
  return e.author_identifier === T.value;
6280
6285
  }
6281
6286
  function ve(e) {
6282
- return nc(e, o.snapshotHistory) ?? e;
6287
+ return rc(e, o.snapshotHistory) ?? e;
6283
6288
  }
6284
6289
  function ye(e) {
6285
6290
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6306,22 +6311,22 @@ var rc = {
6306
6311
  "leave-from-class": "tpl:translate-x-0",
6307
6312
  "leave-to-class": "tpl:translate-x-full"
6308
6313
  }, {
6309
- default: b(() => [e.visible ? (f(), k("div", rc, [
6310
- I("div", ic, [I("div", ac, [
6311
- V(j(ui), {
6314
+ default: b(() => [e.visible ? (f(), k("div", ic, [
6315
+ I("div", ac, [I("div", oc, [
6316
+ V(j(di), {
6312
6317
  size: 13,
6313
6318
  "stroke-width": 2
6314
6319
  }),
6315
6320
  I("span", null, D(j(o).comments.title), 1),
6316
- j(u).unresolvedCount.value > 0 ? (f(), k("span", oc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6321
+ j(u).unresolvedCount.value > 0 ? (f(), k("span", sc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6317
6322
  ]), I("button", {
6318
6323
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6319
6324
  onClick: n[0] ||= (e) => i("close")
6320
- }, [V(j(Oi), {
6325
+ }, [V(j(ki), {
6321
6326
  size: 14,
6322
6327
  "stroke-width": 2
6323
6328
  })])]),
6324
- I("div", sc, [
6329
+ I("div", cc, [
6325
6330
  I("button", {
6326
6331
  class: F(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150", d.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
6327
6332
  onClick: n[1] ||= (e) => M("unresolved")
@@ -6336,156 +6341,156 @@ var rc = {
6336
6341
  onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
6337
6342
  }, D(j(o).comments.filterBlock), 3)) : A("", !0)
6338
6343
  ]),
6339
- I("div", cc, [j(u).isLoading.value ? (f(), k("div", lc, [V(j(li), {
6344
+ I("div", lc, [j(u).isLoading.value ? (f(), k("div", uc, [V(j(ui), {
6340
6345
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6341
6346
  size: 24,
6342
6347
  "stroke-width": 2
6343
- })])) : re.value.length === 0 ? (f(), k("div", uc, [V(j(ui), {
6348
+ })])) : re.value.length === 0 ? (f(), k("div", dc, [V(j(di), {
6344
6349
  size: 32,
6345
6350
  "stroke-width": 1.5,
6346
6351
  class: "tpl:text-[var(--tpl-text-dim)]"
6347
- }), I("p", dc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", fc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6352
+ }), I("p", fc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", pc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6348
6353
  key: e.id,
6349
6354
  class: "tpl-comment-thread"
6350
6355
  }, [
6351
- I("div", pc, [
6352
- I("div", mc, [I("div", hc, [
6353
- I("span", gc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6354
- I("span", _c, D(ve(e.created_at)), 1),
6355
- e.updated_at === e.created_at ? A("", !0) : (f(), k("span", vc, " (" + D(j(o).comments.edited) + ") ", 1))
6356
- ]), I("div", yc, [
6356
+ I("div", mc, [
6357
+ I("div", hc, [I("div", gc, [
6358
+ I("span", _c, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6359
+ I("span", vc, D(ve(e.created_at)), 1),
6360
+ e.updated_at === e.created_at ? A("", !0) : (f(), k("span", yc, " (" + D(j(o).comments.edited) + ") ", 1))
6361
+ ]), I("div", bc, [
6357
6362
  I("button", {
6358
6363
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6359
6364
  title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
6360
6365
  onClick: (t) => ge(e.id)
6361
- }, [V(j(Xr), {
6366
+ }, [V(j(Zr), {
6362
6367
  size: 13,
6363
6368
  "stroke-width": 2,
6364
6369
  class: "tpl-resolve-icon",
6365
6370
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6366
- }, null, 8, ["style"])], 8, bc),
6371
+ }, null, 8, ["style"])], 8, xc),
6367
6372
  _e(e) ? (f(), k("button", {
6368
6373
  key: 0,
6369
6374
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6370
6375
  title: j(o).comments.edit,
6371
6376
  onClick: (t) => le(e)
6372
- }, [V(j(fi), {
6377
+ }, [V(j(pi), {
6373
6378
  size: 12,
6374
6379
  "stroke-width": 2
6375
- })], 8, xc)) : A("", !0),
6380
+ })], 8, Sc)) : A("", !0),
6376
6381
  _e(e) ? (f(), k("button", {
6377
6382
  key: 1,
6378
6383
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6379
6384
  title: j(o).comments.delete,
6380
6385
  onClick: (t) => ue(e.id)
6381
- }, [V(j(Ci), {
6386
+ }, [V(j(wi), {
6382
6387
  size: 12,
6383
6388
  "stroke-width": 2
6384
- })], 8, Sc)) : A("", !0)
6389
+ })], 8, Cc)) : A("", !0)
6385
6390
  ])]),
6386
6391
  V(ie, { name: "tpl-resolve" }, {
6387
- default: b(() => [e.resolved_at ? (f(), k("div", Cc, [V(j(Wr), {
6392
+ default: b(() => [e.resolved_at ? (f(), k("div", wc, [V(j(Gr), {
6388
6393
  size: 10,
6389
6394
  "stroke-width": 2.5
6390
6395
  }), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
6391
6396
  _: 2
6392
6397
  }, 1024),
6393
- e.block_id && te(e.block_id) ? (f(), k("span", wc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6398
+ e.block_id && te(e.block_id) ? (f(), k("span", Tc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6394
6399
  key: 1,
6395
6400
  class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
6396
6401
  onClick: (t) => j(s).selectBlock(e.block_id ?? "")
6397
- }, " Block ", 8, Tc)) : A("", !0),
6398
- y.value === e.id ? (f(), k("div", Ec, [c(I("textarea", {
6402
+ }, " Block ", 8, Ec)) : A("", !0),
6403
+ y.value === e.id ? (f(), k("div", Dc, [c(I("textarea", {
6399
6404
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6400
6405
  class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6401
6406
  rows: "3",
6402
6407
  onKeydown: (t) => xe(t, e.id)
6403
- }, null, 40, Dc), [[ae, x.value]]), I("div", Oc, [I("button", {
6408
+ }, null, 40, Oc), [[ae, x.value]]), I("div", kc, [I("button", {
6404
6409
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6405
6410
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6406
6411
  onClick: (t) => me(e.id)
6407
- }, D(j(o).comments.save), 9, kc), I("button", {
6412
+ }, D(j(o).comments.save), 9, Ac), I("button", {
6408
6413
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6409
6414
  onClick: n[5] ||= (e) => B()
6410
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Ac, D(e.body), 1)),
6411
- w.value === e.id ? (f(), k("div", jc, [
6412
- I("span", Mc, D(j(o).comments.deleteConfirm), 1),
6415
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", jc, D(e.body), 1)),
6416
+ w.value === e.id ? (f(), k("div", Mc, [
6417
+ I("span", Nc, D(j(o).comments.deleteConfirm), 1),
6413
6418
  I("button", {
6414
6419
  class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
6415
6420
  onClick: (t) => he(e.id)
6416
- }, D(j(o).comments.delete), 9, Nc),
6421
+ }, D(j(o).comments.delete), 9, Pc),
6417
6422
  I("button", {
6418
6423
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6419
6424
  onClick: n[6] ||= (e) => de()
6420
6425
  }, D(j(o).comments.cancel), 1)
6421
6426
  ])) : A("", !0),
6422
- y.value !== e.id && w.value !== e.id ? (f(), k("div", Pc, [I("button", {
6427
+ y.value !== e.id && w.value !== e.id ? (f(), k("div", Fc, [I("button", {
6423
6428
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6424
6429
  title: j(o).comments.reply,
6425
6430
  onClick: (t) => se(e.id)
6426
- }, [V(j(gi), {
6431
+ }, [V(j(_i), {
6427
6432
  size: 13,
6428
6433
  "stroke-width": 2,
6429
6434
  class: "tpl:text-[var(--tpl-primary)]"
6430
- })], 8, Fc), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6435
+ })], 8, Ic), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6431
6436
  key: 0,
6432
6437
  class: "tpl:flex tpl:items-center tpl:gap-0.5 tpl:text-[11px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6433
6438
  onClick: (t) => oe(e.id)
6434
- }, [S.value.has(e.id) ? (f(), N(j(Jr), {
6439
+ }, [S.value.has(e.id) ? (f(), N(j(Yr), {
6435
6440
  key: 0,
6436
6441
  size: 11,
6437
6442
  "stroke-width": 2
6438
- })) : (f(), N(j(Gr), {
6443
+ })) : (f(), N(j(Kr), {
6439
6444
  key: 1,
6440
6445
  size: 11,
6441
6446
  "stroke-width": 2
6442
- })), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Ic)) : A("", !0)])) : A("", !0)
6447
+ })), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Lc)) : A("", !0)])) : A("", !0)
6443
6448
  ]),
6444
6449
  V(ie, { name: "tpl-replies" }, {
6445
- default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Lc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6450
+ default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Rc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6446
6451
  key: t.id,
6447
6452
  class: F(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", r < (e.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
6448
6453
  }, [
6449
- I("div", Rc, [I("div", zc, [
6450
- I("span", Bc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6451
- I("span", Vc, D(ve(t.created_at)), 1),
6452
- t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Hc, " (" + D(j(o).comments.edited) + ") ", 1))
6453
- ]), I("div", Uc, [_e(t) ? (f(), k("button", {
6454
+ I("div", zc, [I("div", Bc, [
6455
+ I("span", Vc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6456
+ I("span", Hc, D(ve(t.created_at)), 1),
6457
+ t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Uc, " (" + D(j(o).comments.edited) + ") ", 1))
6458
+ ]), I("div", Wc, [_e(t) ? (f(), k("button", {
6454
6459
  key: 0,
6455
6460
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6456
6461
  title: j(o).comments.edit,
6457
6462
  onClick: (e) => le(t)
6458
- }, [V(j(fi), {
6463
+ }, [V(j(pi), {
6459
6464
  size: 11,
6460
6465
  "stroke-width": 2
6461
- })], 8, Wc)) : A("", !0), _e(t) ? (f(), k("button", {
6466
+ })], 8, Gc)) : A("", !0), _e(t) ? (f(), k("button", {
6462
6467
  key: 1,
6463
6468
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6464
6469
  title: j(o).comments.delete,
6465
6470
  onClick: (e) => ue(t.id)
6466
- }, [V(j(Ci), {
6471
+ }, [V(j(wi), {
6467
6472
  size: 11,
6468
6473
  "stroke-width": 2
6469
- })], 8, Gc)) : A("", !0)])]),
6470
- y.value === t.id ? (f(), k("div", Kc, [c(I("textarea", {
6474
+ })], 8, Kc)) : A("", !0)])]),
6475
+ y.value === t.id ? (f(), k("div", qc, [c(I("textarea", {
6471
6476
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6472
6477
  class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6473
6478
  rows: "2",
6474
6479
  onKeydown: (e) => xe(e, t.id)
6475
- }, null, 40, qc), [[ae, x.value]]), I("div", Jc, [I("button", {
6480
+ }, null, 40, Jc), [[ae, x.value]]), I("div", Yc, [I("button", {
6476
6481
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6477
6482
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6478
6483
  onClick: (e) => me(t.id)
6479
- }, D(j(o).comments.save), 9, Yc), I("button", {
6484
+ }, D(j(o).comments.save), 9, Xc), I("button", {
6480
6485
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6481
6486
  onClick: n[8] ||= (e) => B()
6482
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Xc, D(t.body), 1)),
6483
- w.value === t.id ? (f(), k("div", Zc, [
6484
- I("span", Qc, D(j(o).comments.deleteConfirm), 1),
6487
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Zc, D(t.body), 1)),
6488
+ w.value === t.id ? (f(), k("div", Qc, [
6489
+ I("span", $c, D(j(o).comments.deleteConfirm), 1),
6485
6490
  I("button", {
6486
6491
  class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
6487
6492
  onClick: (e) => he(t.id)
6488
- }, D(j(o).comments.delete), 9, $c),
6493
+ }, D(j(o).comments.delete), 9, el),
6489
6494
  I("button", {
6490
6495
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6491
6496
  onClick: n[9] ||= (e) => de()
@@ -6495,30 +6500,30 @@ var rc = {
6495
6500
  _: 2
6496
6501
  }, 1024),
6497
6502
  V(ie, { name: "tpl-replies" }, {
6498
- default: b(() => [_.value === e.id ? (f(), k("div", el, [I("div", tl, [c(I("textarea", {
6503
+ default: b(() => [_.value === e.id ? (f(), k("div", tl, [I("div", nl, [c(I("textarea", {
6499
6504
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6500
6505
  class: "tpl:flex-1 tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
6501
6506
  placeholder: j(o).comments.replyPlaceholder,
6502
6507
  rows: "2",
6503
6508
  onKeydown: (t) => be(t, e.id)
6504
- }, null, 40, nl), [[ae, v.value]]), I("div", rl, [I("button", {
6509
+ }, null, 40, rl), [[ae, v.value]]), I("div", il, [I("button", {
6505
6510
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
6506
6511
  disabled: !v.value.trim() || j(u).isSubmitting.value,
6507
6512
  onClick: (t) => pe(e.id)
6508
- }, [V(j(_i), {
6513
+ }, [V(j(vi), {
6509
6514
  size: 14,
6510
6515
  "stroke-width": 2
6511
- })], 8, il), I("button", {
6516
+ })], 8, al), I("button", {
6512
6517
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6513
6518
  onClick: n[11] ||= (e) => ce()
6514
- }, [V(j(Oi), {
6519
+ }, [V(j(ki), {
6515
6520
  size: 14,
6516
6521
  "stroke-width": 2
6517
6522
  })])])])])) : A("", !0)]),
6518
6523
  _: 2
6519
6524
  }, 1024)
6520
6525
  ]))), 128))]))]),
6521
- I("div", al, [ne.value ? (f(), k("div", ol, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", sl, [c(I("textarea", {
6526
+ I("div", ol, [ne.value ? (f(), k("div", sl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", cl, [c(I("textarea", {
6522
6527
  ref_key: "newCommentInput",
6523
6528
  ref: ee,
6524
6529
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
@@ -6527,46 +6532,46 @@ var rc = {
6527
6532
  disabled: j(u).isSubmitting.value,
6528
6533
  rows: "2",
6529
6534
  onKeydown: ye
6530
- }, null, 40, cl), [[ae, g.value]]), I("button", {
6535
+ }, null, 40, ll), [[ae, g.value]]), I("button", {
6531
6536
  class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
6532
6537
  disabled: !g.value.trim() || j(u).isSubmitting.value,
6533
6538
  onClick: fe
6534
- }, [j(u).isSubmitting.value ? (f(), N(j(li), {
6539
+ }, [j(u).isSubmitting.value ? (f(), N(j(ui), {
6535
6540
  key: 0,
6536
6541
  class: "tpl-spinner",
6537
6542
  size: 16,
6538
6543
  "stroke-width": 2
6539
- })) : (f(), N(j(_i), {
6544
+ })) : (f(), N(j(vi), {
6540
6545
  key: 1,
6541
6546
  size: 16,
6542
6547
  "stroke-width": 2
6543
- }))], 8, ll)]))])
6548
+ }))], 8, ul)]))])
6544
6549
  ])) : A("", !0)]),
6545
6550
  _: 1
6546
6551
  }));
6547
6552
  }
6548
- }), dl = /* @__PURE__ */ e({ default: () => fl }), fl = /* @__PURE__ */ Ni(ul, [["__scopeId", "data-v-d204f573"]]), pl = {
6553
+ }), fl = /* @__PURE__ */ e({ default: () => pl }), pl = /*#__PURE__*/ Pi(dl, [["__scopeId", "data-v-d204f573"]]), ml = {
6549
6554
  key: 0,
6550
6555
  class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
6551
- }, ml = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, hl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, gl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, _l = {
6556
+ }, hl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, gl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, _l = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, vl = {
6552
6557
  key: 0,
6553
6558
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6554
- }, vl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, yl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, bl = {
6559
+ }, yl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, bl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, xl = {
6555
6560
  key: 1,
6556
6561
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6557
- }, xl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Sl = {
6562
+ }, Sl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Cl = {
6558
6563
  key: 0,
6559
6564
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6560
- }, Cl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, wl = ["src", "alt"], Tl = {
6565
+ }, wl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Tl = ["src", "alt"], El = {
6561
6566
  key: 1,
6562
6567
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6563
- }, El = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Dl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ol = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, kl = ["accept"], Al = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, jl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ml = ["placeholder"], Nl = {
6568
+ }, Dl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ol = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, kl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Al = ["accept"], jl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Ml = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Nl = ["placeholder"], Pl = {
6564
6569
  key: 0,
6565
6570
  class: "tpl:flex tpl:flex-col tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:px-3 tpl:py-3 tpl:bg-[var(--tpl-warning-light)] tpl:border tpl:border-[var(--tpl-warning)]"
6566
- }, Pl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Fl = { class: "tpl:flex tpl:gap-2" }, Il = {
6571
+ }, Fl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Il = { class: "tpl:flex tpl:gap-2" }, Ll = {
6567
6572
  key: 1,
6568
6573
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6569
- }, Ll = ["disabled"], Rl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, zl = /* @__PURE__ */ B({
6574
+ }, Rl = ["disabled"], zl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Bl = /*@__PURE__*/ B({
6570
6575
  __name: "DesignReferenceSidebar",
6571
6576
  props: {
6572
6577
  visible: { type: Boolean },
@@ -6574,8 +6579,8 @@ var rc = {
6574
6579
  },
6575
6580
  emits: ["close", "apply"],
6576
6581
  setup(e, { emit: t }) {
6577
- let n = e, r = t, { t: i } = Ui(), a = J(Fn, "DesignReferenceSidebar"), o = os({
6578
- authManager: J(ar, "DesignReferenceSidebar"),
6582
+ let n = e, r = t, { t: i } = Wi(), a = J(In, "DesignReferenceSidebar"), o = ss({
6583
+ authManager: J(or, "DesignReferenceSidebar"),
6579
6584
  getTemplateId: () => a.state.template?.id ?? null,
6580
6585
  onApply: (e) => r("apply", e)
6581
6586
  }), s = C(null), l = C("image"), u = C(null), d = C(""), p = C(null), m = C(!1), h = C(!1), g = O(() => o.isGenerating.value ? !1 : u.value !== null);
@@ -6646,17 +6651,17 @@ var rc = {
6646
6651
  "leave-from-class": "tpl:translate-x-0",
6647
6652
  "leave-to-class": "tpl:translate-x-full"
6648
6653
  }, {
6649
- default: b(() => [e.visible ? (f(), k("div", pl, [I("div", ml, [I("div", hl, [V(j(oi), {
6654
+ default: b(() => [e.visible ? (f(), k("div", ml, [I("div", hl, [I("div", gl, [V(j(si), {
6650
6655
  size: 13,
6651
6656
  "stroke-width": 2
6652
6657
  }), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
6653
6658
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6654
6659
  onClick: n[0] ||= (e) => r("close")
6655
- }, [V(j(Oi), {
6660
+ }, [V(j(ki), {
6656
6661
  size: 14,
6657
6662
  "stroke-width": 2
6658
- })])]), I("div", gl, [j(o).isGenerating.value ? (f(), k("div", _l, [I("div", vl, [V(Li), I("p", yl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", bl, [
6659
- I("div", xl, [I("button", {
6663
+ })])]), I("div", _l, [j(o).isGenerating.value ? (f(), k("div", vl, [I("div", yl, [V(Ri), I("p", bl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", xl, [
6664
+ I("div", Sl, [I("button", {
6660
6665
  class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
6661
6666
  style: L({
6662
6667
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6664,7 +6669,7 @@ var rc = {
6664
6669
  boxShadow: l.value === "image" ? "var(--tpl-shadow)" : "none"
6665
6670
  }),
6666
6671
  onClick: n[1] ||= (e) => _("image")
6667
- }, [V(j(ni), {
6672
+ }, [V(j(ri), {
6668
6673
  size: 12,
6669
6674
  "stroke-width": 2
6670
6675
  }), z(" " + D(j(i).designReference.uploadImage), 1)], 4), I("button", {
@@ -6675,23 +6680,23 @@ var rc = {
6675
6680
  boxShadow: l.value === "pdf" ? "var(--tpl-shadow)" : "none"
6676
6681
  }),
6677
6682
  onClick: n[2] ||= (e) => _("pdf")
6678
- }, [V(j(ri), {
6683
+ }, [V(j(ii), {
6679
6684
  size: 12,
6680
6685
  "stroke-width": 2
6681
6686
  }), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
6682
- I("div", null, [u.value ? (f(), k("div", Sl, [I("div", Cl, [p.value ? (f(), k("img", {
6687
+ I("div", null, [u.value ? (f(), k("div", Cl, [I("div", wl, [p.value ? (f(), k("img", {
6683
6688
  key: 0,
6684
6689
  src: p.value,
6685
6690
  alt: u.value.name,
6686
6691
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6687
- }, null, 8, wl)) : (f(), k("div", Tl, [V(j(ri), {
6692
+ }, null, 8, Tl)) : (f(), k("div", El, [V(j(ii), {
6688
6693
  size: 32,
6689
6694
  "stroke-width": 1.5,
6690
6695
  class: "tpl:text-[var(--tpl-text-dim)]"
6691
- }), I("span", El, D(u.value.name), 1)])), I("button", {
6696
+ }), I("span", Dl, D(u.value.name), 1)])), I("button", {
6692
6697
  class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
6693
6698
  onClick: x
6694
- }, [V(j(Oi), {
6699
+ }, [V(j(ki), {
6695
6700
  size: 12,
6696
6701
  "stroke-width": 2
6697
6702
  })])])])) : (f(), k("div", {
@@ -6706,13 +6711,13 @@ var rc = {
6706
6711
  onDragleave: w,
6707
6712
  onDrop: ee
6708
6713
  }, [
6709
- V(j(Ei), {
6714
+ V(j(Di), {
6710
6715
  size: 24,
6711
6716
  "stroke-width": 1.5,
6712
6717
  class: "tpl:text-[var(--tpl-text-dim)]"
6713
6718
  }),
6714
- I("span", Dl, D(j(i).designReference.dropHint), 1),
6715
- I("span", Ol, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6719
+ I("span", Ol, D(j(i).designReference.dropHint), 1),
6720
+ I("span", kl, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6716
6721
  ], 36)), I("input", {
6717
6722
  ref_key: "fileInput",
6718
6723
  ref: s,
@@ -6720,14 +6725,14 @@ var rc = {
6720
6725
  class: "tpl:hidden",
6721
6726
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6722
6727
  onChange: v
6723
- }, null, 40, kl)]),
6724
- I("div", Al, [I("label", jl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6728
+ }, null, 40, Al)]),
6729
+ I("div", jl, [I("label", Ml, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6725
6730
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6726
6731
  class: F(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
6727
6732
  placeholder: j(i).designReference.promptPlaceholder,
6728
6733
  rows: "3"
6729
- }, null, 8, Ml), [[ae, d.value]])]),
6730
- m.value ? (f(), k("div", Nl, [I("p", Pl, D(j(i).designReference.replaceWarning), 1), I("div", Fl, [I("button", {
6734
+ }, null, 8, Nl), [[ae, d.value]])]),
6735
+ m.value ? (f(), k("div", Pl, [I("p", Fl, D(j(i).designReference.replaceWarning), 1), I("div", Il, [I("button", {
6731
6736
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
6732
6737
  style: { "background-color": "transparent" },
6733
6738
  onClick: E
@@ -6735,7 +6740,7 @@ var rc = {
6735
6740
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6736
6741
  onClick: T
6737
6742
  }, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
6738
- j(o).error.value ? (f(), k("div", Il, [V(j(Yr), {
6743
+ j(o).error.value ? (f(), k("div", Ll, [V(j(Xr), {
6739
6744
  size: 14,
6740
6745
  "stroke-width": 2,
6741
6746
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6745,35 +6750,35 @@ var rc = {
6745
6750
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
6746
6751
  disabled: !g.value,
6747
6752
  onClick: T
6748
- }, [V(j(oi), {
6753
+ }, [V(j(si), {
6749
6754
  size: 16,
6750
6755
  "stroke-width": 2
6751
- }), z(" " + D(j(i).designReference.generate), 1)], 8, Ll)),
6752
- I("p", Rl, D(j(i).aiMenu.disclaimer), 1)
6756
+ }), z(" " + D(j(i).designReference.generate), 1)], 8, Rl)),
6757
+ I("p", zl, D(j(i).aiMenu.disclaimer), 1)
6753
6758
  ]))])])) : A("", !0)]),
6754
6759
  _: 1
6755
6760
  }));
6756
6761
  }
6757
- }), Bl = /* @__PURE__ */ e({ default: () => Vl }), Vl = /* @__PURE__ */ Ni(zl, [["__scopeId", "data-v-bdbf8d0d"]]), Hl = ["disabled", "title"], Ul = ["title"], Wl = {
6762
+ }), Vl = /* @__PURE__ */ e({ default: () => Hl }), Hl = /*#__PURE__*/ Pi(Bl, [["__scopeId", "data-v-bdbf8d0d"]]), Ul = ["disabled", "title"], Wl = ["title"], Gl = {
6758
6763
  key: 0,
6759
6764
  class: "tpl-scale-in tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:w-72 tpl:-translate-x-1/2 tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg-elevated)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
6760
6765
  style: {
6761
6766
  "backdrop-filter": "blur(8px)",
6762
6767
  "-webkit-backdrop-filter": "blur(8px)"
6763
6768
  }
6764
- }, Gl = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, Kl = {
6769
+ }, Kl = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, ql = {
6765
6770
  key: 0,
6766
6771
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
6767
- }, ql = {
6772
+ }, Jl = {
6768
6773
  key: 1,
6769
6774
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
6770
- }, Jl = {
6775
+ }, Yl = {
6771
6776
  key: 2,
6772
6777
  class: "tpl:max-h-64 tpl:overflow-y-auto"
6773
- }, Yl = ["disabled", "onClick"], Xl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Zl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ql = {
6778
+ }, Xl = ["disabled", "onClick"], Zl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Ql = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, $l = {
6774
6779
  key: 0,
6775
6780
  class: "tpl:rounded tpl:px-1 tpl:py-0.5 tpl:text-[10px] tpl:font-normal tpl:bg-[var(--tpl-bg-active)] tpl:text-[var(--tpl-text-muted)]"
6776
- }, $l = ["disabled", "title"], eu = /* @__PURE__ */ B({
6781
+ }, eu = ["disabled", "title"], tu = /*@__PURE__*/ B({
6777
6782
  __name: "SnapshotHistory",
6778
6783
  props: {
6779
6784
  snapshots: {},
@@ -6782,7 +6787,7 @@ var rc = {
6782
6787
  },
6783
6788
  emits: ["load", "navigate"],
6784
6789
  setup(e, { emit: t }) {
6785
- let n = e, r = t, { format: i } = Y(), { t: a } = Ui(), o = C(!1), s = C(null), c = C(-1);
6790
+ let n = e, r = t, { format: i } = Y(), { t: a } = Wi(), o = C(!1), s = C(null), c = C(-1);
6786
6791
  H(() => n.snapshots.length, () => {
6787
6792
  c.value = -1;
6788
6793
  });
@@ -6801,7 +6806,7 @@ var rc = {
6801
6806
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
6802
6807
  }
6803
6808
  function _(e) {
6804
- let t = nc(e, a.snapshotHistory, i, 7);
6809
+ let t = rc(e, a.snapshotHistory, i, 7);
6805
6810
  return t === null ? new Date(e).toLocaleDateString(void 0, {
6806
6811
  month: "short",
6807
6812
  day: "numeric",
@@ -6809,7 +6814,7 @@ var rc = {
6809
6814
  minute: "2-digit"
6810
6815
  }) : t;
6811
6816
  }
6812
- return mn(s, () => {
6817
+ return hn(s, () => {
6813
6818
  o.value = !1;
6814
6819
  }), (t, n) => (f(), k("div", {
6815
6820
  ref_key: "dropdownRef",
@@ -6821,34 +6826,34 @@ var rc = {
6821
6826
  disabled: !u.value,
6822
6827
  title: j(a).snapshotHistory.olderSnapshot,
6823
6828
  onClick: M(p, ["stop"])
6824
- }, [V(j(Kr), {
6829
+ }, [V(j(qr), {
6825
6830
  size: 14,
6826
6831
  "stroke-width": 2
6827
- })], 8, Hl),
6832
+ })], 8, Ul),
6828
6833
  I("button", {
6829
6834
  class: "tpl:flex tpl:h-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-0.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-1.5 tpl:transition-colors tpl:duration-150 hover:tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
6830
6835
  title: j(a).snapshotHistory.tooltip,
6831
6836
  onClick: M(m, ["stop"])
6832
- }, [V(j(Zr), {
6837
+ }, [V(j(Qr), {
6833
6838
  size: 16,
6834
6839
  "stroke-width": 1.5
6835
- }), V(j(Gr), {
6840
+ }), V(j(Kr), {
6836
6841
  class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
6837
6842
  size: 10,
6838
6843
  "stroke-width": 2
6839
- }, null, 8, ["class"])], 8, Ul),
6844
+ }, null, 8, ["class"])], 8, Wl),
6840
6845
  V(ie, { name: "tpl-dropdown" }, {
6841
- default: b(() => [o.value ? (f(), k("div", Wl, [I("div", Gl, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", Kl, [V(j(li), {
6846
+ default: b(() => [o.value ? (f(), k("div", Gl, [I("div", Kl, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", ql, [V(j(ui), {
6842
6847
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
6843
6848
  size: 20,
6844
6849
  "stroke-width": 2
6845
- })])) : e.snapshots.length === 0 ? (f(), k("div", ql, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", Jl, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
6850
+ })])) : e.snapshots.length === 0 ? (f(), k("div", Jl, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", Yl, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
6846
6851
  key: t.id,
6847
6852
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:border-b tpl:border-b-[var(--tpl-border-light)] tpl:border-l-2 tpl:border-l-transparent tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-all tpl:duration-150 last:tpl:border-b-0 hover:tpl:border-l-[var(--tpl-primary)] hover:tpl:bg-[var(--tpl-bg-hover)]",
6848
6853
  style: { "background-color": "transparent" },
6849
6854
  disabled: e.isRestoring,
6850
6855
  onClick: (e) => g(t.id)
6851
- }, [I("div", Xl, [I("div", Zl, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", Ql, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, Yl))), 128))]))])) : A("", !0)]),
6856
+ }, [I("div", Zl, [I("div", Ql, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", $l, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, Xl))), 128))]))])) : A("", !0)]),
6852
6857
  _: 1
6853
6858
  }),
6854
6859
  I("button", {
@@ -6856,74 +6861,74 @@ var rc = {
6856
6861
  disabled: !l.value,
6857
6862
  title: j(a).snapshotHistory.newerSnapshot,
6858
6863
  onClick: M(d, ["stop"])
6859
- }, [V(j(qr), {
6864
+ }, [V(j(Jr), {
6860
6865
  size: 14,
6861
6866
  "stroke-width": 2
6862
- })], 8, $l)
6867
+ })], 8, eu)
6863
6868
  ], 512));
6864
6869
  }
6865
- }), tu = /* @__PURE__ */ e({ default: () => nu }), nu = eu;
6870
+ }), nu = /* @__PURE__ */ e({ default: () => ru }), ru = tu;
6866
6871
  //#endregion
6867
6872
  //#region src/cloud/utils/scoringStyles.ts
6868
- function ru(e) {
6873
+ function iu(e) {
6869
6874
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
6870
6875
  }
6871
- function iu(e) {
6876
+ function au(e) {
6872
6877
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
6873
6878
  }
6874
- function au(e) {
6879
+ function ou(e) {
6875
6880
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
6876
6881
  }
6877
- function ou(e) {
6882
+ function su(e) {
6878
6883
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
6879
6884
  }
6880
6885
  //#endregion
6881
6886
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
6882
- var su = {
6887
+ var cu = {
6883
6888
  key: 0,
6884
6889
  class: "tpl-scoring-panel tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
6885
- }, cu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, lu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, uu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, du = ["title"], fu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, pu = {
6890
+ }, lu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, uu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, du = { class: "tpl:flex tpl:items-center tpl:gap-1" }, fu = ["title"], pu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, mu = {
6886
6891
  key: 0,
6887
6892
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6888
- }, mu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, hu = {
6893
+ }, hu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gu = {
6889
6894
  key: 1,
6890
6895
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6891
- }, gu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, _u = {
6896
+ }, _u = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, vu = {
6892
6897
  key: 2,
6893
6898
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6894
- }, vu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, yu = {
6899
+ }, yu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, bu = {
6895
6900
  key: 0,
6896
6901
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6897
- }, bu = {
6902
+ }, xu = {
6898
6903
  key: 0,
6899
6904
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6900
- }, xu = ["onClick"], Su = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Cu = {
6905
+ }, Su = ["onClick"], Cu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, wu = {
6901
6906
  key: 0,
6902
6907
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
6903
- }, wu = {
6908
+ }, Tu = {
6904
6909
  key: 0,
6905
6910
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
6906
- }, Tu = {
6911
+ }, Eu = {
6907
6912
  key: 0,
6908
6913
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6909
- }, Eu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Du = { class: "tpl:flex-1 tpl:min-w-0" }, Ou = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, ku = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Au = {
6914
+ }, Du = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Ou = { class: "tpl:flex-1 tpl:min-w-0" }, ku = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Au = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ju = {
6910
6915
  key: 0,
6911
6916
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
6912
- }, ju = {
6917
+ }, Mu = {
6913
6918
  key: 1,
6914
6919
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
6915
- }, Mu = ["disabled", "onClick"], Nu = {
6920
+ }, Nu = ["disabled", "onClick"], Pu = {
6916
6921
  key: 0,
6917
6922
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
6918
- }, Pu = {
6923
+ }, Fu = {
6919
6924
  key: 3,
6920
6925
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6921
- }, Fu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Iu = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Lu = /* @__PURE__ */ B({
6926
+ }, Iu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lu = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ru = /*@__PURE__*/ B({
6922
6927
  __name: "TemplateScoringPanel",
6923
6928
  props: { visible: { type: Boolean } },
6924
6929
  emits: ["close"],
6925
6930
  setup(e, { emit: t }) {
6926
- let n = e, r = t, { t: i } = Ui(), a = J(Fn, "TemplateScoringPanel"), o = J(lr, "TemplateScoringPanel"), s = v(Kn, []), c = C({
6931
+ let n = e, r = t, { t: i } = Wi(), a = J(In, "TemplateScoringPanel"), o = J(ur, "TemplateScoringPanel"), s = v(qn, []), c = C({
6927
6932
  spam: !0,
6928
6933
  readability: !0,
6929
6934
  accessibility: !0,
@@ -6938,10 +6943,10 @@ var su = {
6938
6943
  "accessibility",
6939
6944
  "bestPractices"
6940
6945
  ], p = {
6941
- spam: bi,
6942
- readability: ti,
6943
- accessibility: xi,
6944
- bestPractices: ki
6946
+ spam: xi,
6947
+ readability: ni,
6948
+ accessibility: Si,
6949
+ bestPractices: Ai
6945
6950
  };
6946
6951
  function m() {
6947
6952
  o.score(a.content.value, s);
@@ -6969,50 +6974,50 @@ var su = {
6969
6974
  "leave-from-class": "tpl:translate-x-0",
6970
6975
  "leave-to-class": "tpl:translate-x-full"
6971
6976
  }, {
6972
- default: b(() => [e.visible ? (f(), k("div", su, [I("div", cu, [I("div", lu, [V(j(yi), {
6977
+ default: b(() => [e.visible ? (f(), k("div", cu, [I("div", lu, [I("div", uu, [V(j(bi), {
6973
6978
  size: 13,
6974
6979
  "stroke-width": 2
6975
- }), I("span", null, D(j(i).scoring.title), 1)]), I("div", uu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
6980
+ }), I("span", null, D(j(i).scoring.title), 1)]), I("div", du, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
6976
6981
  key: 0,
6977
6982
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6978
6983
  title: j(i).scoring.rescore,
6979
6984
  onClick: n[0] ||= (e) => m()
6980
- }, [V(j(hi), {
6985
+ }, [V(j(gi), {
6981
6986
  size: 14,
6982
6987
  "stroke-width": 2
6983
- })], 8, du)) : A("", !0), I("button", {
6988
+ })], 8, fu)) : A("", !0), I("button", {
6984
6989
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6985
6990
  onClick: n[1] ||= (e) => r("close")
6986
- }, [V(j(Oi), {
6991
+ }, [V(j(ki), {
6987
6992
  size: 14,
6988
6993
  "stroke-width": 2
6989
- })])])]), I("div", fu, [j(o).isScoring.value ? (f(), k("div", pu, [I("p", mu, D(j(i).scoring.scoring), 1), V(Li, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", hu, [
6990
- V(j(Yr), {
6994
+ })])])]), I("div", pu, [j(o).isScoring.value ? (f(), k("div", mu, [I("p", hu, D(j(i).scoring.scoring), 1), V(Ri, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", gu, [
6995
+ V(j(Xr), {
6991
6996
  size: 32,
6992
6997
  "stroke-width": 1.5,
6993
6998
  class: "tpl:text-[var(--tpl-danger)]"
6994
6999
  }),
6995
- I("p", gu, D(j(i).scoring.error), 1),
7000
+ I("p", _u, D(j(i).scoring.error), 1),
6996
7001
  I("button", {
6997
7002
  class: "tpl:mt-2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-muted)]",
6998
7003
  onClick: n[2] ||= (e) => m()
6999
- }, [V(j(hi), {
7004
+ }, [V(j(gi), {
7000
7005
  size: 12,
7001
7006
  "stroke-width": 2
7002
7007
  }), z(" " + D(j(i).scoring.rescore), 1)])
7003
- ])) : j(o).scoringResult.value ? (f(), k("div", _u, [
7008
+ ])) : j(o).scoringResult.value ? (f(), k("div", vu, [
7004
7009
  I("div", {
7005
7010
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
7006
- style: L({ backgroundColor: j(iu)(j(o).scoringResult.value.score) })
7011
+ style: L({ backgroundColor: j(au)(j(o).scoringResult.value.score) })
7007
7012
  }, [
7008
7013
  I("span", {
7009
7014
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
7010
- style: L({ color: j(ru)(j(o).scoringResult.value.score) })
7015
+ style: L({ color: j(iu)(j(o).scoringResult.value.score) })
7011
7016
  }, D(j(o).scoringResult.value.score), 5),
7012
- I("span", vu, D(j(i).scoring.overallScore), 1),
7013
- _() > 0 ? (f(), k("span", yu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7017
+ I("span", yu, D(j(i).scoring.overallScore), 1),
7018
+ _() > 0 ? (f(), k("span", bu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7014
7019
  ], 4),
7015
- j(o).fixError.value ? (f(), k("div", bu, [V(j(Yr), {
7020
+ j(o).fixError.value ? (f(), k("div", xu, [V(j(Xr), {
7016
7021
  size: 14,
7017
7022
  "stroke-width": 2,
7018
7023
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -7027,74 +7032,74 @@ var su = {
7027
7032
  (f(), N(d(p[e]), {
7028
7033
  size: 14,
7029
7034
  "stroke-width": 2,
7030
- style: L({ color: j(ru)(j(o).scoringResult.value.categories[e].score) })
7035
+ style: L({ color: j(iu)(j(o).scoringResult.value.categories[e].score) })
7031
7036
  }, null, 8, ["style"])),
7032
- I("span", Su, D(j(i).scoring.categories[e]), 1),
7037
+ I("span", Cu, D(j(i).scoring.categories[e]), 1),
7033
7038
  I("span", {
7034
7039
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
7035
7040
  style: L({
7036
- color: j(ru)(j(o).scoringResult.value.categories[e].score),
7037
- backgroundColor: j(iu)(j(o).scoringResult.value.categories[e].score)
7041
+ color: j(iu)(j(o).scoringResult.value.categories[e].score),
7042
+ backgroundColor: j(au)(j(o).scoringResult.value.categories[e].score)
7038
7043
  })
7039
7044
  }, D(j(o).scoringResult.value.categories[e].score), 5),
7040
- j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Cu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7041
- V(j(Gr), {
7045
+ j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", wu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7046
+ V(j(Kr), {
7042
7047
  size: 12,
7043
7048
  "stroke-width": 2,
7044
7049
  class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
7045
7050
  }, null, 8, ["class"])
7046
- ], 8, xu), c.value[e] ? (f(), k("div", wu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Tu, D(j(i).scoring.noFindings), 1)) : A("", !0), (f(!0), k(R, null, h(j(o).scoringResult.value.categories[e].findings, (e) => (f(), k("div", {
7051
+ ], 8, Su), c.value[e] ? (f(), k("div", Tu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Eu, D(j(i).scoring.noFindings), 1)) : A("", !0), (f(!0), k(R, null, h(j(o).scoringResult.value.categories[e].findings, (e) => (f(), k("div", {
7047
7052
  key: e.id,
7048
7053
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
7049
- }, [I("div", Eu, [(f(), N(d(j(e.severity === "high" ? Yr : e.severity === "medium" ? wi : ci)), {
7054
+ }, [I("div", Du, [(f(), N(d(j(e.severity === "high" ? Xr : e.severity === "medium" ? Ti : li)), {
7050
7055
  size: 13,
7051
7056
  "stroke-width": 2,
7052
7057
  class: "tpl:mt-0.5 tpl:shrink-0",
7053
- style: L({ color: j(au)(e.severity) })
7054
- }, null, 8, ["style"])), I("div", Du, [
7055
- I("div", Ou, [I("span", {
7058
+ style: L({ color: j(ou)(e.severity) })
7059
+ }, null, 8, ["style"])), I("div", Ou, [
7060
+ I("div", ku, [I("span", {
7056
7061
  class: "tpl:mt-0.5 tpl:shrink-0 tpl:rounded tpl:px-1 tpl:py-px tpl:text-[10px] tpl:font-medium tpl:leading-tight",
7057
7062
  style: L({
7058
- color: j(au)(e.severity),
7059
- backgroundColor: j(ou)(e.severity)
7063
+ color: j(ou)(e.severity),
7064
+ backgroundColor: j(su)(e.severity)
7060
7065
  })
7061
- }, D(j(i).scoring.severity[e.severity]), 5), I("span", ku, D(e.message), 1)]),
7062
- e.suggestion ? (f(), k("p", Au, D(e.suggestion), 1)) : A("", !0),
7063
- e.blockId ? (f(), k("div", ju, [I("button", {
7066
+ }, D(j(i).scoring.severity[e.severity]), 5), I("span", Au, D(e.message), 1)]),
7067
+ e.suggestion ? (f(), k("p", ju, D(e.suggestion), 1)) : A("", !0),
7068
+ e.blockId ? (f(), k("div", Mu, [I("button", {
7064
7069
  class: "tpl-scoring-fix-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded tpl:border tpl:px-3 tpl:py-1.5 tpl:text-[11px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:disabled:opacity-50 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)]",
7065
7070
  style: { "background-color": "transparent" },
7066
7071
  disabled: j(o).fixingFindingId.value !== null,
7067
7072
  onClick: (t) => g(e)
7068
- }, [j(o).fixingFindingId.value === e.id ? (f(), N(j(li), {
7073
+ }, [j(o).fixingFindingId.value === e.id ? (f(), N(j(ui), {
7069
7074
  key: 0,
7070
7075
  class: "tpl-spinner",
7071
7076
  size: 11,
7072
7077
  "stroke-width": 2
7073
- })) : (f(), N(j(xi), {
7078
+ })) : (f(), N(j(Si), {
7074
7079
  key: 1,
7075
7080
  size: 11,
7076
7081
  "stroke-width": 2
7077
- })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Mu), j(o).fixError.value ? (f(), k("p", Nu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7082
+ })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Nu), j(o).fixError.value ? (f(), k("p", Pu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7078
7083
  ])])]))), 128))])) : A("", !0)])), 64))
7079
- ])) : (f(), k("div", Pu, [V(j(yi), {
7084
+ ])) : (f(), k("div", Fu, [V(j(bi), {
7080
7085
  size: 32,
7081
7086
  "stroke-width": 1.5,
7082
7087
  class: "tpl:text-[var(--tpl-text-dim)]"
7083
- }), I("p", Fu, D(j(i).scoring.emptyState), 1)])), I("p", Iu, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7088
+ }), I("p", Iu, D(j(i).scoring.emptyState), 1)])), I("p", Lu, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7084
7089
  _: 1
7085
7090
  }));
7086
7091
  }
7087
- }), Ru = /* @__PURE__ */ e({ default: () => zu }), zu = /* @__PURE__ */ Ni(Lu, [["__scopeId", "data-v-3a059e8d"]]), Bu = ["aria-busy"], Vu = {
7092
+ }), zu = /* @__PURE__ */ e({ default: () => Bu }), Bu = /*#__PURE__*/ Pi(Ru, [["__scopeId", "data-v-3a059e8d"]]), Vu = ["aria-busy"], Hu = {
7088
7093
  id: "tpl-test-email-title",
7089
7094
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
7090
- }, Hu = { class: "tpl:mb-3" }, Uu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Wu = ["value"], Gu = ["disabled"], Ku = ["value"], qu = {
7095
+ }, Uu = { class: "tpl:mb-3" }, Wu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Gu = ["value"], Ku = ["disabled"], qu = ["value"], Ju = {
7091
7096
  key: 0,
7092
7097
  role: "alert",
7093
7098
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
7094
- }, Ju = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Yu = ["disabled"], Xu = ["disabled"], Zu = {
7099
+ }, Yu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Xu = ["disabled"], Zu = ["disabled"], Qu = {
7095
7100
  key: 0,
7096
7101
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
7097
- }, Qu = { key: 1 }, $u = /* @__PURE__ */ B({
7102
+ }, $u = { key: 1 }, ed = /*@__PURE__*/ B({
7098
7103
  __name: "TestEmailModal",
7099
7104
  props: {
7100
7105
  visible: { type: Boolean },
@@ -7104,7 +7109,7 @@ var su = {
7104
7109
  },
7105
7110
  emits: ["send", "close"],
7106
7111
  setup(e, { emit: t }) {
7107
- let n = e, r = t, { t: i } = Ui(), a = C("");
7112
+ let n = e, r = t, { t: i } = Wi(), a = C("");
7108
7113
  H(() => n.visible, (e) => {
7109
7114
  e && (a.value = n.allowedEmails[0] ?? "");
7110
7115
  });
@@ -7117,7 +7122,7 @@ var su = {
7117
7122
  function l(e) {
7118
7123
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
7119
7124
  }
7120
- return (t, n) => (f(), N(Vo, {
7125
+ return (t, n) => (f(), N(Ho, {
7121
7126
  visible: e.visible,
7122
7127
  onClose: s,
7123
7128
  onKeydown: l
@@ -7133,14 +7138,14 @@ var su = {
7133
7138
  "box-shadow": "var(--tpl-shadow-xl)"
7134
7139
  }
7135
7140
  }, [
7136
- I("h3", Vu, D(j(i).testEmail.title), 1),
7137
- I("div", Hu, [I("label", Uu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7141
+ I("h3", Hu, D(j(i).testEmail.title), 1),
7142
+ I("div", Uu, [I("label", Wu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7138
7143
  key: 0,
7139
7144
  type: "text",
7140
7145
  value: a.value,
7141
7146
  disabled: "",
7142
7147
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
7143
- }, null, 8, Wu)) : c((f(), k("select", {
7148
+ }, null, 8, Gu)) : c((f(), k("select", {
7144
7149
  key: 1,
7145
7150
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7146
7151
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
@@ -7148,29 +7153,29 @@ var su = {
7148
7153
  }, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
7149
7154
  key: e,
7150
7155
  value: e
7151
- }, D(e), 9, Ku))), 128))], 8, Gu)), [[w, a.value]])]),
7152
- e.error ? (f(), k("p", qu, D(e.error), 1)) : A("", !0),
7153
- I("div", Ju, [I("button", {
7156
+ }, D(e), 9, qu))), 128))], 8, Ku)), [[w, a.value]])]),
7157
+ e.error ? (f(), k("p", Ju, D(e.error), 1)) : A("", !0),
7158
+ I("div", Yu, [I("button", {
7154
7159
  type: "button",
7155
7160
  class: F(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": e.isSending }]),
7156
7161
  disabled: e.isSending,
7157
7162
  onClick: s
7158
- }, D(j(i).testEmail.cancel), 11, Yu), I("button", {
7163
+ }, D(j(i).testEmail.cancel), 11, Xu), I("button", {
7159
7164
  type: "button",
7160
7165
  class: "tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
7161
7166
  disabled: !a.value || e.isSending,
7162
7167
  onClick: o
7163
- }, [e.isSending ? (f(), k("span", Zu, [V(j(li), {
7168
+ }, [e.isSending ? (f(), k("span", Qu, [V(j(ui), {
7164
7169
  class: "tpl:animate-spin",
7165
7170
  size: 12,
7166
7171
  "stroke-width": 2
7167
- }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", Qu, D(j(i).testEmail.send), 1))], 8, Xu)])
7168
- ], 8, Bu)]),
7172
+ }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", $u, D(j(i).testEmail.send), 1))], 8, Zu)])
7173
+ ], 8, Vu)]),
7169
7174
  _: 1
7170
7175
  }, 8, ["visible"]));
7171
7176
  }
7172
- }), ed = /* @__PURE__ */ e({ default: () => td }), td = $u;
7177
+ }), td = /* @__PURE__ */ e({ default: () => nd }), nd = ed;
7173
7178
  //#endregion
7174
- export { Wi as $, cr as $t, Ro as A, _e as An, Wr as At, Va as B, de as Bn, Un as Bt, Yo as C, st as Cn, ei as Ct, Uo as D, Ee as Dn, Yr as Dt, Ho as E, ve as En, Zr as Et, so as F, Se as Fn, Y as Ft, ha as G, Wn as Gt, za as H, ue as Hn, ur as Ht, lo as I, Te as In, or as It, sa as J, Fn as Jt, ma as K, Gn as Kt, oo as L, he as Ln, $n as Lt, Eo as M, ge as Mn, Mr as Mt, bo as N, me as Nn, xr as Nt, Vo as O, ye as On, qr as Ot, _o as P, xe as Pn, mr as Pt, Gi as Q, Zn as Qt, no as R, be as Rn, ar as Rt, Xo as S, ct as Sn, ti as St, Z as T, W as Tn, Qr as Tt, Aa as U, sr as Ut, Ba as V, fe as Vn, er as Vt, Ea as W, Rn as Wt, Xi as X, Xn as Xt, Qi as Y, zn as Yt, Ki as Z, qn as Zt, cs as _, lt as _n, ui as _t, dl as a, mn as an, Oi as at, is as b, ht as bn, si as bt, Ts as c, q as cn, Ci as ct, vs as d, tn as dn, yi as dt, lr as en, Hi as et, _s as f, en as fn, vi as ft, ps as g, wt as gn, di as gt, ms as h, Nt as hn, fi as ht, Bl as i, J as in, Mi as it, Io as j, we as jn, X as jt, zo as k, Ce as kn, Gr as kt, bs as l, kn as ln, Si as lt, hs as m, on as mn, hi as mt, Ru as n, Bn as nn, Bi as nt, Zs as o, Sn as on, Ei as ot, gs as p, an as pn, _i as pt, la as q, Qn as qt, tu as r, Vn as rn, Ni as rt, Es as s, Cn as sn, wi as st, ed as t, nr as tn, Ui as tt, ys as u, En as un, xi as ut, ss as v, _t as vn, li as vt, $ as w, ot as wn, $r as wt, es as x, vt as xn, oi as xt, as as y, yt as yn, ci as yt, eo as z, pe as zn, Hn as zt };
7179
+ export { Gi as $, lr as $t, zo as A, ye as An, Gr as At, Ha as B, be as Bn, Wn as Bt, Xo as C, ct as Cn, ti as Ct, Wo as D, Ue as Dn, Xr as Dt, Uo as E, W as En, Qr as Et, co as F, me as Fn, Y as Ft, ga as G, Gn as Gt, Ba as H, de as Hn, dr as Ht, uo as I, xe as In, sr as It, ca as J, In as Jt, ha as K, Kn as Kt, so as L, Se as Ln, er as Lt, Do as M, _e as Mn, Nr as Mt, xo as N, we as Nn, Sr as Nt, Ho as O, ve as On, Jr as Ot, vo as P, ge as Pn, hr as Pt, Ki as Q, Qn as Qt, ro as R, Te as Rn, or as Rt, Zo as S, lt as Sn, ni as St, Z as T, ot as Tn, $r as Tt, ja as U, fe as Un, cr as Ut, Va as V, pe as Vn, tr as Vt, Da as W, ue as Wn, zn as Wt, Zi as X, Zn as Xt, $i as Y, Bn as Yt, qi as Z, Jn as Zt, ls as _, ut as _n, di as _t, fl as a, hn as an, ki as at, as as b, gt as bn, ci as bt, Es as c, q as cn, wi as ct, ys as d, nn as dn, bi as dt, ur as en, Ui as et, vs as f, tn as fn, yi as ft, ms as g, Tt as gn, fi as gt, hs as h, Pt as hn, pi as ht, Vl as i, J as in, Ni as it, Lo as j, Ce as jn, X as jt, Bo as k, Ee as kn, Kr as kt, xs as l, An as ln, Ci as lt, gs as m, sn as mn, gi as mt, zu as n, Vn as nn, Vi as nt, Qs as o, Cn as on, Di as ot, _s as p, on as pn, vi as pt, ua as q, $n as qt, nu as r, Hn as rn, Pi as rt, Ds as s, wn as sn, Ti as st, td as t, rr as tn, Wi as tt, bs as u, Dn as un, Si as ut, cs as v, vt as vn, ui as vt, $ as w, st as wn, ei as wt, ts as x, yt as xn, si as xt, os as y, bt as yn, li as yt, to as z, he as zn, Un as zt };
7175
7180
 
7176
- //# sourceMappingURL=features-_ar9QbVv.js.map
7181
+ //# sourceMappingURL=features-C3H2u-FV.js.map