@templatical/editor 0.16.3 → 0.16.4

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 (126) hide show
  1. package/dist/{AiChatSidebar-EaPCeDXr.js → AiChatSidebar-CYAbVB2G.js} +7 -7
  2. package/dist/{AiFeatureMenu-CcGRd1xE.js → AiFeatureMenu-BPCkrHAS.js} +4 -4
  3. package/dist/{BlockIssueBadge-CZYgn-qg.js → BlockIssueBadge-BLytBabN.js} +2 -2
  4. package/dist/{CloudEditor-CUIWUMp5.js → CloudEditor-v8ARYaFW.js} +14 -14
  5. package/dist/{CollaboratorBar-DmxqeBYZ.js → CollaboratorBar-BQzKZ2zo.js} +2 -2
  6. package/dist/{ColorPicker-Gs4BMVog.js → ColorPicker-Cab6U2sH.js} +1 -1
  7. package/dist/{CommentsSidebar-DDKiFsSq.js → CommentsSidebar-C_XLBbo3.js} +8 -8
  8. package/dist/{CountdownToolbar-92w1YySJ.js → CountdownToolbar-q3umZ7TZ.js} +53 -67
  9. package/dist/{DesignReferenceSidebar-D6TfC176.js → DesignReferenceSidebar-Bh9uAZ4B.js} +5 -5
  10. package/dist/{IssuesPanel-CQQipLQP.js → IssuesPanel-DltSuU6H.js} +5 -5
  11. package/dist/{ModuleBrowserModal-DsehjLvh.js → ModuleBrowserModal-CzzChPmN.js} +6 -6
  12. package/dist/{ModulePreviewCanvas-BBfuS8VW.js → ModulePreviewCanvas-C0Q2n3FL.js} +1 -1
  13. package/dist/{NumberWithSuffix-BxSRfI8b.js → NumberWithSuffix-Bhm2ByHs.js} +1 -1
  14. package/dist/{ParagraphEditor-vgvQxicC.js → ParagraphEditor-BhsBi8p8.js} +25 -25
  15. package/dist/{RichTextEditorContent-Dza2oPvh.js → RichTextEditorContent-ef0fdj6e.js} +3 -3
  16. package/dist/{SaveModuleDialog-DNWGCHlS.js → SaveModuleDialog-BNN3dcxD.js} +24 -23
  17. package/dist/{SnapshotHistory-BLmnNLg1.js → SnapshotHistory-tWvgMCe6.js} +5 -5
  18. package/dist/{TemplateScoringPanel-C8VOC6gn.js → TemplateScoringPanel-ZhObHWeb.js} +10 -10
  19. package/dist/{TestEmailModal-D6v1hgY2.js → TestEmailModal-EdwEcsrD.js} +3 -3
  20. package/dist/{TitleEditor-DPdzOQpq.js → TitleEditor-DdvRepBq.js} +4 -4
  21. package/dist/ToggleSwitch-DUNuUPsZ.js +37 -0
  22. package/dist/{TplModal-DObT0uxf.js → TplModal-Niu4Y96-.js} +1 -1
  23. package/dist/{blockTypeIcons-B9f5fH_5.js → blockTypeIcons-DHcYPMB8.js} +2 -2
  24. package/dist/bundle-stats.json +7 -7
  25. package/dist/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +2 -1
  26. package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js → AiFeatureMenu-AoUwsqor.js} +2 -2
  27. package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js.map → AiFeatureMenu-AoUwsqor.js.map} +1 -1
  28. package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js → BlockIssueBadge-DZU3CfEN.js} +2 -2
  29. package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js.map → BlockIssueBadge-DZU3CfEN.js.map} +1 -1
  30. package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js → CloudEditor-BrZLF_m1.js} +9 -9
  31. package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js.map → CloudEditor-BrZLF_m1.js.map} +1 -1
  32. package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js → CollaboratorBar-BAC56ez6.js} +3 -3
  33. package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js.map → CollaboratorBar-BAC56ez6.js.map} +1 -1
  34. package/dist/cdn/chunks/{ColorPicker-Pi-1fR8c.js → ColorPicker-DLEoT419.js} +2 -2
  35. package/dist/cdn/chunks/{ColorPicker-Pi-1fR8c.js.map → ColorPicker-DLEoT419.js.map} +1 -1
  36. package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js → CountdownBlock-BOF9aTXF.js} +2 -2
  37. package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js.map → CountdownBlock-BOF9aTXF.js.map} +1 -1
  38. package/dist/cdn/chunks/CountdownToolbar-C9bQ5k4E.js +198 -0
  39. package/dist/cdn/chunks/CountdownToolbar-C9bQ5k4E.js.map +1 -0
  40. package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js → IssuesPanel-CHwYahKK.js} +3 -3
  41. package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js.map → IssuesPanel-CHwYahKK.js.map} +1 -1
  42. package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js → ModuleBrowserModal-iSXXpAUk.js} +5 -5
  43. package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js.map → ModuleBrowserModal-iSXXpAUk.js.map} +1 -1
  44. package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js → ModulePreviewCanvas-DIy0MZj2.js} +2 -2
  45. package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js.map → ModulePreviewCanvas-DIy0MZj2.js.map} +1 -1
  46. package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js → NumberWithSuffix-vPdOG2lO.js} +2 -2
  47. package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js.map → NumberWithSuffix-vPdOG2lO.js.map} +1 -1
  48. package/dist/cdn/chunks/{ParagraphEditor-4cMKKC-V.js → ParagraphEditor-D7znI_X1.js} +10 -10
  49. package/dist/cdn/chunks/{ParagraphEditor-4cMKKC-V.js.map → ParagraphEditor-D7znI_X1.js.map} +1 -1
  50. package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js → RichTextEditorContent-DVwGHbO6.js} +3 -3
  51. package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js.map → RichTextEditorContent-DVwGHbO6.js.map} +1 -1
  52. package/dist/cdn/chunks/{SaveModuleDialog-mr9A4j6G.js → SaveModuleDialog-D2_qPtE9.js} +32 -31
  53. package/dist/cdn/chunks/SaveModuleDialog-D2_qPtE9.js.map +1 -0
  54. package/dist/cdn/chunks/{TitleEditor-Cqw2jvuc.js → TitleEditor-CKjZ6Cgp.js} +5 -5
  55. package/dist/cdn/chunks/{TitleEditor-Cqw2jvuc.js.map → TitleEditor-CKjZ6Cgp.js.map} +1 -1
  56. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js +39 -0
  57. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js.map +1 -0
  58. package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js → blockTypeIcons-BKecgdgr.js} +3 -3
  59. package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js.map → blockTypeIcons-BKecgdgr.js.map} +1 -1
  60. package/dist/cdn/chunks/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +3 -2
  61. package/dist/cdn/chunks/ca-DI1ViqMa.js.map +1 -0
  62. package/dist/cdn/chunks/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +3 -2
  63. package/dist/cdn/chunks/de-q9lTCMre.js.map +1 -0
  64. package/dist/cdn/chunks/{en-Bu-zS_5o.js → en-CR4LItrX.js} +3 -2
  65. package/dist/cdn/chunks/en-CR4LItrX.js.map +1 -0
  66. package/dist/cdn/chunks/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +3 -2
  67. package/dist/cdn/chunks/es-CEt-lrGd.js.map +1 -0
  68. package/dist/cdn/chunks/{extensions-Btyx_IMf.js → extensions-OZTN_skA.js} +2 -2
  69. package/dist/cdn/chunks/{extensions-Btyx_IMf.js.map → extensions-OZTN_skA.js.map} +1 -1
  70. package/dist/cdn/chunks/{features-Dwb5aTLg.js → features-Bo7H8WNI.js} +359 -359
  71. package/dist/cdn/chunks/features-Bo7H8WNI.js.map +1 -0
  72. package/dist/cdn/chunks/{icons-Dhqh5lYQ.js → icons-BrNSrnyT.js} +26 -26
  73. package/dist/cdn/chunks/{icons-Dhqh5lYQ.js.map → icons-BrNSrnyT.js.map} +1 -1
  74. package/dist/cdn/chunks/{media-library-DRodsf2D.js → media-library-Cec5DMR3.js} +3 -3
  75. package/dist/cdn/chunks/{media-library-DRodsf2D.js.map → media-library-Cec5DMR3.js.map} +1 -1
  76. package/dist/cdn/chunks/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +3 -2
  77. package/dist/cdn/chunks/pt-BR-DvBHY0AA.js.map +1 -0
  78. package/dist/cdn/chunks/{quality-A_V2Iqu_.js → quality-Dd2iYgRf.js} +2 -2
  79. package/dist/cdn/chunks/{quality-A_V2Iqu_.js.map → quality-Dd2iYgRf.js.map} +1 -1
  80. package/dist/cdn/chunks/{renderer-BM_-zceB.js → renderer-Br-qXdnQ.js} +7 -4
  81. package/dist/cdn/chunks/{renderer-BM_-zceB.js.map → renderer-Br-qXdnQ.js.map} +1 -1
  82. package/dist/cdn/chunks/{src-DSomxPI-.js → src-BH8PABpF.js} +4 -4
  83. package/dist/cdn/chunks/{src-DSomxPI-.js.map → src-BH8PABpF.js.map} +1 -1
  84. package/dist/cdn/chunks/{styles--UXn88wH.js → styles-nqo5BynI.js} +887 -885
  85. package/dist/cdn/chunks/styles-nqo5BynI.js.map +1 -0
  86. package/dist/cdn/editor.css +1 -1
  87. package/dist/cdn/editor.js +11 -11
  88. package/dist/{check-D1zYtCPK.js → check-Cg6Mc2pP.js} +1 -1
  89. package/dist/{chevron-down-ByXpufZD.js → chevron-down-dClfxKrJ.js} +1 -1
  90. package/dist/{circle-alert-CjcAORUw.js → circle-alert-Bhzm-fNA.js} +1 -1
  91. package/dist/{clock-5lWLadUn.js → clock-m7TwQw4b.js} +1 -1
  92. package/dist/{createLucideIcon-Bh9xOmlW.js → createLucideIcon-FSF4peHQ.js} +2 -2
  93. package/dist/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +2 -1
  94. package/dist/{en-Bu-zS_5o.js → en-CR4LItrX.js} +2 -1
  95. package/dist/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +2 -1
  96. package/dist/{image-up-Bj_nes3f.js → image-up-CDEgJqwA.js} +1 -1
  97. package/dist/{info-BhSQCxBV.js → info-BNP8yGsK.js} +1 -1
  98. package/dist/{list-checks-CgxyUg7i.js → list-checks-jepi4iYr.js} +1 -1
  99. package/dist/{loader-circle-DFU0HPAa.js → loader-circle-BT38qSm3.js} +1 -1
  100. package/dist/{message-circle-BEBsCHnk.js → message-circle-BAHcL9S-.js} +1 -1
  101. package/dist/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +2 -1
  102. package/dist/{refresh-cw--lvWGy0_.js → refresh-cw-as5Bmg4X.js} +1 -1
  103. package/dist/{scan-line-QgyDIgn_.js → scan-line-IAMjPtRw.js} +1 -1
  104. package/dist/{send-BMyisUim.js → send-DvMay6bt.js} +1 -1
  105. package/dist/{shield-check-C49M20le.js → shield-check-YYDhGroE.js} +1 -1
  106. package/dist/{sparkles-DV7Dman6.js → sparkles-CCwQMMMZ.js} +1 -1
  107. package/dist/style.css +1 -1
  108. package/dist/{styles-CPt6RYEc.js → styles-DN4J7w-C.js} +717 -715
  109. package/dist/templatical-editor.js +9 -9
  110. package/dist/{text-align-start-BMU70uAm.js → text-align-start-BwsA6QzC.js} +11 -11
  111. package/dist/{trash-2-B6M659Ey.js → trash-2-CRBDolnR.js} +1 -1
  112. package/dist/{triangle-alert-D1lzx6ds.js → triangle-alert-B2g0ALvq.js} +1 -1
  113. package/dist/{upload-3A1oZtOR.js → upload-BKg6hDRW.js} +1 -1
  114. package/dist/{useEditorCore-CSfeEwCj.js → useEditorCore-DBq2689h.js} +69 -69
  115. package/dist/{x-CG_NV3nP.js → x-Ctg_250T.js} +1 -1
  116. package/package.json +8 -8
  117. package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js +0 -212
  118. package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js.map +0 -1
  119. package/dist/cdn/chunks/SaveModuleDialog-mr9A4j6G.js.map +0 -1
  120. package/dist/cdn/chunks/ca-B3eR47lE.js.map +0 -1
  121. package/dist/cdn/chunks/de-Cy8FB-Ii.js.map +0 -1
  122. package/dist/cdn/chunks/en-Bu-zS_5o.js.map +0 -1
  123. package/dist/cdn/chunks/es-CD3ZD6hK.js.map +0 -1
  124. package/dist/cdn/chunks/features-Dwb5aTLg.js.map +0 -1
  125. package/dist/cdn/chunks/pt-BR-CgICL-CQ.js.map +0 -1
  126. package/dist/cdn/chunks/styles--UXn88wH.js.map +0 -1
