@templatical/editor 0.15.1 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +1 -1
  2. package/dist/{AiChatSidebar-BIKvYREk.js → AiChatSidebar-EaPCeDXr.js} +14 -14
  3. package/dist/{AiFeatureMenu-CU6kTMTf.js → AiFeatureMenu-Rb8G3EBo.js} +7 -7
  4. package/dist/{BlockIssueBadge-B3xVgMTh.js → BlockIssueBadge-CZYgn-qg.js} +5 -5
  5. package/dist/{CloudEditor-DRPxvUEj.js → CloudEditor-D88gLBXp.js} +25 -25
  6. package/dist/{CollaboratorBar-DMSjd3HZ.js → CollaboratorBar-dxCD8jSi.js} +4 -4
  7. package/dist/ColorPicker-CAgMCX3A.js +442 -0
  8. package/dist/{CommentsSidebar-D_tSGvTX.js → CommentsSidebar-DDKiFsSq.js} +13 -13
  9. package/dist/{CountdownBlock-apiYUhkQ.js → CountdownBlock-173fiO5Z.js} +3 -3
  10. package/dist/{CountdownToolbar-CS0axcjz.js → CountdownToolbar-8XVTOuGX.js} +4 -4
  11. package/dist/{DesignReferenceSidebar-DWYK9nTk.js → DesignReferenceSidebar-D6TfC176.js} +11 -11
  12. package/dist/{IssuesPanel-CR1MPaDE.js → IssuesPanel-CQQipLQP.js} +8 -8
  13. package/dist/{LoadingTrack-DsecR8Rw.js → LoadingTrack-KIcREPlS.js} +1 -1
  14. package/dist/{MergeTagSuggestion-CH2SUxBo.js → MergeTagSuggestion-DrT3LiZ4.js} +4 -4
  15. package/dist/{ModuleBrowserModal-BOzleijA.js → ModuleBrowserModal-l4_RCC8m.js} +11 -11
  16. package/dist/{ModulePreviewCanvas-Cg99Pbde.js → ModulePreviewCanvas-BqYAr4fz.js} +3 -3
  17. package/dist/NumberWithSuffix-Di-cDy_m.js +89 -0
  18. package/dist/{ParagraphEditor-8jnzoL0A.js → ParagraphEditor-DIQ1jmSP.js} +230 -195
  19. package/dist/{RichTextEditorContent-BqLHIZY7.js → RichTextEditorContent-DkTJ6KK8.js} +56 -45
  20. package/dist/{SaveModuleDialog-Cy2XyjYT.js → SaveModuleDialog-DPo3Raon.js} +8 -8
  21. package/dist/{SnapshotHistory-cfxmOsJu.js → SnapshotHistory-m7brKV7C.js} +10 -10
  22. package/dist/{TemplateScoringPanel-CZ62rGHz.js → TemplateScoringPanel-C8VOC6gn.js} +15 -15
  23. package/dist/{TestEmailModal-sr1MaMVX.js → TestEmailModal-BE9sFEIl.js} +6 -6
  24. package/dist/{TitleEditor-CvGTprIg.js → TitleEditor-BATN-k-Q.js} +38 -35
  25. package/dist/{TplModal-BtKB-0Bx.js → TplModal-DHBcZ1gq.js} +5 -5
  26. package/dist/{blockTypeIcons-BxEbbev5.js → blockTypeIcons-wRchKKx0.js} +7 -7
  27. package/dist/bundle-stats.json +7 -7
  28. package/dist/ca-B3eR47lE.js +559 -0
  29. package/dist/cdn/chunks/{AiFeatureMenu-fDUpv_-s.js → AiFeatureMenu-W7VQFAwq.js} +6 -6
  30. package/dist/cdn/chunks/{AiFeatureMenu-fDUpv_-s.js.map → AiFeatureMenu-W7VQFAwq.js.map} +1 -1
  31. package/dist/cdn/chunks/{BlockIssueBadge-Byce0j0W.js → BlockIssueBadge-ww2vNIfJ.js} +5 -5
  32. package/dist/cdn/chunks/{BlockIssueBadge-Byce0j0W.js.map → BlockIssueBadge-ww2vNIfJ.js.map} +1 -1
  33. package/dist/cdn/chunks/{CloudEditor-B4m8ldiE.js → CloudEditor-BVSJ1kvB.js} +161 -161
  34. package/dist/cdn/chunks/{CloudEditor-B4m8ldiE.js.map → CloudEditor-BVSJ1kvB.js.map} +1 -1
  35. package/dist/cdn/chunks/{CollaboratorBar-LnLmjxw_.js → CollaboratorBar-BFrAua9a.js} +4 -4
  36. package/dist/cdn/chunks/{CollaboratorBar-LnLmjxw_.js.map → CollaboratorBar-BFrAua9a.js.map} +1 -1
  37. package/dist/cdn/chunks/ColorPicker-DmxMDn-t.js +439 -0
  38. package/dist/cdn/chunks/ColorPicker-DmxMDn-t.js.map +1 -0
  39. package/dist/cdn/chunks/{CountdownBlock-DxTuMRBM.js → CountdownBlock-MC-mhtQD.js} +3 -3
  40. package/dist/cdn/chunks/{CountdownBlock-DxTuMRBM.js.map → CountdownBlock-MC-mhtQD.js.map} +1 -1
  41. package/dist/cdn/chunks/{CountdownToolbar-DUrVfQZH.js → CountdownToolbar-dXyr7tz-.js} +5 -5
  42. package/dist/cdn/chunks/{CountdownToolbar-DUrVfQZH.js.map → CountdownToolbar-dXyr7tz-.js.map} +1 -1
  43. package/dist/cdn/chunks/{IssuesPanel-CHl90k4h.js → IssuesPanel-CTxSgViL.js} +8 -8
  44. package/dist/cdn/chunks/{IssuesPanel-CHl90k4h.js.map → IssuesPanel-CTxSgViL.js.map} +1 -1
  45. package/dist/cdn/chunks/{MergeTagSuggestion-BsCAo4Co.js → MergeTagSuggestion-jesxS7An.js} +3 -3
  46. package/dist/cdn/chunks/{MergeTagSuggestion-BsCAo4Co.js.map → MergeTagSuggestion-jesxS7An.js.map} +1 -1
  47. package/dist/cdn/chunks/{ModuleBrowserModal-DW0iQW0J.js → ModuleBrowserModal-B5sCsrud.js} +9 -9
  48. package/dist/cdn/chunks/{ModuleBrowserModal-DW0iQW0J.js.map → ModuleBrowserModal-B5sCsrud.js.map} +1 -1
  49. package/dist/cdn/chunks/{ModulePreviewCanvas-Cxo8v8t1.js → ModulePreviewCanvas-DGTGo8kg.js} +11 -11
  50. package/dist/cdn/chunks/{ModulePreviewCanvas-Cxo8v8t1.js.map → ModulePreviewCanvas-DGTGo8kg.js.map} +1 -1
  51. package/dist/cdn/chunks/NumberWithSuffix-tAHfui6k.js +91 -0
  52. package/dist/cdn/chunks/NumberWithSuffix-tAHfui6k.js.map +1 -0
  53. package/dist/cdn/chunks/{ParagraphEditor-iG5cDjH0.js → ParagraphEditor-CB5FGRs3.js} +213 -179
  54. package/dist/cdn/chunks/ParagraphEditor-CB5FGRs3.js.map +1 -0
  55. package/dist/cdn/chunks/{RichTextEditorContent-DQpgeGMj.js → RichTextEditorContent-CPelbtck.js} +53 -42
  56. package/dist/cdn/chunks/RichTextEditorContent-CPelbtck.js.map +1 -0
  57. package/dist/cdn/chunks/{SaveModuleDialog-sJQXg2Mh.js → SaveModuleDialog-7f9uUUEC.js} +6 -6
  58. package/dist/cdn/chunks/{SaveModuleDialog-sJQXg2Mh.js.map → SaveModuleDialog-7f9uUUEC.js.map} +1 -1
  59. package/dist/cdn/chunks/{TitleEditor-C8qIn9Oi.js → TitleEditor-C0mYpgs4.js} +46 -43
  60. package/dist/cdn/chunks/TitleEditor-C0mYpgs4.js.map +1 -0
  61. package/dist/cdn/chunks/{blockTypeIcons-DySnOpPo.js → blockTypeIcons-BtxaUtlx.js} +5 -5
  62. package/dist/cdn/chunks/{blockTypeIcons-DySnOpPo.js.map → blockTypeIcons-BtxaUtlx.js.map} +1 -1
  63. package/dist/cdn/chunks/ca-B3eR47lE.js +561 -0
  64. package/dist/cdn/chunks/ca-B3eR47lE.js.map +1 -0
  65. package/dist/cdn/chunks/ca-CNRWAMHI.js +89 -0
  66. package/dist/cdn/chunks/ca-CNRWAMHI.js.map +1 -0
  67. package/dist/{de-LsV0u1tP.js → cdn/chunks/de-Cy8FB-Ii.js} +7 -1
  68. package/dist/cdn/chunks/de-Cy8FB-Ii.js.map +1 -0
  69. package/dist/cdn/chunks/{draggable-kG-D5Xsm.js → draggable-D840DIZB.js} +52 -39
  70. package/dist/cdn/chunks/draggable-D840DIZB.js.map +1 -0
  71. package/dist/{en-Bb8X1bOs.js → cdn/chunks/en-Bu-zS_5o.js} +7 -1
  72. package/dist/cdn/chunks/en-Bu-zS_5o.js.map +1 -0
  73. package/dist/cdn/chunks/es-CD3ZD6hK.js +561 -0
  74. package/dist/cdn/chunks/es-CD3ZD6hK.js.map +1 -0
  75. package/dist/cdn/chunks/es-OgkdMZGX.js +89 -0
  76. package/dist/cdn/chunks/es-OgkdMZGX.js.map +1 -0
  77. package/dist/cdn/chunks/{extensions-C2pTX899.js → extensions-BJ7vaBol.js} +28 -28
  78. package/dist/cdn/chunks/{extensions-C2pTX899.js.map → extensions-BJ7vaBol.js.map} +1 -1
  79. package/dist/cdn/chunks/{features-CHE3YjQE.js → features-CgbSSCgv.js} +602 -566
  80. package/dist/cdn/chunks/features-CgbSSCgv.js.map +1 -0
  81. package/dist/cdn/chunks/{icons-M4uqBV-_.js → icons-Dlx5MT1V.js} +2 -2
  82. package/dist/cdn/chunks/{icons-M4uqBV-_.js.map → icons-Dlx5MT1V.js.map} +1 -1
  83. package/dist/cdn/chunks/{media-library-Bqr15VN2.js → media-library-BMlykZGq.js} +104 -104
  84. package/dist/cdn/chunks/{media-library-Bqr15VN2.js.map → media-library-BMlykZGq.js.map} +1 -1
  85. package/dist/{pt-BR-BwJY_cvb.js → cdn/chunks/pt-BR-CgICL-CQ.js} +7 -1
  86. package/dist/cdn/chunks/pt-BR-CgICL-CQ.js.map +1 -0
  87. package/dist/cdn/chunks/quality-DsVgXk_j.js +2180 -0
  88. package/dist/cdn/chunks/quality-DsVgXk_j.js.map +1 -0
  89. package/dist/cdn/chunks/{renderer-CyzTR1Vq.js → renderer-DPvEtVGO.js} +35 -38
  90. package/dist/cdn/chunks/renderer-DPvEtVGO.js.map +1 -0
  91. package/dist/cdn/chunks/{src-q-SBgWx7.js → src-CAdirukY.js} +109 -112
  92. package/dist/cdn/chunks/{src-q-SBgWx7.js.map → src-CAdirukY.js.map} +1 -1
  93. package/dist/cdn/chunks/{styles-PWISdaws.js → styles-D7u4vCpH.js} +877 -856
  94. package/dist/cdn/chunks/styles-D7u4vCpH.js.map +1 -0
  95. package/dist/cdn/chunks/{tiptap-DF9PEiqH.js → tiptap-zpXk5mN4.js} +3278 -4992
  96. package/dist/cdn/chunks/tiptap-zpXk5mN4.js.map +1 -0
  97. package/dist/cdn/editor.css +1 -1
  98. package/dist/cdn/editor.js +75 -73
  99. package/dist/cdn/editor.js.map +1 -1
  100. package/dist/{check-rl7ok6uJ.js → check-D1zYtCPK.js} +1 -1
  101. package/dist/{chevron-down-BKe__NOD.js → chevron-down-ByXpufZD.js} +1 -1
  102. package/dist/{circle-alert-C8xmpMsK.js → circle-alert-CjcAORUw.js} +1 -1
  103. package/dist/{clock-BW4JuDCN.js → clock-5lWLadUn.js} +1 -1
  104. package/dist/{cloud-BQusL53H.js → cloud-BogxOeZu.js} +2 -2
  105. package/dist/{createLucideIcon-Dx-EjR9r.js → createLucideIcon-Bh9xOmlW.js} +3 -3
  106. package/dist/{cdn/chunks/de-LsV0u1tP.js → de-Cy8FB-Ii.js} +5 -3
  107. package/dist/dist-BE9m_i60.js +5 -0
  108. package/dist/{dist-BFmE-7hB.js → dist-BPPeDw62.js} +2 -2
  109. package/dist/{dist-BsCGIDSt.js → dist-BReUTadj.js} +4 -4
  110. package/dist/dist-BXR1aBJV.js +5 -0
  111. package/dist/{dist-CRsjOQM-.js → dist-Bm07Z3Es.js} +2 -2
  112. package/dist/{dist-BEWiuOMi.js → dist-CFOQvhSC.js} +3 -3
  113. package/dist/{dist-B5Sov3sS.js → dist-CHLoeloJ.js} +2 -2
  114. package/dist/{dist-COG3IdPK.js → dist-D1WmF8BF.js} +2 -2
  115. package/dist/{dist-itdjZraK.js → dist-D9g4CSnm.js} +1 -1
  116. package/dist/{dist-BMoa33wT.js → dist-DGEaAAIb.js} +2 -2
  117. package/dist/{dist-CTT6WYJ6.js → dist-DYv_Pttj.js} +2 -2
  118. package/dist/{dist-CQZxDvFw.js → dist-DcKlLQ8d.js} +2 -2
  119. package/dist/{dist-SXJJ2v41.js → dist-DhY2di4U.js} +2 -2
  120. package/dist/{dist-BibU4HNl.js → dist-DoRIUsfz.js} +2 -3
  121. package/dist/dist-i_Z7t67A.js +2594 -0
  122. package/dist/{cdn/chunks/en-Bb8X1bOs.js → en-Bu-zS_5o.js} +5 -3
  123. package/dist/es-CD3ZD6hK.js +559 -0
  124. package/dist/{extensions-DwaZAqm6.js → extensions-B2poxDIo.js} +8 -8
  125. package/dist/{image-up-BwBCmQ4P.js → image-up-Bj_nes3f.js} +1 -1
  126. package/dist/{info-TCn7uWR5.js → info-BhSQCxBV.js} +1 -1
  127. package/dist/{keys-Cv8-8GsD.js → keys-BbDgCU6K.js} +1 -1
  128. package/dist/{list-checks-CSrOWNgq.js → list-checks-CgxyUg7i.js} +1 -1
  129. package/dist/{loader-circle-BLmicnPG.js → loader-circle-DFU0HPAa.js} +1 -1
  130. package/dist/{message-circle-C9hHMQCI.js → message-circle-BEBsCHnk.js} +1 -1
  131. package/dist/{cdn/chunks/pt-BR-BwJY_cvb.js → pt-BR-CgICL-CQ.js} +5 -3
  132. package/dist/{refresh-cw-D1JQ1LNa.js → refresh-cw--lvWGy0_.js} +1 -1
  133. package/dist/{runtime-dom.esm-bundler-BzuoCyNp.js → runtime-dom.esm-bundler-GdMI8WqG.js} +6 -7
  134. package/dist/{scan-line-DgijVq9y.js → scan-line-QgyDIgn_.js} +1 -1
  135. package/dist/{send-DjPdq69F.js → send-BMyisUim.js} +1 -1
  136. package/dist/{shield-check-Bqluu8FS.js → shield-check-C49M20le.js} +1 -1
  137. package/dist/{sparkles-M4azPVSP.js → sparkles-DV7Dman6.js} +1 -1
  138. package/dist/style.css +1 -1
  139. package/dist/{styles-B2OrgEnn.js → styles-B-yhoJnH.js} +537 -516
  140. package/dist/templatical-editor.js +62 -60
  141. package/dist/{text-align-start-CMya5pCQ.js → text-align-start-BMU70uAm.js} +1 -1
  142. package/dist/{trash-2-C-81rkLS.js → trash-2-B6M659Ey.js} +1 -1
  143. package/dist/{triangle-alert-BuRWnynk.js → triangle-alert-D1lzx6ds.js} +1 -1
  144. package/dist/{upload-CWBIoLd4.js → upload-3A1oZtOR.js} +1 -1
  145. package/dist/{useAliveFlag-CECL_OUb.js → useAliveFlag-C43EhZFY.js} +1 -1
  146. package/dist/{useCloudI18n-AKCy98qD.js → useCloudI18n-WbfVWq5k.js} +2 -2
  147. package/dist/{useEditorCore-DJeOXVxQ.js → useEditorCore-CV1ct_17.js} +628 -591
  148. package/dist/{useI18n-C-TDeJBt.js → useI18n-eR1yVW0v.js} +2 -2
  149. package/dist/{useMergeTag-DSrBY0-2.js → useMergeTag-C3GfSktg.js} +3 -3
  150. package/dist/usePopoverRoot-C1j0D7cc.js +8 -0
  151. package/dist/{vue.runtime.esm-bundler-l0XAqiyv.js → vue.runtime.esm-bundler-B0xoGkDv.js} +84 -70
  152. package/dist/{x-CQSvXnGR.js → x-CG_NV3nP.js} +1 -1
  153. package/package.json +23 -23
  154. package/dist/NumberWithSuffix-CrA6quxx.js +0 -445
  155. package/dist/cdn/chunks/NumberWithSuffix-CnSRmUMK.js +0 -444
  156. package/dist/cdn/chunks/NumberWithSuffix-CnSRmUMK.js.map +0 -1
  157. package/dist/cdn/chunks/ParagraphEditor-iG5cDjH0.js.map +0 -1
  158. package/dist/cdn/chunks/RichTextEditorContent-DQpgeGMj.js.map +0 -1
  159. package/dist/cdn/chunks/TitleEditor-C8qIn9Oi.js.map +0 -1
  160. package/dist/cdn/chunks/de-LsV0u1tP.js.map +0 -1
  161. package/dist/cdn/chunks/draggable-kG-D5Xsm.js.map +0 -1
  162. package/dist/cdn/chunks/en-Bb8X1bOs.js.map +0 -1
  163. package/dist/cdn/chunks/features-CHE3YjQE.js.map +0 -1
  164. package/dist/cdn/chunks/pt-BR-BwJY_cvb.js.map +0 -1
  165. package/dist/cdn/chunks/quality-DJZ_fqc2.js +0 -2176
  166. package/dist/cdn/chunks/quality-DJZ_fqc2.js.map +0 -1
  167. package/dist/cdn/chunks/renderer-CyzTR1Vq.js.map +0 -1
  168. package/dist/cdn/chunks/styleConstants-lGobwiLH.js +0 -57
  169. package/dist/cdn/chunks/styleConstants-lGobwiLH.js.map +0 -1
  170. package/dist/cdn/chunks/styles-PWISdaws.js.map +0 -1
  171. package/dist/cdn/chunks/tiptap-DF9PEiqH.js.map +0 -1
  172. package/dist/dist-CNLKj9wa.js +0 -5
  173. package/dist/dist-CNXDNYQn.js +0 -4311
  174. package/dist/dist-Cqa6aeAJ.js +0 -5
  175. package/dist/styleConstants-lGobwiLH.js +0 -55
  176. package/dist/usePopoverRoot-DKUDnr55.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 T, b as E, c as ee, 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-kG-D5Xsm.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-D840DIZB.js";
3
3
  //#region src/constants/timeouts.ts
