@templatical/editor 0.10.0 → 0.10.2

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 (138) hide show
  1. package/dist/{AiChatSidebar-D30WPhbv.js → AiChatSidebar-BMwpZx-6.js} +14 -14
  2. package/dist/{AiFeatureMenu-B5CJX5zr.js → AiFeatureMenu-xgaIGUCo.js} +8 -8
  3. package/dist/{BlockIssueBadge-CkB4Yyz2.js → BlockIssueBadge-3kNs6WoD.js} +5 -5
  4. package/dist/{CloudEditor-nT-R769W.js → CloudEditor-Dm9hiaui.js} +159 -156
  5. package/dist/{CollaboratorBar-CwhlXODK.js → CollaboratorBar-Cz_evoU4.js} +4 -4
  6. package/dist/{CommentsSidebar-gpZMMI5w.js → CommentsSidebar-jFZj_CTo.js} +13 -13
  7. package/dist/{CountdownBlock-BNvuXucv.js → CountdownBlock-S-SCyVye.js} +4 -4
  8. package/dist/{CountdownToolbar-Dl82DAmI.js → CountdownToolbar-Ckdo-3P-.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-Bs5AMxVd.js → DesignReferenceSidebar-B9QNPZNV.js} +10 -10
  10. package/dist/{IssuesPanel-CqQa2BtU.js → IssuesPanel-_E_fbSM8.js} +8 -8
  11. package/dist/{LoadingTrack-xCOLUR3o.js → LoadingTrack-BZ5KJyZ_.js} +2 -2
  12. package/dist/{ModuleBrowserModal-BWWgF0LC.js → ModuleBrowserModal-BB22urqi.js} +10 -10
  13. package/dist/{ModulePreviewCanvas-D7Tk5HOt.js → ModulePreviewCanvas-CH5OdXv8.js} +3 -3
  14. package/dist/{NumberWithSuffix-DVy5HxMi.js → NumberWithSuffix-BHDXHMpo.js} +3 -3
  15. package/dist/{ParagraphEditor-DVSGdMOo.js → ParagraphEditor-BmY7LLgN.js} +26 -26
  16. package/dist/{RichTextEditorContent-DN-fRjMa.js → RichTextEditorContent-COijbaWp.js} +8 -8
  17. package/dist/{SaveModuleDialog-CkEYkyVD.js → SaveModuleDialog-D5WN-je_.js} +7 -7
  18. package/dist/{SnapshotHistory-Nx9wrlbF.js → SnapshotHistory-BQ55Rhri.js} +9 -9
  19. package/dist/{TemplateScoringPanel-BG9M-29t.js → TemplateScoringPanel-Dhf_Qgr7.js} +15 -15
  20. package/dist/{TestEmailModal-CRjtEs6S.js → TestEmailModal-DH_Viz_m.js} +5 -5
  21. package/dist/{TitleEditor-CvtV4pCA.js → TitleEditor-Dn613K8o.js} +12 -12
  22. package/dist/{TplModal-BudEYVcJ.js → TplModal-Dxa3rhHI.js} +4 -4
  23. package/dist/{blockTypeIcons-Dd-UvfnC.js → blockTypeIcons-CrcSCTD6.js} +2 -2
  24. package/dist/bundle-stats.json +6 -6
  25. package/dist/cdn/chunks/{AiFeatureMenu-DKOv8VnB.js → AiFeatureMenu-CCsgxyN9.js} +4 -4
  26. package/dist/cdn/chunks/{AiFeatureMenu-DKOv8VnB.js.map → AiFeatureMenu-CCsgxyN9.js.map} +1 -1
  27. package/dist/cdn/chunks/{BlockIssueBadge-DpiSTwM7.js → BlockIssueBadge-Lc3NWFV8.js} +3 -3
  28. package/dist/cdn/chunks/{BlockIssueBadge-DpiSTwM7.js.map → BlockIssueBadge-Lc3NWFV8.js.map} +1 -1
  29. package/dist/cdn/chunks/{CloudEditor-xc_uOEgn.js → CloudEditor-KkwvBhyt.js} +131 -128
  30. package/dist/cdn/chunks/CloudEditor-KkwvBhyt.js.map +1 -0
  31. package/dist/cdn/chunks/{CollaboratorBar-VWfPri_h.js → CollaboratorBar-BGIGiFSm.js} +4 -4
  32. package/dist/cdn/chunks/{CollaboratorBar-VWfPri_h.js.map → CollaboratorBar-BGIGiFSm.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownBlock-BKsCWboK.js → CountdownBlock-gqnpxKp_.js} +4 -4
  34. package/dist/cdn/chunks/{CountdownBlock-BKsCWboK.js.map → CountdownBlock-gqnpxKp_.js.map} +1 -1
  35. package/dist/cdn/chunks/{CountdownToolbar-BLtECDNb.js → CountdownToolbar-xHpaWQE2.js} +4 -4
  36. package/dist/cdn/chunks/{CountdownToolbar-BLtECDNb.js.map → CountdownToolbar-xHpaWQE2.js.map} +1 -1
  37. package/dist/cdn/chunks/{IssuesPanel-BW2piyvs.js → IssuesPanel-DHTTHu65.js} +4 -4
  38. package/dist/cdn/chunks/{IssuesPanel-BW2piyvs.js.map → IssuesPanel-DHTTHu65.js.map} +1 -1
  39. package/dist/cdn/chunks/{ModuleBrowserModal-TLlKpvjX.js → ModuleBrowserModal-DDTjrKph.js} +6 -6
  40. package/dist/cdn/chunks/{ModuleBrowserModal-TLlKpvjX.js.map → ModuleBrowserModal-DDTjrKph.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-wu7y-vrh.js → ModulePreviewCanvas-DeFq0hVi.js} +3 -3
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-wu7y-vrh.js.map → ModulePreviewCanvas-DeFq0hVi.js.map} +1 -1
  43. package/dist/cdn/chunks/{NumberWithSuffix-DxoUtTMr.js → NumberWithSuffix-D4wtmU9O.js} +3 -3
  44. package/dist/cdn/chunks/{NumberWithSuffix-DxoUtTMr.js.map → NumberWithSuffix-D4wtmU9O.js.map} +1 -1
  45. package/dist/cdn/chunks/{ParagraphEditor-DvxIO2LN.js → ParagraphEditor-CwY8GeWa.js} +20 -20
  46. package/dist/cdn/chunks/{ParagraphEditor-DvxIO2LN.js.map → ParagraphEditor-CwY8GeWa.js.map} +1 -1
  47. package/dist/cdn/chunks/{RichTextEditorContent-Dm9GXJmo.js → RichTextEditorContent-C_bMURGF.js} +5 -5
  48. package/dist/cdn/chunks/{RichTextEditorContent-Dm9GXJmo.js.map → RichTextEditorContent-C_bMURGF.js.map} +1 -1
  49. package/dist/cdn/chunks/{SaveModuleDialog-BRAdVcYM.js → SaveModuleDialog-DEi8PSP6.js} +3 -3
  50. package/dist/cdn/chunks/{SaveModuleDialog-BRAdVcYM.js.map → SaveModuleDialog-DEi8PSP6.js.map} +1 -1
  51. package/dist/cdn/chunks/{TitleEditor-D3gPRd0x.js → TitleEditor-Betpo8AZ.js} +9 -9
  52. package/dist/cdn/chunks/{TitleEditor-D3gPRd0x.js.map → TitleEditor-Betpo8AZ.js.map} +1 -1
  53. package/dist/cdn/chunks/{blockTypeIcons-C2cm4RjU.js → blockTypeIcons-Xz6OBq3U.js} +3 -3
  54. package/dist/cdn/chunks/{blockTypeIcons-C2cm4RjU.js.map → blockTypeIcons-Xz6OBq3U.js.map} +1 -1
  55. package/dist/cdn/chunks/{draggable-BwWMFq33.js → draggable-BTGr7_-X.js} +1271 -1270
  56. package/dist/cdn/chunks/draggable-BTGr7_-X.js.map +1 -0
  57. package/dist/cdn/chunks/{extensions-SS1ywPUR.js → extensions-D_j4UWxi.js} +108 -105
  58. package/dist/cdn/chunks/{extensions-SS1ywPUR.js.map → extensions-D_j4UWxi.js.map} +1 -1
  59. package/dist/cdn/chunks/{features-CwZTdcbt.js → features-A28DQtjE.js} +831 -820
  60. package/dist/cdn/chunks/features-A28DQtjE.js.map +1 -0
  61. package/dist/cdn/chunks/{icons-CbNEr1kc.js → icons-C9D3N0-J.js} +12 -12
  62. package/dist/cdn/chunks/{icons-CbNEr1kc.js.map → icons-C9D3N0-J.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-BRpHZOl7.js → media-library-CH1Wx5wP.js} +13 -9
  66. package/dist/cdn/chunks/media-library-CH1Wx5wP.js.map +1 -0
  67. package/dist/cdn/chunks/pusher-CHo5Cua0.js.map +1 -1
  68. package/dist/cdn/chunks/{quality-BqJqIPRU.js → quality-D4NeyFej.js} +530 -530
  69. package/dist/cdn/chunks/{quality-BqJqIPRU.js.map → quality-D4NeyFej.js.map} +1 -1
  70. package/dist/cdn/chunks/{renderer-CGVYkdUi.js → renderer-BQnGfLhL.js} +62 -61
  71. package/dist/cdn/chunks/renderer-BQnGfLhL.js.map +1 -0
  72. package/dist/cdn/chunks/{src-CvzfrFlT.js → src-BkKEyLw1.js} +6 -6
  73. package/dist/cdn/chunks/{src-CvzfrFlT.js.map → src-BkKEyLw1.js.map} +1 -1
  74. package/dist/cdn/chunks/{styles-2P5yvfsS.js → styles-BDVaiw3K.js} +150 -150
  75. package/dist/cdn/chunks/{styles-2P5yvfsS.js.map → styles-BDVaiw3K.js.map} +1 -1
  76. package/dist/cdn/chunks/{tiptap-BBbH3IT9.js → tiptap-P5abGB13.js} +4437 -2580
  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-ChQyfxJ3.js → check-KooI2jyS.js} +1 -1
  82. package/dist/{chevron-down-DJjo0jSV.js → chevron-down-mnlFgueW.js} +1 -1
  83. package/dist/{circle-alert-CPH6l3Lc.js → circle-alert-D89_hB8j.js} +1 -1
  84. package/dist/{clock-DHl_BIkU.js → clock-BaadyUrg.js} +1 -1
  85. package/dist/{cloud-BBC7bv8q.js → cloud-D-FScaHx.js} +80 -74
  86. package/dist/{createLucideIcon-XgXOJ05E.js → createLucideIcon-D-6fpD2L.js} +3 -3
  87. package/dist/{dist-DXaxGLsw.js → dist-BttO3Zdx.js} +44 -44
  88. package/dist/{dist-C8wMh_gi.js → dist-C1WcikEF.js} +5 -5
  89. package/dist/dist-CjULgTep.js +4072 -0
  90. package/dist/{dist-GAmhYvUK.js → dist-D6L_WdRL.js} +96 -86
  91. package/dist/{dist-DYO-w_Jf.js → dist-DaajG7Fo.js} +5 -5
  92. package/dist/dist-Df4eV6Zi.js +5 -0
  93. package/dist/{dist-D8C6jIXM.js → dist-Dnqx5UF3.js} +171 -158
  94. package/dist/{dist-CUpJmrjt.js → dist-Drp5bNAu.js} +5 -5
  95. package/dist/dist-WJ1fVd5b.js +5 -0
  96. package/dist/{dist-BxP6TB0l.js → dist-XA2i70J5.js} +8 -8
  97. package/dist/{dist-UK-lbEBc.js → dist-b52vYHb5.js} +2 -2
  98. package/dist/{dist-CNLAS2v2.js → dist-cl33Ip6W.js} +3 -3
  99. package/dist/{dist-C0jo8wtG.js → dist-sqf7pq5q.js} +16 -16
  100. package/dist/{dist-BzuC8o3y.js → dist-zInT3Lf6.js} +78 -60
  101. package/dist/{extensions-C87ZSllQ.js → extensions-DA-w1gVg.js} +128 -125
  102. package/dist/{image-up-CPBCOMit.js → image-up-DjwfAom6.js} +1 -1
  103. package/dist/{info-DIY9mguM.js → info-Db3HlTr8.js} +1 -1
  104. package/dist/{keys-Vt3XipJl.js → keys-BjmL5YCT.js} +1 -1
  105. package/dist/{liquid.browser-IgQrXHPQ.js → liquid.browser--qtl1Fqy.js} +9 -9
  106. package/dist/{list-checks-CSCyu3fH.js → list-checks-BlAB0X8a.js} +1 -1
  107. package/dist/{loader-circle-Rz_4vJLH.js → loader-circle-EVqyIxjU.js} +1 -1
  108. package/dist/{message-circle-D-umK_MU.js → message-circle-BuI5pBVG.js} +1 -1
  109. package/dist/{refresh-cw-CvWF4jfR.js → refresh-cw-C2vM_6zQ.js} +1 -1
  110. package/dist/{scan-line-wanvAFDr.js → scan-line-AUIh_SHI.js} +1 -1
  111. package/dist/{send-BhbhbIFT.js → send-nrbwF7xg.js} +1 -1
  112. package/dist/{shield-check-CXPPMWth.js → shield-check-B55Ozmva.js} +1 -1
  113. package/dist/{sparkles-CrUN0KWY.js → sparkles-oh1NUSFq.js} +1 -1
  114. package/dist/style.css +1 -1
  115. package/dist/{styles-DOjWbqA9.js → styles-Byhh107n.js} +41 -41
  116. package/dist/templatical-editor.js +81 -80
  117. package/dist/{text-align-end-Bkq8oBrD.js → text-align-start-B2MqzZwU.js} +11 -11
  118. package/dist/{trash-2-BpY5BCLT.js → trash-2-DH8RBwAx.js} +1 -1
  119. package/dist/{triangle-alert-MwJBKR2e.js → triangle-alert-BQHjCt3B.js} +1 -1
  120. package/dist/{useAliveFlag-BLyG8L4d.js → useAliveFlag-B_b9ubwD.js} +1 -1
  121. package/dist/{useCloudI18n-sRfoQCZY.js → useCloudI18n-BHCrmQgj.js} +2 -2
  122. package/dist/{useEditorCore-DxApq2hZ.js → useEditorCore-BEgc3KFu.js} +370 -377
  123. package/dist/{useI18n-lF6hYgZu.js → useI18n-Bb9-ha9X.js} +2 -2
  124. package/dist/{useMergeTag-CZVI7Xe5.js → useMergeTag-HykzEtBn.js} +3 -3
  125. package/dist/usePopoverRoot-BZDkRRry.js +8 -0
  126. package/dist/{vue.runtime.esm-bundler-BDSGA5hA.js → vue.runtime.esm-bundler-MzYCkFSH.js} +1306 -1305
  127. package/dist/{x-rcnxRG8Y.js → x-DgCCENgP.js} +1 -1
  128. package/package.json +27 -27
  129. package/dist/cdn/chunks/CloudEditor-xc_uOEgn.js.map +0 -1
  130. package/dist/cdn/chunks/draggable-BwWMFq33.js.map +0 -1
  131. package/dist/cdn/chunks/features-CwZTdcbt.js.map +0 -1
  132. package/dist/cdn/chunks/media-library-BRpHZOl7.js.map +0 -1
  133. package/dist/cdn/chunks/renderer-CGVYkdUi.js.map +0 -1
  134. package/dist/cdn/chunks/tiptap-BBbH3IT9.js.map +0 -1
  135. package/dist/dist-BDgf2G-V.js +0 -2243
  136. package/dist/dist-D5lmdi1F.js +0 -5
  137. package/dist/dist-DILjuzSv.js +0 -5
  138. package/dist/usePopoverRoot-p2BanBI7.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-BwWMFq33.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));