@@ -1564,7 +1564,7 @@ function Cr(e) {
1564
1564
  o || l();
1565
1565
  async function l() {
1566
1566
  try {
1567
- let t = await import("./quality-A_V2Iqu_.js").then((e) => e.t);
1567
+ let t = await import("./quality-Dd2iYgRf.js").then((e) => e.t);
1568
1568
  if (c) return;
1569
1569
  a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = fn(e.content, u, {
1570
1570
  debounce: e.debounce ?? 500,
@@ -2048,7 +2048,7 @@ function Qr() {
2048
2048
  return v(Zr, {});
2049
2049
  }
2050
2050
  //#endregion
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
2051
+ //#region ../../node_modules/.pnpm/@lucide+vue@1.25.0_vue@3.5.40_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
2052
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 }) => {
2053
2053
  let { size: f, color: p, strokeWidth: m = 2, absoluteStrokeWidth: h = !1, class: g = "" } = Qr(), _ = O(() => {
2054
2054
  let e = Gr(r) || Gr(i) || r === !0 || i === !0 || h === !0, t = o || s || m || Xr["stroke-width"];
@@ -3515,7 +3515,7 @@ var co = ["innerHTML"], lo = /* @__PURE__ */ B({
3515
3515
  viewport: {}
3516
3516
  },
3517
3517
  setup(e) {
3518
- let t = e, n = T(() => import("./ParagraphEditor-4cMKKC-V.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content);
3518
+ let t = e, n = T(() => import("./ParagraphEditor-D7znI_X1.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content);
3519
3519
  return (t, l) => (f(), k("div", {
3520
3520
  ref_key: "blockRef",
3521
3521
  ref: i,
@@ -3583,7 +3583,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
3583
3583
  },
3584
3584
  emits: ["select"],
3585
3585
  setup(e, { emit: t }) {
3586
- let n = T(() => import("./BlockIssueBadge-BAa_dI-c.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);
3586
+ let n = T(() => import("./BlockIssueBadge-DZU3CfEN.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);
3587
3587
  async function p() {
3588
3588
  await m(), l.value?.focus();
3589
3589
  }
@@ -3742,7 +3742,7 @@ var Oo = /* @__PURE__ */ B({
3742
3742
  viewport: {}
3743
3743
  },
3744
3744
  setup(e) {
3745
- let t = e, n = T(() => import("./TitleEditor-Cqw2jvuc.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content), l = O(() => {
3745
+ let t = e, n = T(() => import("./TitleEditor-CKjZ6Cgp.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content), l = O(() => {
3746
3746
  let e = {
3747
3747
  fontSize: `${pe[t.block.level]}px`,
3748
3748
  textAlign: t.block.textAlign
@@ -3779,11 +3779,11 @@ function ko(e) {
3779
3779
  }
3780
3780
  //#endregion
3781
3781
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
3782
- var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3782
+ var Ao = { class: "tpl:w-full" }, jo = {
3783
3783
  key: 0,
3784
3784
  "data-testid": "section-drop-hint",
3785
3785
  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)]"
3786
- }, No = /* @__PURE__ */ B({
3786
+ }, Mo = /* @__PURE__ */ B({
3787
3787
  __name: "SectionBlock",
3788
3788
  props: {
3789
3789
  block: {},
@@ -3813,30 +3813,30 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3813
3813
  let e = s.value.length, t = [...n.block.children];
3814
3814
  for (; t.length < e;) t.push([]);
3815
3815
  return t.slice(0, e);
3816
- });
3817
- function u(e) {
3816
+ }), u = O(() => n.viewport === "mobile" && n.block.stackOnMobile !== !1);
3817
+ function p(e) {
3818
3818
  return l.value[e] || [];
3819
3819
  }
3820
- function p(e, t) {
3820
+ function m(e, t) {
3821
3821
  let r = t.map((e) => JSON.parse(JSON.stringify(e))), a = [...n.block.children];
3822
3822
  for (; a.length <= e;) a.push([]);
3823
3823
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3824
3824
  }
3825
- function m(e) {
3825
+ function g(e) {
3826
3826
  return uo(e, o, t);
3827
3827
  }
3828
- function g(e, t) {
3828
+ function _(e, t) {
3829
3829
  e.type === "custom" && i.updateBlock(e.id, {
3830
3830
  fieldValues: t.fieldValues,
3831
3831
  dataSourceFetched: t.dataSourceFetched
3832
3832
  });
3833
3833
  }
3834
- return (t, n) => (f(), k("div", Ao, [I("div", jo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3834
+ return (t, n) => (f(), k("div", Ao, [I("div", { class: F(["tpl:flex tpl:gap-0", { "tpl:flex-col": u.value }]) }, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3835
3835
  key: n,
3836
- class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3837
- style: L({ width: s.value[n] })
3836
+ class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", p(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3837
+ style: L({ width: u.value ? "100%" : s.value[n] })
3838
3838
  }, [V(j(ce), {
3839
- "model-value": u(n),
3839
+ "model-value": p(n),
3840
3840
  group: {
3841
3841
  name: "blocks",
3842
3842
  pull: !0,
@@ -3851,19 +3851,19 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3851
3851
  "empty-insert-threshold": 20,
3852
3852
  "force-fallback": !0,
3853
3853
  class: "tpl:min-h-[60px]",
3854
- "onUpdate:modelValue": (e) => p(n, e)
3854
+ "onUpdate:modelValue": (e) => m(n, e)
3855
3855
  }, {
3856
- default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(Eo, {
3856
+ default: b(() => [(f(!0), k(R, null, h(p(n), (t) => c((f(), k("div", { key: t.id }, [V(Eo, {
3857
3857
  block: t,
3858
3858
  "is-selected": j(i).state.selectedBlockId === t.id,
3859
3859
  viewport: e.viewport,
3860
3860
  "preview-mode": j(i).state.previewMode,
3861
3861
  onSelect: (e) => j(i).selectBlock(t.id)
3862
3862
  }, {
3863
- default: b(() => [(f(), N(d(m(t)), {
3863
+ default: b(() => [(f(), N(d(g(t)), {
3864
3864
  block: t,
3865
3865
  viewport: e.viewport,
3866
- onFetchData: (e) => g(t, e),
3866
+ onFetchData: (e) => _(t, e),
3867
3867
  onUpdate: (e) => j(i).updateBlock(t.id, e)
3868
3868
  }, null, 40, [
3869
3869
  "block",
@@ -3884,13 +3884,13 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3884
3884
  "model-value",
3885
3885
  "group",
3886
3886
  "onUpdate:modelValue"
3887
- ]), u(n).length === 0 ? (f(), k("div", Mo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3887
+ ]), p(n).length === 0 ? (f(), k("div", jo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))], 2)]));
3888
3888
  }
3889
- }), Po = me, Fo = {
3889
+ }), No = me, Po = {
3890
3890
  small: 24,
3891
3891
  medium: 32,
3892
3892
  large: 48
3893
- }, Io = [
3893
+ }, Fo = [
3894
3894
  "facebook",
3895
3895
  "twitter",
3896
3896
  "instagram",
@@ -3908,11 +3908,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3908
3908
  "github",
3909
3909
  "dribbble",
3910
3910
  "behance"
3911
- ], Lo = [
3911
+ ], Io = [
3912
3912
  "width",
3913
3913
  "height",
3914
3914
  "fill"
3915
- ], Ro = ["d"], zo = /* @__PURE__ */ B({
3915
+ ], Lo = ["d"], Ro = /* @__PURE__ */ B({
3916
3916
  __name: "SocialIconSvg",
3917
3917
  props: {
3918
3918
  platform: {},
@@ -3920,7 +3920,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3920
3920
  iconSize: {}
3921
3921
  },
3922
3922
  setup(e) {
3923
- let t = e, n = O(() => Po[t.platform]), r = O(() => Fo[t.iconSize]), i = O(() => {
3923
+ let t = e, n = O(() => No[t.platform]), r = O(() => Po[t.iconSize]), i = O(() => {
3924
3924
  let e = {
3925
3925
  display: "inline-flex",
3926
3926
  alignItems: "center",
@@ -3964,12 +3964,12 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3964
3964
  viewBox: "0 0 24 24",
3965
3965
  fill: o.value,
3966
3966
  xmlns: "http://www.w3.org/2000/svg"
3967
- }, [I("path", { d: n.value.path }, null, 8, Ro)], 8, Lo))], 4));
3967
+ }, [I("path", { d: n.value.path }, null, 8, Lo)], 8, Io))], 4));
3968
3968
  }
3969
- }), Bo = { class: "tpl:w-full" }, Vo = ["href"], Ho = {
3969
+ }), zo = { class: "tpl:w-full" }, Bo = ["href"], Vo = {
3970
3970
  key: 1,
3971
3971
  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)]"
3972
- }, Uo = /* @__PURE__ */ B({
3972
+ }, Ho = /* @__PURE__ */ B({
3973
3973
  __name: "SocialIconsBlock",
3974
3974
  props: {
3975
3975
  block: {},
@@ -3982,7 +3982,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3982
3982
  gap: `${t.block.spacing}px`,
3983
3983
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3984
3984
  })), i = O(() => t.block.icons.length > 0);
3985
- return (t, a) => (f(), k("div", Bo, [i.value ? (f(), k("div", {
3985
+ return (t, a) => (f(), k("div", zo, [i.value ? (f(), k("div", {
3986
3986
  key: 0,
3987
3987
  style: L(r.value)
3988
3988
  }, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
@@ -3990,7 +3990,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3990
3990
  href: t.url || "#",
3991
3991
  class: "tpl:cursor-default",
3992
3992
  onClick: a[0] ||= M(() => {}, ["prevent"])
3993
- }, [V(zo, {
3993
+ }, [V(Ro, {
3994
3994
  platform: t.platform,
3995
3995
  "icon-style": e.block.iconStyle,
3996
3996
  "icon-size": e.block.iconSize
@@ -3998,16 +3998,16 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
3998
3998
  "platform",
3999
3999
  "icon-style",
4000
4000
  "icon-size"
4001
- ])], 8, Vo))), 128))], 4)) : (f(), k("div", Ho, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
4001
+ ])], 8, Bo))), 128))], 4)) : (f(), k("div", Vo, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
4002
4002
  }
4003
- }), Wo = { class: "tpl:w-full" }, Go = {
4003
+ }), Uo = { class: "tpl:w-full" }, Wo = {
4004
4004
  key: 0,
4005
4005
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
4006
4006
  style: {
4007
4007
  "background-color": "var(--tpl-bg-hover)",
4008
4008
  color: "var(--tpl-text-dim)"
4009
4009
  }
4010
- }, Ko = /* @__PURE__ */ B({
4010
+ }, Go = /* @__PURE__ */ B({
4011
4011
  __name: "SpacerBlock",
4012
4012
  props: {
4013
4013
  block: {},
@@ -4019,23 +4019,23 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4019
4019
  minHeight: `${t.block.height}px`,
4020
4020
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
4021
4021
  }));
4022
- return (t, i) => (f(), k("div", Wo, [I("div", {
4022
+ return (t, i) => (f(), k("div", Uo, [I("div", {
4023
4023
  style: L(r.value),
4024
4024
  class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
4025
- }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Go, D(e.block.height) + "px ", 1))], 6)]));
4025
+ }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Wo, D(e.block.height) + "px ", 1))], 6)]));
4026
4026
  }
4027
- }), qo = { class: "tpl:w-full" }, Jo = { key: 0 }, Yo = [
4027
+ }), Ko = { class: "tpl:w-full" }, qo = { key: 0 }, Jo = [
4028
4028
  "aria-label",
4029
4029
  "data-placeholder",
4030
4030
  "onBlur"
4031
- ], Xo = [
4031
+ ], Yo = [
4032
4032
  "aria-label",
4033
4033
  "data-placeholder",
4034
4034
  "onBlur"
4035
- ], Zo = {
4035
+ ], Xo = {
4036
4036
  key: 1,
4037
4037
  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)]"
4038
- }, Qo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4038
+ }, Zo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
4039
4039
  __name: "TableBlock",
4040
4040
  props: {
4041
4041
  block: {},
@@ -4080,11 +4080,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4080
4080
  } : n);
4081
4081
  i.updateBlock(n.block.id, { rows: o });
4082
4082
  }
4083
- return (e, n) => (f(), k("div", qo, [a.value ? (f(), k("table", {
4083
+ return (e, n) => (f(), k("div", Ko, [a.value ? (f(), k("table", {
4084
4084
  key: 0,
4085
4085
  style: L(o.value),
4086
4086
  class: "tpl-table-editable"
4087
- }, [u.value ? (f(), k("thead", Jo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4087
+ }, [u.value ? (f(), k("thead", qo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
4088
4088
  key: e.id,
4089
4089
  style: L(l.value),
4090
4090
  "aria-label": j(r).table.cellPlaceholder,
@@ -4093,7 +4093,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4093
4093
  onBlur: (t) => m(u.value.id, e.id, t),
4094
4094
  onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4095
4095
  onClick: M(p, ["stop"])
4096
- }, 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", {
4096
+ }, null, 44, Jo)), [[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", {
4097
4097
  key: i.id,
4098
4098
  style: L(s.value),
4099
4099
  "aria-label": j(r).table.cellPlaceholder,
@@ -4102,9 +4102,9 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4102
4102
  onBlur: (t) => m(e.id, i.id, t),
4103
4103
  onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
4104
4104
  onClick: M(p, ["stop"])
4105
- }, 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)]))]));
4105
+ }, null, 44, Yo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Xo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
4106
4106
  }
4107
- }), [["__scopeId", "data-v-963ac422"]]), $o = /* @__PURE__ */ B({
4107
+ }), [["__scopeId", "data-v-963ac422"]]), Qo = /* @__PURE__ */ B({
4108
4108
  __name: "VideoPlayButton",
4109
4109
  props: { hoverEffect: {
4110
4110
  type: Boolean,
@@ -4122,7 +4122,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
4122
4122
  });
4123
4123
  //#endregion
4124
4124
  //#region src/utils/videoThumbnail.ts
4125
- function es(e) {
4125
+ function $o(e) {
4126
4126
  if (!e) return {
4127
4127
  platform: "unknown",
4128
4128
  videoId: null,
@@ -4154,25 +4154,25 @@ function es(e) {
4154
4154
  thumbnailUrl: null
4155
4155
  };
4156
4156
  }
4157
- function ts(e, t) {
4158
- return t || es(e).thumbnailUrl;
4157
+ function es(e, t) {
4158
+ return t || $o(e).thumbnailUrl;
4159
4159
  }
4160
4160
  //#endregion
4161
4161
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
4162
- var ns = ["src", "alt"], rs = {
4162
+ var ts = ["src", "alt"], ns = {
4163
4163
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
4164
4164
  style: { opacity: "0.7" }
4165
- }, is = ["href"], as = ["src", "alt"], os = ["src", "alt"], ss = {
4165
+ }, rs = ["href"], is = ["src", "alt"], as = ["src", "alt"], os = {
4166
4166
  key: 3,
4167
4167
  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)]"
4168
- }, cs = /* @__PURE__ */ B({
4168
+ }, ss = /* @__PURE__ */ B({
4169
4169
  __name: "VideoBlock",
4170
4170
  props: {
4171
4171
  block: {},
4172
4172
  viewport: {}
4173
4173
  },
4174
4174
  setup(e) {
4175
- 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(() => {
4175
+ 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 : es(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
4176
4176
  let e = t.block.align;
4177
4177
  return {
4178
4178
  maxWidth: "100%",
@@ -4193,7 +4193,7 @@ var ns = ["src", "alt"], rs = {
4193
4193
  class: "tpl:w-full tpl:border-0",
4194
4194
  src: e.block.placeholderUrl,
4195
4195
  alt: e.block.alt
4196
- }, null, 8, ns), V($o)], 4)) : i.value ? (f(), k("div", {
4196
+ }, null, 8, ts), V(Qo)], 4)) : i.value ? (f(), k("div", {
4197
4197
  key: 1,
4198
4198
  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)]",
4199
4199
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
@@ -4202,7 +4202,7 @@ var ns = ["src", "alt"], rs = {
4202
4202
  "stroke-width": 1.5,
4203
4203
  class: "tpl:text-[var(--tpl-primary)]",
4204
4204
  style: { opacity: "0.5" }
4205
- }), 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", {
4205
+ }), I("span", ns, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
4206
4206
  key: 0,
4207
4207
  href: e.block.url,
4208
4208
  target: "_blank",
@@ -4214,7 +4214,7 @@ var ns = ["src", "alt"], rs = {
4214
4214
  class: "tpl:w-full tpl:border-0",
4215
4215
  src: a.value,
4216
4216
  alt: e.block.alt
4217
- }, null, 8, as), V($o, { "hover-effect": "" })], 12, is)) : (f(), k("div", {
4217
+ }, null, 8, is), V(Qo, { "hover-effect": "" })], 12, rs)) : (f(), k("div", {
4218
4218
  key: 1,
4219
4219
  class: "tpl:relative tpl:inline-block",
4220
4220
  style: L(s.value)
@@ -4222,28 +4222,28 @@ var ns = ["src", "alt"], rs = {
4222
4222
  class: "tpl:w-full tpl:border-0",
4223
4223
  src: a.value,
4224
4224
  alt: e.block.alt
4225
- }, null, 8, os), V($o)], 4))], 64)) : (f(), k("div", ss, [V(j(zi), {
4225
+ }, null, 8, as), V(Qo)], 4))], 64)) : (f(), k("div", os, [V(j(zi), {
4226
4226
  size: 40,
4227
4227
  "stroke-width": 1.5,
4228
4228
  class: "tpl:text-[var(--tpl-border-light)]"
4229
4229
  }), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
4230
4230
  }
4231
- }), ls = {
4232
- section: No,
4231
+ }), cs = {
4232
+ section: Mo,
4233
4233
  title: Oo,
4234
4234
  paragraph: lo,
4235
4235
  image: Xa,
4236
4236
  button: Wr,
4237
4237
  divider: Aa,
4238
- video: cs,
4239
- social: Uo,
4238
+ video: ss,
4239
+ social: Ho,
4240
4240
  menu: eo,
4241
- table: Qo,
4242
- spacer: Ko,
4241
+ table: Zo,
4242
+ spacer: Go,
4243
4243
  html: Fa,
4244
- countdown: T(() => import("./CountdownBlock-Bj7aoBUU.js").then((e) => e.n))
4244
+ countdown: T(() => import("./CountdownBlock-BOF9aTXF.js").then((e) => e.n))
4245
4245
  };
4246
- function us(e) {
4246
+ function ls(e) {
4247
4247
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
4248
4248
  t.setUiTheme(n.uiTheme ?? "auto");
4249
4249
  let { resolvedTheme: c } = Er(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Or({
@@ -4275,7 +4275,7 @@ function us(e) {
4275
4275
  t: a,
4276
4276
  format: o
4277
4277
  }), y = Mr();
4278
- if (Lr(y, ls), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
4278
+ if (Lr(y, cs), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
4279
4279
  function b(e) {
4280
4280
  for (let t of e) y.registerCustom(t, Oa);
4281
4281
  }
@@ -4333,19 +4333,19 @@ function us(e) {
4333
4333
  }
4334
4334
  //#endregion
4335
4335
  //#region src/composables/usePopoverRoot.ts
4336
- function ds() {
4336
+ function us() {
4337
4337
  return v(pr, C(null));
4338
4338
  }
4339
4339
  //#endregion
4340
4340
  //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
4341
- var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4341
+ var ds = ["data-tpl-theme"], fs = /* @__PURE__ */ B({
4342
4342
  __name: "TplModal",
4343
4343
  props: { visible: { type: Boolean } },
4344
4344
  emits: ["close", "keydown"],
4345
4345
  setup(e, { emit: t }) {
4346
4346
  let n = e, r = t, i = C(null);
4347
4347
  Qi(i, O(() => n.visible));
4348
- let a = v(Gn), s = ds();
4348
+ let a = v(Gn), s = us();
4349
4349
  function c(e) {
4350
4350
  e.key === "Escape" && r("close"), r("keydown", e);
4351
4351
  }
@@ -4374,11 +4374,11 @@ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4374
4374
  }, [I("div", {
4375
4375
  ref_key: "dialogRef",
4376
4376
  ref: i
4377
- }, [o(t.$slots, "default")], 512)], 40, fs)) : A("", !0)]),
4377
+ }, [o(t.$slots, "default")], 512)], 40, ds)) : A("", !0)]),
4378
4378
  _: 3
4379
4379
  })], 8, ["to"])) : A("", !0);
4380
4380
  }
4381
- }), ms = class e {
4381
+ }), ps = class e {
4382
4382
  static DEFAULT_BASE_URL = "https://templatical.com";
4383
4383
  accessToken = null;
4384
4384
  expiresAt = null;
@@ -4479,8 +4479,8 @@ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
4479
4479
  return a.status === 401 && (a = await i(await this.refreshToken())), a;
4480
4480
  }
4481
4481
  };
4482
- function hs(e, t) {
4483
- return e.mode === "direct" ? new ms({
4482
+ function ms(e, t) {
4483
+ return e.mode === "direct" ? new ps({
4484
4484
  url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
4485
4485
  baseUrl: e.baseUrl,
4486
4486
  requestOptions: {
@@ -4494,7 +4494,7 @@ function hs(e, t) {
4494
4494
  }
4495
4495
  },
4496
4496
  onError: t
4497
- }) : new ms({
4497
+ }) : new ps({
4498
4498
  url: e.url,
4499
4499
  baseUrl: e.baseUrl,
4500
4500
  requestOptions: e.requestOptions,
@@ -4506,16 +4506,16 @@ function hs(e, t) {
4506
4506
  function Z(e, t) {
4507
4507
  return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
4508
4508
  }
4509
- 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`, $ = {
4509
+ var hs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${hs}/templates/{template}`, gs = `${Q}/ai`, _s = `${hs}/media`, vs = `${_s}/folders`, ys = `${hs}/saved-modules`, $ = {
4510
4510
  health: "/api/v1/health",
4511
- "projects.config": `${gs}/config`,
4512
- "broadcasting.auth": `${gs}/broadcasting/auth`,
4513
- "templates.store": `${gs}/templates`,
4511
+ "projects.config": `${hs}/config`,
4512
+ "broadcasting.auth": `${hs}/broadcasting/auth`,
4513
+ "templates.store": `${hs}/templates`,
4514
4514
  "templates.show": `${Q}`,
4515
4515
  "templates.update": `${Q}`,
4516
4516
  "templates.destroy": `${Q}`,
4517
4517
  "templates.export": `${Q}/export`,
4518
- "templates.importFromBeefree": `${gs}/templates/import/from-beefree`,
4518
+ "templates.importFromBeefree": `${hs}/templates/import/from-beefree`,
4519
4519
  "templates.sendTestEmail": `${Q}/send-test-email`,
4520
4520
  "snapshots.index": `${Q}/snapshots`,
4521
4521
  "snapshots.store": `${Q}/snapshots`,
@@ -4526,31 +4526,31 @@ var gs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${gs}/templates/{te
4526
4526
  "comments.update": `${Q}/comments/{comment}`,
4527
4527
  "comments.destroy": `${Q}/comments/{comment}`,
4528
4528
  "comments.resolve": `${Q}/comments/{comment}/resolve`,
4529
- "ai.generate": `${_s}/generate`,
4530
- "ai.conversationMessages": `${_s}/conversation-messages`,
4531
- "ai.suggestions": `${_s}/suggestions`,
4532
- "ai.rewriteText": `${_s}/rewrite-text`,
4533
- "ai.score": `${_s}/score`,
4534
- "ai.fixFinding": `${_s}/fix-finding`,
4535
- "ai.generateFromDesign": `${_s}/generate-from-design`,
4536
- "media.upload": `${vs}/upload`,
4537
- "media.browse": `${vs}/browse`,
4538
- "media.delete": `${vs}/delete`,
4539
- "media.move": `${vs}/move`,
4540
- "media.update": `${vs}/{media}`,
4541
- "media.replace": `${vs}/{media}/replace`,
4542
- "media.checkUsage": `${vs}/check-usage`,
4543
- "media.frequentlyUsed": `${vs}/frequently-used`,
4544
- "media.importFromUrl": `${vs}/import-from-url`,
4545
- "folders.index": `${ys}`,
4546
- "folders.store": `${ys}`,
4547
- "folders.update": `${ys}/{mediaFolder}`,
4548
- "folders.destroy": `${ys}/{mediaFolder}`,
4549
- "savedModules.index": `${bs}`,
4550
- "savedModules.store": `${bs}`,
4551
- "savedModules.update": `${bs}/{savedModule}`,
4552
- "savedModules.destroy": `${bs}/{savedModule}`
4553
- }, xs = class {
4529
+ "ai.generate": `${gs}/generate`,
4530
+ "ai.conversationMessages": `${gs}/conversation-messages`,
4531
+ "ai.suggestions": `${gs}/suggestions`,
4532
+ "ai.rewriteText": `${gs}/rewrite-text`,
4533
+ "ai.score": `${gs}/score`,
4534
+ "ai.fixFinding": `${gs}/fix-finding`,
4535
+ "ai.generateFromDesign": `${gs}/generate-from-design`,
4536
+ "media.upload": `${_s}/upload`,
4537
+ "media.browse": `${_s}/browse`,
4538
+ "media.delete": `${_s}/delete`,
4539
+ "media.move": `${_s}/move`,
4540
+ "media.update": `${_s}/{media}`,
4541
+ "media.replace": `${_s}/{media}/replace`,
4542
+ "media.checkUsage": `${_s}/check-usage`,
4543
+ "media.frequentlyUsed": `${_s}/frequently-used`,
4544
+ "media.importFromUrl": `${_s}/import-from-url`,
4545
+ "folders.index": `${vs}`,
4546
+ "folders.store": `${vs}`,
4547
+ "folders.update": `${vs}/{mediaFolder}`,
4548
+ "folders.destroy": `${vs}/{mediaFolder}`,
4549
+ "savedModules.index": `${ys}`,
4550
+ "savedModules.store": `${ys}`,
4551
+ "savedModules.update": `${ys}/{savedModule}`,
4552
+ "savedModules.destroy": `${ys}/{savedModule}`
4553
+ }, bs = class {
4554
4554
  authManager;
4555
4555
  constructor(e) {
4556
4556
  this.authManager = e;
@@ -4736,14 +4736,14 @@ var gs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${gs}/templates/{te
4736
4736
  };
4737
4737
  //#endregion
4738
4738
  //#region ../core/src/cloud/websocket-client.ts
4739
- function Ss(e) {
4739
+ function xs(e) {
4740
4740
  return {
4741
4741
  host: e.host,
4742
4742
  port: e.port,
4743
4743
  appKey: e.app_key
4744
4744
  };
4745
4745
  }
4746
- var Cs = class {
4746
+ var Ss = class {
4747
4747
  pusher = null;
4748
4748
  authManager;
4749
4749
  config;
@@ -4810,7 +4810,7 @@ var Cs = class {
4810
4810
  };
4811
4811
  //#endregion
4812
4812
  //#region ../core/src/cloud/mcp-operation-handler.ts
4813
- function ws(e, t) {
4813
+ function Cs(e, t) {
4814
4814
  let { operation: n, data: r } = t;
4815
4815
  switch (n) {
4816
4816
  case "add_block":
@@ -4838,11 +4838,11 @@ function ws(e, t) {
4838
4838
  }
4839
4839
  //#endregion
4840
4840
  //#region ../core/src/cloud/editor.ts
4841
- function Ts(e) {
4841
+ function ws(e) {
4842
4842
  return e === "1" ? 1 : e === "3" ? 3 : 2;
4843
4843
  }
4844
- function Es(e) {
4845
- let t = new xs(e.authManager), n = S({
4844
+ function Ts(e) {
4845
+ let t = new bs(e.authManager), n = S({
4846
4846
  template: null,
4847
4847
  content: We(e.defaultFontFamily, e.templateDefaults),
4848
4848
  selectedBlockId: null,
@@ -4948,7 +4948,7 @@ function Es(e) {
4948
4948
  let l;
4949
4949
  if (r) {
4950
4950
  let e = o(n.content.blocks, r);
4951
- if (!e || e.type !== "section" || i < 0 || i >= Ts(e.columns)) return;
4951
+ if (!e || e.type !== "section" || i < 0 || i >= ws(e.columns)) return;
4952
4952
  e.children[i] = e.children[i] || [], l = e.children[i];
4953
4953
  } else l = n.content.blocks;
4954
4954
  let [u] = a.blocks.splice(c, 1);
@@ -5040,11 +5040,11 @@ function Es(e) {
5040
5040
  }
5041
5041
  //#endregion
5042
5042
  //#region ../core/src/cloud/ai-chat.ts
5043
- var Ds = 0;
5044
- function Os() {
5045
- return `msg_${Date.now()}_${++Ds}`;
5043
+ var Es = 0;
5044
+ function Ds() {
5045
+ return `msg_${Date.now()}_${++Es}`;
5046
5046
  }
5047
- function ks(e) {
5047
+ function Os(e) {
5048
5048
  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);
5049
5049
  function _(e, t) {
5050
5050
  let n = a.value.findIndex((t) => t.id === e);
@@ -5138,14 +5138,14 @@ function ks(e) {
5138
5138
  let v = n();
5139
5139
  if (!v) throw Error("Template must be saved before using AI generation");
5140
5140
  o.value = !0, c.value = null, l.value = null, h.value = [];
5141
- let y = Os();
5141
+ let y = Ds();
5142
5142
  a.value = [...a.value, {
5143
5143
  id: y,
5144
5144
  role: "user",
5145
5145
  content: e,
5146
5146
  timestamp: Date.now()
5147
5147
  }];
5148
- let b = Os();
5148
+ let b = Ds();
5149
5149
  a.value = [...a.value, {
5150
5150
  id: b,
5151
5151
  role: "assistant",
@@ -5236,7 +5236,7 @@ function ks(e) {
5236
5236
  }
5237
5237
  //#endregion
5238
5238
  //#region ../core/src/cloud/ai-config.ts
5239
- function As(e) {
5239
+ function ks(e) {
5240
5240
  function t(t) {
5241
5241
  return e !== !1 && e?.[t] !== !1;
5242
5242
  }
@@ -5247,7 +5247,7 @@ function As(e) {
5247
5247
  }
5248
5248
  //#endregion
5249
5249
  //#region ../core/src/cloud/template-scoring.ts
5250
- function js(e) {
5250
+ function As(e) {
5251
5251
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
5252
5252
  async function l(e, o) {
5253
5253
  let s = n();
@@ -5392,7 +5392,7 @@ function js(e) {
5392
5392
  }
5393
5393
  //#endregion
5394
5394
  //#region ../core/src/cloud/design-reference.ts
5395
- function Ms(e) {
5395
+ function js(e) {
5396
5396
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
5397
5397
  async function s(e) {
5398
5398
  let s = n();
@@ -5455,8 +5455,8 @@ function Ms(e) {
5455
5455
  }
5456
5456
  //#endregion
5457
5457
  //#region ../core/src/cloud/comments.ts
5458
- function Ns(e) {
5459
- 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(() => {
5458
+ function Ms(e) {
5459
+ let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new bs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5460
5460
  let e = 0;
5461
5461
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5462
5462
  return e;
@@ -5655,17 +5655,17 @@ function Ns(e) {
5655
5655
  }
5656
5656
  //#endregion
5657
5657
  //#region ../core/src/cloud/comment-listener.ts
5658
- function Ps(e) {
5658
+ function Ns(e) {
5659
5659
  let { comments: t, channel: n } = e;
5660
5660
  H(n, (e, n) => {
5661
5661
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5662
- Fs(t, e);
5662
+ Ps(t, e);
5663
5663
  });
5664
5664
  }), l(() => {
5665
5665
  n.value?.unbind("comment-broadcast");
5666
5666
  });
5667
5667
  }
5668
- function Fs(e, t) {
5668
+ function Ps(e, t) {
5669
5669
  switch (t.action) {
5670
5670
  case "comment_created":
5671
5671
  e.applyRemoteCreate(t.comment);
@@ -5684,7 +5684,7 @@ function Fs(e, t) {
5684
5684
  }
5685
5685
  //#endregion
5686
5686
  //#region ../core/src/cloud/collaboration.ts
5687
- var Is = [
5687
+ var Fs = [
5688
5688
  "pusher:member_added",
5689
5689
  "pusher:member_removed",
5690
5690
  "client-block_locked",
@@ -5692,10 +5692,10 @@ var Is = [
5692
5692
  "client-operation",
5693
5693
  "mcp-operation"
5694
5694
  ];
5695
- function Ls(e) {
5696
- for (let t of Is) e.unbind(t);
5695
+ function Is(e) {
5696
+ for (let t of Fs) e.unbind(t);
5697
5697
  }
5698
- var Rs = [
5698
+ var Ls = [
5699
5699
  "#3b82f6",
5700
5700
  "#ef4444",
5701
5701
  "#10b981",
@@ -5707,10 +5707,10 @@ var Rs = [
5707
5707
  "#6366f1",
5708
5708
  "#14b8a6"
5709
5709
  ];
5710
- function zs(e) {
5710
+ function Rs(e) {
5711
5711
  let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
5712
5712
  function u() {
5713
- let e = Rs[o % Rs.length];
5713
+ let e = Ls[o % Ls.length];
5714
5714
  return o++, e;
5715
5715
  }
5716
5716
  function d(e) {
@@ -5752,7 +5752,7 @@ function zs(e) {
5752
5752
  function h(e) {
5753
5753
  s = !0;
5754
5754
  try {
5755
- ws(n, e);
5755
+ Cs(n, e);
5756
5756
  } finally {
5757
5757
  s = !1;
5758
5758
  }
@@ -5772,7 +5772,7 @@ function zs(e) {
5772
5772
  return H(() => n.state.selectedBlockId, (e, t) => {
5773
5773
  s || (t && v(t), e && _(e));
5774
5774
  }), H(r, (t, n) => {
5775
- if (n && Ls(n), !t) {
5775
+ if (n && Is(n), !t) {
5776
5776
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5777
5777
  return;
5778
5778
  }
@@ -5804,7 +5804,7 @@ function zs(e) {
5804
5804
  h(e);
5805
5805
  });
5806
5806
  }), l(() => {
5807
- r.value && Ls(r.value);
5807
+ r.value && Is(r.value);
5808
5808
  }), {
5809
5809
  collaborators: i,
5810
5810
  lockedBlocks: a,
@@ -5814,7 +5814,7 @@ function zs(e) {
5814
5814
  }
5815
5815
  //#endregion
5816
5816
  //#region ../core/src/cloud/collaboration-broadcast.ts
5817
- function Bs(e, t) {
5817
+ function zs(e, t) {
5818
5818
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5819
5819
  e.addBlock = (e, r, i, a) => {
5820
5820
  n(e, r, i, a), t._broadcastOperation({
@@ -5869,11 +5869,11 @@ function Bs(e, t) {
5869
5869
  }
5870
5870
  //#endregion
5871
5871
  //#region ../core/src/cloud/web-socket.ts
5872
- function Vs(e) {
5872
+ function Bs(e) {
5873
5873
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5874
5874
  async function s(e, s) {
5875
5875
  if (a) return;
5876
- a = new Cs({
5876
+ a = new Ss({
5877
5877
  authManager: t,
5878
5878
  config: s,
5879
5879
  onError: n
@@ -5901,8 +5901,8 @@ function Vs(e) {
5901
5901
  }
5902
5902
  //#endregion
5903
5903
  //#region ../core/src/cloud/saved-modules.ts
5904
- function Hs(e) {
5905
- let t = new xs(e.authManager), n = C([]), r = C(!1);
5904
+ function Vs(e) {
5905
+ let t = new bs(e.authManager), n = C([]), r = C(!1);
5906
5906
  async function i(i) {
5907
5907
  r.value = !0;
5908
5908
  try {
@@ -5950,8 +5950,8 @@ function Hs(e) {
5950
5950
  }
5951
5951
  //#endregion
5952
5952
  //#region ../core/src/cloud/snapshots.ts
5953
- function Us(e) {
5954
- let t = new xs(e.authManager), n = C([]), r = C(!1), i = C(!1);
5953
+ function Hs(e) {
5954
+ let t = new bs(e.authManager), n = C([]), r = C(!1), i = C(!1);
5955
5955
  async function a() {
5956
5956
  r.value = !0;
5957
5957
  try {
@@ -5983,8 +5983,8 @@ function Us(e) {
5983
5983
  }
5984
5984
  //#endregion
5985
5985
  //#region ../core/src/cloud/test-email.ts
5986
- function Ws(e) {
5987
- 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);
5986
+ function Us(e) {
5987
+ let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new bs(t), l = C(!1), u = C(null), d = C(null);
5988
5988
  o && H(o, (e) => {
5989
5989
  e && (d.value = t.testEmailConfig);
5990
5990
  }, { immediate: !0 });
@@ -6020,8 +6020,8 @@ function Ws(e) {
6020
6020
  }
6021
6021
  //#endregion
6022
6022
  //#region ../core/src/cloud/export.ts
6023
- function Gs(e) {
6024
- let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new xs(t);
6023
+ function Ws(e) {
6024
+ let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new bs(t);
6025
6025
  function a() {
6026
6026
  let e = n?.();
6027
6027
  return {
@@ -6047,8 +6047,8 @@ function Gs(e) {
6047
6047
  }
6048
6048
  //#endregion
6049
6049
  //#region ../core/src/cloud/plan-config.ts
6050
- function Ks(e) {
6051
- let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new xs(t), o = O(() => r.value?.features ?? null);
6050
+ function Gs(e) {
6051
+ let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new bs(t), o = O(() => r.value?.features ?? null);
6052
6052
  function s(e) {
6053
6053
  return r.value?.features[e] ?? !1;
6054
6054
  }
@@ -6074,11 +6074,11 @@ function Ks(e) {
6074
6074
  }
6075
6075
  //#endregion
6076
6076
  //#region ../core/src/cloud/health-check.ts
6077
- var qs = 5e3;
6078
- function Js(e) {
6077
+ var Ks = 5e3;
6078
+ function qs(e) {
6079
6079
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
6080
6080
  }
6081
- async function Ys(e, t) {
6081
+ async function Js(e, t) {
6082
6082
  let n = performance.now();
6083
6083
  try {
6084
6084
  let r = t ? await t.authenticatedFetch($.health, {
@@ -6130,7 +6130,7 @@ async function Ys(e, t) {
6130
6130
  };
6131
6131
  }
6132
6132
  }
6133
- async function Xs(e) {
6133
+ async function Ys(e) {
6134
6134
  if (!e?.host || !e?.app_key) return {
6135
6135
  ok: !1,
6136
6136
  error: "WebSocket configuration not available"
@@ -6146,7 +6146,7 @@ async function Xs(e) {
6146
6146
  ok: !1,
6147
6147
  error: "WebSocket connection timed out"
6148
6148
  });
6149
- }, qs);
6149
+ }, Ks);
6150
6150
  try {
6151
6151
  n = new WebSocket(t);
6152
6152
  } catch (t) {
@@ -6166,8 +6166,8 @@ async function Xs(e) {
6166
6166
  };
6167
6167
  });
6168
6168
  }
6169
- async function Zs(e = {}) {
6170
- let t = await Ys(Js(e), e.authManager), n = await Xs(t.wsConfig);
6169
+ async function Xs(e = {}) {
6170
+ let t = await Js(qs(e), e.authManager), n = await Ys(t.wsConfig);
6171
6171
  return {
6172
6172
  api: t.api,
6173
6173
  websocket: n,
@@ -6177,29 +6177,29 @@ async function Zs(e = {}) {
6177
6177
  }
6178
6178
  //#endregion
6179
6179
  //#region ../core/src/cloud/mcp-listener.ts
6180
- function Qs(e) {
6180
+ function Zs(e) {
6181
6181
  let { editor: t, channel: n, onOperation: r } = e;
6182
6182
  H(n, (e, n) => {
6183
6183
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
6184
- ws(t, e), r?.(e);
6184
+ Cs(t, e), r?.(e);
6185
6185
  });
6186
6186
  });
6187
6187
  }
6188
6188
  //#endregion
6189
6189
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
6190
- var $s = {
6190
+ var Qs = {
6191
6191
  key: 0,
6192
6192
  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)]"
6193
- }, 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 = {
6193
+ }, $s = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ec = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, tc = { class: "tpl:flex tpl:items-center tpl:gap-1" }, nc = ["title"], rc = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, ic = {
6194
6194
  key: 0,
6195
6195
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6196
- }, oc = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, sc = {
6196
+ }, ac = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oc = {
6197
6197
  key: 1,
6198
6198
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6199
- }, cc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, lc = {
6199
+ }, sc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, cc = {
6200
6200
  key: 2,
6201
6201
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6202
- }, uc = {
6202
+ }, lc = {
6203
6203
  key: 0,
6204
6204
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
6205
6205
  style: {
@@ -6208,10 +6208,10 @@ var $s = {
6208
6208
  "max-width": "85%",
6209
6209
  "box-shadow": "var(--tpl-shadow)"
6210
6210
  }
6211
- }, dc = {
6211
+ }, uc = {
6212
6212
  key: 1,
6213
6213
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6214
- }, fc = {
6214
+ }, dc = {
6215
6215
  key: 1,
6216
6216
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
6217
6217
  style: {
@@ -6220,21 +6220,21 @@ var $s = {
6220
6220
  color: "var(--tpl-text)",
6221
6221
  "box-shadow": "var(--tpl-shadow)"
6222
6222
  }
6223
- }, pc = {
6223
+ }, fc = {
6224
6224
  key: 0,
6225
6225
  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",
6226
6226
  style: {
6227
6227
  "background-color": "var(--tpl-danger-light)",
6228
6228
  color: "var(--tpl-danger)"
6229
6229
  }
6230
- }, mc = {
6230
+ }, pc = {
6231
6231
  key: 1,
6232
6232
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
6233
6233
  style: {
6234
6234
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
6235
6235
  "backdrop-filter": "blur(2px)"
6236
6236
  }
6237
- }, 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({
6237
+ }, mc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, hc = ["onClick"], gc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, _c = { 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)]" }, vc = ["placeholder", "disabled"], yc = ["disabled"], bc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, xc = /*@__PURE__*/ B({
6238
6238
  __name: "AiChatSidebar",
6239
6239
  props: {
6240
6240
  visible: { type: Boolean },
@@ -6242,7 +6242,7 @@ var $s = {
6242
6242
  },
6243
6243
  emits: ["close"],
6244
6244
  setup(e, { emit: t }) {
6245
- let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Ia(), u = ks({
6245
+ let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Ia(), u = Os({
6246
6246
  authManager: o,
6247
6247
  getTemplateId: () => a.state.template?.id ?? null,
6248
6248
  onApply: n.onApply,
@@ -6289,11 +6289,11 @@ var $s = {
6289
6289
  "leave-from-class": "tpl:translate-x-0",
6290
6290
  "leave-to-class": "tpl:translate-x-full"
6291
6291
  }, {
6292
- default: b(() => [e.visible ? (f(), k("div", $s, [
6293
- I("div", ec, [I("div", tc, [V(j(Ni), {
6292
+ default: b(() => [e.visible ? (f(), k("div", Qs, [
6293
+ I("div", $s, [I("div", ec, [V(j(Ni), {
6294
6294
  size: 13,
6295
6295
  "stroke-width": 2
6296
- }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", nc, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6296
+ }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", tc, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6297
6297
  key: 0,
6298
6298
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6299
6299
  title: j(i).aiChat.clear,
@@ -6301,30 +6301,30 @@ var $s = {
6301
6301
  }, [V(j(Fi), {
6302
6302
  size: 14,
6303
6303
  "stroke-width": 2
6304
- })], 8, rc)) : A("", !0), I("button", {
6304
+ })], 8, nc)) : A("", !0), I("button", {
6305
6305
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6306
6306
  onClick: n[1] ||= (e) => r("close")
6307
6307
  }, [V(j(Bi), {
6308
6308
  size: 14,
6309
6309
  "stroke-width": 2
6310
6310
  })])])]),
6311
- I("div", ic, [
6311
+ I("div", rc, [
6312
6312
  I("div", {
6313
6313
  ref_key: "messagesContainer",
6314
6314
  ref: p,
6315
6315
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
6316
- }, [j(u).isLoadingHistory.value ? (f(), k("div", ac, [V(j(xi), {
6316
+ }, [j(u).isLoadingHistory.value ? (f(), k("div", ic, [V(j(xi), {
6317
6317
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6318
6318
  size: 24,
6319
6319
  "stroke-width": 2
6320
- }), I("p", oc, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", sc, [V(j(Ni), {
6320
+ }), I("p", ac, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", oc, [V(j(Ni), {
6321
6321
  size: 32,
6322
6322
  "stroke-width": 1.5,
6323
6323
  class: "tpl:text-[var(--tpl-text-dim)]"
6324
- }), 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", {
6324
+ }), I("p", sc, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", cc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6325
6325
  key: e.id,
6326
6326
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6327
- }, [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", {
6327
+ }, [e.role === "user" ? (f(), k("div", lc, D(e.content), 1)) : (f(), k("div", uc, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Yi, { key: 0 })) : (f(), k("div", dc, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6328
6328
  key: 2,
6329
6329
  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",
6330
6330
  style: {
@@ -6340,12 +6340,12 @@ var $s = {
6340
6340
  size: 12,
6341
6341
  "stroke-width": 2
6342
6342
  }), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
6343
- j(u).error.value ? (f(), k("div", pc, [V(j(si), {
6343
+ j(u).error.value ? (f(), k("div", fc, [V(j(si), {
6344
6344
  size: 14,
6345
6345
  "stroke-width": 2,
6346
6346
  class: "tpl:mt-0.5 tpl:shrink-0"
6347
6347
  }), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
6348
- (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", {
6348
+ (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", pc, [I("div", mc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6349
6349
  key: t,
6350
6350
  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"]),
6351
6351
  style: {
@@ -6355,99 +6355,99 @@ var $s = {
6355
6355
  "box-shadow": "var(--tpl-shadow)"
6356
6356
  },
6357
6357
  onClick: (t) => E(e)
6358
- }, D(e), 11, gc))), 128))])])) : A("", !0)
6358
+ }, D(e), 11, hc))), 128))])])) : A("", !0)
6359
6359
  ]),
6360
- I("div", _c, [I("div", vc, [c(I("textarea", {
6360
+ I("div", gc, [I("div", _c, [c(I("textarea", {
6361
6361
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
6362
6362
  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)]",
6363
6363
  placeholder: j(i).aiChat.inputPlaceholder,
6364
6364
  disabled: j(u).isGenerating.value,
6365
6365
  rows: "3",
6366
6366
  onKeydown: te
6367
- }, null, 40, yc), [[ae, d.value]]), I("button", {
6367
+ }, null, 40, vc), [[ae, d.value]]), I("button", {
6368
6368
  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)]",
6369
6369
  disabled: !d.value.trim() || j(u).isGenerating.value,
6370
6370
  onClick: ee
6371
6371
  }, [V(j(ki), {
6372
6372
  size: 16,
6373
6373
  "stroke-width": 2
6374
- })], 8, bc)]), I("p", xc, D(j(i).aiMenu.disclaimer), 1)])
6374
+ })], 8, yc)]), I("p", bc, D(j(i).aiMenu.disclaimer), 1)])
6375
6375
  ])) : A("", !0)]),
6376
6376
  _: 1
6377
6377
  }));
6378
6378
  }
6379
- }), Cc = /* @__PURE__ */ e({ default: () => wc }), wc = /*#__PURE__*/ Gi(Sc, [["__scopeId", "data-v-a55e4bff"]]), Tc = 6e4, Ec = 36e5, Dc = 864e5;
6380
- function Oc(e, t, n, r) {
6379
+ }), Sc = /* @__PURE__ */ e({ default: () => Cc }), Cc = /*#__PURE__*/ Gi(xc, [["__scopeId", "data-v-a55e4bff"]]), wc = 6e4, Tc = 36e5, Ec = 864e5;
6380
+ function Dc(e, t, n, r) {
6381
6381
  let i = new Date(e).getTime();
6382
6382
  if (Number.isNaN(i)) return null;
6383
6383
  let a = Date.now() - i;
6384
6384
  if (a < -6e4) return null;
6385
- let o = Math.floor(a / Tc), s = Math.floor(a / Ec), c = Math.floor(a / Dc);
6385
+ let o = Math.floor(a / wc), s = Math.floor(a / Tc), c = Math.floor(a / Ec);
6386
6386
  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));
6387
6387
  }
6388
6388
  //#endregion
6389
6389
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
6390
- var kc = {
6390
+ var Oc = {
6391
6391
  key: 0,
6392
6392
  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)]"
6393
- }, 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 = {
6393
+ }, kc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ac = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, jc = {
6394
6394
  key: 0,
6395
6395
  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)]"
6396
- }, 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 = {
6396
+ }, Mc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Nc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Pc = {
6397
6397
  key: 0,
6398
6398
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
6399
- }, Ic = {
6399
+ }, Fc = {
6400
6400
  key: 1,
6401
6401
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
6402
- }, Lc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Rc = {
6402
+ }, Ic = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lc = {
6403
6403
  key: 2,
6404
6404
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
6405
- }, 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 = {
6405
+ }, Rc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, zc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Bc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Vc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Hc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Uc = {
6406
6406
  key: 0,
6407
6407
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6408
- }, Gc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Kc = ["title", "onClick"], qc = ["title", "onClick"], Jc = ["title", "onClick"], Yc = {
6408
+ }, Wc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Gc = ["title", "onClick"], Kc = ["title", "onClick"], qc = ["title", "onClick"], Jc = {
6409
6409
  key: 0,
6410
6410
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
6411
- }, Xc = {
6411
+ }, Yc = {
6412
6412
  key: 0,
6413
6413
  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)]"
6414
- }, Zc = ["onClick"], Qc = {
6414
+ }, Xc = ["onClick"], Zc = {
6415
6415
  key: 2,
6416
6416
  class: "tpl:mt-2"
6417
- }, $c = ["onKeydown"], el = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, tl = ["disabled", "onClick"], nl = {
6417
+ }, Qc = ["onKeydown"], $c = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, el = ["disabled", "onClick"], tl = {
6418
6418
  key: 3,
6419
6419
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6420
- }, rl = {
6420
+ }, nl = {
6421
6421
  key: 4,
6422
6422
  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)]"
6423
- }, il = { class: "tpl:flex-1" }, al = ["onClick"], ol = {
6423
+ }, rl = { class: "tpl:flex-1" }, il = ["onClick"], al = {
6424
6424
  key: 5,
6425
6425
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6426
- }, sl = ["title", "onClick"], cl = ["onClick"], ll = {
6426
+ }, ol = ["title", "onClick"], sl = ["onClick"], cl = {
6427
6427
  key: 0,
6428
6428
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6429
- }, 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 = {
6429
+ }, ll = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, ul = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, dl = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, fl = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, pl = {
6430
6430
  key: 0,
6431
6431
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6432
- }, hl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, gl = ["title", "onClick"], _l = ["title", "onClick"], vl = {
6432
+ }, ml = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, hl = ["title", "onClick"], gl = ["title", "onClick"], _l = {
6433
6433
  key: 0,
6434
6434
  class: "tpl:mt-1.5"
6435
- }, yl = ["onKeydown"], bl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, xl = ["disabled", "onClick"], Sl = {
6435
+ }, vl = ["onKeydown"], yl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, bl = ["disabled", "onClick"], xl = {
6436
6436
  key: 1,
6437
6437
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6438
- }, Cl = {
6438
+ }, Sl = {
6439
6439
  key: 2,
6440
6440
  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)]"
6441
- }, wl = { class: "tpl:flex-1" }, Tl = ["onClick"], El = {
6441
+ }, Cl = { class: "tpl:flex-1" }, wl = ["onClick"], Tl = {
6442
6442
  key: 0,
6443
6443
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6444
- }, 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 = {
6444
+ }, El = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Dl = ["placeholder", "onKeydown"], Ol = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, kl = ["disabled", "onClick"], Al = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, jl = {
6445
6445
  key: 0,
6446
6446
  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)]"
6447
- }, Nl = {
6447
+ }, Ml = {
6448
6448
  key: 1,
6449
6449
  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)]"
6450
- }, Pl = ["placeholder", "disabled"], Fl = ["disabled"], Il = /*@__PURE__*/ B({
6450
+ }, Nl = ["placeholder", "disabled"], Pl = ["disabled"], Fl = /*@__PURE__*/ B({
6451
6451
  __name: "CommentsSidebar",
6452
6452
  props: { visible: { type: Boolean } },
6453
6453
  emits: ["close", "filterBlock"],
@@ -6520,7 +6520,7 @@ var kc = {
6520
6520
  return e.author_identifier === T.value;
6521
6521
  }
6522
6522
  function ve(e) {
6523
- return Oc(e, o.snapshotHistory) ?? e;
6523
+ return Dc(e, o.snapshotHistory) ?? e;
6524
6524
  }
6525
6525
  function ye(e) {
6526
6526
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6547,14 +6547,14 @@ var kc = {
6547
6547
  "leave-from-class": "tpl:translate-x-0",
6548
6548
  "leave-to-class": "tpl:translate-x-full"
6549
6549
  }, {
6550
- default: b(() => [e.visible ? (f(), k("div", kc, [
6551
- I("div", Ac, [I("div", jc, [
6550
+ default: b(() => [e.visible ? (f(), k("div", Oc, [
6551
+ I("div", kc, [I("div", Ac, [
6552
6552
  V(j(Si), {
6553
6553
  size: 13,
6554
6554
  "stroke-width": 2
6555
6555
  }),
6556
6556
  I("span", null, D(j(o).comments.title), 1),
6557
- j(u).unresolvedCount.value > 0 ? (f(), k("span", Mc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6557
+ j(u).unresolvedCount.value > 0 ? (f(), k("span", jc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6558
6558
  ]), I("button", {
6559
6559
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6560
6560
  onClick: n[0] ||= (e) => i("close")
@@ -6562,7 +6562,7 @@ var kc = {
6562
6562
  size: 14,
6563
6563
  "stroke-width": 2
6564
6564
  })])]),
6565
- I("div", Nc, [
6565
+ I("div", Mc, [
6566
6566
  I("button", {
6567
6567
  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" : ""]),
6568
6568
  onClick: n[1] ||= (e) => M("unresolved")
@@ -6577,24 +6577,24 @@ var kc = {
6577
6577
  onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
6578
6578
  }, D(j(o).comments.filterBlock), 3)) : A("", !0)
6579
6579
  ]),
6580
- I("div", Pc, [j(u).isLoading.value ? (f(), k("div", Fc, [V(j(xi), {
6580
+ I("div", Nc, [j(u).isLoading.value ? (f(), k("div", Pc, [V(j(xi), {
6581
6581
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6582
6582
  size: 24,
6583
6583
  "stroke-width": 2
6584
- })])) : re.value.length === 0 ? (f(), k("div", Ic, [V(j(Si), {
6584
+ })])) : re.value.length === 0 ? (f(), k("div", Fc, [V(j(Si), {
6585
6585
  size: 32,
6586
6586
  "stroke-width": 1.5,
6587
6587
  class: "tpl:text-[var(--tpl-text-dim)]"
6588
- }), 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", {
6588
+ }), I("p", Ic, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", Lc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6589
6589
  key: e.id,
6590
6590
  class: "tpl-comment-thread"
6591
6591
  }, [
6592
- I("div", zc, [
6593
- I("div", Bc, [I("div", Vc, [
6594
- I("span", Hc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6595
- I("span", Uc, D(ve(e.created_at)), 1),
6596
- e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Wc, " (" + D(j(o).comments.edited) + ") ", 1))
6597
- ]), I("div", Gc, [
6592
+ I("div", Rc, [
6593
+ I("div", zc, [I("div", Bc, [
6594
+ I("span", Vc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6595
+ I("span", Hc, D(ve(e.created_at)), 1),
6596
+ e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Uc, " (" + D(j(o).comments.edited) + ") ", 1))
6597
+ ]), I("div", Wc, [
6598
6598
  I("button", {
6599
6599
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6600
6600
  title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
@@ -6604,7 +6604,7 @@ var kc = {
6604
6604
  "stroke-width": 2,
6605
6605
  class: "tpl-resolve-icon",
6606
6606
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6607
- }, null, 8, ["style"])], 8, Kc),
6607
+ }, null, 8, ["style"])], 8, Gc),
6608
6608
  _e(e) ? (f(), k("button", {
6609
6609
  key: 0,
6610
6610
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6613,7 +6613,7 @@ var kc = {
6613
6613
  }, [V(j(wi), {
6614
6614
  size: 12,
6615
6615
  "stroke-width": 2
6616
- })], 8, qc)) : A("", !0),
6616
+ })], 8, Kc)) : A("", !0),
6617
6617
  _e(e) ? (f(), k("button", {
6618
6618
  key: 1,
6619
6619
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6622,45 +6622,45 @@ var kc = {
6622
6622
  }, [V(j(Fi), {
6623
6623
  size: 12,
6624
6624
  "stroke-width": 2
6625
- })], 8, Jc)) : A("", !0)
6625
+ })], 8, qc)) : A("", !0)
6626
6626
  ])]),
6627
6627
  V(ie, { name: "tpl-resolve" }, {
6628
- default: b(() => [e.resolved_at ? (f(), k("div", Yc, [V(j(ni), {
6628
+ default: b(() => [e.resolved_at ? (f(), k("div", Jc, [V(j(ni), {
6629
6629
  size: 10,
6630
6630
  "stroke-width": 2.5
6631
6631
  }), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
6632
6632
  _: 2
6633
6633
  }, 1024),
6634
- e.block_id && te(e.block_id) ? (f(), k("span", Xc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6634
+ e.block_id && te(e.block_id) ? (f(), k("span", Yc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6635
6635
  key: 1,
6636
6636
  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)]",
6637
6637
  onClick: (t) => j(s).selectBlock(e.block_id ?? "")
6638
- }, " Block ", 8, Zc)) : A("", !0),
6639
- y.value === e.id ? (f(), k("div", Qc, [c(I("textarea", {
6638
+ }, " Block ", 8, Xc)) : A("", !0),
6639
+ y.value === e.id ? (f(), k("div", Zc, [c(I("textarea", {
6640
6640
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6641
6641
  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)]",
6642
6642
  rows: "3",
6643
6643
  onKeydown: (t) => xe(t, e.id)
6644
- }, null, 40, $c), [[ae, x.value]]), I("div", el, [I("button", {
6644
+ }, null, 40, Qc), [[ae, x.value]]), I("div", $c, [I("button", {
6645
6645
  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)]",
6646
6646
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6647
6647
  onClick: (t) => me(e.id)
6648
- }, D(j(o).comments.save), 9, tl), I("button", {
6648
+ }, D(j(o).comments.save), 9, el), I("button", {
6649
6649
  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)]",
6650
6650
  onClick: n[5] ||= (e) => B()
6651
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", nl, D(e.body), 1)),
6652
- w.value === e.id ? (f(), k("div", rl, [
6653
- I("span", il, D(j(o).comments.deleteConfirm), 1),
6651
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", tl, D(e.body), 1)),
6652
+ w.value === e.id ? (f(), k("div", nl, [
6653
+ I("span", rl, D(j(o).comments.deleteConfirm), 1),
6654
6654
  I("button", {
6655
6655
  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)]",
6656
6656
  onClick: (t) => he(e.id)
6657
- }, D(j(o).comments.delete), 9, al),
6657
+ }, D(j(o).comments.delete), 9, il),
6658
6658
  I("button", {
6659
6659
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6660
6660
  onClick: n[6] ||= (e) => de()
6661
6661
  }, D(j(o).comments.cancel), 1)
6662
6662
  ])) : A("", !0),
6663
- y.value !== e.id && w.value !== e.id ? (f(), k("div", ol, [I("button", {
6663
+ y.value !== e.id && w.value !== e.id ? (f(), k("div", al, [I("button", {
6664
6664
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6665
6665
  title: j(o).comments.reply,
6666
6666
  onClick: (t) => se(e.id)
@@ -6668,7 +6668,7 @@ var kc = {
6668
6668
  size: 13,
6669
6669
  "stroke-width": 2,
6670
6670
  class: "tpl:text-[var(--tpl-primary)]"
6671
- })], 8, sl), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6671
+ })], 8, ol), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6672
6672
  key: 0,
6673
6673
  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)]",
6674
6674
  onClick: (t) => oe(e.id)
@@ -6680,18 +6680,18 @@ var kc = {
6680
6680
  key: 1,
6681
6681
  size: 11,
6682
6682
  "stroke-width": 2
6683
- })), 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)
6683
+ })), 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, sl)) : A("", !0)])) : A("", !0)
6684
6684
  ]),
6685
6685
  V(ie, { name: "tpl-replies" }, {
6686
- 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", {
6686
+ default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", cl, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6687
6687
  key: t.id,
6688
6688
  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" : ""])
6689
6689
  }, [
6690
- I("div", ul, [I("div", dl, [
6691
- I("span", fl, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6692
- I("span", pl, D(ve(t.created_at)), 1),
6693
- t.updated_at === t.created_at ? A("", !0) : (f(), k("span", ml, " (" + D(j(o).comments.edited) + ") ", 1))
6694
- ]), I("div", hl, [_e(t) ? (f(), k("button", {
6690
+ I("div", ll, [I("div", ul, [
6691
+ I("span", dl, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6692
+ I("span", fl, D(ve(t.created_at)), 1),
6693
+ t.updated_at === t.created_at ? A("", !0) : (f(), k("span", pl, " (" + D(j(o).comments.edited) + ") ", 1))
6694
+ ]), I("div", ml, [_e(t) ? (f(), k("button", {
6695
6695
  key: 0,
6696
6696
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6697
6697
  title: j(o).comments.edit,
@@ -6699,7 +6699,7 @@ var kc = {
6699
6699
  }, [V(j(wi), {
6700
6700
  size: 11,
6701
6701
  "stroke-width": 2
6702
- })], 8, gl)) : A("", !0), _e(t) ? (f(), k("button", {
6702
+ })], 8, hl)) : A("", !0), _e(t) ? (f(), k("button", {
6703
6703
  key: 1,
6704
6704
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6705
6705
  title: j(o).comments.delete,
@@ -6707,26 +6707,26 @@ var kc = {
6707
6707
  }, [V(j(Fi), {
6708
6708
  size: 11,
6709
6709
  "stroke-width": 2
6710
- })], 8, _l)) : A("", !0)])]),
6711
- y.value === t.id ? (f(), k("div", vl, [c(I("textarea", {
6710
+ })], 8, gl)) : A("", !0)])]),
6711
+ y.value === t.id ? (f(), k("div", _l, [c(I("textarea", {
6712
6712
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6713
6713
  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)]",
6714
6714
  rows: "2",
6715
6715
  onKeydown: (e) => xe(e, t.id)
6716
- }, null, 40, yl), [[ae, x.value]]), I("div", bl, [I("button", {
6716
+ }, null, 40, vl), [[ae, x.value]]), I("div", yl, [I("button", {
6717
6717
  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)]",
6718
6718
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6719
6719
  onClick: (e) => me(t.id)
6720
- }, D(j(o).comments.save), 9, xl), I("button", {
6720
+ }, D(j(o).comments.save), 9, bl), I("button", {
6721
6721
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6722
6722
  onClick: n[8] ||= (e) => B()
6723
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Sl, D(t.body), 1)),
6724
- w.value === t.id ? (f(), k("div", Cl, [
6725
- I("span", wl, D(j(o).comments.deleteConfirm), 1),
6723
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", xl, D(t.body), 1)),
6724
+ w.value === t.id ? (f(), k("div", Sl, [
6725
+ I("span", Cl, D(j(o).comments.deleteConfirm), 1),
6726
6726
  I("button", {
6727
6727
  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)]",
6728
6728
  onClick: (e) => he(t.id)
6729
- }, D(j(o).comments.delete), 9, Tl),
6729
+ }, D(j(o).comments.delete), 9, wl),
6730
6730
  I("button", {
6731
6731
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6732
6732
  onClick: n[9] ||= (e) => de()
@@ -6736,20 +6736,20 @@ var kc = {
6736
6736
  _: 2
6737
6737
  }, 1024),
6738
6738
  V(ie, { name: "tpl-replies" }, {
6739
- default: b(() => [_.value === e.id ? (f(), k("div", El, [I("div", Dl, [c(I("textarea", {
6739
+ default: b(() => [_.value === e.id ? (f(), k("div", Tl, [I("div", El, [c(I("textarea", {
6740
6740
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6741
6741
  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)]",
6742
6742
  placeholder: j(o).comments.replyPlaceholder,
6743
6743
  rows: "2",
6744
6744
  onKeydown: (t) => be(t, e.id)
6745
- }, null, 40, Ol), [[ae, v.value]]), I("div", kl, [I("button", {
6745
+ }, null, 40, Dl), [[ae, v.value]]), I("div", Ol, [I("button", {
6746
6746
  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)]",
6747
6747
  disabled: !v.value.trim() || j(u).isSubmitting.value,
6748
6748
  onClick: (t) => pe(e.id)
6749
6749
  }, [V(j(ki), {
6750
6750
  size: 14,
6751
6751
  "stroke-width": 2
6752
- })], 8, Al), I("button", {
6752
+ })], 8, kl), I("button", {
6753
6753
  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)]",
6754
6754
  onClick: n[11] ||= (e) => ce()
6755
6755
  }, [V(j(Bi), {
@@ -6759,7 +6759,7 @@ var kc = {
6759
6759
  _: 2
6760
6760
  }, 1024)
6761
6761
  ]))), 128))]))]),
6762
- I("div", jl, [ne.value ? (f(), k("div", Ml, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Nl, [c(I("textarea", {
6762
+ I("div", Al, [ne.value ? (f(), k("div", jl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Ml, [c(I("textarea", {
6763
6763
  ref_key: "newCommentInput",
6764
6764
  ref: ee,
6765
6765
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
@@ -6768,7 +6768,7 @@ var kc = {
6768
6768
  disabled: j(u).isSubmitting.value,
6769
6769
  rows: "2",
6770
6770
  onKeydown: ye
6771
- }, null, 40, Pl), [[ae, g.value]]), I("button", {
6771
+ }, null, 40, Nl), [[ae, g.value]]), I("button", {
6772
6772
  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)]",
6773
6773
  disabled: !g.value.trim() || j(u).isSubmitting.value,
6774
6774
  onClick: fe
@@ -6781,33 +6781,33 @@ var kc = {
6781
6781
  key: 1,
6782
6782
  size: 16,
6783
6783
  "stroke-width": 2
6784
- }))], 8, Fl)]))])
6784
+ }))], 8, Pl)]))])
6785
6785
  ])) : A("", !0)]),
6786
6786
  _: 1
6787
6787
  }));
6788
6788
  }
6789
- }), Ll = /* @__PURE__ */ e({ default: () => Rl }), Rl = /*#__PURE__*/ Gi(Il, [["__scopeId", "data-v-d204f573"]]), zl = {
6789
+ }), Il = /* @__PURE__ */ e({ default: () => Ll }), Ll = /*#__PURE__*/ Gi(Fl, [["__scopeId", "data-v-d204f573"]]), Rl = {
6790
6790
  key: 0,
6791
6791
  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)]"
6792
- }, 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 = {
6792
+ }, zl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Bl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Vl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Hl = {
6793
6793
  key: 0,
6794
6794
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6795
- }, 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 = {
6795
+ }, Ul = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Wl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Gl = {
6796
6796
  key: 1,
6797
6797
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6798
- }, ql = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Jl = {
6798
+ }, Kl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ql = {
6799
6799
  key: 0,
6800
6800
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6801
- }, 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 = {
6801
+ }, Jl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Yl = ["src", "alt"], Xl = {
6802
6802
  key: 1,
6803
6803
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6804
- }, 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 = {
6804
+ }, Zl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ql = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, $l = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, eu = ["accept"], tu = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, nu = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ru = ["placeholder"], iu = {
6805
6805
  key: 0,
6806
6806
  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)]"
6807
- }, ou = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, su = { class: "tpl:flex tpl:gap-2" }, cu = {
6807
+ }, au = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ou = { class: "tpl:flex tpl:gap-2" }, su = {
6808
6808
  key: 1,
6809
6809
  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)]"
6810
- }, 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({
6810
+ }, cu = ["disabled"], lu = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, uu = /*@__PURE__*/ B({
6811
6811
  __name: "DesignReferenceSidebar",
6812
6812
  props: {
6813
6813
  visible: { type: Boolean },
@@ -6815,7 +6815,7 @@ var kc = {
6815
6815
  },
6816
6816
  emits: ["close", "apply"],
6817
6817
  setup(e, { emit: t }) {
6818
- let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = Ms({
6818
+ let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = js({
6819
6819
  authManager: J(mr, "DesignReferenceSidebar"),
6820
6820
  getTemplateId: () => a.state.template?.id ?? null,
6821
6821
  onApply: (e) => r("apply", e)
@@ -6887,7 +6887,7 @@ var kc = {
6887
6887
  "leave-from-class": "tpl:translate-x-0",
6888
6888
  "leave-to-class": "tpl:translate-x-full"
6889
6889
  }, {
6890
- default: b(() => [e.visible ? (f(), k("div", zl, [I("div", Bl, [I("div", Vl, [V(j(vi), {
6890
+ default: b(() => [e.visible ? (f(), k("div", Rl, [I("div", zl, [I("div", Bl, [V(j(vi), {
6891
6891
  size: 13,
6892
6892
  "stroke-width": 2
6893
6893
  }), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
@@ -6896,8 +6896,8 @@ var kc = {
6896
6896
  }, [V(j(Bi), {
6897
6897
  size: 14,
6898
6898
  "stroke-width": 2
6899
- })])]), 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, [
6900
- I("div", ql, [I("button", {
6899
+ })])]), I("div", Vl, [j(o).isGenerating.value ? (f(), k("div", Hl, [I("div", Ul, [V(Yi), I("p", Wl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Gl, [
6900
+ I("div", Kl, [I("button", {
6901
6901
  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",
6902
6902
  style: L({
6903
6903
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6920,16 +6920,16 @@ var kc = {
6920
6920
  size: 12,
6921
6921
  "stroke-width": 2
6922
6922
  }), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
6923
- I("div", null, [u.value ? (f(), k("div", Jl, [I("div", Yl, [p.value ? (f(), k("img", {
6923
+ I("div", null, [u.value ? (f(), k("div", ql, [I("div", Jl, [p.value ? (f(), k("img", {
6924
6924
  key: 0,
6925
6925
  src: p.value,
6926
6926
  alt: u.value.name,
6927
6927
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6928
- }, null, 8, Xl)) : (f(), k("div", Zl, [V(j(hi), {
6928
+ }, null, 8, Yl)) : (f(), k("div", Xl, [V(j(hi), {
6929
6929
  size: 32,
6930
6930
  "stroke-width": 1.5,
6931
6931
  class: "tpl:text-[var(--tpl-text-dim)]"
6932
- }), I("span", Ql, D(u.value.name), 1)])), I("button", {
6932
+ }), I("span", Zl, D(u.value.name), 1)])), I("button", {
6933
6933
  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)]",
6934
6934
  onClick: x
6935
6935
  }, [V(j(Bi), {
@@ -6952,8 +6952,8 @@ var kc = {
6952
6952
  "stroke-width": 1.5,
6953
6953
  class: "tpl:text-[var(--tpl-text-dim)]"
6954
6954
  }),
6955
- I("span", $l, D(j(i).designReference.dropHint), 1),
6956
- I("span", eu, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6955
+ I("span", Ql, D(j(i).designReference.dropHint), 1),
6956
+ I("span", $l, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6957
6957
  ], 36)), I("input", {
6958
6958
  ref_key: "fileInput",
6959
6959
  ref: s,
@@ -6961,14 +6961,14 @@ var kc = {
6961
6961
  class: "tpl:hidden",
6962
6962
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6963
6963
  onChange: v
6964
- }, null, 40, tu)]),
6965
- I("div", nu, [I("label", ru, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6964
+ }, null, 40, eu)]),
6965
+ I("div", tu, [I("label", nu, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6966
6966
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6967
6967
  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"]]),
6968
6968
  placeholder: j(i).designReference.promptPlaceholder,
6969
6969
  rows: "3"
6970
- }, null, 8, iu), [[ae, d.value]])]),
6971
- m.value ? (f(), k("div", au, [I("p", ou, D(j(i).designReference.replaceWarning), 1), I("div", su, [I("button", {
6970
+ }, null, 8, ru), [[ae, d.value]])]),
6971
+ m.value ? (f(), k("div", iu, [I("p", au, D(j(i).designReference.replaceWarning), 1), I("div", ou, [I("button", {
6972
6972
  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)]",
6973
6973
  style: { "background-color": "transparent" },
6974
6974
  onClick: E
@@ -6976,7 +6976,7 @@ var kc = {
6976
6976
  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)]",
6977
6977
  onClick: T
6978
6978
  }, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
6979
- j(o).error.value ? (f(), k("div", cu, [V(j(si), {
6979
+ j(o).error.value ? (f(), k("div", su, [V(j(si), {
6980
6980
  size: 14,
6981
6981
  "stroke-width": 2,
6982
6982
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6989,32 +6989,32 @@ var kc = {
6989
6989
  }, [V(j(vi), {
6990
6990
  size: 16,
6991
6991
  "stroke-width": 2
6992
- }), z(" " + D(j(i).designReference.generate), 1)], 8, lu)),
6993
- I("p", uu, D(j(i).aiMenu.disclaimer), 1)
6992
+ }), z(" " + D(j(i).designReference.generate), 1)], 8, cu)),
6993
+ I("p", lu, D(j(i).aiMenu.disclaimer), 1)
6994
6994
  ]))])])) : A("", !0)]),
6995
6995
  _: 1
6996
6996
  }));
6997
6997
  }
6998
- }), fu = /* @__PURE__ */ e({ default: () => pu }), pu = /*#__PURE__*/ Gi(du, [["__scopeId", "data-v-bdbf8d0d"]]), mu = ["disabled", "title"], hu = ["title"], gu = {
6998
+ }), du = /* @__PURE__ */ e({ default: () => fu }), fu = /*#__PURE__*/ Gi(uu, [["__scopeId", "data-v-bdbf8d0d"]]), pu = ["disabled", "title"], mu = ["title"], hu = {
6999
6999
  key: 0,
7000
7000
  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)]",
7001
7001
  style: {
7002
7002
  "backdrop-filter": "blur(8px)",
7003
7003
  "-webkit-backdrop-filter": "blur(8px)"
7004
7004
  }
7005
- }, _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 = {
7005
+ }, gu = { 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)]" }, _u = {
7006
7006
  key: 0,
7007
7007
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
7008
- }, yu = {
7008
+ }, vu = {
7009
7009
  key: 1,
7010
7010
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
7011
- }, bu = {
7011
+ }, yu = {
7012
7012
  key: 2,
7013
7013
  class: "tpl:max-h-64 tpl:overflow-y-auto"
7014
- }, 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 = {
7014
+ }, bu = ["disabled", "onClick"], xu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Su = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Cu = {
7015
7015
  key: 0,
7016
7016
  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)]"
7017
- }, Tu = ["disabled", "title"], Eu = /*@__PURE__*/ B({
7017
+ }, wu = ["disabled", "title"], Tu = /*@__PURE__*/ B({
7018
7018
  __name: "SnapshotHistory",
7019
7019
  props: {
7020
7020
  snapshots: {},
@@ -7042,7 +7042,7 @@ var kc = {
7042
7042
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
7043
7043
  }
7044
7044
  function _(e) {
7045
- let t = Oc(e, a.snapshotHistory, i, 7);
7045
+ let t = Dc(e, a.snapshotHistory, i, 7);
7046
7046
  return t === null ? new Date(e).toLocaleDateString(void 0, {
7047
7047
  month: "short",
7048
7048
  day: "numeric",
@@ -7065,7 +7065,7 @@ var kc = {
7065
7065
  }, [V(j(ii), {
7066
7066
  size: 14,
7067
7067
  "stroke-width": 2
7068
- })], 8, mu),
7068
+ })], 8, pu),
7069
7069
  I("button", {
7070
7070
  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)]",
7071
7071
  title: j(a).snapshotHistory.tooltip,
@@ -7077,19 +7077,19 @@ var kc = {
7077
7077
  class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
7078
7078
  size: 10,
7079
7079
  "stroke-width": 2
7080
- }, null, 8, ["class"])], 8, hu),
7080
+ }, null, 8, ["class"])], 8, mu),
7081
7081
  V(ie, { name: "tpl-dropdown" }, {
7082
- 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), {
7082
+ default: b(() => [o.value ? (f(), k("div", hu, [I("div", gu, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", _u, [V(j(xi), {
7083
7083
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
7084
7084
  size: 20,
7085
7085
  "stroke-width": 2
7086
- })])) : 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", {
7086
+ })])) : e.snapshots.length === 0 ? (f(), k("div", vu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", yu, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
7087
7087
  key: t.id,
7088
7088
  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)]",
7089
7089
  style: { "background-color": "transparent" },
7090
7090
  disabled: e.isRestoring,
7091
7091
  onClick: (e) => g(t.id)
7092
- }, [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)]),
7092
+ }, [I("div", xu, [I("div", Su, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", Cu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, bu))), 128))]))])) : A("", !0)]),
7093
7093
  _: 1
7094
7094
  }),
7095
7095
  I("button", {
@@ -7100,66 +7100,66 @@ var kc = {
7100
7100
  }, [V(j(ai), {
7101
7101
  size: 14,
7102
7102
  "stroke-width": 2
7103
- })], 8, Tu)
7103
+ })], 8, wu)
7104
7104
  ], 512));
7105
7105
  }
7106
- }), Du = /* @__PURE__ */ e({ default: () => Ou }), Ou = Eu;
7106
+ }), Eu = /* @__PURE__ */ e({ default: () => Du }), Du = Tu;
7107
7107
  //#endregion
7108
7108
  //#region src/cloud/utils/scoringStyles.ts
7109
- function ku(e) {
7109
+ function Ou(e) {
7110
7110
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
7111
7111
  }
7112
- function Au(e) {
7112
+ function ku(e) {
7113
7113
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
7114
7114
  }
7115
- function ju(e) {
7115
+ function Au(e) {
7116
7116
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
7117
7117
  }
7118
- function Mu(e) {
7118
+ function ju(e) {
7119
7119
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
7120
7120
  }
7121
7121
  //#endregion
7122
7122
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
7123
- var Nu = {
7123
+ var Mu = {
7124
7124
  key: 0,
7125
7125
  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)]"
7126
- }, 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 = {
7126
+ }, Nu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Pu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Fu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Iu = ["title"], Lu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Ru = {
7127
7127
  key: 0,
7128
7128
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7129
- }, Bu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Vu = {
7129
+ }, zu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Bu = {
7130
7130
  key: 1,
7131
7131
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7132
- }, Hu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Uu = {
7132
+ }, Vu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Hu = {
7133
7133
  key: 2,
7134
7134
  class: "tpl:flex tpl:flex-col tpl:gap-4"
7135
- }, Wu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Gu = {
7135
+ }, Uu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Wu = {
7136
7136
  key: 0,
7137
7137
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
7138
- }, Ku = {
7138
+ }, Gu = {
7139
7139
  key: 0,
7140
7140
  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)]"
7141
- }, qu = ["onClick"], Ju = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Yu = {
7141
+ }, Ku = ["onClick"], qu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ju = {
7142
7142
  key: 0,
7143
7143
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
7144
- }, Xu = {
7144
+ }, Yu = {
7145
7145
  key: 0,
7146
7146
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
7147
- }, Zu = {
7147
+ }, Xu = {
7148
7148
  key: 0,
7149
7149
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
7150
- }, 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 = {
7150
+ }, Zu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Qu = { class: "tpl:flex-1 tpl:min-w-0" }, $u = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, ed = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, td = {
7151
7151
  key: 0,
7152
7152
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
7153
- }, rd = {
7153
+ }, nd = {
7154
7154
  key: 1,
7155
7155
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
7156
- }, id = ["disabled", "onClick"], ad = {
7156
+ }, rd = ["disabled", "onClick"], id = {
7157
7157
  key: 0,
7158
7158
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
7159
- }, od = {
7159
+ }, ad = {
7160
7160
  key: 3,
7161
7161
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
7162
- }, 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({
7162
+ }, od = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, sd = { 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)]" }, cd = /*@__PURE__*/ B({
7163
7163
  __name: "TemplateScoringPanel",
7164
7164
  props: { visible: { type: Boolean } },
7165
7165
  emits: ["close"],
@@ -7210,10 +7210,10 @@ var Nu = {
7210
7210
  "leave-from-class": "tpl:translate-x-0",
7211
7211
  "leave-to-class": "tpl:translate-x-full"
7212
7212
  }, {
7213
- default: b(() => [e.visible ? (f(), k("div", Nu, [I("div", Pu, [I("div", Fu, [V(j(ji), {
7213
+ default: b(() => [e.visible ? (f(), k("div", Mu, [I("div", Nu, [I("div", Pu, [V(j(ji), {
7214
7214
  size: 13,
7215
7215
  "stroke-width": 2
7216
- }), I("span", null, D(j(i).scoring.title), 1)]), I("div", Iu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
7216
+ }), I("span", null, D(j(i).scoring.title), 1)]), I("div", Fu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
7217
7217
  key: 0,
7218
7218
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
7219
7219
  title: j(i).scoring.rescore,
@@ -7221,19 +7221,19 @@ var Nu = {
7221
7221
  }, [V(j(Di), {
7222
7222
  size: 14,
7223
7223
  "stroke-width": 2
7224
- })], 8, Lu)) : A("", !0), I("button", {
7224
+ })], 8, Iu)) : A("", !0), I("button", {
7225
7225
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
7226
7226
  onClick: n[1] ||= (e) => r("close")
7227
7227
  }, [V(j(Bi), {
7228
7228
  size: 14,
7229
7229
  "stroke-width": 2
7230
- })])])]), 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, [
7230
+ })])])]), I("div", Lu, [j(o).isScoring.value ? (f(), k("div", Ru, [I("p", zu, D(j(i).scoring.scoring), 1), V(Yi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Bu, [
7231
7231
  V(j(si), {
7232
7232
  size: 32,
7233
7233
  "stroke-width": 1.5,
7234
7234
  class: "tpl:text-[var(--tpl-danger)]"
7235
7235
  }),
7236
- I("p", Hu, D(j(i).scoring.error), 1),
7236
+ I("p", Vu, D(j(i).scoring.error), 1),
7237
7237
  I("button", {
7238
7238
  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)]",
7239
7239
  onClick: n[2] ||= (e) => m()
@@ -7241,19 +7241,19 @@ var Nu = {
7241
7241
  size: 12,
7242
7242
  "stroke-width": 2
7243
7243
  }), z(" " + D(j(i).scoring.rescore), 1)])
7244
- ])) : j(o).scoringResult.value ? (f(), k("div", Uu, [
7244
+ ])) : j(o).scoringResult.value ? (f(), k("div", Hu, [
7245
7245
  I("div", {
7246
7246
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
7247
- style: L({ backgroundColor: j(Au)(j(o).scoringResult.value.score) })
7247
+ style: L({ backgroundColor: j(ku)(j(o).scoringResult.value.score) })
7248
7248
  }, [
7249
7249
  I("span", {
7250
7250
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
7251
- style: L({ color: j(ku)(j(o).scoringResult.value.score) })
7251
+ style: L({ color: j(Ou)(j(o).scoringResult.value.score) })
7252
7252
  }, D(j(o).scoringResult.value.score), 5),
7253
- I("span", Wu, D(j(i).scoring.overallScore), 1),
7254
- _() > 0 ? (f(), k("span", Gu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7253
+ I("span", Uu, D(j(i).scoring.overallScore), 1),
7254
+ _() > 0 ? (f(), k("span", Wu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
7255
7255
  ], 4),
7256
- j(o).fixError.value ? (f(), k("div", Ku, [V(j(si), {
7256
+ j(o).fixError.value ? (f(), k("div", Gu, [V(j(si), {
7257
7257
  size: 14,
7258
7258
  "stroke-width": 2,
7259
7259
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -7268,40 +7268,40 @@ var Nu = {
7268
7268
  (f(), N(d(p[e]), {
7269
7269
  size: 14,
7270
7270
  "stroke-width": 2,
7271
- style: L({ color: j(ku)(j(o).scoringResult.value.categories[e].score) })
7271
+ style: L({ color: j(Ou)(j(o).scoringResult.value.categories[e].score) })
7272
7272
  }, null, 8, ["style"])),
7273
- I("span", Ju, D(j(i).scoring.categories[e]), 1),
7273
+ I("span", qu, D(j(i).scoring.categories[e]), 1),
7274
7274
  I("span", {
7275
7275
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
7276
7276
  style: L({
7277
- color: j(ku)(j(o).scoringResult.value.categories[e].score),
7278
- backgroundColor: j(Au)(j(o).scoringResult.value.categories[e].score)
7277
+ color: j(Ou)(j(o).scoringResult.value.categories[e].score),
7278
+ backgroundColor: j(ku)(j(o).scoringResult.value.categories[e].score)
7279
7279
  })
7280
7280
  }, D(j(o).scoringResult.value.categories[e].score), 5),
7281
- 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),
7281
+ j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Ju, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7282
7282
  V(j(ri), {
7283
7283
  size: 12,
7284
7284
  "stroke-width": 2,
7285
7285
  class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
7286
7286
  }, null, 8, ["class"])
7287
- ], 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", {
7287
+ ], 8, Ku), c.value[e] ? (f(), k("div", Yu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Xu, 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", {
7288
7288
  key: e.id,
7289
7289
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
7290
- }, [I("div", Qu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
7290
+ }, [I("div", Zu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
7291
7291
  size: 13,
7292
7292
  "stroke-width": 2,
7293
7293
  class: "tpl:mt-0.5 tpl:shrink-0",
7294
- style: L({ color: j(ju)(e.severity) })
7295
- }, null, 8, ["style"])), I("div", $u, [
7296
- I("div", ed, [I("span", {
7294
+ style: L({ color: j(Au)(e.severity) })
7295
+ }, null, 8, ["style"])), I("div", Qu, [
7296
+ I("div", $u, [I("span", {
7297
7297
  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",
7298
7298
  style: L({
7299
- color: j(ju)(e.severity),
7300
- backgroundColor: j(Mu)(e.severity)
7299
+ color: j(Au)(e.severity),
7300
+ backgroundColor: j(ju)(e.severity)
7301
7301
  })
7302
- }, D(j(i).scoring.severity[e.severity]), 5), I("span", td, D(e.message), 1)]),
7303
- e.suggestion ? (f(), k("p", nd, D(e.suggestion), 1)) : A("", !0),
7304
- e.blockId ? (f(), k("div", rd, [I("button", {
7302
+ }, D(j(i).scoring.severity[e.severity]), 5), I("span", ed, D(e.message), 1)]),
7303
+ e.suggestion ? (f(), k("p", td, D(e.suggestion), 1)) : A("", !0),
7304
+ e.blockId ? (f(), k("div", nd, [I("button", {
7305
7305
  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)]",
7306
7306
  style: { "background-color": "transparent" },
7307
7307
  disabled: j(o).fixingFindingId.value !== null,
@@ -7315,27 +7315,27 @@ var Nu = {
7315
7315
  key: 1,
7316
7316
  size: 11,
7317
7317
  "stroke-width": 2
7318
- })), 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)
7318
+ })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, rd), j(o).fixError.value ? (f(), k("p", id, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7319
7319
  ])])]))), 128))])) : A("", !0)])), 64))
7320
- ])) : (f(), k("div", od, [V(j(ji), {
7320
+ ])) : (f(), k("div", ad, [V(j(ji), {
7321
7321
  size: 32,
7322
7322
  "stroke-width": 1.5,
7323
7323
  class: "tpl:text-[var(--tpl-text-dim)]"
7324
- }), I("p", sd, D(j(i).scoring.emptyState), 1)])), I("p", cd, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7324
+ }), I("p", od, D(j(i).scoring.emptyState), 1)])), I("p", sd, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7325
7325
  _: 1
7326
7326
  }));
7327
7327
  }
7328
- }), ud = /* @__PURE__ */ e({ default: () => dd }), dd = /*#__PURE__*/ Gi(ld, [["__scopeId", "data-v-c23c73d4"]]), fd = ["aria-busy"], pd = {
7328
+ }), ld = /* @__PURE__ */ e({ default: () => ud }), ud = /*#__PURE__*/ Gi(cd, [["__scopeId", "data-v-c23c73d4"]]), dd = ["aria-busy"], fd = {
7329
7329
  id: "tpl-test-email-title",
7330
7330
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
7331
- }, 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 = {
7331
+ }, pd = { class: "tpl:mb-3" }, md = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, hd = ["value"], gd = ["disabled"], _d = ["value"], vd = {
7332
7332
  key: 0,
7333
7333
  role: "alert",
7334
7334
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
7335
- }, bd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, xd = ["disabled"], Sd = ["disabled"], Cd = {
7335
+ }, yd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, bd = ["disabled"], xd = ["disabled"], Sd = {
7336
7336
  key: 0,
7337
7337
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
7338
- }, wd = { key: 1 }, Td = /*@__PURE__*/ B({
7338
+ }, Cd = { key: 1 }, wd = /*@__PURE__*/ B({
7339
7339
  __name: "TestEmailModal",
7340
7340
  props: {
7341
7341
  visible: { type: Boolean },
@@ -7358,7 +7358,7 @@ var Nu = {
7358
7358
  function l(e) {
7359
7359
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
7360
7360
  }
7361
- return (t, n) => (f(), N(ps, {
7361
+ return (t, n) => (f(), N(fs, {
7362
7362
  visible: e.visible,
7363
7363
  onClose: s,
7364
7364
  onKeydown: l
@@ -7374,14 +7374,14 @@ var Nu = {
7374
7374
  "box-shadow": "var(--tpl-shadow-xl)"
7375
7375
  }
7376
7376
  }, [
7377
- I("h3", pd, D(j(i).testEmail.title), 1),
7378
- I("div", md, [I("label", hd, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7377
+ I("h3", fd, D(j(i).testEmail.title), 1),
7378
+ I("div", pd, [I("label", md, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7379
7379
  key: 0,
7380
7380
  type: "text",
7381
7381
  value: a.value,
7382
7382
  disabled: "",
7383
7383
  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)]"
7384
- }, null, 8, gd)) : c((f(), k("select", {
7384
+ }, null, 8, hd)) : c((f(), k("select", {
7385
7385
  key: 1,
7386
7386
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7387
7387
  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)]",
@@ -7389,29 +7389,29 @@ var Nu = {
7389
7389
  }, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
7390
7390
  key: e,
7391
7391
  value: e
7392
- }, D(e), 9, vd))), 128))], 8, _d)), [[w, a.value]])]),
7393
- e.error ? (f(), k("p", yd, D(e.error), 1)) : A("", !0),
7394
- I("div", bd, [I("button", {
7392
+ }, D(e), 9, _d))), 128))], 8, gd)), [[w, a.value]])]),
7393
+ e.error ? (f(), k("p", vd, D(e.error), 1)) : A("", !0),
7394
+ I("div", yd, [I("button", {
7395
7395
  type: "button",
7396
7396
  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 }]),
7397
7397
  disabled: e.isSending,
7398
7398
  onClick: s
7399
- }, D(j(i).testEmail.cancel), 11, xd), I("button", {
7399
+ }, D(j(i).testEmail.cancel), 11, bd), I("button", {
7400
7400
  type: "button",
7401
7401
  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)]",
7402
7402
  disabled: !a.value || e.isSending,
7403
7403
  onClick: o
7404
- }, [e.isSending ? (f(), k("span", Cd, [V(j(xi), {
7404
+ }, [e.isSending ? (f(), k("span", Sd, [V(j(xi), {
7405
7405
  class: "tpl:animate-spin",
7406
7406
  size: 12,
7407
7407
  "stroke-width": 2
7408
- }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", wd, D(j(i).testEmail.send), 1))], 8, Sd)])
7409
- ], 8, fd)]),
7408
+ }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", Cd, D(j(i).testEmail.send), 1))], 8, xd)])
7409
+ ], 8, dd)]),
7410
7410
  _: 1
7411
7411
  }, 8, ["visible"]));
7412
7412
  }
7413
- }), Ed = /* @__PURE__ */ e({ default: () => Dd }), Dd = Td;
7413
+ }), Td = /* @__PURE__ */ e({ default: () => Ed }), Ed = wd;
7414
7414
  //#endregion
7415
- export { la as $, ue as $n, Un as $t, us as A, St as An, li as At, uo as B, we as Bn, hr as Bt, xs as C, Ot as Cn, bi as Ct, hs as D, yt as Dn, fi as Dt, ms as E, Ct as En, pi as Et, Io as F, W as Fn, X as Ft, Ia as G, Se as Gn, lr as Gt, eo as H, Te as Hn, mr as Ht, No as I, We as In, Wr as It, Oa as J, ge as Jn, Hn as Jt, Fa as K, Ce as Kn, yr as Kt, Oo as L, ye as Ln, jr as Lt, Qo as M, lt as Mn, ai as Mt, Ko as N, ct as Nn, ri as Nt, ps as O, ht as On, di as Ot, Uo as P, st as Pn, ni as Pt, pa as Q, fe as Qn, zn as Qt, Eo as R, De as Rn, wr as Rt, Ss as S, Lt as Sn, xi as St, Z as T, xt as Tn, vi as Tt, Xa as U, _e as Un, Kn as Ut, lo as V, ve as Vn, cr as Vt, Ra as W, he as Wn, qn as Wt, _a as X, pe as Xn, Xn as Xt, ya as Y, xe as Yn, Jn as Yt, ha as Z, de as Zn, sr as Zt, Ps as _, An as _n, ki as _t, Ll as a, _r as an, ta as at, As as b, ln as bn, Ci as bt, Zs as c, Wn as cn, Wi as ct, Ws as d, J as dn, Ii as dt, ir as en, ca as et, Us as f, vn as fn, Fi as ft, zs as g, Nn as gn, Ai as gt, Bs as h, q as hn, ji as ht, fu as i, Yn as in, ea as it, cs as j, ut as jn, si as jt, ds as k, mt as kn, ui as kt, Ks as l, Rn as ln, Bi as lt, Vs as m, Dn as mn, Ni as mt, ud as n, Qn as nn, ra as nt, Cc as o, vr as on, Qi as ot, Hs as p, En as pn, Pi as pt, Aa as q, Ee as qn, gr as qt, Du as r, or as rn, na as rt, Qs as s, dr as sn, Gi as st, Ed as t, tr as tn, ia as tt, Gs as u, Gn as un, Ri as ut, Ns as v, on as vn, Di as vt, $ as w, dt as wn, yi as wt, Es as x, un as xn, Si as xt, js as y, an as yn, wi as yt, fo as z, be as zn, Y as zt };
7415
+ export { la as $, ue as $n, Un as $t, ls as A, St as An, li as At, uo as B, we as Bn, hr as Bt, bs as C, Ot as Cn, bi as Ct, ms as D, yt as Dn, fi as Dt, ps as E, Ct as En, pi as Et, Fo as F, W as Fn, X as Ft, Ia as G, Se as Gn, lr as Gt, eo as H, Te as Hn, mr as Ht, Mo as I, We as In, Wr as It, Oa as J, ge as Jn, Hn as Jt, Fa as K, Ce as Kn, yr as Kt, Oo as L, ye as Ln, jr as Lt, Zo as M, lt as Mn, ai as Mt, Go as N, ct as Nn, ri as Nt, fs as O, ht as On, di as Ot, Ho as P, st as Pn, ni as Pt, pa as Q, fe as Qn, zn as Qt, Eo as R, De as Rn, wr as Rt, xs as S, Lt as Sn, xi as St, Z as T, xt as Tn, vi as Tt, Xa as U, _e as Un, Kn as Ut, lo as V, ve as Vn, cr as Vt, Ra as W, he as Wn, qn as Wt, _a as X, pe as Xn, Xn as Xt, ya as Y, xe as Yn, Jn as Yt, ha as Z, de as Zn, sr as Zt, Ns as _, An as _n, ki as _t, Il as a, _r as an, ta as at, ks as b, ln as bn, Ci as bt, Xs as c, Wn as cn, Wi as ct, Us as d, J as dn, Ii as dt, ir as en, ca as et, Hs as f, vn as fn, Fi as ft, Rs as g, Nn as gn, Ai as gt, zs as h, q as hn, ji as ht, du as i, Yn as in, ea as it, ss as j, ut as jn, si as jt, us as k, mt as kn, ui as kt, Gs as l, Rn as ln, Bi as lt, Bs as m, Dn as mn, Ni as mt, ld as n, Qn as nn, ra as nt, Sc as o, vr as on, Qi as ot, Vs as p, En as pn, Pi as pt, Aa as q, Ee as qn, gr as qt, Eu as r, or as rn, na as rt, Zs as s, dr as sn, Gi as st, Td as t, tr as tn, ia as tt, Ws as u, Gn as un, Ri as ut, Ms as v, on as vn, Di as vt, $ as w, dt as wn, yi as wt, Ts as x, un as xn, Si as xt, As as y, an as yn, wi as yt, fo as z, be as zn, Y as zt };
7416
7416
 
7417
- //# sourceMappingURL=features-Dwb5aTLg.js.map
7417
+ //# sourceMappingURL=features-Bo7H8WNI.js.map