4
4
  var ue = 3e4, de = 4e3, fe = 5e3, pe = {
5
5
  1: 36,
@@ -122,7 +122,6 @@ function De(e) {
122
122
  var Oe = {
123
123
  content: "<p>Enter your title</p>",
124
124
  level: 2,
125
- color: "#1a1a1a",
126
125
  textAlign: "left"
127
126
  }, ke = { content: "<p>Enter your text here</p>" }, Ae = {
128
127
  src: "",
@@ -160,7 +159,6 @@ var Oe = {
160
159
  align: "center"
161
160
  }, Ie = { height: 24 }, Le = { content: "" }, Re = {
162
161
  fontSize: 15,
163
- color: "#1a1a1a",
164
162
  textAlign: "center",
165
163
  separator: "|",
166
164
  separatorColor: "#e0e0e0",
@@ -171,7 +169,6 @@ var Oe = {
171
169
  borderWidth: 1,
172
170
  cellPadding: 8,
173
171
  fontSize: 15,
174
- color: "#1a1a1a",
175
172
  textAlign: "left"
176
173
  }, Be = {
177
174
  targetDate: "",
@@ -196,6 +193,8 @@ var Oe = {
196
193
  }, Ve = {
197
194
  width: 600,
198
195
  backgroundColor: "#ffffff",
196
+ textColor: "#1a1a1a",
197
+ linkUnderline: !0,
199
198
  fontFamily: "Arial",
200
199
  locale: "en"
201
200
  };
@@ -828,7 +827,7 @@ function Ft(e) {
828
827
  o = null, c() && !s && n() && r(JSON.parse(JSON.stringify(t.value)));
829
828
  }, i));
830
829
  }
831
- let m = T(t, () => {
830
+ let m = ee(t, () => {
832
831
  c() && !s && n() && p();
833
832
  }, { deep: !0 });
834
833
  function h() {
@@ -911,7 +910,7 @@ function Rt(e, t) {
911
910
  };
912
911
  }
913
912
  //#endregion
914
- //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.39_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
913
+ //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.40_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
915
914
  function zt(e, t) {
916
915
  return s() ? (l(e, t), !0) : !1;
917
916
  }
@@ -1070,7 +1069,7 @@ function pn(e, t, n) {
1070
1069
  });
1071
1070
  }
1072
1071
  //#endregion
1073
- //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.39_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
1072
+ //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.40_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
1074
1073
  var mn = Ut ? window : void 0, hn = Ut ? window.document : void 0, gn = Ut ? window.navigator : void 0;
1075
1074
  function K(e) {
1076
1075
  let t = P(e);
@@ -1565,7 +1564,7 @@ function Cr(e) {
1565
1564
  o || l();
1566
1565
  async function l() {
1567
1566
  try {
1568
- let t = await import("./quality-DJZ_fqc2.js").then((e) => e.t);
1567
+ let t = await import("./quality-DsVgXk_j.js").then((e) => e.t);
1569
1568
  if (c) return;
1570
1569
  a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = fn(e.content, u, {
1571
1570
  debounce: e.debounce ?? 500,
@@ -2049,7 +2048,7 @@ function Qr() {
2049
2048
  return v(Zr, {});
2050
2049
  }
2051
2050
  //#endregion
2052
- //#region ../../node_modules/.pnpm/@lucide+vue@1.24.0_vue@3.5.39_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
2051
+ //#region ../../node_modules/.pnpm/@lucide+vue@1.24.0_vue@3.5.40_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
2053
2052
  var $r = ({ name: e, iconNode: t, "icon-node": n, absoluteStrokeWidth: r, "absolute-stroke-width": i, strokeWidth: o, "stroke-width": s, size: c, color: l, ...u }, { slots: d }) => {
2054
2053
  let { size: f, color: p, strokeWidth: m = 2, absoluteStrokeWidth: h = !1, class: g = "" } = Qr(), _ = O(() => {
2055
2054
  let e = Gr(r) || Gr(i) || r === !0 || i === !0 || h === !0, t = o || s || m || Xr["stroke-width"];
@@ -2930,22 +2929,53 @@ function fa(e, t, n) {
2930
2929
  e.chain().focus().insertContentAt(a, [r, i]).setTextSelection(a + 1).run();
2931
2930
  }
2932
2931
  //#endregion
2933
- //#region src/composables/useRichTextLinkDialog.ts
2932
+ //#region src/utils/linkColorExtension.ts
2934
2933
  function pa(e) {
2935
- let t = C(!1), n = C(""), r = C(null);
2936
- Qi(r, t);
2937
- function i() {
2938
- let r = e.value?.getAttributes("link").href || "";
2939
- n.value = r, t.value = !0;
2940
- }
2934
+ if (!e) return null;
2935
+ let t = e.trim();
2936
+ return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
2937
+ }
2938
+ function ma(e) {
2939
+ let t = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(e.trim());
2940
+ if (!t) return e;
2941
+ let n = (e) => Number(e).toString(16).padStart(2, "0");
2942
+ return `#${n(t[1])}${n(t[2])}${n(t[3])}`;
2943
+ }
2944
+ function ha(e) {
2945
+ return e.extend({ addAttributes() {
2946
+ return {
2947
+ ...this.parent?.(),
2948
+ color: {
2949
+ default: null,
2950
+ parseHTML: (e) => pa(ma(e.style.color)),
2951
+ renderHTML: (e) => {
2952
+ let t = pa(e.color);
2953
+ return t ? { style: `color: ${t}` } : {};
2954
+ }
2955
+ }
2956
+ };
2957
+ } });
2958
+ }
2959
+ //#endregion
2960
+ //#region src/composables/useRichTextLinkDialog.ts
2961
+ function ga(e) {
2962
+ let t = C(!1), n = C(""), r = C(""), i = C(null);
2963
+ Qi(i, t);
2941
2964
  function a() {
2965
+ let i = e.value?.getAttributes("link") ?? {};
2966
+ n.value = i.href || "", r.value = i.color || "", t.value = !0;
2967
+ }
2968
+ function o() {
2942
2969
  if (n.value) {
2943
- let t = s(n.value);
2944
- t !== null && e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).run();
2970
+ let t = c(n.value);
2971
+ if (t !== null) {
2972
+ let n = pa(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
2973
+ n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
2974
+ }
2945
2975
  }
2946
- l();
2976
+ u();
2947
2977
  }
2948
- let o = /* @__PURE__ */ new Set([
2978
+ let s = /* @__PURE__ */ new Set([
2949
2979
  "http",
2950
2980
  "https",
2951
2981
  "mailto",
@@ -2956,39 +2986,40 @@ function pa(e) {
2956
2986
  "xmpp",
2957
2987
  "cid"
2958
2988
  ]);
2959
- function s(e) {
2989
+ function c(e) {
2960
2990
  let t = e.trim();
2961
2991
  if (!t) return null;
2962
2992
  if (t.startsWith("#")) return t;
2963
2993
  let n = /^([a-z][a-z0-9+.-]*):/i.exec(t);
2964
- return n ? o.has(n[1].toLowerCase()) ? t : null : `https://${t}`;
2965
- }
2966
- function c() {
2967
- e.value?.chain().focus().extendMarkRange("link").unsetLink().run(), l();
2994
+ return n ? s.has(n[1].toLowerCase()) ? t : null : `https://${t}`;
2968
2995
  }
2969
2996
  function l() {
2970
- t.value = !1, n.value = "";
2997
+ e.value?.chain().focus().extendMarkRange("link").unsetLink().run(), u();
2971
2998
  }
2972
- function u(e) {
2973
- e.key === "Enter" ? (e.preventDefault(), a()) : e.key === "Escape" && l();
2999
+ function u() {
3000
+ t.value = !1, n.value = "", r.value = "";
3001
+ }
3002
+ function d(e) {
3003
+ e.key === "Enter" ? (e.preventDefault(), o()) : e.key === "Escape" && u();
2974
3004
  }
2975
3005
  return {
2976
3006
  showLinkDialog: t,
2977
3007
  linkUrl: n,
2978
- linkDialogRef: r,
2979
- openLinkDialog: i,
2980
- insertLink: a,
2981
- removeLink: c,
2982
- closeLinkDialog: l,
2983
- handleLinkKeydown: u
3008
+ linkColor: r,
3009
+ linkDialogRef: i,
3010
+ openLinkDialog: a,
3011
+ insertLink: o,
3012
+ removeLink: l,
3013
+ closeLinkDialog: u,
3014
+ handleLinkKeydown: d
2984
3015
  };
2985
3016
  }
2986
3017
  //#endregion
2987
3018
  //#region src/composables/useRichTextEditor.ts
2988
- function ma(e) {
2989
- let t = v(zn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = na(), { canInsertLogicTag: l, isRequesting: d, requestLogicTag: f } = la(), p = v(Rn, null), m = (u(p) ? p.value : p)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", h = mt(s), g = n(null), { showLinkDialog: _, linkUrl: y, linkDialogRef: b, openLinkDialog: x, insertLink: S, removeLink: w, closeLinkDialog: T, handleLinkKeydown: E } = pa(g), { start: ee, stop: D } = un(() => g.value?.commands.focus("end"), 0, { immediate: !1 }), te = n(null), ne = C(!0), O = C(null), k = !1;
2990
- async function A() {
2991
- O.value = null, ne.value = !0;
3019
+ function _a(e) {
3020
+ let t = v(zn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = na(), { canInsertLogicTag: l, isRequesting: d, requestLogicTag: f } = la(), p = v(Rn, null), m = (u(p) ? p.value : p)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", h = mt(s), g = n(null), { showLinkDialog: _, linkUrl: y, linkColor: b, linkDialogRef: x, openLinkDialog: S, insertLink: w, removeLink: ee, closeLinkDialog: T, handleLinkKeydown: E } = ga(g), { start: D, stop: te } = un(() => g.value?.commands.focus("end"), 0, { immediate: !1 }), ne = n(null), O = C(!0), k = C(null), A = !1;
3021
+ async function j() {
3022
+ k.value = null, O.value = !0;
2992
3023
  try {
2993
3024
  let { TiptapEditor: n, EC: i, extensions: a } = await e.loadExtensions({
2994
3025
  mergeTags: r,
@@ -2997,8 +3028,8 @@ function ma(e) {
2997
3028
  autocompleteEnabled: c,
2998
3029
  suggestionEmptyText: m
2999
3030
  });
3000
- if (k) return;
3001
- te.value = i;
3031
+ if (A) return;
3032
+ ne.value = i;
3002
3033
  let o = /* @__PURE__ */ new Map();
3003
3034
  a.forEach((e, t) => o.set(e.name, t));
3004
3035
  let l = new n({
@@ -3006,74 +3037,78 @@ function ma(e) {
3006
3037
  content: e.blockContent(),
3007
3038
  editable: !0,
3008
3039
  onUpdate: ({ editor: n }) => {
3009
- k || t && t.updateBlock(e.blockId(), { content: n.getHTML() });
3040
+ A || t && t.updateBlock(e.blockId(), { content: n.getHTML() });
3010
3041
  }
3011
3042
  });
3012
- if (k) {
3043
+ if (A) {
3013
3044
  l.destroy();
3014
3045
  return;
3015
3046
  }
3016
- g.value = l, ne.value = !1, ee();
3047
+ g.value = l, O.value = !1, D();
3017
3048
  } catch (t) {
3018
- if (k) return;
3019
- jr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), O.value = t instanceof Error ? t.message : "Failed to load editor", ne.value = !1;
3049
+ if (A) return;
3050
+ jr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), k.value = t instanceof Error ? t.message : "Failed to load editor", O.value = !1;
3020
3051
  }
3021
3052
  }
3022
- function j() {
3023
- g.value?.destroy(), g.value = null, A();
3053
+ function M() {
3054
+ g.value?.destroy(), g.value = null, j();
3024
3055
  }
3025
- A();
3026
- let M = H(() => e.blockContent(), (e) => {
3056
+ j();
3057
+ let N = H(() => e.blockContent(), (e) => {
3027
3058
  g.value && g.value.getHTML() !== e && g.value.commands.setContent(e, { emitUpdate: !1 });
3028
3059
  });
3029
- function N(t) {
3060
+ function ie(t) {
3030
3061
  if (a.value || d.value) return;
3031
- let n = t.composedPath().find((e) => e instanceof HTMLElement);
3032
- n && (e.onClickOutsideSideEffect?.(n), !(n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog")) && e.onDone());
3033
- }
3034
- q(document, "mousedown", N), re(() => {
3035
- k = !0, M(), D(), g.value?.destroy();
3062
+ let n = t.composedPath(), r = n.find((e) => e instanceof HTMLElement);
3063
+ if (!r) return;
3064
+ e.onClickOutsideSideEffect?.(r);
3065
+ let i = n.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
3066
+ r.closest(".tpl-text-editor-wrapper") || r.closest(".tpl-text-toolbar") || r.closest(".tpl-link-dialog") || i || e.onDone();
3067
+ }
3068
+ q(document, "mousedown", ie), re(() => {
3069
+ A = !0, N(), te(), g.value?.destroy();
3036
3070
  });
3037
- async function ie() {
3071
+ async function P() {
3038
3072
  let e = await o();
3039
- k || (e && g.value ? g.value.chain().focus().insertMergeTag({
3073
+ A || (e && g.value ? g.value.chain().focus().insertMergeTag({
3040
3074
  label: e.label,
3041
3075
  value: e.value
3042
3076
  }).run() : g.value?.commands.focus());
3043
3077
  }
3044
- async function P() {
3078
+ async function ae() {
3045
3079
  let e = await f();
3046
- k || (e && g.value ? fa(g.value, e, s) : g.value?.commands.focus());
3080
+ A || (e && g.value ? fa(g.value, e, s) : g.value?.commands.focus());
3047
3081
  }
3048
3082
  return {
3049
3083
  editor: g,
3050
- EditorContent: te,
3051
- isLoading: ne,
3052
- initError: O,
3053
- retry: j,
3084
+ EditorContent: ne,
3085
+ isLoading: O,
3086
+ initError: k,
3087
+ retry: M,
3054
3088
  showLinkDialog: _,
3055
3089
  linkUrl: y,
3056
- linkDialogRef: b,
3090
+ linkColor: b,
3091
+ linkDialogRef: x,
3057
3092
  mergeTags: r,
3058
3093
  canRequestMergeTag: i,
3059
3094
  isRequestingMergeTag: a,
3060
3095
  syntax: s,
3061
3096
  canInsertLogicTag: l,
3062
3097
  isRequestingLogicTag: d,
3063
- openLinkDialog: x,
3064
- insertLink: S,
3065
- removeLink: w,
3098
+ openLinkDialog: S,
3099
+ insertLink: w,
3100
+ removeLink: ee,
3066
3101
  closeLinkDialog: T,
3067
3102
  handleLinkKeydown: E,
3068
- handleAddMergeTag: ie,
3069
- handleAddLogicTag: P
3103
+ handleAddMergeTag: P,
3104
+ handleAddLogicTag: ae
3070
3105
  };
3071
3106
  }
3072
3107
  //#endregion
3073
3108
  //#region src/composables/useSmallScreenNotice.ts
3074
- var ha = "(max-width: 767px)";
3075
- function ga(e) {
3076
- let t = wn(ha);
3109
+ var va = "(max-width: 767px)";
3110
+ function ya(e) {
3111
+ let t = wn(va);
3077
3112
  return {
3078
3113
  isSmallScreen: t,
3079
3114
  showNotice: O(() => (P(e) ?? !0) && t.value)
@@ -3081,20 +3116,20 @@ function ga(e) {
3081
3116
  }
3082
3117
  //#endregion
3083
3118
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
3084
- var _a = { class: "tpl:w-full" }, va = {
3119
+ var ba = { class: "tpl:w-full" }, xa = {
3085
3120
  key: 0,
3086
3121
  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)]"
3087
- }, ya = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ba = {
3122
+ }, Sa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ca = {
3088
3123
  key: 1,
3089
3124
  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)]"
3090
- }, xa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Sa = {
3125
+ }, wa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ta = {
3091
3126
  key: 2,
3092
3127
  class: "tpl:relative"
3093
- }, Ca = ["innerHTML"], wa = {
3128
+ }, Ea = ["innerHTML"], Da = {
3094
3129
  key: 0,
3095
3130
  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]",
3096
3131
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
3097
- }, Ta = /* @__PURE__ */ B({
3132
+ }, Oa = /* @__PURE__ */ B({
3098
3133
  __name: "CustomBlock",
3099
3134
  props: {
3100
3135
  block: {},
@@ -3128,10 +3163,10 @@ var _a = { class: "tpl:w-full" }, va = {
3128
3163
  g();
3129
3164
  }), H(() => n.block.fieldValues, () => {
3130
3165
  _();
3131
- }, { deep: !0 }), (e, t) => (f(), k("div", _a, [u.value ? c.value ? (f(), k("div", ba, [V(j(Ii), {
3166
+ }, { deep: !0 }), (e, t) => (f(), k("div", ba, [u.value ? c.value ? (f(), k("div", Ca, [V(j(Ii), {
3132
3167
  size: 24,
3133
3168
  class: "tpl:text-[var(--tpl-danger)]"
3134
- }), I("span", xa, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", Sa, [I("div", { innerHTML: s.value }, null, 8, Ca), j(h) && j(m) ? (f(), k("div", wa, [j(d) ? (f(), N(Yi, {
3169
+ }), I("span", wa, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", Ta, [I("div", { innerHTML: s.value }, null, 8, Ea), j(h) && j(m) ? (f(), k("div", Da, [j(d) ? (f(), N(Yi, {
3135
3170
  key: 1,
3136
3171
  class: "tpl:w-48"
3137
3172
  })) : (f(), k("button", {
@@ -3143,12 +3178,12 @@ var _a = { class: "tpl:w-full" }, va = {
3143
3178
  key: 0,
3144
3179
  icon: l.value.icon,
3145
3180
  size: 16
3146
- }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", va, [V(j(Ti), {
3181
+ }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", xa, [V(j(Ti), {
3147
3182
  size: 24,
3148
3183
  class: "tpl:text-[var(--tpl-warning)]"
3149
- }), I("span", ya, D(j(a).customBlocks.definitionNotFound), 1)]))]));
3184
+ }), I("span", Sa, D(j(a).customBlocks.definitionNotFound), 1)]))]));
3150
3185
  }
3151
- }), Ea = { class: "tpl:w-full" }, Da = /* @__PURE__ */ B({
3186
+ }), ka = { class: "tpl:w-full" }, Aa = /* @__PURE__ */ B({
3152
3187
  __name: "DividerBlock",
3153
3188
  props: {
3154
3189
  block: {},
@@ -3160,18 +3195,18 @@ var _a = { class: "tpl:w-full" }, va = {
3160
3195
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
3161
3196
  margin: t.block.width === "full" ? "0" : "0 auto"
3162
3197
  }));
3163
- return (e, t) => (f(), k("div", Ea, [I("hr", {
3198
+ return (e, t) => (f(), k("div", ka, [I("hr", {
3164
3199
  class: "tpl:m-0 tpl:border-none",
3165
3200
  style: L(n.value)
3166
3201
  }, null, 4)]));
3167
3202
  }
3168
- }), Oa = { class: "tpl:w-full" }, ka = { 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)]" }, Aa = {
3203
+ }), ja = { class: "tpl:w-full" }, Ma = { 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)]" }, Na = {
3169
3204
  key: 0,
3170
3205
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
3171
- }, ja = {
3206
+ }, Pa = {
3172
3207
  key: 1,
3173
3208
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
3174
- }, Ma = /* @__PURE__ */ B({
3209
+ }, Fa = /* @__PURE__ */ B({
3175
3210
  __name: "HtmlBlock",
3176
3211
  props: {
3177
3212
  block: {},
@@ -3179,15 +3214,15 @@ var _a = { class: "tpl:w-full" }, va = {
3179
3214
  },
3180
3215
  setup(e) {
3181
3216
  let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
3182
- return (e, t) => (f(), k("div", Oa, [I("div", ka, [V(j(ui), {
3217
+ return (e, t) => (f(), k("div", ja, [I("div", Ma, [V(j(ui), {
3183
3218
  size: 24,
3184
3219
  class: "tpl:text-[var(--tpl-text-dim)]"
3185
- }), r.value ? (f(), k("span", Aa, D(j(n).html.preview), 1)) : (f(), k("span", ja, D(j(n).html.empty), 1))])]));
3220
+ }), r.value ? (f(), k("span", Na, D(j(n).html.preview), 1)) : (f(), k("span", Pa, D(j(n).html.empty), 1))])]));
3186
3221
  }
3187
3222
  });
3188
3223
  //#endregion
3189
3224
  //#region src/composables/useAliveFlag.ts
3190
- function Na() {
3225
+ function Ia() {
3191
3226
  let e = { alive: !0 };
3192
3227
  return re(() => {
3193
3228
  e.alive = !1;
@@ -3195,13 +3230,13 @@ function Na() {
3195
3230
  }
3196
3231
  //#endregion
3197
3232
  //#region src/composables/useImageDrop.ts
3198
- var Pa = "image/";
3199
- function Fa(e) {
3233
+ var La = "image/";
3234
+ function Ra(e) {
3200
3235
  let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } = Dn(t, {
3201
3236
  preventDefaultForUnhandled: !0,
3202
3237
  onDrop: (e) => {
3203
3238
  if (!i()) return;
3204
- let t = (e ?? []).filter((e) => e.type.startsWith(Pa));
3239
+ let t = (e ?? []).filter((e) => e.type.startsWith(La));
3205
3240
  t.length > 0 && n([t[0]]);
3206
3241
  }
3207
3242
  });
@@ -3209,17 +3244,17 @@ function Fa(e) {
3209
3244
  }
3210
3245
  //#endregion
3211
3246
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
3212
- var Ia = {
3247
+ var za = {
3213
3248
  key: 0,
3214
3249
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
3215
3250
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
3216
- }, La = ["href"], Ra = ["src", "alt"], za = ["src", "alt"], Ba = {
3251
+ }, Ba = ["href"], Va = ["src", "alt"], Ha = ["src", "alt"], Ua = {
3217
3252
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3218
3253
  style: { opacity: "0.7" }
3219
- }, Va = ["href"], Ha = ["src", "alt"], Ua = ["src", "alt"], Wa = {
3254
+ }, Wa = ["href"], Ga = ["src", "alt"], Ka = ["src", "alt"], qa = {
3220
3255
  key: 4,
3221
3256
  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)]"
3222
- }, Ga = ["aria-label"], Ka = { key: 1 }, qa = /* @__PURE__ */ B({
3257
+ }, Ja = ["aria-label"], Ya = { key: 1 }, Xa = /* @__PURE__ */ B({
3223
3258
  __name: "ImageBlock",
3224
3259
  props: {
3225
3260
  block: {},
@@ -3227,7 +3262,7 @@ var Ia = {
3227
3262
  },
3228
3263
  emits: ["update"],
3229
3264
  setup(e, { emit: t }) {
3230
- let n = e, r = t, { t: i } = Y(), { syntax: a } = na(), o = v(or, null), s = O(() => !!o), c = Na();
3265
+ let n = e, r = t, { t: i } = Y(), { syntax: a } = na(), o = v(or, null), s = O(() => !!o), c = Ia();
3231
3266
  async function l() {
3232
3267
  let e = await o?.({ accept: ["images"] });
3233
3268
  if (c.alive && e) {
@@ -3254,7 +3289,7 @@ var Ia = {
3254
3289
  }
3255
3290
  }
3256
3291
  }
3257
- let { isOver: h } = Fa({
3292
+ let { isOver: h } = Ra({
3258
3293
  target: u,
3259
3294
  enabled: p,
3260
3295
  onFiles: m
@@ -3274,7 +3309,7 @@ var Ia = {
3274
3309
  "data-testid": "image-drop-zone",
3275
3310
  class: "tpl:relative tpl:w-full",
3276
3311
  style: L(g.value)
3277
- }, [p.value && (j(h) || d.value) ? (f(), k("div", Ia, [d.value ? (f(), k(R, { key: 0 }, [V(j(xi), {
3312
+ }, [p.value && (j(h) || d.value) ? (f(), k("div", za, [d.value ? (f(), k(R, { key: 0 }, [V(j(xi), {
3278
3313
  class: "tpl-spinner",
3279
3314
  size: 20,
3280
3315
  "stroke-width": 2
@@ -3293,13 +3328,13 @@ var Ia = {
3293
3328
  src: e.block.placeholderUrl,
3294
3329
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3295
3330
  style: L(_.value)
3296
- }, null, 12, Ra)], 8, La)) : (f(), k("img", {
3331
+ }, null, 12, Va)], 8, Ba)) : (f(), k("img", {
3297
3332
  key: 1,
3298
3333
  class: "tpl:border-0",
3299
3334
  src: e.block.placeholderUrl,
3300
3335
  alt: e.block.alt,
3301
3336
  style: L(_.value)
3302
- }, null, 12, za))], 64)) : e.block.src && y.value ? (f(), k("div", {
3337
+ }, null, 12, Ha))], 64)) : e.block.src && y.value ? (f(), k("div", {
3303
3338
  key: 2,
3304
3339
  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)]",
3305
3340
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, _.value])
@@ -3308,7 +3343,7 @@ var Ia = {
3308
3343
  "stroke-width": 1.5,
3309
3344
  class: "tpl:text-[var(--tpl-primary)]",
3310
3345
  style: { opacity: "0.5" }
3311
- }), I("span", Ba, [V(Vr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), k(R, { key: 3 }, [e.block.linkUrl ? (f(), k("a", {
3346
+ }), I("span", Ua, [V(Vr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), k(R, { key: 3 }, [e.block.linkUrl ? (f(), k("a", {
3312
3347
  key: 0,
3313
3348
  href: e.block.linkUrl,
3314
3349
  target: "_blank",
@@ -3320,13 +3355,13 @@ var Ia = {
3320
3355
  src: e.block.src,
3321
3356
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3322
3357
  style: L(_.value)
3323
- }, null, 12, Ha)], 8, Va)) : (f(), k("img", {
3358
+ }, null, 12, Ga)], 8, Wa)) : (f(), k("img", {
3324
3359
  key: 1,
3325
3360
  class: "tpl:border-0",
3326
3361
  src: e.block.src,
3327
3362
  alt: e.block.alt,
3328
3363
  style: L(_.value)
3329
- }, null, 12, Ua))], 64)) : (f(), k("div", Wa, [s.value ? (f(), k("button", {
3364
+ }, null, 12, Ka))], 64)) : (f(), k("div", qa, [s.value ? (f(), k("button", {
3330
3365
  key: 0,
3331
3366
  "aria-label": j(i).image.browseMedia,
3332
3367
  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)]",
@@ -3334,12 +3369,12 @@ var Ia = {
3334
3369
  }, [V(j(yi), {
3335
3370
  size: 14,
3336
3371
  "stroke-width": 1.5
3337
- }), z(" " + D(j(i).image.browseMedia), 1)], 8, Ga)) : (f(), k("span", Ka, D(j(i).image.clickToAdd), 1))]))], 4));
3372
+ }), z(" " + D(j(i).image.browseMedia), 1)], 8, Ja)) : (f(), k("span", Ya, D(j(i).image.clickToAdd), 1))]))], 4));
3338
3373
  }
3339
- }), Ja = { class: "tpl:w-full" }, Ya = ["href"], Xa = {
3374
+ }), Za = { class: "tpl:w-full" }, Qa = ["href"], $a = {
3340
3375
  key: 1,
3341
3376
  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)]"
3342
- }, Za = /* @__PURE__ */ B({
3377
+ }, eo = /* @__PURE__ */ B({
3343
3378
  __name: "MenuBlock",
3344
3379
  props: {
3345
3380
  block: {},
@@ -3358,7 +3393,7 @@ var Ia = {
3358
3393
  function a(e) {
3359
3394
  return e || t.block.linkColor || t.block.color;
3360
3395
  }
3361
- return (t, o) => (f(), k("div", Ja, [i.value ? (f(), k("div", {
3396
+ return (t, o) => (f(), k("div", Za, [i.value ? (f(), k("div", {
3362
3397
  key: 0,
3363
3398
  style: L(r.value)
3364
3399
  }, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
@@ -3370,15 +3405,15 @@ var Ia = {
3370
3405
  textDecoration: t.underline ? "underline" : "none"
3371
3406
  }),
3372
3407
  onClick: o[0] ||= M(() => {}, ["prevent"])
3373
- }, [V(Vr, { text: t.text || "..." }, null, 8, ["text"])], 12, Ya), n < e.block.items.length - 1 ? (f(), k("span", {
3408
+ }, [V(Vr, { text: t.text || "..." }, null, 8, ["text"])], 12, Qa), n < e.block.items.length - 1 ? (f(), k("span", {
3374
3409
  key: 0,
3375
3410
  style: L({
3376
3411
  color: e.block.separatorColor,
3377
3412
  padding: `0 ${e.block.spacing}px`
3378
3413
  })
3379
- }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Xa, [V(j(Ci), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3414
+ }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", $a, [V(j(Ci), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3380
3415
  }
3381
- }), Qa = /* @__PURE__ */ new Set([
3416
+ }), to = /* @__PURE__ */ new Set([
3382
3417
  "http",
3383
3418
  "https",
3384
3419
  "mailto",
@@ -3388,7 +3423,7 @@ var Ia = {
3388
3423
  "sms",
3389
3424
  "xmpp",
3390
3425
  "cid"
3391
- ]), $a = /* @__PURE__ */ new Set([
3426
+ ]), no = /* @__PURE__ */ new Set([
3392
3427
  "SCRIPT",
3393
3428
  "STYLE",
3394
3429
  "IFRAME",
@@ -3398,7 +3433,7 @@ var Ia = {
3398
3433
  "META",
3399
3434
  "BASE",
3400
3435
  "FORM"
3401
- ]), eo = /* @__PURE__ */ new Set([
3436
+ ]), ro = /* @__PURE__ */ new Set([
3402
3437
  "href",
3403
3438
  "xlink:href",
3404
3439
  "formaction",
@@ -3407,16 +3442,16 @@ var Ia = {
3407
3442
  "background",
3408
3443
  "poster"
3409
3444
  ]);
3410
- function to(e, t) {
3445
+ function io(e, t) {
3411
3446
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
3412
3447
  if (!n || n.startsWith("#")) return !0;
3413
3448
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
3414
3449
  if (!r) return !0;
3415
3450
  let i = r[1].toLowerCase();
3416
- return Qa.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3451
+ return to.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3417
3452
  }
3418
- function no(e) {
3419
- if ($a.has(e.tagName)) {
3453
+ function ao(e) {
3454
+ if (no.has(e.tagName)) {
3420
3455
  e.remove();
3421
3456
  return;
3422
3457
  }
@@ -3428,29 +3463,29 @@ function no(e) {
3428
3463
  e.removeAttribute(n);
3429
3464
  continue;
3430
3465
  }
3431
- if (eo.has(t)) {
3432
- to(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3466
+ if (ro.has(t)) {
3467
+ io(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3433
3468
  continue;
3434
3469
  }
3435
3470
  if (t === "src") {
3436
- to(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3471
+ io(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3437
3472
  continue;
3438
3473
  }
3439
3474
  t === "srcdoc" && e.removeAttribute(n);
3440
3475
  }
3441
3476
  let n = Array.from(e.children);
3442
- for (let e of n) no(e);
3477
+ for (let e of n) ao(e);
3443
3478
  }
3444
- function ro(e) {
3479
+ function oo(e) {
3445
3480
  if (typeof DOMParser > "u") return e;
3446
3481
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
3447
- for (let e of n) no(e);
3482
+ for (let e of n) ao(e);
3448
3483
  return t.innerHTML;
3449
3484
  }
3450
3485
  //#endregion
3451
3486
  //#region src/composables/useEditableTextBlock.ts
3452
- function io(e) {
3453
- let t = v(Zn, []), { syntax: n } = na(), r = O(() => ro(wt(bt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = kn(a), c = O(() => ({
3487
+ function so(e) {
3488
+ let t = v(Zn, []), { syntax: n } = na(), r = O(() => oo(wt(bt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = kn(a), c = O(() => ({
3454
3489
  top: o.value - 8,
3455
3490
  left: s.value
3456
3491
  }));
@@ -3471,14 +3506,14 @@ function io(e) {
3471
3506
  }
3472
3507
  //#endregion
3473
3508
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
3474
- var ao = ["innerHTML"], oo = /* @__PURE__ */ B({
3509
+ var co = ["innerHTML"], lo = /* @__PURE__ */ B({
3475
3510
  __name: "ParagraphBlock",
3476
3511
  props: {
3477
3512
  block: {},
3478
3513
  viewport: {}
3479
3514
  },
3480
3515
  setup(e) {
3481
- let t = e, n = E(() => import("./ParagraphEditor-iG5cDjH0.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = io(() => t.block.content);
3516
+ let t = e, n = T(() => import("./ParagraphEditor-CB5FGRs3.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content);
3482
3517
  return (t, l) => (f(), k("div", {
3483
3518
  ref_key: "blockRef",
3484
3519
  ref: i,
@@ -3497,46 +3532,46 @@ var ao = ["innerHTML"], oo = /* @__PURE__ */ B({
3497
3532
  key: 1,
3498
3533
  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",
3499
3534
  innerHTML: j(o)
3500
- }, null, 8, ao))], 544));
3535
+ }, null, 8, co))], 544));
3501
3536
  }
3502
3537
  });
3503
3538
  //#endregion
3504
3539
  //#region src/utils/blockComponentResolver.ts
3505
- function so(e, t, n) {
3540
+ function uo(e, t, n) {
3506
3541
  if (t) {
3507
3542
  let n = t.getComponent(e);
3508
3543
  if (n) return n;
3509
3544
  }
3510
3545
  return n[e.type] ?? null;
3511
3546
  }
3512
- function co(e) {
3547
+ function fo(e) {
3513
3548
  let { padding: t, backgroundColor: n } = e.styles, r = {
3514
3549
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
3515
3550
  backgroundColor: n || "transparent"
3516
3551
  };
3517
3552
  return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
3518
3553
  }
3519
- function lo(e) {
3554
+ function po(e) {
3520
3555
  if (e.type !== "section" || !e.wrapper) return null;
3521
3556
  let t = e.wrapper, n = {};
3522
3557
  return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
3523
3558
  }
3524
3559
  //#endregion
3525
3560
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
3526
- var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3561
+ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3527
3562
  "aria-label",
3528
3563
  "aria-pressed",
3529
3564
  "title"
3530
- ], mo = ["aria-label", "title"], ho = ["aria-label", "title"], go = ["aria-label", "title"], _o = {
3565
+ ], _o = ["aria-label", "title"], vo = ["aria-label", "title"], yo = ["aria-label", "title"], bo = {
3531
3566
  key: 1,
3532
3567
  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"
3533
- }, vo = { 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)]" }, yo = {
3568
+ }, xo = { 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)]" }, So = {
3534
3569
  key: 2,
3535
3570
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
3536
- }, bo = ["aria-label", "title"], xo = {
3571
+ }, Co = ["aria-label", "title"], wo = {
3537
3572
  key: 3,
3538
3573
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
3539
- }, So = ["aria-label"], Co = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
3574
+ }, To = ["aria-label"], Eo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
3540
3575
  __name: "BlockWrapper",
3541
3576
  props: {
3542
3577
  block: {},
@@ -3546,7 +3581,7 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3546
3581
  },
3547
3582
  emits: ["select"],
3548
3583
  setup(e, { emit: t }) {
3549
- let n = E(() => import("./BlockIssueBadge-Byce0j0W.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, 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);
3584
+ let n = T(() => import("./BlockIssueBadge-ww2vNIfJ.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, 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);
3550
3585
  async function p() {
3551
3586
  await m(), l.value?.focus();
3552
3587
  }
@@ -3572,13 +3607,13 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3572
3607
  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 ? {
3573
3608
  desktop: a.viewport.desktop,
3574
3609
  mobile: a.viewport.mobile
3575
- }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Vn, null), S = v(Hn, null), w = v(lr, {}), T = O(() => !!w.savedModules), ee = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3576
- let e = co(r.block), t = {
3610
+ }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Vn, null), S = v(Hn, null), w = v(lr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3611
+ let e = fo(r.block), t = {
3577
3612
  padding: e.padding,
3578
3613
  backgroundColor: e.backgroundColor
3579
3614
  };
3580
3615
  return e.borderRadius && (t.borderRadius = e.borderRadius), t;
3581
- }), ne = O(() => lo(r.block));
3616
+ }), ne = O(() => po(r.block));
3582
3617
  function re(e) {
3583
3618
  r.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), i("select"));
3584
3619
  }
@@ -3624,7 +3659,7 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3624
3659
  }, [V(j(_i), {
3625
3660
  size: 14,
3626
3661
  "stroke-width": 1.5
3627
- })], 40, po),
3662
+ })], 40, go),
3628
3663
  I("button", {
3629
3664
  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",
3630
3665
  "aria-label": j(a).blockActions.duplicate,
@@ -3633,8 +3668,8 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3633
3668
  }, [V(j(di), {
3634
3669
  size: 14,
3635
3670
  "stroke-width": 1.5
3636
- })], 8, mo),
3637
- T.value ? (f(), k("button", {
3671
+ })], 8, _o),
3672
+ ee.value ? (f(), k("button", {
3638
3673
  key: 0,
3639
3674
  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",
3640
3675
  "aria-label": j(a).blockActions.saveAsModule,
@@ -3643,7 +3678,7 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3643
3678
  }, [V(j(ei), {
3644
3679
  size: 14,
3645
3680
  "stroke-width": 1.5
3646
- })], 8, ho)) : A("", !0),
3681
+ })], 8, vo)) : A("", !0),
3647
3682
  I("button", {
3648
3683
  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",
3649
3684
  "aria-label": j(a).blockActions.delete,
@@ -3652,13 +3687,13 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3652
3687
  }, [V(j(Fi), {
3653
3688
  size: 14,
3654
3689
  "stroke-width": 1.5
3655
- })], 8, go)
3656
- ], 8, fo)) : A("", !0),
3657
- g.value ? (f(), k("div", _o, [I("span", vo, [V(j(fi), {
3690
+ })], 8, yo)
3691
+ ], 8, ho)) : A("", !0),
3692
+ g.value ? (f(), k("div", bo, [I("span", xo, [V(j(fi), {
3658
3693
  size: 12,
3659
3694
  "stroke-width": 1.5
3660
3695
  }), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
3661
- b.value && !g.value ? (f(), k("div", yo, [I("button", {
3696
+ b.value && !g.value ? (f(), k("div", So, [I("button", {
3662
3697
  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)]",
3663
3698
  "aria-label": j(a).blockActions.conditionToggle,
3664
3699
  title: e.block.displayCondition?.label,
@@ -3666,15 +3701,15 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3666
3701
  }, [V(j(gi), {
3667
3702
  size: 12,
3668
3703
  "stroke-width": 2
3669
- })], 8, bo)])) : A("", !0),
3670
- ee.value > 0 && !g.value ? (f(), k("div", xo, [I("button", {
3704
+ })], 8, Co)])) : A("", !0),
3705
+ E.value > 0 && !g.value ? (f(), k("div", wo, [I("button", {
3671
3706
  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)]",
3672
- "aria-label": j(s)(j(a).blockActions.comments, { count: String(ee.value) }),
3707
+ "aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
3673
3708
  onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
3674
3709
  }, [V(j(Si), {
3675
3710
  size: 12,
3676
3711
  "stroke-width": 2.5
3677
- }), z(" " + D(ee.value), 1)], 8, So)])) : A("", !0),
3712
+ }), z(" " + D(E.value), 1)], 8, To)])) : A("", !0),
3678
3713
  ne.value ? (f(), k("div", {
3679
3714
  key: 4,
3680
3715
  class: "tpl-section-wrapper",
@@ -3687,32 +3722,31 @@ var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
3687
3722
  class: "tpl-block-content",
3688
3723
  style: L(te.value)
3689
3724
  }, [o(t.$slots, "default", {}, void 0, !0)], 4))
3690
- ], 10, uo));
3725
+ ], 10, mo));
3691
3726
  }
3692
3727
  }), [["__scopeId", "data-v-7d9e7893"]]);
3693
3728
  //#endregion
3694
3729
  //#region src/utils/unwrapParagraph.ts
3695
- function wo(e) {
3730
+ function Do(e) {
3696
3731
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
3697
3732
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
3698
3733
  }
3699
3734
  //#endregion
3700
3735
  //#region src/components/blocks/TitleBlock.vue
3701
- var To = /* @__PURE__ */ B({
3736
+ var Oo = /* @__PURE__ */ B({
3702
3737
  __name: "TitleBlock",
3703
3738
  props: {
3704
3739
  block: {},
3705
3740
  viewport: {}
3706
3741
  },
3707
3742
  setup(e) {
3708
- let t = e, n = E(() => import("./TitleEditor-C8qIn9Oi.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = io(() => t.block.content), l = O(() => {
3743
+ let t = e, n = T(() => import("./TitleEditor-C0mYpgs4.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content), l = O(() => {
3709
3744
  let e = {
3710
3745
  fontSize: `${pe[t.block.level]}px`,
3711
- color: t.block.color,
3712
3746
  textAlign: t.block.textAlign
3713
3747
  };
3714
- return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3715
- }), u = O(() => `h${t.block.level}`), p = O(() => wo(o.value));
3748
+ return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3749
+ }), u = O(() => `h${t.block.level}`), p = O(() => Do(o.value));
3716
3750
  return (t, o) => (f(), k("div", {
3717
3751
  ref_key: "blockRef",
3718
3752
  ref: i,
@@ -3738,16 +3772,16 @@ var To = /* @__PURE__ */ B({
3738
3772
  });
3739
3773
  //#endregion
3740
3774
  //#region src/utils/sectionColumnDrop.ts
3741
- function Eo(e) {
3775
+ function ko(e) {
3742
3776
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
3743
3777
  }
3744
3778
  //#endregion
3745
3779
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
3746
- var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3780
+ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3747
3781
  key: 0,
3748
3782
  "data-testid": "section-drop-hint",
3749
3783
  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)]"
3750
- }, Ao = /* @__PURE__ */ B({
3784
+ }, No = /* @__PURE__ */ B({
3751
3785
  __name: "SectionBlock",
3752
3786
  props: {
3753
3787
  block: {},
@@ -3755,12 +3789,12 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3755
3789
  },
3756
3790
  setup(e) {
3757
3791
  let t = {
3758
- title: To,
3759
- paragraph: oo,
3760
- image: qa,
3792
+ title: Oo,
3793
+ paragraph: lo,
3794
+ image: Xa,
3761
3795
  button: Wr,
3762
- divider: Da,
3763
- custom: Ta
3796
+ divider: Aa,
3797
+ custom: Oa
3764
3798
  }, n = e, { t: r } = Y(), i = J(zn, "SectionBlock"), a = v(Hn, null), o = v(qn, null), s = O(() => {
3765
3799
  switch (n.block.columns) {
3766
3800
  case "2": return ["50%", "50%"];
@@ -3787,7 +3821,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3787
3821
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3788
3822
  }
3789
3823
  function m(e) {
3790
- return so(e, o, t);
3824
+ return uo(e, o, t);
3791
3825
  }
3792
3826
  function g(e, t) {
3793
3827
  e.type === "custom" && i.updateBlock(e.id, {
@@ -3795,7 +3829,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3795
3829
  dataSourceFetched: t.dataSourceFetched
3796
3830
  });
3797
3831
  }
3798
- return (t, n) => (f(), k("div", Do, [I("div", Oo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3832
+ return (t, n) => (f(), k("div", Ao, [I("div", jo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3799
3833
  key: n,
3800
3834
  class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3801
3835
  style: L({ width: s.value[n] })
@@ -3804,7 +3838,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3804
3838
  group: {
3805
3839
  name: "blocks",
3806
3840
  pull: !0,
3807
- put: (e, t, n) => j(Eo)(n)
3841
+ put: (e, t, n) => j(ko)(n)
3808
3842
  },
3809
3843
  animation: 150,
3810
3844
  "ghost-class": "tpl-ghost",
@@ -3817,7 +3851,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3817
3851
  class: "tpl:min-h-[60px]",
3818
3852
  "onUpdate:modelValue": (e) => p(n, e)
3819
3853
  }, {
3820
- default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(Co, {
3854
+ default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(Eo, {
3821
3855
  block: t,
3822
3856
  "is-selected": j(i).state.selectedBlockId === t.id,
3823
3857
  viewport: e.viewport,
@@ -3848,13 +3882,13 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3848
3882
  "model-value",
3849
3883
  "group",
3850
3884
  "onUpdate:modelValue"
3851
- ]), u(n).length === 0 ? (f(), k("div", ko, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3885
+ ]), u(n).length === 0 ? (f(), k("div", Mo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3852
3886
  }
3853
- }), jo = me, Mo = {
3887
+ }), Po = me, Fo = {
3854
3888
  small: 24,
3855
3889
  medium: 32,
3856
3890
  large: 48
3857
- }, No = [
3891
+ }, Io = [
3858
3892
  "facebook",
3859
3893
  "twitter",
3860
3894
  "instagram",
@@ -3872,11 +3906,11 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3872
3906
  "github",
3873
3907
  "dribbble",
3874
3908
  "behance"
3875
- ], Po = [
3909
+ ], Lo = [
3876
3910
  "width",
3877
3911
  "height",
3878
3912
  "fill"
3879
- ], Fo = ["d"], Io = /* @__PURE__ */ B({
3913
+ ], Ro = ["d"], zo = /* @__PURE__ */ B({
3880
3914
  __name: "SocialIconSvg",
3881
3915
  props: {
3882
3916
  platform: {},
@@ -3884,7 +3918,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3884
3918
  iconSize: {}
3885
3919
  },
3886
3920
  setup(e) {
3887
- let t = e, n = O(() => jo[t.platform]), r = O(() => Mo[t.iconSize]), i = O(() => {
3921
+ let t = e, n = O(() => Po[t.platform]), r = O(() => Fo[t.iconSize]), i = O(() => {
3888
3922
  let e = {
3889
3923
  display: "inline-flex",
3890
3924
  alignItems: "center",
@@ -3928,12 +3962,12 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3928
3962
  viewBox: "0 0 24 24",
3929
3963
  fill: o.value,
3930
3964
  xmlns: "http://www.w3.org/2000/svg"
3931
- }, [I("path", { d: n.value.path }, null, 8, Fo)], 8, Po))], 4));
3965
+ }, [I("path", { d: n.value.path }, null, 8, Ro)], 8, Lo))], 4));
3932
3966
  }
3933
- }), Lo = { class: "tpl:w-full" }, Ro = ["href"], zo = {
3967
+ }), Bo = { class: "tpl:w-full" }, Vo = ["href"], Ho = {
3934
3968
  key: 1,
3935
3969
  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)]"
3936
- }, Bo = /* @__PURE__ */ B({
3970
+ }, Uo = /* @__PURE__ */ B({
3937
3971
  __name: "SocialIconsBlock",
3938
3972
  props: {
3939
3973
  block: {},
@@ -3946,7 +3980,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3946
3980
  gap: `${t.block.spacing}px`,
3947
3981
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3948
3982
  })), i = O(() => t.block.icons.length > 0);
3949
- return (t, a) => (f(), k("div", Lo, [i.value ? (f(), k("div", {
3983
+ return (t, a) => (f(), k("div", Bo, [i.value ? (f(), k("div", {
3950
3984
  key: 0,
3951
3985
  style: L(r.value)
3952
3986
  }, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
@@ -3954,7 +3988,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3954
3988
  href: t.url || "#",
3955
3989
  class: "tpl:cursor-default",
3956
3990
  onClick: a[0] ||= M(() => {}, ["prevent"])
3957
- }, [V(Io, {
3991
+ }, [V(zo, {
3958
3992
  platform: t.platform,
3959
3993
  "icon-style": e.block.iconStyle,
3960
3994
  "icon-size": e.block.iconSize
@@ -3962,16 +3996,16 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3962
3996
  "platform",
3963
3997
  "icon-style",
3964
3998
  "icon-size"
3965
- ])], 8, Ro))), 128))], 4)) : (f(), k("div", zo, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3999
+ ])], 8, Vo))), 128))], 4)) : (f(), k("div", Ho, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3966
4000
  }
3967
- }), Vo = { class: "tpl:w-full" }, Ho = {
4001
+ }), Wo = { class: "tpl:w-full" }, Go = {
3968
4002
  key: 0,
3969
4003
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3970
4004
  style: {
3971
4005
  "background-color": "var(--tpl-bg-hover)",
3972
4006
  color: "var(--tpl-text-dim)"
3973
4007
  }
3974
- }, Uo = /* @__PURE__ */ B({
4008
+ }, Ko = /* @__PURE__ */ B({
3975
4009
  __name: "SpacerBlock",
3976
4010
  props: {
3977
4011
  block: {},
@@ -3983,23 +4017,23 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
3983
4017
  minHeight: `${t.block.height}px`,
3984
4018
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3985
4019
  }));
3986
- return (t, i) => (f(), k("div", Vo, [I("div", {
4020
+ return (t, i) => (f(), k("div", Wo, [I("div", {
3987
4021
  style: L(r.value),
3988
4022
  class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
3989
- }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Ho, D(e.block.height) + "px ", 1))], 6)]));
4023
+ }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Go, D(e.block.height) + "px ", 1))], 6)]));
3990
4024
  }
3991
- }), Wo = { class: "tpl:w-full" }, Go = { key: 0 }, Ko = [
4025
+ }), qo = { class: "tpl:w-full" }, Jo = { key: 0 }, Yo = [
3992
4026
  "aria-label",
3993
4027
  "data-placeholder",
3994
4028
  "onBlur"
3995
- ], qo = [
4029
+ ], Xo = [
3996
4030
  "aria-label",
3997
4031
  "data-placeholder",
3998
4032
  "onBlur"
3999
- ], Jo = {
4033
+ ], Zo = {
4000
4034
  key: 1,
4001
4035
  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)]"
4002
- }, Yo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4036
+ }, Qo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4003
4037
  __name: "TableBlock",
4004
4038
  props: {
4005
4039
  block: {},
@@ -4013,14 +4047,16 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
4013
4047
  updated(e, t) {
4014
4048
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
4015
4049
  }
4016
- }, n = e, { t: r } = Y(), i = J(zn, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => ({
4017
- width: "100%",
4018
- borderCollapse: "collapse",
4019
- fontSize: `${n.block.fontSize}px`,
4020
- color: n.block.color,
4021
- textAlign: n.block.textAlign,
4022
- fontFamily: n.block.fontFamily || "inherit"
4023
- })), s = O(() => ({
4050
+ }, n = e, { t: r } = Y(), i = J(zn, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => {
4051
+ let e = {
4052
+ width: "100%",
4053
+ borderCollapse: "collapse",
4054
+ fontSize: `${n.block.fontSize}px`,
4055
+ textAlign: n.block.textAlign,
4056
+ fontFamily: n.block.fontFamily || "inherit"
4057
+ };
4058
+ return n.block.color && (e.color = n.block.color), e;
4059
+ }), s = O(() => ({
4024
4060
  border: `${n.block.borderWidth}px solid ${n.block.borderColor}`,
4025
4061
  padding: `${n.block.cellPadding}px`,
4026
4062
  textAlign: n.block.textAlign
@@ -4042,31 +4078,31 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
4042
4078
  } : n);
4043
4079
  i.updateBlock(n.block.id, { rows: o });
4044
4080
  }
4045
- return (e, n) => (f(), k("div", Wo, [a.value ? (f(), k("table", {
4081
+ return (e, n) => (f(), k("div", qo, [a.value ? (f(), k("table", {
4046
4082
  key: 0,
4047
4083
  style: L(o.value),
4048
4084
  class: "tpl-table-editable"
4049
- }, [u.value ? (f(), k("thead", Go, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4085
+ }, [u.value ? (f(), k("thead", Jo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4050
4086
  key: e.id,
4051
4087
  style: L(l.value),
4052
4088
  "aria-label": j(r).table.cellPlaceholder,
4053
4089
  contenteditable: "true",
4054
4090
  "data-placeholder": j(r).table.cellPlaceholder,
4055
4091
  onBlur: (t) => m(u.value.id, e.id, t),
4056
- onKeydown: n[0] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4092
+ onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4057
4093
  onClick: M(p, ["stop"])
4058
- }, null, 44, Ko)), [[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", {
4094
+ }, null, 44, Yo)), [[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", {
4059
4095
  key: i.id,
4060
4096
  style: L(s.value),
4061
4097
  "aria-label": j(r).table.cellPlaceholder,
4062
4098
  contenteditable: "true",
4063
4099
  "data-placeholder": j(r).table.cellPlaceholder,
4064
4100
  onBlur: (t) => m(e.id, i.id, t),
4065
- onKeydown: n[1] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4101
+ onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4066
4102
  onClick: M(p, ["stop"])
4067
- }, null, 44, qo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Jo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
4103
+ }, null, 44, Xo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Zo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
4068
4104
  }
4069
- }), [["__scopeId", "data-v-f065872a"]]), Xo = /* @__PURE__ */ B({
4105
+ }), [["__scopeId", "data-v-963ac422"]]), $o = /* @__PURE__ */ B({
4070
4106
  __name: "VideoPlayButton",
4071
4107
  props: { hoverEffect: {
4072
4108
  type: Boolean,
@@ -4084,7 +4120,7 @@ var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
4084
4120
  });
4085
4121
  //#endregion
4086
4122
  //#region src/utils/videoThumbnail.ts
4087
- function Zo(e) {
4123
+ function es(e) {
4088
4124
  if (!e) return {
4089
4125
  platform: "unknown",
4090
4126
  videoId: null,
@@ -4116,25 +4152,25 @@ function Zo(e) {
4116
4152
  thumbnailUrl: null
4117
4153
  };
4118
4154
  }
4119
- function Qo(e, t) {
4120
- return t || Zo(e).thumbnailUrl;
4155
+ function ts(e, t) {
4156
+ return t || es(e).thumbnailUrl;
4121
4157
  }
4122
4158
  //#endregion
4123
4159
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
4124
- var $o = ["src", "alt"], es = {
4160
+ var ns = ["src", "alt"], rs = {
4125
4161
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
4126
4162
  style: { opacity: "0.7" }
4127
- }, ts = ["href"], ns = ["src", "alt"], rs = ["src", "alt"], is = {
4163
+ }, is = ["href"], as = ["src", "alt"], os = ["src", "alt"], ss = {
4128
4164
  key: 3,
4129
4165
  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)]"
4130
- }, as = /* @__PURE__ */ B({
4166
+ }, cs = /* @__PURE__ */ B({
4131
4167
  __name: "VideoBlock",
4132
4168
  props: {
4133
4169
  block: {},
4134
4170
  viewport: {}
4135
4171
  },
4136
4172
  setup(e) {
4137
- let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Qo(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
4173
+ let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : ts(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
4138
4174
  let e = t.block.align;
4139
4175
  return {
4140
4176
  maxWidth: "100%",
@@ -4155,7 +4191,7 @@ var $o = ["src", "alt"], es = {
4155
4191
  class: "tpl:w-full tpl:border-0",
4156
4192
  src: e.block.placeholderUrl,
4157
4193
  alt: e.block.alt
4158
- }, null, 8, $o), V(Xo)], 4)) : i.value ? (f(), k("div", {
4194
+ }, null, 8, ns), V($o)], 4)) : i.value ? (f(), k("div", {
4159
4195
  key: 1,
4160
4196
  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)]",
4161
4197
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
@@ -4164,7 +4200,7 @@ var $o = ["src", "alt"], es = {
4164
4200
  "stroke-width": 1.5,
4165
4201
  class: "tpl:text-[var(--tpl-primary)]",
4166
4202
  style: { opacity: "0.5" }
4167
- }), I("span", es, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
4203
+ }), I("span", rs, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
4168
4204
  key: 0,
4169
4205
  href: e.block.url,
4170
4206
  target: "_blank",
@@ -4176,7 +4212,7 @@ var $o = ["src", "alt"], es = {
4176
4212
  class: "tpl:w-full tpl:border-0",
4177
4213
  src: a.value,
4178
4214
  alt: e.block.alt
4179
- }, null, 8, ns), V(Xo, { "hover-effect": "" })], 12, ts)) : (f(), k("div", {
4215
+ }, null, 8, as), V($o, { "hover-effect": "" })], 12, is)) : (f(), k("div", {
4180
4216
  key: 1,
4181
4217
  class: "tpl:relative tpl:inline-block",
4182
4218
  style: L(s.value)
@@ -4184,28 +4220,28 @@ var $o = ["src", "alt"], es = {
4184
4220
  class: "tpl:w-full tpl:border-0",
4185
4221
  src: a.value,
4186
4222
  alt: e.block.alt
4187
- }, null, 8, rs), V(Xo)], 4))], 64)) : (f(), k("div", is, [V(j(zi), {
4223
+ }, null, 8, os), V($o)], 4))], 64)) : (f(), k("div", ss, [V(j(zi), {
4188
4224
  size: 40,
4189
4225
  "stroke-width": 1.5,
4190
4226
  class: "tpl:text-[var(--tpl-border-light)]"
4191
4227
  }), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
4192
4228
  }
4193
- }), os = {
4194
- section: Ao,
4195
- title: To,
4196
- paragraph: oo,
4197
- image: qa,
4229
+ }), ls = {
4230
+ section: No,
4231
+ title: Oo,
4232
+ paragraph: lo,
4233
+ image: Xa,
4198
4234
  button: Wr,
4199
- divider: Da,
4200
- video: as,
4201
- social: Bo,
4202
- menu: Za,
4203
- table: Yo,
4204
- spacer: Uo,
4205
- html: Ma,
4206
- countdown: E(() => import("./CountdownBlock-DxTuMRBM.js").then((e) => e.n))
4235
+ divider: Aa,
4236
+ video: cs,
4237
+ social: Uo,
4238
+ menu: eo,
4239
+ table: Qo,
4240
+ spacer: Ko,
4241
+ html: Fa,
4242
+ countdown: T(() => import("./CountdownBlock-MC-mhtQD.js").then((e) => e.n))
4207
4243
  };
4208
- function ss(e) {
4244
+ function us(e) {
4209
4245
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
4210
4246
  t.setUiTheme(n.uiTheme ?? "auto");
4211
4247
  let { resolvedTheme: c } = Er(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Or({
@@ -4237,9 +4273,9 @@ function ss(e) {
4237
4273
  t: a,
4238
4274
  format: o
4239
4275
  }), y = Mr();
4240
- if (Lr(y, os), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Ta);
4276
+ if (Lr(y, ls), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
4241
4277
  function b(e) {
4242
- for (let t of e) y.registerCustom(t, Ta);
4278
+ for (let t of e) y.registerCustom(t, Oa);
4243
4279
  }
4244
4280
  let x = Ln();
4245
4281
  if (s() && l(x.dispose), e.containerEl) {
@@ -4262,18 +4298,18 @@ function ss(e) {
4262
4298
  q(document, "keydown", S);
4263
4299
  let w = C(null);
4264
4300
  p(fr, e.editorRoot ?? document), p(pr, w), p(Rn, r), p(zn, t), p(Bn, f), p(Vn, m), p(Hn, h), p(Un, i), p(Wn, d), p(Gn, c), p(Kn, n.blockDefaults), p(qn, y), p(Jn, n.customBlocks ?? []), p(Yn, n.paletteBlocks), p(Xn, Nr(t.content, y));
4265
- let T = gt(n.mergeTags?.syntax);
4266
- p(Zn, n.mergeTags?.tags ?? []), p(Qn, T), p($n, n.mergeTags?.onRequest ?? null), p(er, n.mergeTags?.autocomplete !== !1), p(tr, br()), p(nr, n.logicTags?.tags ?? []), p(rr, n.logicTags?.pairs ?? []), p(ar, n.logicTags?.onRequest ?? null), p(ir, xr()), p(or, n.onRequestMedia ?? null), p(sr, n.displayConditions?.conditions ?? []), p(cr, n.displayConditions?.allowCustom ?? !1), p(lr, e.capabilities ?? {}), p(ur, v);
4267
- let E = Sr(n.lint) ? null : Cr({
4301
+ let ee = gt(n.mergeTags?.syntax);
4302
+ p(Zn, n.mergeTags?.tags ?? []), p(Qn, ee), p($n, n.mergeTags?.onRequest ?? null), p(er, n.mergeTags?.autocomplete !== !1), p(tr, br()), p(nr, n.logicTags?.tags ?? []), p(rr, n.logicTags?.pairs ?? []), p(ar, n.logicTags?.onRequest ?? null), p(ir, xr()), p(or, n.onRequestMedia ?? null), p(sr, n.displayConditions?.conditions ?? []), p(cr, n.displayConditions?.allowCustom ?? !1), p(lr, e.capabilities ?? {}), p(ur, v);
4303
+ let T = Sr(n.lint) ? null : Cr({
4268
4304
  content: t.content,
4269
4305
  options: n.lint ?? {},
4270
4306
  updateBlock: t.updateBlock,
4271
4307
  updateSettings: t.updateSettings,
4272
4308
  removeBlock: t.removeBlock
4273
4309
  });
4274
- p(dr, E);
4275
- function ee() {
4276
- _?.(), E?.destroy(), g?.destroy(), f.destroy();
4310
+ p(dr, T);
4311
+ function E() {
4312
+ _?.(), T?.destroy(), g?.destroy(), f.destroy();
4277
4313
  }
4278
4314
  return {
4279
4315
  t: a,
@@ -4287,27 +4323,27 @@ function ss(e) {
4287
4323
  themeOverrides: u,
4288
4324
  registry: y,
4289
4325
  keyboardReorder: v,
4290
- templateLint: E,
4326
+ templateLint: T,
4291
4327
  popoverRoot: w,
4292
4328
  registerCustomBlocks: b,
4293
- destroy: ee
4329
+ destroy: E
4294
4330
  };
4295
4331
  }
4296
4332
  //#endregion
4297
4333
  //#region src/composables/usePopoverRoot.ts
4298
- function cs() {
4334
+ function ds() {
4299
4335
  return v(pr, C(null));
4300
4336
  }
4301
4337
  //#endregion
4302
4338
  //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
4303
- var ls = ["data-tpl-theme"], us = /* @__PURE__ */ B({
4339
+ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4304
4340
  __name: "TplModal",
4305
4341
  props: { visible: { type: Boolean } },
4306
4342
  emits: ["close", "keydown"],
4307
4343
  setup(e, { emit: t }) {
4308
4344
  let n = e, r = t, i = C(null);
4309
4345
  Qi(i, O(() => n.visible));
4310
- let a = v(Gn), s = cs();
4346
+ let a = v(Gn), s = ds();
4311
4347
  function c(e) {
4312
4348
  e.key === "Escape" && r("close"), r("keydown", e);
4313
4349
  }
@@ -4336,11 +4372,11 @@ var ls = ["data-tpl-theme"], us = /* @__PURE__ */ B({
4336
4372
  }, [I("div", {
4337
4373
  ref_key: "dialogRef",
4338
4374
  ref: i
4339
- }, [o(t.$slots, "default")], 512)], 40, ls)) : A("", !0)]),
4375
+ }, [o(t.$slots, "default")], 512)], 40, fs)) : A("", !0)]),
4340
4376
  _: 3
4341
4377
  })], 8, ["to"])) : A("", !0);
4342
4378
  }
4343
- }), ds = class e {
4379
+ }), ms = class e {
4344
4380
  static DEFAULT_BASE_URL = "https://templatical.com";
4345
4381
  accessToken = null;
4346
4382
  expiresAt = null;
@@ -4441,8 +4477,8 @@ var ls = ["data-tpl-theme"], us = /* @__PURE__ */ B({
4441
4477
  return a.status === 401 && (a = await i(await this.refreshToken())), a;
4442
4478
  }
4443
4479
  };
4444
- function fs(e, t) {
4445
- return e.mode === "direct" ? new ds({
4480
+ function hs(e, t) {
4481
+ return e.mode === "direct" ? new ms({
4446
4482
  url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
4447
4483
  baseUrl: e.baseUrl,
4448
4484
  requestOptions: {
@@ -4456,7 +4492,7 @@ function fs(e, t) {
4456
4492
  }
4457
4493
  },
4458
4494
  onError: t
4459
- }) : new ds({
4495
+ }) : new ms({
4460
4496
  url: e.url,
4461
4497
  baseUrl: e.baseUrl,
4462
4498
  requestOptions: e.requestOptions,
@@ -4468,16 +4504,16 @@ function fs(e, t) {
4468
4504
  function Z(e, t) {
4469
4505
  return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
4470
4506
  }
4471
- var ps = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ps}/templates/{template}`, ms = `${Q}/ai`, hs = `${ps}/media`, gs = `${hs}/folders`, _s = `${ps}/saved-modules`, $ = {
4507
+ var gs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${gs}/templates/{template}`, _s = `${Q}/ai`, vs = `${gs}/media`, ys = `${vs}/folders`, bs = `${gs}/saved-modules`, $ = {
4472
4508
  health: "/api/v1/health",
4473
- "projects.config": `${ps}/config`,
4474
- "broadcasting.auth": `${ps}/broadcasting/auth`,
4475
- "templates.store": `${ps}/templates`,
4509
+ "projects.config": `${gs}/config`,
4510
+ "broadcasting.auth": `${gs}/broadcasting/auth`,
4511
+ "templates.store": `${gs}/templates`,
4476
4512
  "templates.show": `${Q}`,
4477
4513
  "templates.update": `${Q}`,
4478
4514
  "templates.destroy": `${Q}`,
4479
4515
  "templates.export": `${Q}/export`,
4480
- "templates.importFromBeefree": `${ps}/templates/import/from-beefree`,
4516
+ "templates.importFromBeefree": `${gs}/templates/import/from-beefree`,
4481
4517
  "templates.sendTestEmail": `${Q}/send-test-email`,
4482
4518
  "snapshots.index": `${Q}/snapshots`,
4483
4519
  "snapshots.store": `${Q}/snapshots`,
@@ -4488,31 +4524,31 @@ var ps = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ps}/templates/{te
4488
4524
  "comments.update": `${Q}/comments/{comment}`,
4489
4525
  "comments.destroy": `${Q}/comments/{comment}`,
4490
4526
  "comments.resolve": `${Q}/comments/{comment}/resolve`,
4491
- "ai.generate": `${ms}/generate`,
4492
- "ai.conversationMessages": `${ms}/conversation-messages`,
4493
- "ai.suggestions": `${ms}/suggestions`,
4494
- "ai.rewriteText": `${ms}/rewrite-text`,
4495
- "ai.score": `${ms}/score`,
4496
- "ai.fixFinding": `${ms}/fix-finding`,
4497
- "ai.generateFromDesign": `${ms}/generate-from-design`,
4498
- "media.upload": `${hs}/upload`,
4499
- "media.browse": `${hs}/browse`,
4500
- "media.delete": `${hs}/delete`,
4501
- "media.move": `${hs}/move`,
4502
- "media.update": `${hs}/{media}`,
4503
- "media.replace": `${hs}/{media}/replace`,
4504
- "media.checkUsage": `${hs}/check-usage`,
4505
- "media.frequentlyUsed": `${hs}/frequently-used`,
4506
- "media.importFromUrl": `${hs}/import-from-url`,
4507
- "folders.index": `${gs}`,
4508
- "folders.store": `${gs}`,
4509
- "folders.update": `${gs}/{mediaFolder}`,
4510
- "folders.destroy": `${gs}/{mediaFolder}`,
4511
- "savedModules.index": `${_s}`,
4512
- "savedModules.store": `${_s}`,
4513
- "savedModules.update": `${_s}/{savedModule}`,
4514
- "savedModules.destroy": `${_s}/{savedModule}`
4515
- }, vs = class {
4527
+ "ai.generate": `${_s}/generate`,
4528
+ "ai.conversationMessages": `${_s}/conversation-messages`,
4529
+ "ai.suggestions": `${_s}/suggestions`,
4530
+ "ai.rewriteText": `${_s}/rewrite-text`,
4531
+ "ai.score": `${_s}/score`,
4532
+ "ai.fixFinding": `${_s}/fix-finding`,
4533
+ "ai.generateFromDesign": `${_s}/generate-from-design`,
4534
+ "media.upload": `${vs}/upload`,
4535
+ "media.browse": `${vs}/browse`,
4536
+ "media.delete": `${vs}/delete`,
4537
+ "media.move": `${vs}/move`,
4538
+ "media.update": `${vs}/{media}`,
4539
+ "media.replace": `${vs}/{media}/replace`,
4540
+ "media.checkUsage": `${vs}/check-usage`,
4541
+ "media.frequentlyUsed": `${vs}/frequently-used`,
4542
+ "media.importFromUrl": `${vs}/import-from-url`,
4543
+ "folders.index": `${ys}`,
4544
+ "folders.store": `${ys}`,
4545
+ "folders.update": `${ys}/{mediaFolder}`,
4546
+ "folders.destroy": `${ys}/{mediaFolder}`,
4547
+ "savedModules.index": `${bs}`,
4548
+ "savedModules.store": `${bs}`,
4549
+ "savedModules.update": `${bs}/{savedModule}`,
4550
+ "savedModules.destroy": `${bs}/{savedModule}`
4551
+ }, xs = class {
4516
4552
  authManager;
4517
4553
  constructor(e) {
4518
4554
  this.authManager = e;
@@ -4698,14 +4734,14 @@ var ps = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ps}/templates/{te
4698
4734
  };
4699
4735
  //#endregion
4700
4736
  //#region ../core/src/cloud/websocket-client.ts
4701
- function ys(e) {
4737
+ function Ss(e) {
4702
4738
  return {
4703
4739
  host: e.host,
4704
4740
  port: e.port,
4705
4741
  appKey: e.app_key
4706
4742
  };
4707
4743
  }
4708
- var bs = class {
4744
+ var Cs = class {
4709
4745
  pusher = null;
4710
4746
  authManager;
4711
4747
  config;
@@ -4772,7 +4808,7 @@ var bs = class {
4772
4808
  };
4773
4809
  //#endregion
4774
4810
  //#region ../core/src/cloud/mcp-operation-handler.ts
4775
- function xs(e, t) {
4811
+ function ws(e, t) {
4776
4812
  let { operation: n, data: r } = t;
4777
4813
  switch (n) {
4778
4814
  case "add_block":
@@ -4800,11 +4836,11 @@ function xs(e, t) {
4800
4836
  }
4801
4837
  //#endregion
4802
4838
  //#region ../core/src/cloud/editor.ts
4803
- function Ss(e) {
4839
+ function Ts(e) {
4804
4840
  return e === "1" ? 1 : e === "3" ? 3 : 2;
4805
4841
  }
4806
- function Cs(e) {
4807
- let t = new vs(e.authManager), n = S({
4842
+ function Es(e) {
4843
+ let t = new xs(e.authManager), n = S({
4808
4844
  template: null,
4809
4845
  content: We(e.defaultFontFamily, e.templateDefaults),
4810
4846
  selectedBlockId: null,
@@ -4910,7 +4946,7 @@ function Cs(e) {
4910
4946
  let l;
4911
4947
  if (r) {
4912
4948
  let e = o(n.content.blocks, r);
4913
- if (!e || e.type !== "section" || i < 0 || i >= Ss(e.columns)) return;
4949
+ if (!e || e.type !== "section" || i < 0 || i >= Ts(e.columns)) return;
4914
4950
  e.children[i] = e.children[i] || [], l = e.children[i];
4915
4951
  } else l = n.content.blocks;
4916
4952
  let [u] = a.blocks.splice(c, 1);
@@ -4951,17 +4987,17 @@ function Cs(e) {
4951
4987
  n.isSaving = !1;
4952
4988
  }
4953
4989
  }
4954
- async function T() {
4990
+ async function ee() {
4955
4991
  if (n.template?.id) try {
4956
4992
  await t.createSnapshot(n.template.id, n.content);
4957
4993
  } catch (t) {
4958
4994
  throw e.onError?.(t), t;
4959
4995
  }
4960
4996
  }
4961
- function E() {
4997
+ function T() {
4962
4998
  return n.template?.id !== void 0;
4963
4999
  }
4964
- function ee() {
5000
+ function E() {
4965
5001
  n.isDirty = !0;
4966
5002
  }
4967
5003
  function D(e) {
@@ -4995,18 +5031,18 @@ function Cs(e) {
4995
5031
  create: b,
4996
5032
  load: C,
4997
5033
  save: w,
4998
- createSnapshot: T,
4999
- hasTemplate: E,
5000
- markDirty: ee
5034
+ createSnapshot: ee,
5035
+ hasTemplate: T,
5036
+ markDirty: E
5001
5037
  };
5002
5038
  }
5003
5039
  //#endregion
5004
5040
  //#region ../core/src/cloud/ai-chat.ts
5005
- var ws = 0;
5006
- function Ts() {
5007
- return `msg_${Date.now()}_${++ws}`;
5041
+ var Ds = 0;
5042
+ function Os() {
5043
+ return `msg_${Date.now()}_${++Ds}`;
5008
5044
  }
5009
- function Es(e) {
5045
+ function ks(e) {
5010
5046
  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);
5011
5047
  function _(e, t) {
5012
5048
  let n = a.value.findIndex((t) => t.id === e);
@@ -5100,14 +5136,14 @@ function Es(e) {
5100
5136
  let v = n();
5101
5137
  if (!v) throw Error("Template must be saved before using AI generation");
5102
5138
  o.value = !0, c.value = null, l.value = null, h.value = [];
5103
- let y = Ts();
5139
+ let y = Os();
5104
5140
  a.value = [...a.value, {
5105
5141
  id: y,
5106
5142
  role: "user",
5107
5143
  content: e,
5108
5144
  timestamp: Date.now()
5109
5145
  }];
5110
- let b = Ts();
5146
+ let b = Os();
5111
5147
  a.value = [...a.value, {
5112
5148
  id: b,
5113
5149
  role: "assistant",
@@ -5198,7 +5234,7 @@ function Es(e) {
5198
5234
  }
5199
5235
  //#endregion
5200
5236
  //#region ../core/src/cloud/ai-config.ts
5201
- function Ds(e) {
5237
+ function As(e) {
5202
5238
  function t(t) {
5203
5239
  return e !== !1 && e?.[t] !== !1;
5204
5240
  }
@@ -5209,7 +5245,7 @@ function Ds(e) {
5209
5245
  }
5210
5246
  //#endregion
5211
5247
  //#region ../core/src/cloud/template-scoring.ts
5212
- function Os(e) {
5248
+ function js(e) {
5213
5249
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
5214
5250
  async function l(e, o) {
5215
5251
  let s = n();
@@ -5354,7 +5390,7 @@ function Os(e) {
5354
5390
  }
5355
5391
  //#endregion
5356
5392
  //#region ../core/src/cloud/design-reference.ts
5357
- function ks(e) {
5393
+ function Ms(e) {
5358
5394
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
5359
5395
  async function s(e) {
5360
5396
  let s = n();
@@ -5417,8 +5453,8 @@ function ks(e) {
5417
5453
  }
5418
5454
  //#endregion
5419
5455
  //#region ../core/src/cloud/comments.ts
5420
- function As(e) {
5421
- let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new vs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5456
+ function Ns(e) {
5457
+ let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new xs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5422
5458
  let e = 0;
5423
5459
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5424
5460
  return e;
@@ -5544,17 +5580,17 @@ function As(e) {
5544
5580
  u.value = !1;
5545
5581
  }
5546
5582
  }
5547
- function T(e) {
5583
+ function ee(e) {
5548
5584
  if (e.parent_id) {
5549
5585
  let t = v(e.parent_id);
5550
5586
  t && (t.replies = [...t.replies ?? [], e]);
5551
5587
  } else c.value = [...c.value, e];
5552
5588
  _("created", e);
5553
5589
  }
5554
- function E(e) {
5590
+ function T(e) {
5555
5591
  D(e.id, e), _("updated", e);
5556
5592
  }
5557
- function ee(e, t) {
5593
+ function E(e, t) {
5558
5594
  let n = v(e), r = n ? {
5559
5595
  ...n,
5560
5596
  replies: [...n.replies ?? []]
@@ -5610,24 +5646,24 @@ function As(e) {
5610
5646
  editComment: x,
5611
5647
  removeComment: S,
5612
5648
  toggleResolve: w,
5613
- applyRemoteCreate: T,
5614
- applyRemoteUpdate: E,
5615
- applyRemoteDelete: ee
5649
+ applyRemoteCreate: ee,
5650
+ applyRemoteUpdate: T,
5651
+ applyRemoteDelete: E
5616
5652
  };
5617
5653
  }
5618
5654
  //#endregion
5619
5655
  //#region ../core/src/cloud/comment-listener.ts
5620
- function js(e) {
5656
+ function Ps(e) {
5621
5657
  let { comments: t, channel: n } = e;
5622
5658
  H(n, (e, n) => {
5623
5659
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5624
- Ms(t, e);
5660
+ Fs(t, e);
5625
5661
  });
5626
5662
  }), l(() => {
5627
5663
  n.value?.unbind("comment-broadcast");
5628
5664
  });
5629
5665
  }
5630
- function Ms(e, t) {
5666
+ function Fs(e, t) {
5631
5667
  switch (t.action) {
5632
5668
  case "comment_created":
5633
5669
  e.applyRemoteCreate(t.comment);
@@ -5646,7 +5682,7 @@ function Ms(e, t) {
5646
5682
  }
5647
5683
  //#endregion
5648
5684
  //#region ../core/src/cloud/collaboration.ts
5649
- var Ns = [
5685
+ var Is = [
5650
5686
  "pusher:member_added",
5651
5687
  "pusher:member_removed",
5652
5688
  "client-block_locked",
@@ -5654,10 +5690,10 @@ var Ns = [
5654
5690
  "client-operation",
5655
5691
  "mcp-operation"
5656
5692
  ];
5657
- function Ps(e) {
5658
- for (let t of Ns) e.unbind(t);
5693
+ function Ls(e) {
5694
+ for (let t of Is) e.unbind(t);
5659
5695
  }
5660
- var Fs = [
5696
+ var Rs = [
5661
5697
  "#3b82f6",
5662
5698
  "#ef4444",
5663
5699
  "#10b981",
@@ -5669,10 +5705,10 @@ var Fs = [
5669
5705
  "#6366f1",
5670
5706
  "#14b8a6"
5671
5707
  ];
5672
- function Is(e) {
5708
+ function zs(e) {
5673
5709
  let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
5674
5710
  function u() {
5675
- let e = Fs[o % Fs.length];
5711
+ let e = Rs[o % Rs.length];
5676
5712
  return o++, e;
5677
5713
  }
5678
5714
  function d(e) {
@@ -5714,7 +5750,7 @@ function Is(e) {
5714
5750
  function h(e) {
5715
5751
  s = !0;
5716
5752
  try {
5717
- xs(n, e);
5753
+ ws(n, e);
5718
5754
  } finally {
5719
5755
  s = !1;
5720
5756
  }
@@ -5734,7 +5770,7 @@ function Is(e) {
5734
5770
  return H(() => n.state.selectedBlockId, (e, t) => {
5735
5771
  s || (t && v(t), e && _(e));
5736
5772
  }), H(r, (t, n) => {
5737
- if (n && Ps(n), !t) {
5773
+ if (n && Ls(n), !t) {
5738
5774
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5739
5775
  return;
5740
5776
  }
@@ -5766,7 +5802,7 @@ function Is(e) {
5766
5802
  h(e);
5767
5803
  });
5768
5804
  }), l(() => {
5769
- r.value && Ps(r.value);
5805
+ r.value && Ls(r.value);
5770
5806
  }), {
5771
5807
  collaborators: i,
5772
5808
  lockedBlocks: a,
@@ -5776,7 +5812,7 @@ function Is(e) {
5776
5812
  }
5777
5813
  //#endregion
5778
5814
  //#region ../core/src/cloud/collaboration-broadcast.ts
5779
- function Ls(e, t) {
5815
+ function Bs(e, t) {
5780
5816
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5781
5817
  e.addBlock = (e, r, i, a) => {
5782
5818
  n(e, r, i, a), t._broadcastOperation({
@@ -5831,11 +5867,11 @@ function Ls(e, t) {
5831
5867
  }
5832
5868
  //#endregion
5833
5869
  //#region ../core/src/cloud/web-socket.ts
5834
- function Rs(e) {
5870
+ function Vs(e) {
5835
5871
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5836
5872
  async function s(e, s) {
5837
5873
  if (a) return;
5838
- a = new bs({
5874
+ a = new Cs({
5839
5875
  authManager: t,
5840
5876
  config: s,
5841
5877
  onError: n
@@ -5863,8 +5899,8 @@ function Rs(e) {
5863
5899
  }
5864
5900
  //#endregion
5865
5901
  //#region ../core/src/cloud/saved-modules.ts
5866
- function zs(e) {
5867
- let t = new vs(e.authManager), n = C([]), r = C(!1);
5902
+ function Hs(e) {
5903
+ let t = new xs(e.authManager), n = C([]), r = C(!1);
5868
5904
  async function i(i) {
5869
5905
  r.value = !0;
5870
5906
  try {
@@ -5912,8 +5948,8 @@ function zs(e) {
5912
5948
  }
5913
5949
  //#endregion
5914
5950
  //#region ../core/src/cloud/snapshots.ts
5915
- function Bs(e) {
5916
- let t = new vs(e.authManager), n = C([]), r = C(!1), i = C(!1);
5951
+ function Us(e) {
5952
+ let t = new xs(e.authManager), n = C([]), r = C(!1), i = C(!1);
5917
5953
  async function a() {
5918
5954
  r.value = !0;
5919
5955
  try {
@@ -5945,8 +5981,8 @@ function Bs(e) {
5945
5981
  }
5946
5982
  //#endregion
5947
5983
  //#region ../core/src/cloud/test-email.ts
5948
- function Vs(e) {
5949
- let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new vs(t), l = C(!1), u = C(null), d = C(null);
5984
+ function Ws(e) {
5985
+ let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new xs(t), l = C(!1), u = C(null), d = C(null);
5950
5986
  o && H(o, (e) => {
5951
5987
  e && (d.value = t.testEmailConfig);
5952
5988
  }, { immediate: !0 });
@@ -5982,8 +6018,8 @@ function Vs(e) {
5982
6018
  }
5983
6019
  //#endregion
5984
6020
  //#region ../core/src/cloud/export.ts
5985
- function Hs(e) {
5986
- let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new vs(t);
6021
+ function Gs(e) {
6022
+ let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new xs(t);
5987
6023
  function a() {
5988
6024
  let e = n?.();
5989
6025
  return {
@@ -6009,8 +6045,8 @@ function Hs(e) {
6009
6045
  }
6010
6046
  //#endregion
6011
6047
  //#region ../core/src/cloud/plan-config.ts
6012
- function Us(e) {
6013
- let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new vs(t), o = O(() => r.value?.features ?? null);
6048
+ function Ks(e) {
6049
+ let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new xs(t), o = O(() => r.value?.features ?? null);
6014
6050
  function s(e) {
6015
6051
  return r.value?.features[e] ?? !1;
6016
6052
  }
@@ -6036,11 +6072,11 @@ function Us(e) {
6036
6072
  }
6037
6073
  //#endregion
6038
6074
  //#region ../core/src/cloud/health-check.ts
6039
- var Ws = 5e3;
6040
- function Gs(e) {
6075
+ var qs = 5e3;
6076
+ function Js(e) {
6041
6077
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
6042
6078
  }
6043
- async function Ks(e, t) {
6079
+ async function Ys(e, t) {
6044
6080
  let n = performance.now();
6045
6081
  try {
6046
6082
  let r = t ? await t.authenticatedFetch($.health, {
@@ -6092,7 +6128,7 @@ async function Ks(e, t) {
6092
6128
  };
6093
6129
  }
6094
6130
  }
6095
- async function qs(e) {
6131
+ async function Xs(e) {
6096
6132
  if (!e?.host || !e?.app_key) return {
6097
6133
  ok: !1,
6098
6134
  error: "WebSocket configuration not available"
@@ -6108,7 +6144,7 @@ async function qs(e) {
6108
6144
  ok: !1,
6109
6145
  error: "WebSocket connection timed out"
6110
6146
  });
6111
- }, Ws);
6147
+ }, qs);
6112
6148
  try {
6113
6149
  n = new WebSocket(t);
6114
6150
  } catch (t) {
@@ -6128,8 +6164,8 @@ async function qs(e) {
6128
6164
  };
6129
6165
  });
6130
6166
  }
6131
- async function Js(e = {}) {
6132
- let t = await Ks(Gs(e), e.authManager), n = await qs(t.wsConfig);
6167
+ async function Zs(e = {}) {
6168
+ let t = await Ys(Js(e), e.authManager), n = await Xs(t.wsConfig);
6133
6169
  return {
6134
6170
  api: t.api,
6135
6171
  websocket: n,
@@ -6139,29 +6175,29 @@ async function Js(e = {}) {
6139
6175
  }
6140
6176
  //#endregion
6141
6177
  //#region ../core/src/cloud/mcp-listener.ts
6142
- function Ys(e) {
6178
+ function Qs(e) {
6143
6179
  let { editor: t, channel: n, onOperation: r } = e;
6144
6180
  H(n, (e, n) => {
6145
6181
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
6146
- xs(t, e), r?.(e);
6182
+ ws(t, e), r?.(e);
6147
6183
  });
6148
6184
  });
6149
6185
  }
6150
6186
  //#endregion
6151
6187
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
6152
- var Xs = {
6188
+ var $s = {
6153
6189
  key: 0,
6154
6190
  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)]"
6155
- }, Zs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Qs = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, $s = { class: "tpl:flex tpl:items-center tpl:gap-1" }, ec = ["title"], tc = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, nc = {
6191
+ }, ec = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, tc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, nc = { class: "tpl:flex tpl:items-center tpl:gap-1" }, rc = ["title"], ic = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, ac = {
6156
6192
  key: 0,
6157
6193
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6158
- }, rc = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ic = {
6194
+ }, oc = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, sc = {
6159
6195
  key: 1,
6160
6196
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6161
- }, ac = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oc = {
6197
+ }, cc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, lc = {
6162
6198
  key: 2,
6163
6199
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6164
- }, sc = {
6200
+ }, uc = {
6165
6201
  key: 0,
6166
6202
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
6167
6203
  style: {
@@ -6170,10 +6206,10 @@ var Xs = {
6170
6206
  "max-width": "85%",
6171
6207
  "box-shadow": "var(--tpl-shadow)"
6172
6208
  }
6173
- }, cc = {
6209
+ }, dc = {
6174
6210
  key: 1,
6175
6211
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6176
- }, lc = {
6212
+ }, fc = {
6177
6213
  key: 1,
6178
6214
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
6179
6215
  style: {
@@ -6182,21 +6218,21 @@ var Xs = {
6182
6218
  color: "var(--tpl-text)",
6183
6219
  "box-shadow": "var(--tpl-shadow)"
6184
6220
  }
6185
- }, uc = {
6221
+ }, pc = {
6186
6222
  key: 0,
6187
6223
  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",
6188
6224
  style: {
6189
6225
  "background-color": "var(--tpl-danger-light)",
6190
6226
  color: "var(--tpl-danger)"
6191
6227
  }
6192
- }, dc = {
6228
+ }, mc = {
6193
6229
  key: 1,
6194
6230
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
6195
6231
  style: {
6196
6232
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
6197
6233
  "backdrop-filter": "blur(2px)"
6198
6234
  }
6199
- }, fc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, pc = ["onClick"], mc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, hc = { 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)]" }, gc = ["placeholder", "disabled"], _c = ["disabled"], vc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, yc = /*@__PURE__*/ B({
6235
+ }, hc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, gc = ["onClick"], _c = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, vc = { 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)]" }, yc = ["placeholder", "disabled"], bc = ["disabled"], xc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Sc = /*@__PURE__*/ B({
6200
6236
  __name: "AiChatSidebar",
6201
6237
  props: {
6202
6238
  visible: { type: Boolean },
@@ -6204,7 +6240,7 @@ var Xs = {
6204
6240
  },
6205
6241
  emits: ["close"],
6206
6242
  setup(e, { emit: t }) {
6207
- let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Na(), u = Es({
6243
+ let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Ia(), u = ks({
6208
6244
  authManager: o,
6209
6245
  getTemplateId: () => a.state.template?.id ?? null,
6210
6246
  onApply: n.onApply,
@@ -6230,18 +6266,18 @@ var Xs = {
6230
6266
  (u.messages.value?.length ?? 0) === 0 && a.content.value.blocks.length === 0 && u.loadSuggestions(a.content.value, s);
6231
6267
  }
6232
6268
  });
6233
- async function T() {
6269
+ async function ee() {
6234
6270
  let e = d.value.trim();
6235
6271
  !e || u.isGenerating.value || (d.value = "", u.error.value = null, u.failedPrompt.value = null, w(), await u.sendPrompt(e, a.content.value, s), l.alive && (u.failedPrompt.value && (d.value = u.failedPrompt.value), w()));
6236
6272
  }
6237
- function E(e) {
6273
+ function T(e) {
6238
6274
  return e.replace(/```json[\s\S]*?```/g, "").replace(/```json[\s\S]*/g, "").trim();
6239
6275
  }
6240
- function ee(e) {
6241
- y(), d.value = e, T();
6276
+ function E(e) {
6277
+ y(), d.value = e, ee();
6242
6278
  }
6243
6279
  function te(e) {
6244
- e.key === "Enter" && !e.shiftKey && (e.preventDefault(), T());
6280
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), ee());
6245
6281
  }
6246
6282
  return (t, n) => (f(), N(ie, {
6247
6283
  "enter-active-class": "tpl-ai-slide-enter-active",
@@ -6251,11 +6287,11 @@ var Xs = {
6251
6287
  "leave-from-class": "tpl:translate-x-0",
6252
6288
  "leave-to-class": "tpl:translate-x-full"
6253
6289
  }, {
6254
- default: b(() => [e.visible ? (f(), k("div", Xs, [
6255
- I("div", Zs, [I("div", Qs, [V(j(Ni), {
6290
+ default: b(() => [e.visible ? (f(), k("div", $s, [
6291
+ I("div", ec, [I("div", tc, [V(j(Ni), {
6256
6292
  size: 13,
6257
6293
  "stroke-width": 2
6258
- }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", $s, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6294
+ }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", nc, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6259
6295
  key: 0,
6260
6296
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6261
6297
  title: j(i).aiChat.clear,
@@ -6263,30 +6299,30 @@ var Xs = {
6263
6299
  }, [V(j(Fi), {
6264
6300
  size: 14,
6265
6301
  "stroke-width": 2
6266
- })], 8, ec)) : A("", !0), I("button", {
6302
+ })], 8, rc)) : A("", !0), I("button", {
6267
6303
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6268
6304
  onClick: n[1] ||= (e) => r("close")
6269
6305
  }, [V(j(Bi), {
6270
6306
  size: 14,
6271
6307
  "stroke-width": 2
6272
6308
  })])])]),
6273
- I("div", tc, [
6309
+ I("div", ic, [
6274
6310
  I("div", {
6275
6311
  ref_key: "messagesContainer",
6276
6312
  ref: p,
6277
6313
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
6278
- }, [j(u).isLoadingHistory.value ? (f(), k("div", nc, [V(j(xi), {
6314
+ }, [j(u).isLoadingHistory.value ? (f(), k("div", ac, [V(j(xi), {
6279
6315
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6280
6316
  size: 24,
6281
6317
  "stroke-width": 2
6282
- }), I("p", rc, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", ic, [V(j(Ni), {
6318
+ }), I("p", oc, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", sc, [V(j(Ni), {
6283
6319
  size: 32,
6284
6320
  "stroke-width": 1.5,
6285
6321
  class: "tpl:text-[var(--tpl-text-dim)]"
6286
- }), I("p", ac, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", oc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6322
+ }), I("p", cc, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", lc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6287
6323
  key: e.id,
6288
6324
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6289
- }, [e.role === "user" ? (f(), k("div", sc, D(e.content), 1)) : (f(), k("div", cc, [!E(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Yi, { key: 0 })) : (f(), k("div", lc, D(E(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6325
+ }, [e.role === "user" ? (f(), k("div", uc, D(e.content), 1)) : (f(), k("div", dc, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Yi, { key: 0 })) : (f(), k("div", fc, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6290
6326
  key: 2,
6291
6327
  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",
6292
6328
  style: {
@@ -6302,12 +6338,12 @@ var Xs = {
6302
6338
  size: 12,
6303
6339
  "stroke-width": 2
6304
6340
  }), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
6305
- j(u).error.value ? (f(), k("div", uc, [V(j(si), {
6341
+ j(u).error.value ? (f(), k("div", pc, [V(j(si), {
6306
6342
  size: 14,
6307
6343
  "stroke-width": 2,
6308
6344
  class: "tpl:mt-0.5 tpl:shrink-0"
6309
6345
  }), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
6310
- (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", dc, [I("div", fc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6346
+ (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", mc, [I("div", hc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6311
6347
  key: t,
6312
6348
  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"]),
6313
6349
  style: {
@@ -6316,111 +6352,111 @@ var Xs = {
6316
6352
  "background-color": "var(--tpl-bg)",
6317
6353
  "box-shadow": "var(--tpl-shadow)"
6318
6354
  },
6319
- onClick: (t) => ee(e)
6320
- }, D(e), 11, pc))), 128))])])) : A("", !0)
6355
+ onClick: (t) => E(e)
6356
+ }, D(e), 11, gc))), 128))])])) : A("", !0)
6321
6357
  ]),
6322
- I("div", mc, [I("div", hc, [c(I("textarea", {
6358
+ I("div", _c, [I("div", vc, [c(I("textarea", {
6323
6359
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
6324
6360
  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)]",
6325
6361
  placeholder: j(i).aiChat.inputPlaceholder,
6326
6362
  disabled: j(u).isGenerating.value,
6327
6363
  rows: "3",
6328
6364
  onKeydown: te
6329
- }, null, 40, gc), [[ae, d.value]]), I("button", {
6365
+ }, null, 40, yc), [[ae, d.value]]), I("button", {
6330
6366
  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)]",
6331
6367
  disabled: !d.value.trim() || j(u).isGenerating.value,
6332
- onClick: T
6368
+ onClick: ee
6333
6369
  }, [V(j(ki), {
6334
6370
  size: 16,
6335
6371
  "stroke-width": 2
6336
- })], 8, _c)]), I("p", vc, D(j(i).aiMenu.disclaimer), 1)])
6372
+ })], 8, bc)]), I("p", xc, D(j(i).aiMenu.disclaimer), 1)])
6337
6373
  ])) : A("", !0)]),
6338
6374
  _: 1
6339
6375
  }));
6340
6376
  }
6341
- }), bc = /* @__PURE__ */ e({ default: () => xc }), xc = /*#__PURE__*/ Gi(yc, [["__scopeId", "data-v-a55e4bff"]]), Sc = 6e4, Cc = 36e5, wc = 864e5;
6342
- function Tc(e, t, n, r) {
6377
+ }), Cc = /* @__PURE__ */ e({ default: () => wc }), wc = /*#__PURE__*/ Gi(Sc, [["__scopeId", "data-v-a55e4bff"]]), Tc = 6e4, Ec = 36e5, Dc = 864e5;
6378
+ function Oc(e, t, n, r) {
6343
6379
  let i = new Date(e).getTime();
6344
6380
  if (Number.isNaN(i)) return null;
6345
6381
  let a = Date.now() - i;
6346
6382
  if (a < -6e4) return null;
6347
- let o = Math.floor(a / Sc), s = Math.floor(a / Cc), c = Math.floor(a / wc);
6383
+ let o = Math.floor(a / Tc), s = Math.floor(a / Ec), c = Math.floor(a / Dc);
6348
6384
  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));
6349
6385
  }
6350
6386
  //#endregion
6351
6387
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
6352
- var Ec = {
6388
+ var kc = {
6353
6389
  key: 0,
6354
6390
  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)]"
6355
- }, Dc = { 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)]" }, kc = {
6391
+ }, Ac = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, jc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, Mc = {
6356
6392
  key: 0,
6357
6393
  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)]"
6358
- }, Ac = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, jc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Mc = {
6394
+ }, Nc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Pc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Fc = {
6359
6395
  key: 0,
6360
6396
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
6361
- }, Nc = {
6397
+ }, Ic = {
6362
6398
  key: 1,
6363
6399
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
6364
- }, Pc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Fc = {
6400
+ }, Lc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Rc = {
6365
6401
  key: 2,
6366
6402
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
6367
- }, Ic = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, 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 = {
6403
+ }, zc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, Bc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Vc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Hc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Uc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Wc = {
6368
6404
  key: 0,
6369
6405
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6370
- }, Hc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Uc = ["title", "onClick"], Wc = ["title", "onClick"], Gc = ["title", "onClick"], Kc = {
6406
+ }, Gc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Kc = ["title", "onClick"], qc = ["title", "onClick"], Jc = ["title", "onClick"], Yc = {
6371
6407
  key: 0,
6372
6408
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
6373
- }, qc = {
6409
+ }, Xc = {
6374
6410
  key: 0,
6375
6411
  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)]"
6376
- }, Jc = ["onClick"], Yc = {
6412
+ }, Zc = ["onClick"], Qc = {
6377
6413
  key: 2,
6378
6414
  class: "tpl:mt-2"
6379
- }, Xc = ["onKeydown"], Zc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Qc = ["disabled", "onClick"], $c = {
6415
+ }, $c = ["onKeydown"], el = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, tl = ["disabled", "onClick"], nl = {
6380
6416
  key: 3,
6381
6417
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6382
- }, el = {
6418
+ }, rl = {
6383
6419
  key: 4,
6384
6420
  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)]"
6385
- }, tl = { class: "tpl:flex-1" }, nl = ["onClick"], rl = {
6421
+ }, il = { class: "tpl:flex-1" }, al = ["onClick"], ol = {
6386
6422
  key: 5,
6387
6423
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6388
- }, il = ["title", "onClick"], al = ["onClick"], ol = {
6424
+ }, sl = ["title", "onClick"], cl = ["onClick"], ll = {
6389
6425
  key: 0,
6390
6426
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6391
- }, sl = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, cl = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, ll = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ul = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, dl = {
6427
+ }, ul = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, dl = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, fl = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, pl = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, ml = {
6392
6428
  key: 0,
6393
6429
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6394
- }, fl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, pl = ["title", "onClick"], ml = ["title", "onClick"], hl = {
6430
+ }, hl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, gl = ["title", "onClick"], _l = ["title", "onClick"], vl = {
6395
6431
  key: 0,
6396
6432
  class: "tpl:mt-1.5"
6397
- }, gl = ["onKeydown"], _l = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, vl = ["disabled", "onClick"], yl = {
6433
+ }, yl = ["onKeydown"], bl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, xl = ["disabled", "onClick"], Sl = {
6398
6434
  key: 1,
6399
6435
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6400
- }, bl = {
6436
+ }, Cl = {
6401
6437
  key: 2,
6402
6438
  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)]"
6403
- }, xl = { class: "tpl:flex-1" }, Sl = ["onClick"], Cl = {
6439
+ }, wl = { class: "tpl:flex-1" }, Tl = ["onClick"], El = {
6404
6440
  key: 0,
6405
6441
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6406
- }, wl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Tl = ["placeholder", "onKeydown"], El = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Dl = ["disabled", "onClick"], Ol = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, kl = {
6442
+ }, Dl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Ol = ["placeholder", "onKeydown"], kl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Al = ["disabled", "onClick"], jl = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Ml = {
6407
6443
  key: 0,
6408
6444
  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)]"
6409
- }, Al = {
6445
+ }, Nl = {
6410
6446
  key: 1,
6411
6447
  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)]"
6412
- }, jl = ["placeholder", "disabled"], Ml = ["disabled"], Nl = /*@__PURE__*/ B({
6448
+ }, Pl = ["placeholder", "disabled"], Fl = ["disabled"], Il = /*@__PURE__*/ B({
6413
6449
  __name: "CommentsSidebar",
6414
6450
  props: { visible: { type: Boolean } },
6415
6451
  emits: ["close", "filterBlock"],
6416
6452
  setup(e, { expose: t, emit: n }) {
6417
- let r = e, i = n, { format: a } = Y(), { t: o } = ta(), s = J(zn, "CommentsSidebar"), l = J(mr, "CommentsSidebar"), u = J(gr, "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), T = C(null), E = O(() => l.userConfig?.id ?? null), ee = O(() => {
6453
+ let r = e, i = n, { format: a } = Y(), { t: o } = ta(), s = J(zn, "CommentsSidebar"), l = J(mr, "CommentsSidebar"), u = J(gr, "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(() => {
6418
6454
  let e = /* @__PURE__ */ new Set();
6419
6455
  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);
6420
6456
  return e;
6421
6457
  });
6422
6458
  function te(e) {
6423
- return e ? !ee.value.has(e) : !1;
6459
+ return e ? !E.value.has(e) : !1;
6424
6460
  }
6425
6461
  let ne = O(() => d.value !== "block" || !p.value ? !1 : !(s.savedBlockIds?.value.has(p.value) ?? !0)), re = O(() => {
6426
6462
  let e = u.comments.value;
@@ -6479,10 +6515,10 @@ var Ec = {
6479
6515
  await u.toggleResolve(e);
6480
6516
  }
6481
6517
  function _e(e) {
6482
- return e.author_identifier === E.value;
6518
+ return e.author_identifier === T.value;
6483
6519
  }
6484
6520
  function ve(e) {
6485
- return Tc(e, o.snapshotHistory) ?? e;
6521
+ return Oc(e, o.snapshotHistory) ?? e;
6486
6522
  }
6487
6523
  function ye(e) {
6488
6524
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6495,7 +6531,7 @@ var Ec = {
6495
6531
  }
6496
6532
  function Se() {
6497
6533
  m(() => {
6498
- T.value?.focus();
6534
+ ee.value?.focus();
6499
6535
  });
6500
6536
  }
6501
6537
  return t({
@@ -6509,14 +6545,14 @@ var Ec = {
6509
6545
  "leave-from-class": "tpl:translate-x-0",
6510
6546
  "leave-to-class": "tpl:translate-x-full"
6511
6547
  }, {
6512
- default: b(() => [e.visible ? (f(), k("div", Ec, [
6513
- I("div", Dc, [I("div", Oc, [
6548
+ default: b(() => [e.visible ? (f(), k("div", kc, [
6549
+ I("div", Ac, [I("div", jc, [
6514
6550
  V(j(Si), {
6515
6551
  size: 13,
6516
6552
  "stroke-width": 2
6517
6553
  }),
6518
6554
  I("span", null, D(j(o).comments.title), 1),
6519
- j(u).unresolvedCount.value > 0 ? (f(), k("span", kc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6555
+ j(u).unresolvedCount.value > 0 ? (f(), k("span", Mc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6520
6556
  ]), I("button", {
6521
6557
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6522
6558
  onClick: n[0] ||= (e) => i("close")
@@ -6524,7 +6560,7 @@ var Ec = {
6524
6560
  size: 14,
6525
6561
  "stroke-width": 2
6526
6562
  })])]),
6527
- I("div", Ac, [
6563
+ I("div", Nc, [
6528
6564
  I("button", {
6529
6565
  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" : ""]),
6530
6566
  onClick: n[1] ||= (e) => M("unresolved")
@@ -6539,24 +6575,24 @@ var Ec = {
6539
6575
  onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
6540
6576
  }, D(j(o).comments.filterBlock), 3)) : A("", !0)
6541
6577
  ]),
6542
- I("div", jc, [j(u).isLoading.value ? (f(), k("div", Mc, [V(j(xi), {
6578
+ I("div", Pc, [j(u).isLoading.value ? (f(), k("div", Fc, [V(j(xi), {
6543
6579
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6544
6580
  size: 24,
6545
6581
  "stroke-width": 2
6546
- })])) : re.value.length === 0 ? (f(), k("div", Nc, [V(j(Si), {
6582
+ })])) : re.value.length === 0 ? (f(), k("div", Ic, [V(j(Si), {
6547
6583
  size: 32,
6548
6584
  "stroke-width": 1.5,
6549
6585
  class: "tpl:text-[var(--tpl-text-dim)]"
6550
- }), I("p", Pc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", Fc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6586
+ }), I("p", Lc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", Rc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6551
6587
  key: e.id,
6552
6588
  class: "tpl-comment-thread"
6553
6589
  }, [
6554
- I("div", Ic, [
6555
- I("div", Lc, [I("div", Rc, [
6556
- I("span", zc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6557
- I("span", Bc, D(ve(e.created_at)), 1),
6558
- e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Vc, " (" + D(j(o).comments.edited) + ") ", 1))
6559
- ]), I("div", Hc, [
6590
+ I("div", zc, [
6591
+ I("div", Bc, [I("div", Vc, [
6592
+ I("span", Hc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6593
+ I("span", Uc, D(ve(e.created_at)), 1),
6594
+ e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Wc, " (" + D(j(o).comments.edited) + ") ", 1))
6595
+ ]), I("div", Gc, [
6560
6596
  I("button", {
6561
6597
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6562
6598
  title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
@@ -6566,7 +6602,7 @@ var Ec = {
6566
6602
  "stroke-width": 2,
6567
6603
  class: "tpl-resolve-icon",
6568
6604
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6569
- }, null, 8, ["style"])], 8, Uc),
6605
+ }, null, 8, ["style"])], 8, Kc),
6570
6606
  _e(e) ? (f(), k("button", {
6571
6607
  key: 0,
6572
6608
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6575,7 +6611,7 @@ var Ec = {
6575
6611
  }, [V(j(wi), {
6576
6612
  size: 12,
6577
6613
  "stroke-width": 2
6578
- })], 8, Wc)) : A("", !0),
6614
+ })], 8, qc)) : A("", !0),
6579
6615
  _e(e) ? (f(), k("button", {
6580
6616
  key: 1,
6581
6617
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6584,45 +6620,45 @@ var Ec = {
6584
6620
  }, [V(j(Fi), {
6585
6621
  size: 12,
6586
6622
  "stroke-width": 2
6587
- })], 8, Gc)) : A("", !0)
6623
+ })], 8, Jc)) : A("", !0)
6588
6624
  ])]),
6589
6625
  V(ie, { name: "tpl-resolve" }, {
6590
- default: b(() => [e.resolved_at ? (f(), k("div", Kc, [V(j(ni), {
6626
+ default: b(() => [e.resolved_at ? (f(), k("div", Yc, [V(j(ni), {
6591
6627
  size: 10,
6592
6628
  "stroke-width": 2.5
6593
6629
  }), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
6594
6630
  _: 2
6595
6631
  }, 1024),
6596
- e.block_id && te(e.block_id) ? (f(), k("span", qc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6632
+ e.block_id && te(e.block_id) ? (f(), k("span", Xc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6597
6633
  key: 1,
6598
6634
  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)]",
6599
6635
  onClick: (t) => j(s).selectBlock(e.block_id ?? "")
6600
- }, " Block ", 8, Jc)) : A("", !0),
6601
- y.value === e.id ? (f(), k("div", Yc, [c(I("textarea", {
6636
+ }, " Block ", 8, Zc)) : A("", !0),
6637
+ y.value === e.id ? (f(), k("div", Qc, [c(I("textarea", {
6602
6638
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6603
6639
  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)]",
6604
6640
  rows: "3",
6605
6641
  onKeydown: (t) => xe(t, e.id)
6606
- }, null, 40, Xc), [[ae, x.value]]), I("div", Zc, [I("button", {
6642
+ }, null, 40, $c), [[ae, x.value]]), I("div", el, [I("button", {
6607
6643
  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)]",
6608
6644
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6609
6645
  onClick: (t) => me(e.id)
6610
- }, D(j(o).comments.save), 9, Qc), I("button", {
6646
+ }, D(j(o).comments.save), 9, tl), I("button", {
6611
6647
  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)]",
6612
6648
  onClick: n[5] ||= (e) => B()
6613
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", $c, D(e.body), 1)),
6614
- w.value === e.id ? (f(), k("div", el, [
6615
- I("span", tl, D(j(o).comments.deleteConfirm), 1),
6649
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", nl, D(e.body), 1)),
6650
+ w.value === e.id ? (f(), k("div", rl, [
6651
+ I("span", il, D(j(o).comments.deleteConfirm), 1),
6616
6652
  I("button", {
6617
6653
  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)]",
6618
6654
  onClick: (t) => he(e.id)
6619
- }, D(j(o).comments.delete), 9, nl),
6655
+ }, D(j(o).comments.delete), 9, al),
6620
6656
  I("button", {
6621
6657
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6622
6658
  onClick: n[6] ||= (e) => de()
6623
6659
  }, D(j(o).comments.cancel), 1)
6624
6660
  ])) : A("", !0),
6625
- y.value !== e.id && w.value !== e.id ? (f(), k("div", rl, [I("button", {
6661
+ y.value !== e.id && w.value !== e.id ? (f(), k("div", ol, [I("button", {
6626
6662
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6627
6663
  title: j(o).comments.reply,
6628
6664
  onClick: (t) => se(e.id)
@@ -6630,7 +6666,7 @@ var Ec = {
6630
6666
  size: 13,
6631
6667
  "stroke-width": 2,
6632
6668
  class: "tpl:text-[var(--tpl-primary)]"
6633
- })], 8, il), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6669
+ })], 8, sl), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6634
6670
  key: 0,
6635
6671
  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)]",
6636
6672
  onClick: (t) => oe(e.id)
@@ -6642,18 +6678,18 @@ var Ec = {
6642
6678
  key: 1,
6643
6679
  size: 11,
6644
6680
  "stroke-width": 2
6645
- })), 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, al)) : A("", !0)])) : A("", !0)
6681
+ })), 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, cl)) : A("", !0)])) : A("", !0)
6646
6682
  ]),
6647
6683
  V(ie, { name: "tpl-replies" }, {
6648
- default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", ol, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6684
+ default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", ll, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6649
6685
  key: t.id,
6650
6686
  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" : ""])
6651
6687
  }, [
6652
- I("div", sl, [I("div", cl, [
6653
- I("span", ll, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6654
- I("span", ul, D(ve(t.created_at)), 1),
6655
- t.updated_at === t.created_at ? A("", !0) : (f(), k("span", dl, " (" + D(j(o).comments.edited) + ") ", 1))
6656
- ]), I("div", fl, [_e(t) ? (f(), k("button", {
6688
+ I("div", ul, [I("div", dl, [
6689
+ I("span", fl, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6690
+ I("span", pl, D(ve(t.created_at)), 1),
6691
+ t.updated_at === t.created_at ? A("", !0) : (f(), k("span", ml, " (" + D(j(o).comments.edited) + ") ", 1))
6692
+ ]), I("div", hl, [_e(t) ? (f(), k("button", {
6657
6693
  key: 0,
6658
6694
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6659
6695
  title: j(o).comments.edit,
@@ -6661,7 +6697,7 @@ var Ec = {
6661
6697
  }, [V(j(wi), {
6662
6698
  size: 11,
6663
6699
  "stroke-width": 2
6664
- })], 8, pl)) : A("", !0), _e(t) ? (f(), k("button", {
6700
+ })], 8, gl)) : A("", !0), _e(t) ? (f(), k("button", {
6665
6701
  key: 1,
6666
6702
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6667
6703
  title: j(o).comments.delete,
@@ -6669,26 +6705,26 @@ var Ec = {
6669
6705
  }, [V(j(Fi), {
6670
6706
  size: 11,
6671
6707
  "stroke-width": 2
6672
- })], 8, ml)) : A("", !0)])]),
6673
- y.value === t.id ? (f(), k("div", hl, [c(I("textarea", {
6708
+ })], 8, _l)) : A("", !0)])]),
6709
+ y.value === t.id ? (f(), k("div", vl, [c(I("textarea", {
6674
6710
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6675
6711
  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)]",
6676
6712
  rows: "2",
6677
6713
  onKeydown: (e) => xe(e, t.id)
6678
- }, null, 40, gl), [[ae, x.value]]), I("div", _l, [I("button", {
6714
+ }, null, 40, yl), [[ae, x.value]]), I("div", bl, [I("button", {
6679
6715
  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)]",
6680
6716
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6681
6717
  onClick: (e) => me(t.id)
6682
- }, D(j(o).comments.save), 9, vl), I("button", {
6718
+ }, D(j(o).comments.save), 9, xl), I("button", {
6683
6719
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6684
6720
  onClick: n[8] ||= (e) => B()
6685
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", yl, D(t.body), 1)),
6686
- w.value === t.id ? (f(), k("div", bl, [
6687
- I("span", xl, D(j(o).comments.deleteConfirm), 1),
6721
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Sl, D(t.body), 1)),
6722
+ w.value === t.id ? (f(), k("div", Cl, [
6723
+ I("span", wl, D(j(o).comments.deleteConfirm), 1),
6688
6724
  I("button", {
6689
6725
  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)]",
6690
6726
  onClick: (e) => he(t.id)
6691
- }, D(j(o).comments.delete), 9, Sl),
6727
+ }, D(j(o).comments.delete), 9, Tl),
6692
6728
  I("button", {
6693
6729
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6694
6730
  onClick: n[9] ||= (e) => de()
@@ -6698,20 +6734,20 @@ var Ec = {
6698
6734
  _: 2
6699
6735
  }, 1024),
6700
6736
  V(ie, { name: "tpl-replies" }, {
6701
- default: b(() => [_.value === e.id ? (f(), k("div", Cl, [I("div", wl, [c(I("textarea", {
6737
+ default: b(() => [_.value === e.id ? (f(), k("div", El, [I("div", Dl, [c(I("textarea", {
6702
6738
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6703
6739
  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)]",
6704
6740
  placeholder: j(o).comments.replyPlaceholder,
6705
6741
  rows: "2",
6706
6742
  onKeydown: (t) => be(t, e.id)
6707
- }, null, 40, Tl), [[ae, v.value]]), I("div", El, [I("button", {
6743
+ }, null, 40, Ol), [[ae, v.value]]), I("div", kl, [I("button", {
6708
6744
  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)]",
6709
6745
  disabled: !v.value.trim() || j(u).isSubmitting.value,
6710
6746
  onClick: (t) => pe(e.id)
6711
6747
  }, [V(j(ki), {
6712
6748
  size: 14,
6713
6749
  "stroke-width": 2
6714
- })], 8, Dl), I("button", {
6750
+ })], 8, Al), I("button", {
6715
6751
  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)]",
6716
6752
  onClick: n[11] ||= (e) => ce()
6717
6753
  }, [V(j(Bi), {
@@ -6721,16 +6757,16 @@ var Ec = {
6721
6757
  _: 2
6722
6758
  }, 1024)
6723
6759
  ]))), 128))]))]),
6724
- I("div", Ol, [ne.value ? (f(), k("div", kl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Al, [c(I("textarea", {
6760
+ I("div", jl, [ne.value ? (f(), k("div", Ml, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Nl, [c(I("textarea", {
6725
6761
  ref_key: "newCommentInput",
6726
- ref: T,
6762
+ ref: ee,
6727
6763
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
6728
6764
  class: "tpl:max-h-24 tpl:min-h-[48px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-xs tpl:outline-none tpl:text-[var(--tpl-text)]",
6729
6765
  placeholder: j(o).comments.placeholder,
6730
6766
  disabled: j(u).isSubmitting.value,
6731
6767
  rows: "2",
6732
6768
  onKeydown: ye
6733
- }, null, 40, jl), [[ae, g.value]]), I("button", {
6769
+ }, null, 40, Pl), [[ae, g.value]]), I("button", {
6734
6770
  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)]",
6735
6771
  disabled: !g.value.trim() || j(u).isSubmitting.value,
6736
6772
  onClick: fe
@@ -6743,33 +6779,33 @@ var Ec = {
6743
6779
  key: 1,
6744
6780
  size: 16,
6745
6781
  "stroke-width": 2
6746
- }))], 8, Ml)]))])
6782
+ }))], 8, Fl)]))])
6747
6783
  ])) : A("", !0)]),
6748
6784
  _: 1
6749
6785
  }));
6750
6786
  }
6751
- }), Pl = /* @__PURE__ */ e({ default: () => Fl }), Fl = /*#__PURE__*/ Gi(Nl, [["__scopeId", "data-v-d204f573"]]), Il = {
6787
+ }), Ll = /* @__PURE__ */ e({ default: () => Rl }), Rl = /*#__PURE__*/ Gi(Il, [["__scopeId", "data-v-d204f573"]]), zl = {
6752
6788
  key: 0,
6753
6789
  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)]"
6754
- }, Ll = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Rl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, zl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Bl = {
6790
+ }, Bl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Vl = { 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" }, Ul = {
6755
6791
  key: 0,
6756
6792
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6757
- }, Vl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Hl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ul = {
6793
+ }, Wl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Gl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Kl = {
6758
6794
  key: 1,
6759
6795
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6760
- }, Wl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Gl = {
6796
+ }, ql = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Jl = {
6761
6797
  key: 0,
6762
6798
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6763
- }, Kl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, ql = ["src", "alt"], Jl = {
6799
+ }, Yl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Xl = ["src", "alt"], Zl = {
6764
6800
  key: 1,
6765
6801
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6766
- }, Yl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Xl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Zl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ql = ["accept"], $l = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, eu = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, tu = ["placeholder"], nu = {
6802
+ }, Ql = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, $l = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, eu = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, tu = ["accept"], nu = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, ru = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, iu = ["placeholder"], au = {
6767
6803
  key: 0,
6768
6804
  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)]"
6769
- }, ru = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, iu = { class: "tpl:flex tpl:gap-2" }, au = {
6805
+ }, ou = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, su = { class: "tpl:flex tpl:gap-2" }, cu = {
6770
6806
  key: 1,
6771
6807
  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)]"
6772
- }, ou = ["disabled"], su = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, cu = /*@__PURE__*/ B({
6808
+ }, lu = ["disabled"], uu = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, du = /*@__PURE__*/ B({
6773
6809
  __name: "DesignReferenceSidebar",
6774
6810
  props: {
6775
6811
  visible: { type: Boolean },
@@ -6777,7 +6813,7 @@ var Ec = {
6777
6813
  },
6778
6814
  emits: ["close", "apply"],
6779
6815
  setup(e, { emit: t }) {
6780
- let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = ks({
6816
+ let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = Ms({
6781
6817
  authManager: J(mr, "DesignReferenceSidebar"),
6782
6818
  getTemplateId: () => a.state.template?.id ?? null,
6783
6819
  onApply: (e) => r("apply", e)
@@ -6819,12 +6855,12 @@ var Ec = {
6819
6855
  function w() {
6820
6856
  h.value = !1;
6821
6857
  }
6822
- function T(e) {
6858
+ function ee(e) {
6823
6859
  e.preventDefault(), h.value = !1;
6824
6860
  let t = e.dataTransfer?.files?.[0];
6825
6861
  t && y(t);
6826
6862
  }
6827
- function E() {
6863
+ function T() {
6828
6864
  if (!g.value) return;
6829
6865
  if (n.hasExistingBlocks && !m.value) {
6830
6866
  m.value = !0;
@@ -6834,7 +6870,7 @@ var Ec = {
6834
6870
  let e = {};
6835
6871
  d.value.trim() && (e.prompt = d.value.trim()), l.value === "image" && u.value ? e.imageUpload = u.value : l.value === "pdf" && u.value && (e.pdfUpload = u.value), o.generate(e);
6836
6872
  }
6837
- function ee() {
6873
+ function E() {
6838
6874
  m.value = !1;
6839
6875
  }
6840
6876
  return H(() => n.visible, (e) => {
@@ -6849,7 +6885,7 @@ var Ec = {
6849
6885
  "leave-from-class": "tpl:translate-x-0",
6850
6886
  "leave-to-class": "tpl:translate-x-full"
6851
6887
  }, {
6852
- default: b(() => [e.visible ? (f(), k("div", Il, [I("div", Ll, [I("div", Rl, [V(j(vi), {
6888
+ default: b(() => [e.visible ? (f(), k("div", zl, [I("div", Bl, [I("div", Vl, [V(j(vi), {
6853
6889
  size: 13,
6854
6890
  "stroke-width": 2
6855
6891
  }), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
@@ -6858,8 +6894,8 @@ var Ec = {
6858
6894
  }, [V(j(Bi), {
6859
6895
  size: 14,
6860
6896
  "stroke-width": 2
6861
- })])]), I("div", zl, [j(o).isGenerating.value ? (f(), k("div", Bl, [I("div", Vl, [V(Yi), I("p", Hl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Ul, [
6862
- I("div", Wl, [I("button", {
6897
+ })])]), I("div", Hl, [j(o).isGenerating.value ? (f(), k("div", Ul, [I("div", Wl, [V(Yi), I("p", Gl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Kl, [
6898
+ I("div", ql, [I("button", {
6863
6899
  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",
6864
6900
  style: L({
6865
6901
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6882,16 +6918,16 @@ var Ec = {
6882
6918
  size: 12,
6883
6919
  "stroke-width": 2
6884
6920
  }), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
6885
- I("div", null, [u.value ? (f(), k("div", Gl, [I("div", Kl, [p.value ? (f(), k("img", {
6921
+ I("div", null, [u.value ? (f(), k("div", Jl, [I("div", Yl, [p.value ? (f(), k("img", {
6886
6922
  key: 0,
6887
6923
  src: p.value,
6888
6924
  alt: u.value.name,
6889
6925
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6890
- }, null, 8, ql)) : (f(), k("div", Jl, [V(j(hi), {
6926
+ }, null, 8, Xl)) : (f(), k("div", Zl, [V(j(hi), {
6891
6927
  size: 32,
6892
6928
  "stroke-width": 1.5,
6893
6929
  class: "tpl:text-[var(--tpl-text-dim)]"
6894
- }), I("span", Yl, D(u.value.name), 1)])), I("button", {
6930
+ }), I("span", Ql, D(u.value.name), 1)])), I("button", {
6895
6931
  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)]",
6896
6932
  onClick: x
6897
6933
  }, [V(j(Bi), {
@@ -6907,15 +6943,15 @@ var Ec = {
6907
6943
  onClick: n[3] ||= (e) => s.value?.click(),
6908
6944
  onDragover: S,
6909
6945
  onDragleave: w,
6910
- onDrop: T
6946
+ onDrop: ee
6911
6947
  }, [
6912
6948
  V(j(Ri), {
6913
6949
  size: 24,
6914
6950
  "stroke-width": 1.5,
6915
6951
  class: "tpl:text-[var(--tpl-text-dim)]"
6916
6952
  }),
6917
- I("span", Xl, D(j(i).designReference.dropHint), 1),
6918
- I("span", Zl, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6953
+ I("span", $l, D(j(i).designReference.dropHint), 1),
6954
+ I("span", eu, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6919
6955
  ], 36)), I("input", {
6920
6956
  ref_key: "fileInput",
6921
6957
  ref: s,
@@ -6923,22 +6959,22 @@ var Ec = {
6923
6959
  class: "tpl:hidden",
6924
6960
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6925
6961
  onChange: v
6926
- }, null, 40, Ql)]),
6927
- I("div", $l, [I("label", eu, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6962
+ }, null, 40, tu)]),
6963
+ I("div", nu, [I("label", ru, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6928
6964
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6929
6965
  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"]]),
6930
6966
  placeholder: j(i).designReference.promptPlaceholder,
6931
6967
  rows: "3"
6932
- }, null, 8, tu), [[ae, d.value]])]),
6933
- m.value ? (f(), k("div", nu, [I("p", ru, D(j(i).designReference.replaceWarning), 1), I("div", iu, [I("button", {
6968
+ }, null, 8, iu), [[ae, d.value]])]),
6969
+ m.value ? (f(), k("div", au, [I("p", ou, D(j(i).designReference.replaceWarning), 1), I("div", su, [I("button", {
6934
6970
  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)]",
6935
6971
  style: { "background-color": "transparent" },
6936
- onClick: ee
6972
+ onClick: E
6937
6973
  }, D(j(i).designReference.replaceCancel), 1), I("button", {
6938
6974
  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)]",
6939
- onClick: E
6975
+ onClick: T
6940
6976
  }, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
6941
- j(o).error.value ? (f(), k("div", au, [V(j(si), {
6977
+ j(o).error.value ? (f(), k("div", cu, [V(j(si), {
6942
6978
  size: 14,
6943
6979
  "stroke-width": 2,
6944
6980
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6947,36 +6983,36 @@ var Ec = {
6947
6983
  key: 2,
6948
6984
  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)]",
6949
6985
  disabled: !g.value,
6950
- onClick: E
6986
+ onClick: T
6951
6987
  }, [V(j(vi), {
6952
6988
  size: 16,
6953
6989
  "stroke-width": 2
6954
- }), z(" " + D(j(i).designReference.generate), 1)], 8, ou)),
6955
- I("p", su, D(j(i).aiMenu.disclaimer), 1)
6990
+ }), z(" " + D(j(i).designReference.generate), 1)], 8, lu)),
6991
+ I("p", uu, D(j(i).aiMenu.disclaimer), 1)
6956
6992
  ]))])])) : A("", !0)]),
6957
6993
  _: 1
6958
6994
  }));
6959
6995
  }
6960
- }), lu = /* @__PURE__ */ e({ default: () => uu }), uu = /*#__PURE__*/ Gi(cu, [["__scopeId", "data-v-bdbf8d0d"]]), du = ["disabled", "title"], fu = ["title"], pu = {
6996
+ }), fu = /* @__PURE__ */ e({ default: () => pu }), pu = /*#__PURE__*/ Gi(du, [["__scopeId", "data-v-bdbf8d0d"]]), mu = ["disabled", "title"], hu = ["title"], gu = {
6961
6997
  key: 0,
6962
6998
  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)]",
6963
6999
  style: {
6964
7000
  "backdrop-filter": "blur(8px)",
6965
7001
  "-webkit-backdrop-filter": "blur(8px)"
6966
7002
  }
6967
- }, mu = { 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)]" }, hu = {
7003
+ }, _u = { 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)]" }, vu = {
6968
7004
  key: 0,
6969
7005
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
6970
- }, gu = {
7006
+ }, yu = {
6971
7007
  key: 1,
6972
7008
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
6973
- }, _u = {
7009
+ }, bu = {
6974
7010
  key: 2,
6975
7011
  class: "tpl:max-h-64 tpl:overflow-y-auto"
6976
- }, vu = ["disabled", "onClick"], yu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, bu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, xu = {
7012
+ }, xu = ["disabled", "onClick"], Su = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Cu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, wu = {
6977
7013
  key: 0,
6978
7014
  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)]"
6979
- }, Su = ["disabled", "title"], Cu = /*@__PURE__*/ B({
7015
+ }, Tu = ["disabled", "title"], Eu = /*@__PURE__*/ B({
6980
7016
  __name: "SnapshotHistory",
6981
7017
  props: {
6982
7018
  snapshots: {},
@@ -7004,7 +7040,7 @@ var Ec = {
7004
7040
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
7005
7041
  }
7006
7042
  function _(e) {
7007
- let t = Tc(e, a.snapshotHistory, i, 7);
7043
+ let t = Oc(e, a.snapshotHistory, i, 7);
7008
7044
  return t === null ? new Date(e).toLocaleDateString(void 0, {
7009
7045
  month: "short",
7010
7046
  day: "numeric",
@@ -7027,7 +7063,7 @@ var Ec = {
7027
7063
  }, [V(j(ii), {
7028
7064
  size: 14,
7029
7065
  "stroke-width": 2
7030
- })], 8, du),
7066
+ })], 8, mu),
7031
7067
  I("button", {
7032
7068
  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)]",
7033
7069
  title: j(a).snapshotHistory.tooltip,
@@ -7039,19 +7075,19 @@ var Ec = {
7039
7075
  class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
7040
7076
  size: 10,
7041
7077
  "stroke-width": 2
7042
- }, null, 8, ["class"])], 8, fu),
7078
+ }, null, 8, ["class"])], 8, hu),
7043
7079
  V(ie, { name: "tpl-dropdown" }, {
7044
- default: b(() => [o.value ? (f(), k("div", pu, [I("div", mu, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", hu, [V(j(xi), {
7080
+ default: b(() => [o.value ? (f(), k("div", gu, [I("div", _u, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", vu, [V(j(xi), {
7045
7081
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
7046
7082
  size: 20,
7047
7083
  "stroke-width": 2
7048
- })])) : e.snapshots.length === 0 ? (f(), k("div", gu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", _u, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
7084
+ })])) : e.snapshots.length === 0 ? (f(), k("div", yu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", bu, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
7049
7085
  key: t.id,
7050
7086
  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)]",
7051
7087
  style: { "background-color": "transparent" },
7052
7088
  disabled: e.isRestoring,
7053
7089
  onClick: (e) => g(t.id)
7054
- }, [I("div", yu, [I("div", bu, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", xu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, vu))), 128))]))])) : A("", !0)]),
7090
+ }, [I("div", Su, [I("div", Cu, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", wu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, xu))), 128))]))])) : A("", !0)]),
7055
7091
  _: 1
7056
7092
  }),
7057
7093
  I("button", {
@@ -7062,66 +7098,66 @@ var Ec = {
7062
7098
  }, [V(j(ai), {
7063
7099
  size: 14,
7064
7100
  "stroke-width": 2
7065
- })], 8, Su)
7101
+ })], 8, Tu)
7066
7102
  ], 512));
7067
7103
  }
7068
- }), wu = /* @__PURE__ */ e({ default: () => Tu }), Tu = Cu;
7104
+ }), Du = /* @__PURE__ */ e({ default: () => Ou }), Ou = Eu;
7069
7105
  //#endregion
7070
7106
  //#region src/cloud/utils/scoringStyles.ts
7071
- function Eu(e) {
7107
+ function ku(e) {
7072
7108
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
7073
7109
  }
7074
- function Du(e) {
7110
+ function Au(e) {
7075
7111
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
7076
7112
  }
7077
- function Ou(e) {
7113
+ function ju(e) {
7078
7114
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
7079
7115
  }
7080
- function ku(e) {
7116
+ function Mu(e) {
7081
7117
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
7082
7118
  }
7083
7119
  //#endregion
7084
7120
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
7085
- var Au = {
7121
+ var Nu = {
7086
7122
  key: 0,
7087
7123
  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)]"
7088
- }, ju = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Mu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Nu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Pu = ["title"], Fu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Iu = {
7124
+ }, Pu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Fu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Iu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Lu = ["title"], Ru = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, zu = {
7089
7125
  key: 0,
7090
7126
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7091
- }, Lu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ru = {
7127
+ }, Bu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Vu = {
7092
7128
  key: 1,
7093
7129
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7094
- }, zu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Bu = {
7130
+ }, Hu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Uu = {
7095
7131
  key: 2,
7096
7132
  class: "tpl:flex tpl:flex-col tpl:gap-4"
7097
- }, Vu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Hu = {
7133
+ }, Wu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Gu = {
7098
7134
  key: 0,
7099
7135
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
7100
- }, Uu = {
7136
+ }, Ku = {
7101
7137
  key: 0,
7102
7138
  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)]"
7103
- }, Wu = ["onClick"], Gu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ku = {
7139
+ }, qu = ["onClick"], Ju = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Yu = {
7104
7140
  key: 0,
7105
7141
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
7106
- }, qu = {
7142
+ }, Xu = {
7107
7143
  key: 0,
7108
7144
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
7109
- }, Ju = {
7145
+ }, Zu = {
7110
7146
  key: 0,
7111
7147
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
7112
- }, Yu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Xu = { class: "tpl:flex-1 tpl:min-w-0" }, Zu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Qu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, $u = {
7148
+ }, Qu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, $u = { class: "tpl:flex-1 tpl:min-w-0" }, ed = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, td = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, nd = {
7113
7149
  key: 0,
7114
7150
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
7115
- }, ed = {
7151
+ }, rd = {
7116
7152
  key: 1,
7117
7153
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
7118
- }, td = ["disabled", "onClick"], nd = {
7154
+ }, id = ["disabled", "onClick"], ad = {
7119
7155
  key: 0,
7120
7156
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
7121
- }, rd = {
7157
+ }, od = {
7122
7158
  key: 3,
7123
7159
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7124
- }, id = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ad = { 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)]" }, od = /*@__PURE__*/ B({
7160
+ }, sd = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, cd = { 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)]" }, ld = /*@__PURE__*/ B({
7125
7161
  __name: "TemplateScoringPanel",
7126
7162
  props: { visible: { type: Boolean } },
7127
7163
  emits: ["close"],
@@ -7172,10 +7208,10 @@ var Au = {
7172
7208
  "leave-from-class": "tpl:translate-x-0",
7173
7209
  "leave-to-class": "tpl:translate-x-full"
7174
7210
  }, {
7175
- default: b(() => [e.visible ? (f(), k("div", Au, [I("div", ju, [I("div", Mu, [V(j(ji), {
7211
+ default: b(() => [e.visible ? (f(), k("div", Nu, [I("div", Pu, [I("div", Fu, [V(j(ji), {
7176
7212
  size: 13,
7177
7213
  "stroke-width": 2
7178
- }), I("span", null, D(j(i).scoring.title), 1)]), I("div", Nu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
7214
+ }), I("span", null, D(j(i).scoring.title), 1)]), I("div", Iu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
7179
7215
  key: 0,
7180
7216
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
7181
7217
  title: j(i).scoring.rescore,
@@ -7183,19 +7219,19 @@ var Au = {
7183
7219
  }, [V(j(Di), {
7184
7220
  size: 14,
7185
7221
  "stroke-width": 2
7186
- })], 8, Pu)) : A("", !0), I("button", {
7222
+ })], 8, Lu)) : A("", !0), I("button", {
7187
7223
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
7188
7224
  onClick: n[1] ||= (e) => r("close")
7189
7225
  }, [V(j(Bi), {
7190
7226
  size: 14,
7191
7227
  "stroke-width": 2
7192
- })])])]), I("div", Fu, [j(o).isScoring.value ? (f(), k("div", Iu, [I("p", Lu, D(j(i).scoring.scoring), 1), V(Yi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Ru, [
7228
+ })])])]), I("div", Ru, [j(o).isScoring.value ? (f(), k("div", zu, [I("p", Bu, D(j(i).scoring.scoring), 1), V(Yi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Vu, [
7193
7229
  V(j(si), {
7194
7230
  size: 32,
7195
7231
  "stroke-width": 1.5,
7196
7232
  class: "tpl:text-[var(--tpl-danger)]"
7197
7233
  }),
7198
- I("p", zu, D(j(i).scoring.error), 1),
7234
+ I("p", Hu, D(j(i).scoring.error), 1),
7199
7235
  I("button", {
7200
7236
  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)]",
7201
7237
  onClick: n[2] ||= (e) => m()
@@ -7203,19 +7239,19 @@ var Au = {
7203
7239
  size: 12,
7204
7240
  "stroke-width": 2
7205
7241
  }), z(" " + D(j(i).scoring.rescore), 1)])
7206
- ])) : j(o).scoringResult.value ? (f(), k("div", Bu, [
7242
+ ])) : j(o).scoringResult.value ? (f(), k("div", Uu, [
7207
7243
  I("div", {
7208
7244
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
7209
- style: L({ backgroundColor: j(Du)(j(o).scoringResult.value.score) })
7245
+ style: L({ backgroundColor: j(Au)(j(o).scoringResult.value.score) })
7210
7246
  }, [
7211
7247
  I("span", {
7212
7248
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
7213
- style: L({ color: j(Eu)(j(o).scoringResult.value.score) })
7249
+ style: L({ color: j(ku)(j(o).scoringResult.value.score) })
7214
7250
  }, D(j(o).scoringResult.value.score), 5),
7215
- I("span", Vu, D(j(i).scoring.overallScore), 1),
7216
- _() > 0 ? (f(), k("span", Hu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7251
+ I("span", Wu, D(j(i).scoring.overallScore), 1),
7252
+ _() > 0 ? (f(), k("span", Gu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7217
7253
  ], 4),
7218
- j(o).fixError.value ? (f(), k("div", Uu, [V(j(si), {
7254
+ j(o).fixError.value ? (f(), k("div", Ku, [V(j(si), {
7219
7255
  size: 14,
7220
7256
  "stroke-width": 2,
7221
7257
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -7230,40 +7266,40 @@ var Au = {
7230
7266
  (f(), N(d(p[e]), {
7231
7267
  size: 14,
7232
7268
  "stroke-width": 2,
7233
- style: L({ color: j(Eu)(j(o).scoringResult.value.categories[e].score) })
7269
+ style: L({ color: j(ku)(j(o).scoringResult.value.categories[e].score) })
7234
7270
  }, null, 8, ["style"])),
7235
- I("span", Gu, D(j(i).scoring.categories[e]), 1),
7271
+ I("span", Ju, D(j(i).scoring.categories[e]), 1),
7236
7272
  I("span", {
7237
7273
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
7238
7274
  style: L({
7239
- color: j(Eu)(j(o).scoringResult.value.categories[e].score),
7240
- backgroundColor: j(Du)(j(o).scoringResult.value.categories[e].score)
7275
+ color: j(ku)(j(o).scoringResult.value.categories[e].score),
7276
+ backgroundColor: j(Au)(j(o).scoringResult.value.categories[e].score)
7241
7277
  })
7242
7278
  }, D(j(o).scoringResult.value.categories[e].score), 5),
7243
- j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Ku, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7279
+ j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Yu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7244
7280
  V(j(ri), {
7245
7281
  size: 12,
7246
7282
  "stroke-width": 2,
7247
7283
  class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
7248
7284
  }, null, 8, ["class"])
7249
- ], 8, Wu), c.value[e] ? (f(), k("div", qu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Ju, 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", {
7285
+ ], 8, qu), c.value[e] ? (f(), k("div", Xu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Zu, 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", {
7250
7286
  key: e.id,
7251
7287
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
7252
- }, [I("div", Yu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
7288
+ }, [I("div", Qu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
7253
7289
  size: 13,
7254
7290
  "stroke-width": 2,
7255
7291
  class: "tpl:mt-0.5 tpl:shrink-0",
7256
- style: L({ color: j(Ou)(e.severity) })
7257
- }, null, 8, ["style"])), I("div", Xu, [
7258
- I("div", Zu, [I("span", {
7292
+ style: L({ color: j(ju)(e.severity) })
7293
+ }, null, 8, ["style"])), I("div", $u, [
7294
+ I("div", ed, [I("span", {
7259
7295
  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",
7260
7296
  style: L({
7261
- color: j(Ou)(e.severity),
7262
- backgroundColor: j(ku)(e.severity)
7297
+ color: j(ju)(e.severity),
7298
+ backgroundColor: j(Mu)(e.severity)
7263
7299
  })
7264
- }, D(j(i).scoring.severity[e.severity]), 5), I("span", Qu, D(e.message), 1)]),
7265
- e.suggestion ? (f(), k("p", $u, D(e.suggestion), 1)) : A("", !0),
7266
- e.blockId ? (f(), k("div", ed, [I("button", {
7300
+ }, D(j(i).scoring.severity[e.severity]), 5), I("span", td, D(e.message), 1)]),
7301
+ e.suggestion ? (f(), k("p", nd, D(e.suggestion), 1)) : A("", !0),
7302
+ e.blockId ? (f(), k("div", rd, [I("button", {
7267
7303
  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)]",
7268
7304
  style: { "background-color": "transparent" },
7269
7305
  disabled: j(o).fixingFindingId.value !== null,
@@ -7277,27 +7313,27 @@ var Au = {
7277
7313
  key: 1,
7278
7314
  size: 11,
7279
7315
  "stroke-width": 2
7280
- })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, td), j(o).fixError.value ? (f(), k("p", nd, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7316
+ })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, id), j(o).fixError.value ? (f(), k("p", ad, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7281
7317
  ])])]))), 128))])) : A("", !0)])), 64))
7282
- ])) : (f(), k("div", rd, [V(j(ji), {
7318
+ ])) : (f(), k("div", od, [V(j(ji), {
7283
7319
  size: 32,
7284
7320
  "stroke-width": 1.5,
7285
7321
  class: "tpl:text-[var(--tpl-text-dim)]"
7286
- }), I("p", id, D(j(i).scoring.emptyState), 1)])), I("p", ad, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7322
+ }), I("p", sd, D(j(i).scoring.emptyState), 1)])), I("p", cd, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7287
7323
  _: 1
7288
7324
  }));
7289
7325
  }
7290
- }), sd = /* @__PURE__ */ e({ default: () => cd }), cd = /*#__PURE__*/ Gi(od, [["__scopeId", "data-v-c23c73d4"]]), ld = ["aria-busy"], ud = {
7326
+ }), ud = /* @__PURE__ */ e({ default: () => dd }), dd = /*#__PURE__*/ Gi(ld, [["__scopeId", "data-v-c23c73d4"]]), fd = ["aria-busy"], pd = {
7291
7327
  id: "tpl-test-email-title",
7292
7328
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
7293
- }, dd = { class: "tpl:mb-3" }, fd = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, pd = ["value"], md = ["disabled"], hd = ["value"], gd = {
7329
+ }, md = { class: "tpl:mb-3" }, hd = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, gd = ["value"], _d = ["disabled"], vd = ["value"], yd = {
7294
7330
  key: 0,
7295
7331
  role: "alert",
7296
7332
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
7297
- }, _d = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, vd = ["disabled"], yd = ["disabled"], bd = {
7333
+ }, bd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, xd = ["disabled"], Sd = ["disabled"], Cd = {
7298
7334
  key: 0,
7299
7335
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
7300
- }, xd = { key: 1 }, Sd = /*@__PURE__*/ B({
7336
+ }, wd = { key: 1 }, Td = /*@__PURE__*/ B({
7301
7337
  __name: "TestEmailModal",
7302
7338
  props: {
7303
7339
  visible: { type: Boolean },
@@ -7320,7 +7356,7 @@ var Au = {
7320
7356
  function l(e) {
7321
7357
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
7322
7358
  }
7323
- return (t, n) => (f(), N(us, {
7359
+ return (t, n) => (f(), N(ps, {
7324
7360
  visible: e.visible,
7325
7361
  onClose: s,
7326
7362
  onKeydown: l
@@ -7336,14 +7372,14 @@ var Au = {
7336
7372
  "box-shadow": "var(--tpl-shadow-xl)"
7337
7373
  }
7338
7374
  }, [
7339
- I("h3", ud, D(j(i).testEmail.title), 1),
7340
- I("div", dd, [I("label", fd, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7375
+ I("h3", pd, D(j(i).testEmail.title), 1),
7376
+ I("div", md, [I("label", hd, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7341
7377
  key: 0,
7342
7378
  type: "text",
7343
7379
  value: a.value,
7344
7380
  disabled: "",
7345
7381
  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)]"
7346
- }, null, 8, pd)) : c((f(), k("select", {
7382
+ }, null, 8, gd)) : c((f(), k("select", {
7347
7383
  key: 1,
7348
7384
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7349
7385
  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)]",
@@ -7351,29 +7387,29 @@ var Au = {
7351
7387
  }, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
7352
7388
  key: e,
7353
7389
  value: e
7354
- }, D(e), 9, hd))), 128))], 8, md)), [[w, a.value]])]),
7355
- e.error ? (f(), k("p", gd, D(e.error), 1)) : A("", !0),
7356
- I("div", _d, [I("button", {
7390
+ }, D(e), 9, vd))), 128))], 8, _d)), [[w, a.value]])]),
7391
+ e.error ? (f(), k("p", yd, D(e.error), 1)) : A("", !0),
7392
+ I("div", bd, [I("button", {
7357
7393
  type: "button",
7358
7394
  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 }]),
7359
7395
  disabled: e.isSending,
7360
7396
  onClick: s
7361
- }, D(j(i).testEmail.cancel), 11, vd), I("button", {
7397
+ }, D(j(i).testEmail.cancel), 11, xd), I("button", {
7362
7398
  type: "button",
7363
7399
  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)]",
7364
7400
  disabled: !a.value || e.isSending,
7365
7401
  onClick: o
7366
- }, [e.isSending ? (f(), k("span", bd, [V(j(xi), {
7402
+ }, [e.isSending ? (f(), k("span", Cd, [V(j(xi), {
7367
7403
  class: "tpl:animate-spin",
7368
7404
  size: 12,
7369
7405
  "stroke-width": 2
7370
- }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", xd, D(j(i).testEmail.send), 1))], 8, yd)])
7371
- ], 8, ld)]),
7406
+ }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", wd, D(j(i).testEmail.send), 1))], 8, Sd)])
7407
+ ], 8, fd)]),
7372
7408
  _: 1
7373
7409
  }, 8, ["visible"]));
7374
7410
  }
7375
- }), Cd = /* @__PURE__ */ e({ default: () => wd }), wd = Sd;
7411
+ }), Ed = /* @__PURE__ */ e({ default: () => Dd }), Dd = Td;
7376
7412
  //#endregion
7377
- export { ia as $, tr as $t, ss as A, lt as An, ai as At, so as B, Te as Bn, mr as Bt, vs as C, xt as Cn, vi as Ct, fs as D, mt as Dn, ui as Dt, ds as E, ht as En, di as Et, No as F, ye as Fn, jr as Ft, Na as G, Ee as Gn, gr as Gt, Za as H, he as Hn, qn as Ht, Ao as I, De as In, wr as It, Ta as J, pe as Jn, Xn as Jt, Ma as K, ge as Kn, Hn as Kt, To as L, be as Ln, Y as Lt, Yo as M, st as Mn, ni as Mt, Uo as N, W as Nn, X as Nt, us as O, St as On, li as Ot, Bo as P, We as Pn, Wr as Pt, ca as Q, ir as Qt, Co as R, we as Rn, hr as Rt, ys as S, dt as Sn, yi as St, Z as T, yt as Tn, fi as Tt, qa as U, Se as Un, lr as Ut, oo as V, _e as Vn, Kn as Vt, Fa as W, Ce as Wn, yr as Wt, ma as X, fe as Xn, zn as Xt, ga as Y, de as Yn, sr as Yt, la as Z, ue as Zn, Un as Zt, js as _, an as _n, wi as _t, Pl as a, dr as an, Gi as at, Ds as b, Lt as bn, xi as bt, Js as c, Gn as cn, Ri as ct, Vs as d, En as dn, Pi as dt, Qn as en, ra as et, Bs as f, Dn as fn, Ni as ft, Is as g, on as gn, Di as gt, Ls as h, An as hn, ki as ht, lu as i, vr as in, Qi as it, as as j, ct as jn, ri as jt, cs as k, ut as kn, si as kt, Us as l, J as ln, Ii as lt, Rs as m, Nn as mn, Ai as mt, sd as n, Yn as nn, ea as nt, bc as o, Wn as on, Wi as ot, zs as p, q as pn, ji as pt, Da as q, xe as qn, Jn as qt, wu as r, _r as rn, ta as rt, Ys as s, Rn as sn, Bi as st, Cd as t, or as tn, na as tt, Hs as u, vn as un, Fi as ut, As as v, ln as vn, Ci as vt, $ as w, Ct as wn, pi as wt, Cs as x, Ot as xn, bi as xt, Os as y, un as yn, Si as yt, co as z, ve as zn, cr as zt };
7413
+ export { ca as $, ir as $t, us as A, ut as An, si as At, uo as B, ve as Bn, cr as Bt, xs as C, dt as Cn, yi as Ct, hs as D, ht as Dn, di as Dt, ms as E, yt as En, fi as Et, Io as F, We as Fn, Wr as Ft, Ia as G, Ce as Gn, yr as Gt, eo as H, _e as Hn, Kn as Ht, No as I, ye as In, jr as It, Oa as J, xe as Jn, Jn as Jt, Fa as K, Ee as Kn, gr as Kt, Oo as L, De as Ln, wr as Lt, Qo as M, ct as Mn, ri as Mt, Ko as N, st as Nn, ni as Nt, ps as O, mt as On, ui as Ot, Uo as P, W as Pn, X as Pt, la as Q, ue as Qn, Un as Qt, Eo as R, be as Rn, Y as Rt, Ss as S, Ot as Sn, bi as St, Z as T, Ct as Tn, pi as Tt, Xa as U, he as Un, qn as Ut, lo as V, Te as Vn, mr as Vt, Ra as W, Se as Wn, lr as Wt, _a as X, de as Xn, sr as Xt, ya as Y, pe as Yn, Xn as Yt, ha as Z, fe as Zn, zn as Zt, Ps as _, on as _n, Di as _t, Ll as a, vr as an, Qi as at, As as b, un as bn, Si as bt, Zs as c, Rn as cn, Bi as ct, Ws as d, vn as dn, Fi as dt, tr as en, ia as et, Us as f, En as fn, Pi as ft, zs as g, An as gn, ki as gt, Bs as h, Nn as hn, Ai as ht, fu as i, _r as in, ta as it, cs as j, lt as jn, ai as jt, ds as k, St as kn, li as kt, Ks as l, Gn as ln, Ri as lt, Vs as m, q as mn, ji as mt, ud as n, or as nn, na as nt, Cc as o, dr as on, Gi as ot, Hs as p, Dn as pn, Ni as pt, Aa as q, ge as qn, Hn as qt, Du as r, Yn as rn, ea as rt, Qs as s, Wn as sn, Wi as st, Ed as t, Qn as tn, ra as tt, Gs as u, J as un, Ii as ut, Ns as v, an as vn, wi as vt, $ as w, xt as wn, vi as wt, Es as x, Lt as xn, xi as xt, js as y, ln as yn, Ci as yt, fo as z, we as zn, hr as zt };
7378
7414
 
7379
- //# sourceMappingURL=features-CHE3YjQE.js.map
7415
+ //# sourceMappingURL=features-CgbSSCgv.js.map