@@ -826,11 +831,11 @@ function Pt(e, t) {
826
831
  };
827
832
  }
828
833
  //#endregion
829
- //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.34_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
830
- function Ft(e, t) {
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
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,56 +976,56 @@ 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
985
990
  });
986
991
  }
987
992
  //#endregion
988
- //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.34_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;
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
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-BqJqIPRU.js").then((e) => e.t);
1457
+ let t = await import("./quality-D4NeyFej.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
- //#region ../../node_modules/.pnpm/@lucide+vue@1.16.0_vue@3.5.34_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;
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
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) {
3151
- let n = e.trim();
3155
+ function Fa(e, t) {
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-DvxIO2LN.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-CwY8GeWa.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-DpiSTwM7.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-Lc3NWFV8.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-D3gPRd0x.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-Betpo8AZ.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: {},
@@ -3808,9 +3813,9 @@ var no = /* @__PURE__ */ B({
3808
3813
  e.textContent = t.value ?? "";
3809
3814
  },
3810
3815
  updated(e, t) {
3811
- t.value !== t.oldValue && e.ownerDocument.activeElement !== e && (e.textContent = t.value ?? "");
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-4f49860b"]]), Do = /* @__PURE__ */ B({
3871
+ }), [["__scopeId", "data-v-1b130f2b"]]), 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-BKsCWboK.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-gqnpxKp_.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,8 +4602,11 @@ function Qo(e, t) {
4597
4602
  }
4598
4603
  //#endregion
4599
4604
  //#region ../core/src/cloud/editor.ts
4600
- function $o(e) {
4601
- let t = new Yo(e.authManager), n = S({
4605
+ function es(e) {
4606
+ return e === "1" ? 1 : e === "3" ? 3 : 2;
4607
+ }
4608
+ function ts(e) {
4609
+ let t = new Xo(e.authManager), n = S({
4602
4610
  template: null,
4603
4611
  content: Ue(e.defaultFontFamily, e.templateDefaults),
4604
4612
  selectedBlockId: null,
@@ -4701,12 +4709,14 @@ function $o(e) {
4701
4709
  if (!a) return;
4702
4710
  let c = a.blocks.findIndex((t) => t.id === e);
4703
4711
  if (c === -1) return;
4704
- let [l] = a.blocks.splice(c, 1);
4712
+ let l;
4705
4713
  if (r) {
4706
4714
  let e = o(n.content.blocks, r);
4707
- e && e.type === "section" && (e.children[i] = e.children[i] || [], e.children[i].splice(t, 0, l));
4708
- } else n.content.blocks.splice(t, 0, l);
4709
- n.isDirty = !0;
4715
+ if (!e || e.type !== "section" || i < 0 || i >= es(e.columns)) return;
4716
+ e.children[i] = e.children[i] || [], l = e.children[i];
4717
+ } else l = n.content.blocks;
4718
+ let [u] = a.blocks.splice(c, 1);
4719
+ l.splice(t, 0, u), n.isDirty = !0;
4710
4720
  }
4711
4721
  async function b(r) {
4712
4722
  n.isLoading = !0;
@@ -4732,7 +4742,7 @@ function $o(e) {
4732
4742
  }
4733
4743
  }
4734
4744
  async function w() {
4735
- 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.");
4736
4746
  n.isSaving = !0;
4737
4747
  try {
4738
4748
  let e = await t.updateTemplate(n.template.id, n.content);
@@ -4794,11 +4804,11 @@ function $o(e) {
4794
4804
  }
4795
4805
  //#endregion
4796
4806
  //#region ../core/src/cloud/ai-chat.ts
4797
- var es = 0;
4798
- function ts() {
4799
- return `msg_${Date.now()}_${++es}`;
4807
+ var ns = 0;
4808
+ function rs() {
4809
+ return `msg_${Date.now()}_${++ns}`;
4800
4810
  }
4801
- function ns(e) {
4811
+ function is(e) {
4802
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);
4803
4813
  function _(e, t) {
4804
4814
  let n = a.value.findIndex((t) => t.id === e);
@@ -4892,14 +4902,14 @@ function ns(e) {
4892
4902
  let v = n();
4893
4903
  if (!v) throw Error("Template must be saved before using AI generation");
4894
4904
  o.value = !0, c.value = null, l.value = null, h.value = [];
4895
- let y = ts();
4905
+ let y = rs();
4896
4906
  a.value = [...a.value, {
4897
4907
  id: y,
4898
4908
  role: "user",
4899
4909
  content: e,
4900
4910
  timestamp: Date.now()
4901
4911
  }];
4902
- let b = ts();
4912
+ let b = rs();
4903
4913
  a.value = [...a.value, {
4904
4914
  id: b,
4905
4915
  role: "assistant",
@@ -4990,7 +5000,7 @@ function ns(e) {
4990
5000
  }
4991
5001
  //#endregion
4992
5002
  //#region ../core/src/cloud/ai-config.ts
4993
- function rs(e) {
5003
+ function as(e) {
4994
5004
  function t(t) {
4995
5005
  return e === !1 ? !1 : e?.[t] !== !1;
4996
5006
  }
@@ -5001,7 +5011,7 @@ function rs(e) {
5001
5011
  }
5002
5012
  //#endregion
5003
5013
  //#region ../core/src/cloud/template-scoring.ts
5004
- function is(e) {
5014
+ function os(e) {
5005
5015
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
5006
5016
  async function l(e, o) {
5007
5017
  let s = n();
@@ -5146,7 +5156,7 @@ function is(e) {
5146
5156
  }
5147
5157
  //#endregion
5148
5158
  //#region ../core/src/cloud/design-reference.ts
5149
- function as(e) {
5159
+ function ss(e) {
5150
5160
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
5151
5161
  async function s(e) {
5152
5162
  let s = n();
@@ -5209,8 +5219,8 @@ function as(e) {
5209
5219
  }
5210
5220
  //#endregion
5211
5221
  //#region ../core/src/cloud/comments.ts
5212
- function os(e) {
5213
- 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(() => {
5214
5224
  let e = 0;
5215
5225
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5216
5226
  return e;
@@ -5409,17 +5419,17 @@ function os(e) {
5409
5419
  }
5410
5420
  //#endregion
5411
5421
  //#region ../core/src/cloud/comment-listener.ts
5412
- function ss(e) {
5422
+ function ls(e) {
5413
5423
  let { comments: t, channel: n } = e;
5414
5424
  H(n, (e, n) => {
5415
5425
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5416
- cs(t, e);
5426
+ us(t, e);
5417
5427
  });
5418
5428
  }), l(() => {
5419
5429
  n.value?.unbind("comment-broadcast");
5420
5430
  });
5421
5431
  }
5422
- function cs(e, t) {
5432
+ function us(e, t) {
5423
5433
  switch (t.action) {
5424
5434
  case "comment_created":
5425
5435
  e.applyRemoteCreate(t.comment);
@@ -5438,7 +5448,7 @@ function cs(e, t) {
5438
5448
  }
5439
5449
  //#endregion
5440
5450
  //#region ../core/src/cloud/collaboration.ts
5441
- var ls = [
5451
+ var ds = [
5442
5452
  "pusher:member_added",
5443
5453
  "pusher:member_removed",
5444
5454
  "client-block_locked",
@@ -5446,10 +5456,10 @@ var ls = [
5446
5456
  "client-operation",
5447
5457
  "mcp-operation"
5448
5458
  ];
5449
- function us(e) {
5450
- for (let t of ls) e.unbind(t);
5459
+ function fs(e) {
5460
+ for (let t of ds) e.unbind(t);
5451
5461
  }
5452
- var ds = [
5462
+ var ps = [
5453
5463
  "#3b82f6",
5454
5464
  "#ef4444",
5455
5465
  "#10b981",
@@ -5461,10 +5471,10 @@ var ds = [
5461
5471
  "#6366f1",
5462
5472
  "#14b8a6"
5463
5473
  ];
5464
- function fs(e) {
5474
+ function ms(e) {
5465
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 ?? "");
5466
5476
  function u() {
5467
- let e = ds[o % ds.length];
5477
+ let e = ps[o % ps.length];
5468
5478
  return o++, e;
5469
5479
  }
5470
5480
  function d(e) {
@@ -5506,7 +5516,7 @@ function fs(e) {
5506
5516
  function h(e) {
5507
5517
  s = !0;
5508
5518
  try {
5509
- Qo(n, e);
5519
+ $o(n, e);
5510
5520
  } finally {
5511
5521
  s = !1;
5512
5522
  }
@@ -5526,7 +5536,7 @@ function fs(e) {
5526
5536
  return H(() => n.state.selectedBlockId, (e, t) => {
5527
5537
  s || (t && v(t), e && _(e));
5528
5538
  }), H(r, (t, n) => {
5529
- if (n && us(n), !t) {
5539
+ if (n && fs(n), !t) {
5530
5540
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5531
5541
  return;
5532
5542
  }
@@ -5558,7 +5568,7 @@ function fs(e) {
5558
5568
  h(e);
5559
5569
  });
5560
5570
  }), l(() => {
5561
- r.value && us(r.value);
5571
+ r.value && fs(r.value);
5562
5572
  }), {
5563
5573
  collaborators: i,
5564
5574
  lockedBlocks: a,
@@ -5568,15 +5578,16 @@ function fs(e) {
5568
5578
  }
5569
5579
  //#endregion
5570
5580
  //#region ../core/src/cloud/collaboration-broadcast.ts
5571
- function ps(e, t) {
5581
+ function hs(e, t) {
5572
5582
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5573
- e.addBlock = (e, r, i) => {
5574
- n(e, r, i), t._broadcastOperation({
5583
+ e.addBlock = (e, r, i, a) => {
5584
+ n(e, r, i, a), t._broadcastOperation({
5575
5585
  operation: "add_block",
5576
5586
  data: {
5577
5587
  block: e,
5578
5588
  section_id: r,
5579
- column_index: i
5589
+ column_index: i,
5590
+ index: a
5580
5591
  },
5581
5592
  timestamp: Date.now()
5582
5593
  });
@@ -5622,11 +5633,11 @@ function ps(e, t) {
5622
5633
  }
5623
5634
  //#endregion
5624
5635
  //#region ../core/src/cloud/web-socket.ts
5625
- function ms(e) {
5636
+ function gs(e) {
5626
5637
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5627
5638
  async function s(e, s) {
5628
5639
  if (a) return;
5629
- a = new Zo({
5640
+ a = new Qo({
5630
5641
  authManager: t,
5631
5642
  config: s,
5632
5643
  onError: n
@@ -5654,8 +5665,8 @@ function ms(e) {
5654
5665
  }
5655
5666
  //#endregion
5656
5667
  //#region ../core/src/cloud/saved-modules.ts
5657
- function hs(e) {
5658
- 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);
5659
5670
  async function i(i) {
5660
5671
  r.value = !0;
5661
5672
  try {
@@ -5703,8 +5714,8 @@ function hs(e) {
5703
5714
  }
5704
5715
  //#endregion
5705
5716
  //#region ../core/src/cloud/snapshots.ts
5706
- function gs(e) {
5707
- 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);
5708
5719
  async function a() {
5709
5720
  r.value = !0;
5710
5721
  try {
@@ -5736,8 +5747,8 @@ function gs(e) {
5736
5747
  }
5737
5748
  //#endregion
5738
5749
  //#region ../core/src/cloud/test-email.ts
5739
- function _s(e) {
5740
- 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);
5741
5752
  o && H(o, (e) => {
5742
5753
  e && (d.value = t.testEmailConfig);
5743
5754
  }, { immediate: !0 });
@@ -5773,8 +5784,8 @@ function _s(e) {
5773
5784
  }
5774
5785
  //#endregion
5775
5786
  //#region ../core/src/cloud/export.ts
5776
- function vs(e) {
5777
- 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);
5778
5789
  function a() {
5779
5790
  let e = n?.();
5780
5791
  return {
@@ -5800,8 +5811,8 @@ function vs(e) {
5800
5811
  }
5801
5812
  //#endregion
5802
5813
  //#region ../core/src/cloud/plan-config.ts
5803
- function ys(e) {
5804
- 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);
5805
5816
  function s(e) {
5806
5817
  return r.value?.features[e] ?? !1;
5807
5818
  }
@@ -5827,11 +5838,11 @@ function ys(e) {
5827
5838
  }
5828
5839
  //#endregion
5829
5840
  //#region ../core/src/cloud/health-check.ts
5830
- var bs = 5e3;
5831
- function xs(e) {
5841
+ var Ss = 5e3;
5842
+ function Cs(e) {
5832
5843
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
5833
5844
  }
5834
- async function Ss(e, t) {
5845
+ async function ws(e, t) {
5835
5846
  let n = performance.now();
5836
5847
  try {
5837
5848
  let r = t ? await t.authenticatedFetch($.health, {
@@ -5883,7 +5894,7 @@ async function Ss(e, t) {
5883
5894
  };
5884
5895
  }
5885
5896
  }
5886
- async function Cs(e) {
5897
+ async function Ts(e) {
5887
5898
  if (!e?.host || !e?.app_key) return {
5888
5899
  ok: !1,
5889
5900
  error: "WebSocket configuration not available"
@@ -5899,7 +5910,7 @@ async function Cs(e) {
5899
5910
  ok: !1,
5900
5911
  error: "WebSocket connection timed out"
5901
5912
  });
5902
- }, bs);
5913
+ }, Ss);
5903
5914
  try {
5904
5915
  n = new WebSocket(t);
5905
5916
  } catch (t) {
@@ -5919,8 +5930,8 @@ async function Cs(e) {
5919
5930
  };
5920
5931
  });
5921
5932
  }
5922
- async function ws(e = {}) {
5923
- let t = await Ss(xs(e), e.authManager), n = await Cs(t.wsConfig);
5933
+ async function Es(e = {}) {
5934
+ let t = await ws(Cs(e), e.authManager), n = await Ts(t.wsConfig);
5924
5935
  return {
5925
5936
  api: t.api,
5926
5937
  websocket: n,
@@ -5930,29 +5941,29 @@ async function ws(e = {}) {
5930
5941
  }
5931
5942
  //#endregion
5932
5943
  //#region ../core/src/cloud/mcp-listener.ts
5933
- function Ts(e) {
5944
+ function Ds(e) {
5934
5945
  let { editor: t, channel: n, onOperation: r } = e;
5935
5946
  H(n, (e, n) => {
5936
5947
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
5937
- Qo(t, e), r?.(e);
5948
+ $o(t, e), r?.(e);
5938
5949
  });
5939
5950
  });
5940
5951
  }
5941
5952
  //#endregion
5942
5953
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
5943
- var Es = {
5954
+ var Os = {
5944
5955
  key: 0,
5945
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)]"
5946
- }, Ds = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Os = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, ks = { class: "tpl:flex tpl:items-center tpl:gap-1" }, As = ["title"], js = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Ms = {
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 = {
5947
5958
  key: 0,
5948
5959
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5949
- }, Ns = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ps = {
5960
+ }, Fs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Is = {
5950
5961
  key: 1,
5951
5962
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5952
- }, Fs = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Is = {
5963
+ }, Ls = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Rs = {
5953
5964
  key: 2,
5954
5965
  class: "tpl:flex tpl:flex-col tpl:gap-4"
5955
- }, Ls = {
5966
+ }, zs = {
5956
5967
  key: 0,
5957
5968
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
5958
5969
  style: {
@@ -5961,10 +5972,10 @@ var Es = {
5961
5972
  "max-width": "85%",
5962
5973
  "box-shadow": "var(--tpl-shadow)"
5963
5974
  }
5964
- }, Rs = {
5975
+ }, Bs = {
5965
5976
  key: 1,
5966
5977
  class: "tpl:flex tpl:flex-col tpl:gap-2"
5967
- }, zs = {
5978
+ }, Vs = {
5968
5979
  key: 1,
5969
5980
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
5970
5981
  style: {
@@ -5973,21 +5984,21 @@ var Es = {
5973
5984
  color: "var(--tpl-text)",
5974
5985
  "box-shadow": "var(--tpl-shadow)"
5975
5986
  }
5976
- }, Bs = {
5987
+ }, Hs = {
5977
5988
  key: 0,
5978
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",
5979
5990
  style: {
5980
5991
  "background-color": "var(--tpl-danger-light)",
5981
5992
  color: "var(--tpl-danger)"
5982
5993
  }
5983
- }, Vs = {
5994
+ }, Us = {
5984
5995
  key: 1,
5985
5996
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
5986
5997
  style: {
5987
5998
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
5988
5999
  "backdrop-filter": "blur(2px)"
5989
6000
  }
5990
- }, Hs = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Us = ["onClick"], Ws = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Gs = { 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)]" }, Ks = ["placeholder", "disabled"], qs = ["disabled"], Js = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ys = /* @__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({
5991
6002
  __name: "AiChatSidebar",
5992
6003
  props: {
5993
6004
  visible: { type: Boolean },
@@ -5995,14 +6006,14 @@ var Es = {
5995
6006
  },
5996
6007
  emits: ["close"],
5997
6008
  setup(e, { emit: t }) {
5998
- let n = e, r = t, i = J(ur, "AiChatSidebar"), a = J(Fn, "AiChatSidebar"), o = J(ar, "AiChatSidebar"), s = v(Kn, []), l = ha(), u = ns({
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({
5999
6010
  authManager: o,
6000
6011
  getTemplateId: () => a.state.template?.id ?? null,
6001
6012
  onApply: n.onApply,
6002
6013
  onError: void 0
6003
- }), 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(() => {
6004
6015
  _.value < (u.suggestions.value?.length ?? 0) ? _.value++ : y();
6005
- }, 150, { immediate: !1 }), { start: S } = on(() => x(), 100, { immediate: !1 });
6016
+ }, 150, { immediate: !1 }), { start: S } = sn(() => x(), 100, { immediate: !1 });
6006
6017
  H(() => u.suggestions.value?.length ?? 0, (e) => {
6007
6018
  if (y(), e === 0) {
6008
6019
  _.value = 0;
@@ -6042,42 +6053,42 @@ var Es = {
6042
6053
  "leave-from-class": "tpl:translate-x-0",
6043
6054
  "leave-to-class": "tpl:translate-x-full"
6044
6055
  }, {
6045
- default: b(() => [e.visible ? (f(), k("div", Es, [
6046
- I("div", Ds, [I("div", Os, [V(j(xi), {
6056
+ default: b(() => [e.visible ? (f(), k("div", Os, [
6057
+ I("div", ks, [I("div", As, [V(j(Si), {
6047
6058
  size: 13,
6048
6059
  "stroke-width": 2
6049
- }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", ks, [(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", {
6050
6061
  key: 0,
6051
6062
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6052
6063
  title: j(i).aiChat.clear,
6053
6064
  onClick: n[0] ||= (e) => j(u).clearChat()
6054
- }, [V(j(Ci), {
6065
+ }, [V(j(wi), {
6055
6066
  size: 14,
6056
6067
  "stroke-width": 2
6057
- })], 8, As)) : A("", !0), I("button", {
6068
+ })], 8, Ms)) : A("", !0), I("button", {
6058
6069
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6059
6070
  onClick: n[1] ||= (e) => r("close")
6060
- }, [V(j(Oi), {
6071
+ }, [V(j(ki), {
6061
6072
  size: 14,
6062
6073
  "stroke-width": 2
6063
6074
  })])])]),
6064
- I("div", js, [
6075
+ I("div", Ns, [
6065
6076
  I("div", {
6066
6077
  ref_key: "messagesContainer",
6067
6078
  ref: p,
6068
6079
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
6069
- }, [j(u).isLoadingHistory.value ? (f(), k("div", Ms, [V(j(li), {
6080
+ }, [j(u).isLoadingHistory.value ? (f(), k("div", Ps, [V(j(ui), {
6070
6081
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6071
6082
  size: 24,
6072
6083
  "stroke-width": 2
6073
- }), I("p", Ns, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Ps, [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), {
6074
6085
  size: 32,
6075
6086
  "stroke-width": 1.5,
6076
6087
  class: "tpl:text-[var(--tpl-text-dim)]"
6077
- }), I("p", Fs, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Is, [(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", {
6078
6089
  key: e.id,
6079
6090
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6080
- }, [e.role === "user" ? (f(), k("div", Ls, D(e.content), 1)) : (f(), k("div", Rs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Li, { key: 0 })) : (f(), k("div", zs, 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", {
6081
6092
  key: 2,
6082
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",
6083
6094
  style: {
@@ -6086,19 +6097,19 @@ var Es = {
6086
6097
  "background-color": "transparent"
6087
6098
  },
6088
6099
  onClick: n[2] ||= (e) => j(u).toggleLastRevert()
6089
- }, [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), {
6090
6101
  size: 12,
6091
6102
  "stroke-width": 2
6092
- }), 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), {
6093
6104
  size: 12,
6094
6105
  "stroke-width": 2
6095
6106
  }), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
6096
- j(u).error.value ? (f(), k("div", Bs, [V(j(Yr), {
6107
+ j(u).error.value ? (f(), k("div", Hs, [V(j(Xr), {
6097
6108
  size: 14,
6098
6109
  "stroke-width": 2,
6099
6110
  class: "tpl:mt-0.5 tpl:shrink-0"
6100
6111
  }), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
6101
- (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Vs, [I("div", Hs, [(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", {
6102
6113
  key: t,
6103
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"]),
6104
6115
  style: {
@@ -6108,104 +6119,104 @@ var Es = {
6108
6119
  "box-shadow": "var(--tpl-shadow)"
6109
6120
  },
6110
6121
  onClick: (t) => E(e)
6111
- }, D(e), 11, Us))), 128))])])) : A("", !0)
6122
+ }, D(e), 11, Gs))), 128))])])) : A("", !0)
6112
6123
  ]),
6113
- I("div", Ws, [I("div", Gs, [c(I("textarea", {
6124
+ I("div", Ks, [I("div", qs, [c(I("textarea", {
6114
6125
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
6115
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)]",
6116
6127
  placeholder: j(i).aiChat.inputPlaceholder,
6117
6128
  disabled: j(u).isGenerating.value,
6118
6129
  rows: "3",
6119
6130
  onKeydown: te
6120
- }, null, 40, Ks), [[ae, d.value]]), I("button", {
6131
+ }, null, 40, Js), [[ae, d.value]]), I("button", {
6121
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)]",
6122
6133
  disabled: !d.value.trim() || j(u).isGenerating.value,
6123
6134
  onClick: ee
6124
- }, [V(j(_i), {
6135
+ }, [V(j(vi), {
6125
6136
  size: 16,
6126
6137
  "stroke-width": 2
6127
- })], 8, qs)]), I("p", Js, D(j(i).aiMenu.disclaimer), 1)])
6138
+ })], 8, Ys)]), I("p", Xs, D(j(i).aiMenu.disclaimer), 1)])
6128
6139
  ])) : A("", !0)]),
6129
6140
  _: 1
6130
6141
  }));
6131
6142
  }
6132
- }), Xs = /* @__PURE__ */ e({ default: () => Zs }), Zs = /* @__PURE__ */ Ni(Ys, [["__scopeId", "data-v-a55e4bff"]]), Qs = 6e4, $s = 36e5, ec = 864e5;
6133
- function tc(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) {
6134
6145
  let i = new Date(e).getTime();
6135
6146
  if (Number.isNaN(i)) return null;
6136
6147
  let a = Date.now() - i;
6137
6148
  if (a < -6e4) return null;
6138
- let o = Math.floor(a / Qs), s = Math.floor(a / $s), c = Math.floor(a / ec);
6149
+ let o = Math.floor(a / ec), s = Math.floor(a / tc), c = Math.floor(a / nc);
6139
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));
6140
6151
  }
6141
6152
  //#endregion
6142
6153
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
6143
- var nc = {
6154
+ var ic = {
6144
6155
  key: 0,
6145
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)]"
6146
- }, rc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ic = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, ac = {
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 = {
6147
6158
  key: 0,
6148
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)]"
6149
- }, oc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, sc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, cc = {
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 = {
6150
6161
  key: 0,
6151
6162
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
6152
- }, lc = {
6163
+ }, dc = {
6153
6164
  key: 1,
6154
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"
6155
- }, uc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, dc = {
6166
+ }, fc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, pc = {
6156
6167
  key: 2,
6157
6168
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
6158
- }, fc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, pc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, mc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, hc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, gc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, _c = {
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 = {
6159
6170
  key: 0,
6160
6171
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6161
- }, vc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, yc = ["title", "onClick"], bc = ["title", "onClick"], xc = ["title", "onClick"], Sc = {
6172
+ }, bc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, xc = ["title", "onClick"], Sc = ["title", "onClick"], Cc = ["title", "onClick"], wc = {
6162
6173
  key: 0,
6163
6174
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
6164
- }, Cc = {
6175
+ }, Tc = {
6165
6176
  key: 0,
6166
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)]"
6167
- }, wc = ["onClick"], Tc = {
6178
+ }, Ec = ["onClick"], Dc = {
6168
6179
  key: 2,
6169
6180
  class: "tpl:mt-2"
6170
- }, Ec = ["onKeydown"], Dc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Oc = ["disabled", "onClick"], kc = {
6181
+ }, Oc = ["onKeydown"], kc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Ac = ["disabled", "onClick"], jc = {
6171
6182
  key: 3,
6172
6183
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6173
- }, Ac = {
6184
+ }, Mc = {
6174
6185
  key: 4,
6175
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)]"
6176
- }, jc = { class: "tpl:flex-1" }, Mc = ["onClick"], Nc = {
6187
+ }, Nc = { class: "tpl:flex-1" }, Pc = ["onClick"], Fc = {
6177
6188
  key: 5,
6178
6189
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6179
- }, Pc = ["title", "onClick"], Fc = ["onClick"], Ic = {
6190
+ }, Ic = ["title", "onClick"], Lc = ["onClick"], Rc = {
6180
6191
  key: 0,
6181
6192
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6182
- }, Lc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Rc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, zc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Bc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Vc = {
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 = {
6183
6194
  key: 0,
6184
6195
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6185
- }, Hc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Uc = ["title", "onClick"], Wc = ["title", "onClick"], Gc = {
6196
+ }, Wc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Gc = ["title", "onClick"], Kc = ["title", "onClick"], qc = {
6186
6197
  key: 0,
6187
6198
  class: "tpl:mt-1.5"
6188
- }, Kc = ["onKeydown"], qc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Jc = ["disabled", "onClick"], Yc = {
6199
+ }, Jc = ["onKeydown"], Yc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Xc = ["disabled", "onClick"], Zc = {
6189
6200
  key: 1,
6190
6201
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6191
- }, Xc = {
6202
+ }, Qc = {
6192
6203
  key: 2,
6193
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)]"
6194
- }, Zc = { class: "tpl:flex-1" }, Qc = ["onClick"], $c = {
6205
+ }, $c = { class: "tpl:flex-1" }, el = ["onClick"], tl = {
6195
6206
  key: 0,
6196
6207
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6197
- }, el = { class: "tpl:flex tpl:items-end tpl:gap-2" }, tl = ["placeholder", "onKeydown"], nl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, rl = ["disabled", "onClick"], il = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, al = {
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 = {
6198
6209
  key: 0,
6199
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)]"
6200
- }, ol = {
6211
+ }, cl = {
6201
6212
  key: 1,
6202
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)]"
6203
- }, sl = ["placeholder", "disabled"], cl = ["disabled"], ll = /* @__PURE__ */ B({
6214
+ }, ll = ["placeholder", "disabled"], ul = ["disabled"], dl = /*@__PURE__*/ B({
6204
6215
  __name: "CommentsSidebar",
6205
6216
  props: { visible: { type: Boolean } },
6206
6217
  emits: ["close", "filterBlock"],
6207
6218
  setup(e, { expose: t, emit: n }) {
6208
- 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(() => {
6209
6220
  let e = /* @__PURE__ */ new Set();
6210
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);
6211
6222
  return e;
@@ -6273,7 +6284,7 @@ var nc = {
6273
6284
  return e.author_identifier === T.value;
6274
6285
  }
6275
6286
  function ve(e) {
6276
- return tc(e, o.snapshotHistory) ?? e;
6287
+ return rc(e, o.snapshotHistory) ?? e;
6277
6288
  }
6278
6289
  function ye(e) {
6279
6290
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6300,22 +6311,22 @@ var nc = {
6300
6311
  "leave-from-class": "tpl:translate-x-0",
6301
6312
  "leave-to-class": "tpl:translate-x-full"
6302
6313
  }, {
6303
- default: b(() => [e.visible ? (f(), k("div", nc, [
6304
- I("div", rc, [I("div", ic, [
6305
- V(j(ui), {
6314
+ default: b(() => [e.visible ? (f(), k("div", ic, [
6315
+ I("div", ac, [I("div", oc, [
6316
+ V(j(di), {
6306
6317
  size: 13,
6307
6318
  "stroke-width": 2
6308
6319
  }),
6309
6320
  I("span", null, D(j(o).comments.title), 1),
6310
- j(u).unresolvedCount.value > 0 ? (f(), k("span", ac, 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)
6311
6322
  ]), I("button", {
6312
6323
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6313
6324
  onClick: n[0] ||= (e) => i("close")
6314
- }, [V(j(Oi), {
6325
+ }, [V(j(ki), {
6315
6326
  size: 14,
6316
6327
  "stroke-width": 2
6317
6328
  })])]),
6318
- I("div", oc, [
6329
+ I("div", cc, [
6319
6330
  I("button", {
6320
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" : ""]),
6321
6332
  onClick: n[1] ||= (e) => M("unresolved")
@@ -6330,156 +6341,156 @@ var nc = {
6330
6341
  onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
6331
6342
  }, D(j(o).comments.filterBlock), 3)) : A("", !0)
6332
6343
  ]),
6333
- I("div", sc, [j(u).isLoading.value ? (f(), k("div", cc, [V(j(li), {
6344
+ I("div", lc, [j(u).isLoading.value ? (f(), k("div", uc, [V(j(ui), {
6334
6345
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6335
6346
  size: 24,
6336
6347
  "stroke-width": 2
6337
- })])) : re.value.length === 0 ? (f(), k("div", lc, [V(j(ui), {
6348
+ })])) : re.value.length === 0 ? (f(), k("div", dc, [V(j(di), {
6338
6349
  size: 32,
6339
6350
  "stroke-width": 1.5,
6340
6351
  class: "tpl:text-[var(--tpl-text-dim)]"
6341
- }), I("p", uc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", dc, [(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", {
6342
6353
  key: e.id,
6343
6354
  class: "tpl-comment-thread"
6344
6355
  }, [
6345
- I("div", fc, [
6346
- I("div", pc, [I("div", mc, [
6347
- I("span", hc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6348
- I("span", gc, D(ve(e.created_at)), 1),
6349
- e.updated_at === e.created_at ? A("", !0) : (f(), k("span", _c, " (" + D(j(o).comments.edited) + ") ", 1))
6350
- ]), I("div", vc, [
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, [
6351
6362
  I("button", {
6352
6363
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6353
6364
  title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
6354
6365
  onClick: (t) => ge(e.id)
6355
- }, [V(j(Xr), {
6366
+ }, [V(j(Zr), {
6356
6367
  size: 13,
6357
6368
  "stroke-width": 2,
6358
6369
  class: "tpl-resolve-icon",
6359
6370
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6360
- }, null, 8, ["style"])], 8, yc),
6371
+ }, null, 8, ["style"])], 8, xc),
6361
6372
  _e(e) ? (f(), k("button", {
6362
6373
  key: 0,
6363
6374
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6364
6375
  title: j(o).comments.edit,
6365
6376
  onClick: (t) => le(e)
6366
- }, [V(j(fi), {
6377
+ }, [V(j(pi), {
6367
6378
  size: 12,
6368
6379
  "stroke-width": 2
6369
- })], 8, bc)) : A("", !0),
6380
+ })], 8, Sc)) : A("", !0),
6370
6381
  _e(e) ? (f(), k("button", {
6371
6382
  key: 1,
6372
6383
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6373
6384
  title: j(o).comments.delete,
6374
6385
  onClick: (t) => ue(e.id)
6375
- }, [V(j(Ci), {
6386
+ }, [V(j(wi), {
6376
6387
  size: 12,
6377
6388
  "stroke-width": 2
6378
- })], 8, xc)) : A("", !0)
6389
+ })], 8, Cc)) : A("", !0)
6379
6390
  ])]),
6380
6391
  V(ie, { name: "tpl-resolve" }, {
6381
- default: b(() => [e.resolved_at ? (f(), k("div", Sc, [V(j(Wr), {
6392
+ default: b(() => [e.resolved_at ? (f(), k("div", wc, [V(j(Gr), {
6382
6393
  size: 10,
6383
6394
  "stroke-width": 2.5
6384
6395
  }), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
6385
6396
  _: 2
6386
6397
  }, 1024),
6387
- e.block_id && te(e.block_id) ? (f(), k("span", Cc, 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", {
6388
6399
  key: 1,
6389
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)]",
6390
6401
  onClick: (t) => j(s).selectBlock(e.block_id ?? "")
6391
- }, " Block ", 8, wc)) : A("", !0),
6392
- y.value === e.id ? (f(), k("div", Tc, [c(I("textarea", {
6402
+ }, " Block ", 8, Ec)) : A("", !0),
6403
+ y.value === e.id ? (f(), k("div", Dc, [c(I("textarea", {
6393
6404
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6394
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)]",
6395
6406
  rows: "3",
6396
6407
  onKeydown: (t) => xe(t, e.id)
6397
- }, null, 40, Ec), [[ae, x.value]]), I("div", Dc, [I("button", {
6408
+ }, null, 40, Oc), [[ae, x.value]]), I("div", kc, [I("button", {
6398
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)]",
6399
6410
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6400
6411
  onClick: (t) => me(e.id)
6401
- }, D(j(o).comments.save), 9, Oc), I("button", {
6412
+ }, D(j(o).comments.save), 9, Ac), I("button", {
6402
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)]",
6403
6414
  onClick: n[5] ||= (e) => B()
6404
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", kc, D(e.body), 1)),
6405
- w.value === e.id ? (f(), k("div", Ac, [
6406
- I("span", jc, 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),
6407
6418
  I("button", {
6408
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)]",
6409
6420
  onClick: (t) => he(e.id)
6410
- }, D(j(o).comments.delete), 9, Mc),
6421
+ }, D(j(o).comments.delete), 9, Pc),
6411
6422
  I("button", {
6412
6423
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6413
6424
  onClick: n[6] ||= (e) => de()
6414
6425
  }, D(j(o).comments.cancel), 1)
6415
6426
  ])) : A("", !0),
6416
- y.value !== e.id && w.value !== e.id ? (f(), k("div", Nc, [I("button", {
6427
+ y.value !== e.id && w.value !== e.id ? (f(), k("div", Fc, [I("button", {
6417
6428
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6418
6429
  title: j(o).comments.reply,
6419
6430
  onClick: (t) => se(e.id)
6420
- }, [V(j(gi), {
6431
+ }, [V(j(_i), {
6421
6432
  size: 13,
6422
6433
  "stroke-width": 2,
6423
6434
  class: "tpl:text-[var(--tpl-primary)]"
6424
- })], 8, Pc), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6435
+ })], 8, Ic), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6425
6436
  key: 0,
6426
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)]",
6427
6438
  onClick: (t) => oe(e.id)
6428
- }, [S.value.has(e.id) ? (f(), N(j(Jr), {
6439
+ }, [S.value.has(e.id) ? (f(), N(j(Yr), {
6429
6440
  key: 0,
6430
6441
  size: 11,
6431
6442
  "stroke-width": 2
6432
- })) : (f(), N(j(Gr), {
6443
+ })) : (f(), N(j(Kr), {
6433
6444
  key: 1,
6434
6445
  size: 11,
6435
6446
  "stroke-width": 2
6436
- })), 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, Fc)) : 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)
6437
6448
  ]),
6438
6449
  V(ie, { name: "tpl-replies" }, {
6439
- default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Ic, [(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", {
6440
6451
  key: t.id,
6441
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" : ""])
6442
6453
  }, [
6443
- I("div", Lc, [I("div", Rc, [
6444
- I("span", zc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6445
- I("span", Bc, D(ve(t.created_at)), 1),
6446
- t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Vc, " (" + D(j(o).comments.edited) + ") ", 1))
6447
- ]), I("div", Hc, [_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", {
6448
6459
  key: 0,
6449
6460
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6450
6461
  title: j(o).comments.edit,
6451
6462
  onClick: (e) => le(t)
6452
- }, [V(j(fi), {
6463
+ }, [V(j(pi), {
6453
6464
  size: 11,
6454
6465
  "stroke-width": 2
6455
- })], 8, Uc)) : A("", !0), _e(t) ? (f(), k("button", {
6466
+ })], 8, Gc)) : A("", !0), _e(t) ? (f(), k("button", {
6456
6467
  key: 1,
6457
6468
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6458
6469
  title: j(o).comments.delete,
6459
6470
  onClick: (e) => ue(t.id)
6460
- }, [V(j(Ci), {
6471
+ }, [V(j(wi), {
6461
6472
  size: 11,
6462
6473
  "stroke-width": 2
6463
- })], 8, Wc)) : A("", !0)])]),
6464
- y.value === t.id ? (f(), k("div", Gc, [c(I("textarea", {
6474
+ })], 8, Kc)) : A("", !0)])]),
6475
+ y.value === t.id ? (f(), k("div", qc, [c(I("textarea", {
6465
6476
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6466
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)]",
6467
6478
  rows: "2",
6468
6479
  onKeydown: (e) => xe(e, t.id)
6469
- }, null, 40, Kc), [[ae, x.value]]), I("div", qc, [I("button", {
6480
+ }, null, 40, Jc), [[ae, x.value]]), I("div", Yc, [I("button", {
6470
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)]",
6471
6482
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6472
6483
  onClick: (e) => me(t.id)
6473
- }, D(j(o).comments.save), 9, Jc), I("button", {
6484
+ }, D(j(o).comments.save), 9, Xc), I("button", {
6474
6485
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6475
6486
  onClick: n[8] ||= (e) => B()
6476
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Yc, D(t.body), 1)),
6477
- w.value === t.id ? (f(), k("div", Xc, [
6478
- I("span", Zc, 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),
6479
6490
  I("button", {
6480
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)]",
6481
6492
  onClick: (e) => he(t.id)
6482
- }, D(j(o).comments.delete), 9, Qc),
6493
+ }, D(j(o).comments.delete), 9, el),
6483
6494
  I("button", {
6484
6495
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6485
6496
  onClick: n[9] ||= (e) => de()
@@ -6489,30 +6500,30 @@ var nc = {
6489
6500
  _: 2
6490
6501
  }, 1024),
6491
6502
  V(ie, { name: "tpl-replies" }, {
6492
- default: b(() => [_.value === e.id ? (f(), k("div", $c, [I("div", el, [c(I("textarea", {
6503
+ default: b(() => [_.value === e.id ? (f(), k("div", tl, [I("div", nl, [c(I("textarea", {
6493
6504
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6494
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)]",
6495
6506
  placeholder: j(o).comments.replyPlaceholder,
6496
6507
  rows: "2",
6497
6508
  onKeydown: (t) => be(t, e.id)
6498
- }, null, 40, tl), [[ae, v.value]]), I("div", nl, [I("button", {
6509
+ }, null, 40, rl), [[ae, v.value]]), I("div", il, [I("button", {
6499
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)]",
6500
6511
  disabled: !v.value.trim() || j(u).isSubmitting.value,
6501
6512
  onClick: (t) => pe(e.id)
6502
- }, [V(j(_i), {
6513
+ }, [V(j(vi), {
6503
6514
  size: 14,
6504
6515
  "stroke-width": 2
6505
- })], 8, rl), I("button", {
6516
+ })], 8, al), I("button", {
6506
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)]",
6507
6518
  onClick: n[11] ||= (e) => ce()
6508
- }, [V(j(Oi), {
6519
+ }, [V(j(ki), {
6509
6520
  size: 14,
6510
6521
  "stroke-width": 2
6511
6522
  })])])])])) : A("", !0)]),
6512
6523
  _: 2
6513
6524
  }, 1024)
6514
6525
  ]))), 128))]))]),
6515
- I("div", il, [ne.value ? (f(), k("div", al, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", ol, [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", {
6516
6527
  ref_key: "newCommentInput",
6517
6528
  ref: ee,
6518
6529
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
@@ -6521,46 +6532,46 @@ var nc = {
6521
6532
  disabled: j(u).isSubmitting.value,
6522
6533
  rows: "2",
6523
6534
  onKeydown: ye
6524
- }, null, 40, sl), [[ae, g.value]]), I("button", {
6535
+ }, null, 40, ll), [[ae, g.value]]), I("button", {
6525
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)]",
6526
6537
  disabled: !g.value.trim() || j(u).isSubmitting.value,
6527
6538
  onClick: fe
6528
- }, [j(u).isSubmitting.value ? (f(), N(j(li), {
6539
+ }, [j(u).isSubmitting.value ? (f(), N(j(ui), {
6529
6540
  key: 0,
6530
6541
  class: "tpl-spinner",
6531
6542
  size: 16,
6532
6543
  "stroke-width": 2
6533
- })) : (f(), N(j(_i), {
6544
+ })) : (f(), N(j(vi), {
6534
6545
  key: 1,
6535
6546
  size: 16,
6536
6547
  "stroke-width": 2
6537
- }))], 8, cl)]))])
6548
+ }))], 8, ul)]))])
6538
6549
  ])) : A("", !0)]),
6539
6550
  _: 1
6540
6551
  }));
6541
6552
  }
6542
- }), ul = /* @__PURE__ */ e({ default: () => dl }), dl = /* @__PURE__ */ Ni(ll, [["__scopeId", "data-v-d204f573"]]), fl = {
6553
+ }), fl = /* @__PURE__ */ e({ default: () => pl }), pl = /*#__PURE__*/ Pi(dl, [["__scopeId", "data-v-d204f573"]]), ml = {
6543
6554
  key: 0,
6544
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)]"
6545
- }, pl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ml = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, hl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, gl = {
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 = {
6546
6557
  key: 0,
6547
6558
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6548
- }, _l = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, vl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, yl = {
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 = {
6549
6560
  key: 1,
6550
6561
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6551
- }, bl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, xl = {
6562
+ }, Sl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Cl = {
6552
6563
  key: 0,
6553
6564
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6554
- }, Sl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Cl = ["src", "alt"], wl = {
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 = {
6555
6566
  key: 1,
6556
6567
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6557
- }, Tl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, El = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Dl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ol = ["accept"], kl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Al = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, jl = ["placeholder"], Ml = {
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 = {
6558
6569
  key: 0,
6559
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)]"
6560
- }, Nl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Pl = { class: "tpl:flex tpl:gap-2" }, Fl = {
6571
+ }, Fl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Il = { class: "tpl:flex tpl:gap-2" }, Ll = {
6561
6572
  key: 1,
6562
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)]"
6563
- }, Il = ["disabled"], Ll = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Rl = /* @__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({
6564
6575
  __name: "DesignReferenceSidebar",
6565
6576
  props: {
6566
6577
  visible: { type: Boolean },
@@ -6568,8 +6579,8 @@ var nc = {
6568
6579
  },
6569
6580
  emits: ["close", "apply"],
6570
6581
  setup(e, { emit: t }) {
6571
- let n = e, r = t, { t: i } = Ui(), a = J(Fn, "DesignReferenceSidebar"), o = as({
6572
- authManager: J(ar, "DesignReferenceSidebar"),
6582
+ let n = e, r = t, { t: i } = Wi(), a = J(In, "DesignReferenceSidebar"), o = ss({
6583
+ authManager: J(or, "DesignReferenceSidebar"),
6573
6584
  getTemplateId: () => a.state.template?.id ?? null,
6574
6585
  onApply: (e) => r("apply", e)
6575
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);
@@ -6640,17 +6651,17 @@ var nc = {
6640
6651
  "leave-from-class": "tpl:translate-x-0",
6641
6652
  "leave-to-class": "tpl:translate-x-full"
6642
6653
  }, {
6643
- default: b(() => [e.visible ? (f(), k("div", fl, [I("div", pl, [I("div", ml, [V(j(oi), {
6654
+ default: b(() => [e.visible ? (f(), k("div", ml, [I("div", hl, [I("div", gl, [V(j(si), {
6644
6655
  size: 13,
6645
6656
  "stroke-width": 2
6646
6657
  }), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
6647
6658
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6648
6659
  onClick: n[0] ||= (e) => r("close")
6649
- }, [V(j(Oi), {
6660
+ }, [V(j(ki), {
6650
6661
  size: 14,
6651
6662
  "stroke-width": 2
6652
- })])]), I("div", hl, [j(o).isGenerating.value ? (f(), k("div", gl, [I("div", _l, [V(Li), I("p", vl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", yl, [
6653
- I("div", bl, [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", {
6654
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",
6655
6666
  style: L({
6656
6667
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6658,7 +6669,7 @@ var nc = {
6658
6669
  boxShadow: l.value === "image" ? "var(--tpl-shadow)" : "none"
6659
6670
  }),
6660
6671
  onClick: n[1] ||= (e) => _("image")
6661
- }, [V(j(ni), {
6672
+ }, [V(j(ri), {
6662
6673
  size: 12,
6663
6674
  "stroke-width": 2
6664
6675
  }), z(" " + D(j(i).designReference.uploadImage), 1)], 4), I("button", {
@@ -6669,23 +6680,23 @@ var nc = {
6669
6680
  boxShadow: l.value === "pdf" ? "var(--tpl-shadow)" : "none"
6670
6681
  }),
6671
6682
  onClick: n[2] ||= (e) => _("pdf")
6672
- }, [V(j(ri), {
6683
+ }, [V(j(ii), {
6673
6684
  size: 12,
6674
6685
  "stroke-width": 2
6675
6686
  }), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
6676
- I("div", null, [u.value ? (f(), k("div", xl, [I("div", Sl, [p.value ? (f(), k("img", {
6687
+ I("div", null, [u.value ? (f(), k("div", Cl, [I("div", wl, [p.value ? (f(), k("img", {
6677
6688
  key: 0,
6678
6689
  src: p.value,
6679
6690
  alt: u.value.name,
6680
6691
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6681
- }, null, 8, Cl)) : (f(), k("div", wl, [V(j(ri), {
6692
+ }, null, 8, Tl)) : (f(), k("div", El, [V(j(ii), {
6682
6693
  size: 32,
6683
6694
  "stroke-width": 1.5,
6684
6695
  class: "tpl:text-[var(--tpl-text-dim)]"
6685
- }), I("span", Tl, D(u.value.name), 1)])), I("button", {
6696
+ }), I("span", Dl, D(u.value.name), 1)])), I("button", {
6686
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)]",
6687
6698
  onClick: x
6688
- }, [V(j(Oi), {
6699
+ }, [V(j(ki), {
6689
6700
  size: 12,
6690
6701
  "stroke-width": 2
6691
6702
  })])])])) : (f(), k("div", {
@@ -6700,13 +6711,13 @@ var nc = {
6700
6711
  onDragleave: w,
6701
6712
  onDrop: ee
6702
6713
  }, [
6703
- V(j(Ei), {
6714
+ V(j(Di), {
6704
6715
  size: 24,
6705
6716
  "stroke-width": 1.5,
6706
6717
  class: "tpl:text-[var(--tpl-text-dim)]"
6707
6718
  }),
6708
- I("span", El, D(j(i).designReference.dropHint), 1),
6709
- I("span", Dl, 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)
6710
6721
  ], 36)), I("input", {
6711
6722
  ref_key: "fileInput",
6712
6723
  ref: s,
@@ -6714,14 +6725,14 @@ var nc = {
6714
6725
  class: "tpl:hidden",
6715
6726
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6716
6727
  onChange: v
6717
- }, null, 40, Ol)]),
6718
- I("div", kl, [I("label", Al, 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", {
6719
6730
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6720
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"]]),
6721
6732
  placeholder: j(i).designReference.promptPlaceholder,
6722
6733
  rows: "3"
6723
- }, null, 8, jl), [[ae, d.value]])]),
6724
- m.value ? (f(), k("div", Ml, [I("p", Nl, D(j(i).designReference.replaceWarning), 1), I("div", Pl, [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", {
6725
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)]",
6726
6737
  style: { "background-color": "transparent" },
6727
6738
  onClick: E
@@ -6729,7 +6740,7 @@ var nc = {
6729
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)]",
6730
6741
  onClick: T
6731
6742
  }, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
6732
- j(o).error.value ? (f(), k("div", Fl, [V(j(Yr), {
6743
+ j(o).error.value ? (f(), k("div", Ll, [V(j(Xr), {
6733
6744
  size: 14,
6734
6745
  "stroke-width": 2,
6735
6746
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6739,35 +6750,35 @@ var nc = {
6739
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)]",
6740
6751
  disabled: !g.value,
6741
6752
  onClick: T
6742
- }, [V(j(oi), {
6753
+ }, [V(j(si), {
6743
6754
  size: 16,
6744
6755
  "stroke-width": 2
6745
- }), z(" " + D(j(i).designReference.generate), 1)], 8, Il)),
6746
- I("p", Ll, 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)
6747
6758
  ]))])])) : A("", !0)]),
6748
6759
  _: 1
6749
6760
  }));
6750
6761
  }
6751
- }), zl = /* @__PURE__ */ e({ default: () => Bl }), Bl = /* @__PURE__ */ Ni(Rl, [["__scopeId", "data-v-bdbf8d0d"]]), Vl = ["disabled", "title"], Hl = ["title"], Ul = {
6762
+ }), Vl = /* @__PURE__ */ e({ default: () => Hl }), Hl = /*#__PURE__*/ Pi(Bl, [["__scopeId", "data-v-bdbf8d0d"]]), Ul = ["disabled", "title"], Wl = ["title"], Gl = {
6752
6763
  key: 0,
6753
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)]",
6754
6765
  style: {
6755
6766
  "backdrop-filter": "blur(8px)",
6756
6767
  "-webkit-backdrop-filter": "blur(8px)"
6757
6768
  }
6758
- }, Wl = { 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)]" }, Gl = {
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 = {
6759
6770
  key: 0,
6760
6771
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
6761
- }, Kl = {
6772
+ }, Jl = {
6762
6773
  key: 1,
6763
6774
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
6764
- }, ql = {
6775
+ }, Yl = {
6765
6776
  key: 2,
6766
6777
  class: "tpl:max-h-64 tpl:overflow-y-auto"
6767
- }, Jl = ["disabled", "onClick"], Yl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Xl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Zl = {
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 = {
6768
6779
  key: 0,
6769
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)]"
6770
- }, Ql = ["disabled", "title"], $l = /* @__PURE__ */ B({
6781
+ }, eu = ["disabled", "title"], tu = /*@__PURE__*/ B({
6771
6782
  __name: "SnapshotHistory",
6772
6783
  props: {
6773
6784
  snapshots: {},
@@ -6776,7 +6787,7 @@ var nc = {
6776
6787
  },
6777
6788
  emits: ["load", "navigate"],
6778
6789
  setup(e, { emit: t }) {
6779
- 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);
6780
6791
  H(() => n.snapshots.length, () => {
6781
6792
  c.value = -1;
6782
6793
  });
@@ -6795,7 +6806,7 @@ var nc = {
6795
6806
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
6796
6807
  }
6797
6808
  function _(e) {
6798
- let t = tc(e, a.snapshotHistory, i, 7);
6809
+ let t = rc(e, a.snapshotHistory, i, 7);
6799
6810
  return t === null ? new Date(e).toLocaleDateString(void 0, {
6800
6811
  month: "short",
6801
6812
  day: "numeric",
@@ -6803,7 +6814,7 @@ var nc = {
6803
6814
  minute: "2-digit"
6804
6815
  }) : t;
6805
6816
  }
6806
- return mn(s, () => {
6817
+ return hn(s, () => {
6807
6818
  o.value = !1;
6808
6819
  }), (t, n) => (f(), k("div", {
6809
6820
  ref_key: "dropdownRef",
@@ -6815,34 +6826,34 @@ var nc = {
6815
6826
  disabled: !u.value,
6816
6827
  title: j(a).snapshotHistory.olderSnapshot,
6817
6828
  onClick: M(p, ["stop"])
6818
- }, [V(j(Kr), {
6829
+ }, [V(j(qr), {
6819
6830
  size: 14,
6820
6831
  "stroke-width": 2
6821
- })], 8, Vl),
6832
+ })], 8, Ul),
6822
6833
  I("button", {
6823
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)]",
6824
6835
  title: j(a).snapshotHistory.tooltip,
6825
6836
  onClick: M(m, ["stop"])
6826
- }, [V(j(Zr), {
6837
+ }, [V(j(Qr), {
6827
6838
  size: 16,
6828
6839
  "stroke-width": 1.5
6829
- }), V(j(Gr), {
6840
+ }), V(j(Kr), {
6830
6841
  class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
6831
6842
  size: 10,
6832
6843
  "stroke-width": 2
6833
- }, null, 8, ["class"])], 8, Hl),
6844
+ }, null, 8, ["class"])], 8, Wl),
6834
6845
  V(ie, { name: "tpl-dropdown" }, {
6835
- default: b(() => [o.value ? (f(), k("div", Ul, [I("div", Wl, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", Gl, [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), {
6836
6847
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
6837
6848
  size: 20,
6838
6849
  "stroke-width": 2
6839
- })])) : e.snapshots.length === 0 ? (f(), k("div", Kl, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", ql, [(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", {
6840
6851
  key: t.id,
6841
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)]",
6842
6853
  style: { "background-color": "transparent" },
6843
6854
  disabled: e.isRestoring,
6844
6855
  onClick: (e) => g(t.id)
6845
- }, [I("div", Yl, [I("div", Xl, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", Zl, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, Jl))), 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)]),
6846
6857
  _: 1
6847
6858
  }),
6848
6859
  I("button", {
@@ -6850,74 +6861,74 @@ var nc = {
6850
6861
  disabled: !l.value,
6851
6862
  title: j(a).snapshotHistory.newerSnapshot,
6852
6863
  onClick: M(d, ["stop"])
6853
- }, [V(j(qr), {
6864
+ }, [V(j(Jr), {
6854
6865
  size: 14,
6855
6866
  "stroke-width": 2
6856
- })], 8, Ql)
6867
+ })], 8, eu)
6857
6868
  ], 512));
6858
6869
  }
6859
- }), eu = /* @__PURE__ */ e({ default: () => tu }), tu = $l;
6870
+ }), nu = /* @__PURE__ */ e({ default: () => ru }), ru = tu;
6860
6871
  //#endregion
6861
6872
  //#region src/cloud/utils/scoringStyles.ts
6862
- function nu(e) {
6873
+ function iu(e) {
6863
6874
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
6864
6875
  }
6865
- function ru(e) {
6876
+ function au(e) {
6866
6877
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
6867
6878
  }
6868
- function iu(e) {
6879
+ function ou(e) {
6869
6880
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
6870
6881
  }
6871
- function au(e) {
6882
+ function su(e) {
6872
6883
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
6873
6884
  }
6874
6885
  //#endregion
6875
6886
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
6876
- var ou = {
6887
+ var cu = {
6877
6888
  key: 0,
6878
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)]"
6879
- }, su = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, cu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, lu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, uu = ["title"], du = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, fu = {
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 = {
6880
6891
  key: 0,
6881
6892
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6882
- }, pu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, mu = {
6893
+ }, hu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gu = {
6883
6894
  key: 1,
6884
6895
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6885
- }, hu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gu = {
6896
+ }, _u = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, vu = {
6886
6897
  key: 2,
6887
6898
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6888
- }, _u = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, vu = {
6899
+ }, yu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, bu = {
6889
6900
  key: 0,
6890
6901
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6891
- }, yu = {
6902
+ }, xu = {
6892
6903
  key: 0,
6893
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)]"
6894
- }, bu = ["onClick"], xu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Su = {
6905
+ }, Su = ["onClick"], Cu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, wu = {
6895
6906
  key: 0,
6896
6907
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
6897
- }, Cu = {
6908
+ }, Tu = {
6898
6909
  key: 0,
6899
6910
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
6900
- }, wu = {
6911
+ }, Eu = {
6901
6912
  key: 0,
6902
6913
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6903
- }, Tu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Eu = { class: "tpl:flex-1 tpl:min-w-0" }, Du = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Ou = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ku = {
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 = {
6904
6915
  key: 0,
6905
6916
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
6906
- }, Au = {
6917
+ }, Mu = {
6907
6918
  key: 1,
6908
6919
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
6909
- }, ju = ["disabled", "onClick"], Mu = {
6920
+ }, Nu = ["disabled", "onClick"], Pu = {
6910
6921
  key: 0,
6911
6922
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
6912
- }, Nu = {
6923
+ }, Fu = {
6913
6924
  key: 3,
6914
6925
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6915
- }, Pu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Fu = { 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)]" }, Iu = /* @__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({
6916
6927
  __name: "TemplateScoringPanel",
6917
6928
  props: { visible: { type: Boolean } },
6918
6929
  emits: ["close"],
6919
6930
  setup(e, { emit: t }) {
6920
- 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({
6921
6932
  spam: !0,
6922
6933
  readability: !0,
6923
6934
  accessibility: !0,
@@ -6932,10 +6943,10 @@ var ou = {
6932
6943
  "accessibility",
6933
6944
  "bestPractices"
6934
6945
  ], p = {
6935
- spam: bi,
6936
- readability: ti,
6937
- accessibility: xi,
6938
- bestPractices: ki
6946
+ spam: xi,
6947
+ readability: ni,
6948
+ accessibility: Si,
6949
+ bestPractices: Ai
6939
6950
  };
6940
6951
  function m() {
6941
6952
  o.score(a.content.value, s);
@@ -6963,50 +6974,50 @@ var ou = {
6963
6974
  "leave-from-class": "tpl:translate-x-0",
6964
6975
  "leave-to-class": "tpl:translate-x-full"
6965
6976
  }, {
6966
- default: b(() => [e.visible ? (f(), k("div", ou, [I("div", su, [I("div", cu, [V(j(yi), {
6977
+ default: b(() => [e.visible ? (f(), k("div", cu, [I("div", lu, [I("div", uu, [V(j(bi), {
6967
6978
  size: 13,
6968
6979
  "stroke-width": 2
6969
- }), I("span", null, D(j(i).scoring.title), 1)]), I("div", lu, [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", {
6970
6981
  key: 0,
6971
6982
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6972
6983
  title: j(i).scoring.rescore,
6973
6984
  onClick: n[0] ||= (e) => m()
6974
- }, [V(j(hi), {
6985
+ }, [V(j(gi), {
6975
6986
  size: 14,
6976
6987
  "stroke-width": 2
6977
- })], 8, uu)) : A("", !0), I("button", {
6988
+ })], 8, fu)) : A("", !0), I("button", {
6978
6989
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6979
6990
  onClick: n[1] ||= (e) => r("close")
6980
- }, [V(j(Oi), {
6991
+ }, [V(j(ki), {
6981
6992
  size: 14,
6982
6993
  "stroke-width": 2
6983
- })])])]), I("div", du, [j(o).isScoring.value ? (f(), k("div", fu, [I("p", pu, D(j(i).scoring.scoring), 1), V(Li, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", mu, [
6984
- 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), {
6985
6996
  size: 32,
6986
6997
  "stroke-width": 1.5,
6987
6998
  class: "tpl:text-[var(--tpl-danger)]"
6988
6999
  }),
6989
- I("p", hu, D(j(i).scoring.error), 1),
7000
+ I("p", _u, D(j(i).scoring.error), 1),
6990
7001
  I("button", {
6991
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)]",
6992
7003
  onClick: n[2] ||= (e) => m()
6993
- }, [V(j(hi), {
7004
+ }, [V(j(gi), {
6994
7005
  size: 12,
6995
7006
  "stroke-width": 2
6996
7007
  }), z(" " + D(j(i).scoring.rescore), 1)])
6997
- ])) : j(o).scoringResult.value ? (f(), k("div", gu, [
7008
+ ])) : j(o).scoringResult.value ? (f(), k("div", vu, [
6998
7009
  I("div", {
6999
7010
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
7000
- style: L({ backgroundColor: j(ru)(j(o).scoringResult.value.score) })
7011
+ style: L({ backgroundColor: j(au)(j(o).scoringResult.value.score) })
7001
7012
  }, [
7002
7013
  I("span", {
7003
7014
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
7004
- style: L({ color: j(nu)(j(o).scoringResult.value.score) })
7015
+ style: L({ color: j(iu)(j(o).scoringResult.value.score) })
7005
7016
  }, D(j(o).scoringResult.value.score), 5),
7006
- I("span", _u, D(j(i).scoring.overallScore), 1),
7007
- _() > 0 ? (f(), k("span", vu, 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)
7008
7019
  ], 4),
7009
- j(o).fixError.value ? (f(), k("div", yu, [V(j(Yr), {
7020
+ j(o).fixError.value ? (f(), k("div", xu, [V(j(Xr), {
7010
7021
  size: 14,
7011
7022
  "stroke-width": 2,
7012
7023
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -7021,74 +7032,74 @@ var ou = {
7021
7032
  (f(), N(d(p[e]), {
7022
7033
  size: 14,
7023
7034
  "stroke-width": 2,
7024
- style: L({ color: j(nu)(j(o).scoringResult.value.categories[e].score) })
7035
+ style: L({ color: j(iu)(j(o).scoringResult.value.categories[e].score) })
7025
7036
  }, null, 8, ["style"])),
7026
- I("span", xu, D(j(i).scoring.categories[e]), 1),
7037
+ I("span", Cu, D(j(i).scoring.categories[e]), 1),
7027
7038
  I("span", {
7028
7039
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
7029
7040
  style: L({
7030
- color: j(nu)(j(o).scoringResult.value.categories[e].score),
7031
- backgroundColor: j(ru)(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)
7032
7043
  })
7033
7044
  }, D(j(o).scoringResult.value.categories[e].score), 5),
7034
- j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Su, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7035
- 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), {
7036
7047
  size: 12,
7037
7048
  "stroke-width": 2,
7038
7049
  class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
7039
7050
  }, null, 8, ["class"])
7040
- ], 8, bu), c.value[e] ? (f(), k("div", Cu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", wu, 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", {
7041
7052
  key: e.id,
7042
7053
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
7043
- }, [I("div", Tu, [(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)), {
7044
7055
  size: 13,
7045
7056
  "stroke-width": 2,
7046
7057
  class: "tpl:mt-0.5 tpl:shrink-0",
7047
- style: L({ color: j(iu)(e.severity) })
7048
- }, null, 8, ["style"])), I("div", Eu, [
7049
- I("div", Du, [I("span", {
7058
+ style: L({ color: j(ou)(e.severity) })
7059
+ }, null, 8, ["style"])), I("div", Ou, [
7060
+ I("div", ku, [I("span", {
7050
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",
7051
7062
  style: L({
7052
- color: j(iu)(e.severity),
7053
- backgroundColor: j(au)(e.severity)
7063
+ color: j(ou)(e.severity),
7064
+ backgroundColor: j(su)(e.severity)
7054
7065
  })
7055
- }, D(j(i).scoring.severity[e.severity]), 5), I("span", Ou, D(e.message), 1)]),
7056
- e.suggestion ? (f(), k("p", ku, D(e.suggestion), 1)) : A("", !0),
7057
- e.blockId ? (f(), k("div", Au, [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", {
7058
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)]",
7059
7070
  style: { "background-color": "transparent" },
7060
7071
  disabled: j(o).fixingFindingId.value !== null,
7061
7072
  onClick: (t) => g(e)
7062
- }, [j(o).fixingFindingId.value === e.id ? (f(), N(j(li), {
7073
+ }, [j(o).fixingFindingId.value === e.id ? (f(), N(j(ui), {
7063
7074
  key: 0,
7064
7075
  class: "tpl-spinner",
7065
7076
  size: 11,
7066
7077
  "stroke-width": 2
7067
- })) : (f(), N(j(xi), {
7078
+ })) : (f(), N(j(Si), {
7068
7079
  key: 1,
7069
7080
  size: 11,
7070
7081
  "stroke-width": 2
7071
- })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, ju), j(o).fixError.value ? (f(), k("p", Mu, 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)
7072
7083
  ])])]))), 128))])) : A("", !0)])), 64))
7073
- ])) : (f(), k("div", Nu, [V(j(yi), {
7084
+ ])) : (f(), k("div", Fu, [V(j(bi), {
7074
7085
  size: 32,
7075
7086
  "stroke-width": 1.5,
7076
7087
  class: "tpl:text-[var(--tpl-text-dim)]"
7077
- }), I("p", Pu, D(j(i).scoring.emptyState), 1)])), I("p", Fu, 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)]),
7078
7089
  _: 1
7079
7090
  }));
7080
7091
  }
7081
- }), Lu = /* @__PURE__ */ e({ default: () => Ru }), Ru = /* @__PURE__ */ Ni(Iu, [["__scopeId", "data-v-3a059e8d"]]), zu = ["aria-busy"], Bu = {
7092
+ }), zu = /* @__PURE__ */ e({ default: () => Bu }), Bu = /*#__PURE__*/ Pi(Ru, [["__scopeId", "data-v-3a059e8d"]]), Vu = ["aria-busy"], Hu = {
7082
7093
  id: "tpl-test-email-title",
7083
7094
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
7084
- }, Vu = { class: "tpl:mb-3" }, Hu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Uu = ["value"], Wu = ["disabled"], Gu = ["value"], Ku = {
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 = {
7085
7096
  key: 0,
7086
7097
  role: "alert",
7087
7098
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
7088
- }, qu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Ju = ["disabled"], Yu = ["disabled"], Xu = {
7099
+ }, Yu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Xu = ["disabled"], Zu = ["disabled"], Qu = {
7089
7100
  key: 0,
7090
7101
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
7091
- }, Zu = { key: 1 }, Qu = /* @__PURE__ */ B({
7102
+ }, $u = { key: 1 }, ed = /*@__PURE__*/ B({
7092
7103
  __name: "TestEmailModal",
7093
7104
  props: {
7094
7105
  visible: { type: Boolean },
@@ -7098,7 +7109,7 @@ var ou = {
7098
7109
  },
7099
7110
  emits: ["send", "close"],
7100
7111
  setup(e, { emit: t }) {
7101
- let n = e, r = t, { t: i } = Ui(), a = C("");
7112
+ let n = e, r = t, { t: i } = Wi(), a = C("");
7102
7113
  H(() => n.visible, (e) => {
7103
7114
  e && (a.value = n.allowedEmails[0] ?? "");
7104
7115
  });
@@ -7111,7 +7122,7 @@ var ou = {
7111
7122
  function l(e) {
7112
7123
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
7113
7124
  }
7114
- return (t, n) => (f(), N(Vo, {
7125
+ return (t, n) => (f(), N(Ho, {
7115
7126
  visible: e.visible,
7116
7127
  onClose: s,
7117
7128
  onKeydown: l
@@ -7127,14 +7138,14 @@ var ou = {
7127
7138
  "box-shadow": "var(--tpl-shadow-xl)"
7128
7139
  }
7129
7140
  }, [
7130
- I("h3", Bu, D(j(i).testEmail.title), 1),
7131
- I("div", Vu, [I("label", Hu, 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", {
7132
7143
  key: 0,
7133
7144
  type: "text",
7134
7145
  value: a.value,
7135
7146
  disabled: "",
7136
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)]"
7137
- }, null, 8, Uu)) : c((f(), k("select", {
7148
+ }, null, 8, Gu)) : c((f(), k("select", {
7138
7149
  key: 1,
7139
7150
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7140
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)]",
@@ -7142,29 +7153,29 @@ var ou = {
7142
7153
  }, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
7143
7154
  key: e,
7144
7155
  value: e
7145
- }, D(e), 9, Gu))), 128))], 8, Wu)), [[w, a.value]])]),
7146
- e.error ? (f(), k("p", Ku, D(e.error), 1)) : A("", !0),
7147
- I("div", qu, [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", {
7148
7159
  type: "button",
7149
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 }]),
7150
7161
  disabled: e.isSending,
7151
7162
  onClick: s
7152
- }, D(j(i).testEmail.cancel), 11, Ju), I("button", {
7163
+ }, D(j(i).testEmail.cancel), 11, Xu), I("button", {
7153
7164
  type: "button",
7154
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)]",
7155
7166
  disabled: !a.value || e.isSending,
7156
7167
  onClick: o
7157
- }, [e.isSending ? (f(), k("span", Xu, [V(j(li), {
7168
+ }, [e.isSending ? (f(), k("span", Qu, [V(j(ui), {
7158
7169
  class: "tpl:animate-spin",
7159
7170
  size: 12,
7160
7171
  "stroke-width": 2
7161
- }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", Zu, D(j(i).testEmail.send), 1))], 8, Yu)])
7162
- ], 8, zu)]),
7172
+ }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", $u, D(j(i).testEmail.send), 1))], 8, Zu)])
7173
+ ], 8, Vu)]),
7163
7174
  _: 1
7164
7175
  }, 8, ["visible"]));
7165
7176
  }
7166
- }), $u = /* @__PURE__ */ e({ default: () => ed }), ed = Qu;
7177
+ }), td = /* @__PURE__ */ e({ default: () => nd }), nd = ed;
7167
7178
  //#endregion
7168
- 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, ss as _, lt as _n, ui as _t, ul as a, mn as an, Oi as at, rs as b, ht as bn, si as bt, ws as c, q as cn, Ci as ct, _s as d, tn as dn, yi as dt, lr as en, Hi as et, gs as f, en as fn, vi as ft, fs as g, wt as gn, di as gt, ps as h, Nt as hn, fi as ht, zl 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, ys as l, kn as ln, Si as lt, ms as m, on as mn, hi as mt, Lu as n, Bn as nn, Bi as nt, Xs as o, Sn as on, Ei as ot, hs as p, an as pn, _i as pt, la as q, Qn as qt, eu as r, Vn as rn, Ni as rt, Ts as s, Cn as sn, wi as st, $u as t, nr as tn, Ui as tt, vs as u, En as un, xi as ut, os as v, _t as vn, li as vt, $ as w, ot as wn, $r as wt, $o as x, vt as xn, oi as xt, is 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 };
7169
7180
 
7170
- //# sourceMappingURL=features-CwZTdcbt.js.map
7181
+ //# sourceMappingURL=features-A28DQtjE.js.map