@templatical/editor 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/{AiFeatureMenu-D4D2Sqfk.js → AiFeatureMenu-DBWcfcWl.js} +1 -1
  2. package/dist/{CloudEditor-CLwyq3kf.js → CloudEditor-C6cSXtcP.js} +155 -154
  3. package/dist/{CollaboratorBar-DjX-o5Pi.js → CollaboratorBar-B8-AQfG2.js} +1 -1
  4. package/dist/{ModuleBrowserModal-CVS4Sf7H.js → ModuleBrowserModal-B_tLzFAk.js} +4 -4
  5. package/dist/{ModulePreviewCanvas-C10YXsL_.js → ModulePreviewCanvas-B7pNpAHM.js} +1 -1
  6. package/dist/{ParagraphEditor-BKoqcKIt.js → ParagraphEditor-DmA9K7dx.js} +6 -6
  7. package/dist/{SaveModuleDialog-BMuIjxVn.js → SaveModuleDialog-B8ypoxdj.js} +2 -2
  8. package/dist/{SnapshotHistory-DZ5_W7e4.js → SnapshotHistory-BTHd7CVP.js} +1 -1
  9. package/dist/{TestEmailModal-EjpH-F-W.js → TestEmailModal-CBIFMzK6.js} +2 -2
  10. package/dist/{TitleEditor-Rv1deuV7.js → TitleEditor-C9jDA5lI.js} +1 -1
  11. package/dist/{TplModal-DSmCQIm4.js → TplModal-ND4fiqOS.js} +1 -1
  12. package/dist/{blockTypeIcons-OhEkQhYj.js → blockTypeIcons-Bn-_Smlm.js} +4 -4
  13. package/dist/bundle-stats.json +6 -6
  14. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js → AiFeatureMenu-BuSO0dXP.js} +8 -8
  15. package/dist/cdn/chunks/{AiFeatureMenu-Dm9CL3u0.js.map → AiFeatureMenu-BuSO0dXP.js.map} +1 -1
  16. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js → BlockIssueBadge-sv3IZ1Pb.js} +5 -5
  17. package/dist/cdn/chunks/{BlockIssueBadge-DjnFAeWq.js.map → BlockIssueBadge-sv3IZ1Pb.js.map} +1 -1
  18. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js → CloudEditor-hxoqsTsq.js} +236 -235
  19. package/dist/cdn/chunks/{CloudEditor-XSmLmdgp.js.map → CloudEditor-hxoqsTsq.js.map} +1 -1
  20. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js → CollaboratorBar-DFqsaNX0.js} +3 -3
  21. package/dist/cdn/chunks/{CollaboratorBar-BfoGJhns.js.map → CollaboratorBar-DFqsaNX0.js.map} +1 -1
  22. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js → CountdownBlock-PpH3fxAX.js} +2 -2
  23. package/dist/cdn/chunks/{CountdownBlock-GRio55a1.js.map → CountdownBlock-PpH3fxAX.js.map} +1 -1
  24. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js → CountdownToolbar-CZN92Bhz.js} +3 -3
  25. package/dist/cdn/chunks/{CountdownToolbar-Cd1oEopw.js.map → CountdownToolbar-CZN92Bhz.js.map} +1 -1
  26. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js → IssuesPanel-wQjrnuyc.js} +6 -6
  27. package/dist/cdn/chunks/{IssuesPanel-C-BiFQDQ.js.map → IssuesPanel-wQjrnuyc.js.map} +1 -1
  28. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js → ModuleBrowserModal-348wCgft.js} +8 -8
  29. package/dist/cdn/chunks/{ModuleBrowserModal-Dj7gRT4Q.js.map → ModuleBrowserModal-348wCgft.js.map} +1 -1
  30. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js → ModulePreviewCanvas-Cf6DUHml.js} +22 -22
  31. package/dist/cdn/chunks/{ModulePreviewCanvas-hwdveKb0.js.map → ModulePreviewCanvas-Cf6DUHml.js.map} +1 -1
  32. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js → NumberWithSuffix-Deo8EOSz.js} +2 -2
  33. package/dist/cdn/chunks/{NumberWithSuffix-bE_6cfiA.js.map → NumberWithSuffix-Deo8EOSz.js.map} +1 -1
  34. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js → ParagraphEditor-Cbl_gBYM.js} +40 -40
  35. package/dist/cdn/chunks/{ParagraphEditor-y1kGJRBX.js.map → ParagraphEditor-Cbl_gBYM.js.map} +1 -1
  36. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js → RichTextEditorContent-TBPzn3RC.js} +4 -4
  37. package/dist/cdn/chunks/{RichTextEditorContent-DPy9D4hc.js.map → RichTextEditorContent-TBPzn3RC.js.map} +1 -1
  38. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js → SaveModuleDialog-CxdYMutK.js} +4 -4
  39. package/dist/cdn/chunks/{SaveModuleDialog-CPu5e2VG.js.map → SaveModuleDialog-CxdYMutK.js.map} +1 -1
  40. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js → TitleEditor--XulEf7R.js} +6 -6
  41. package/dist/cdn/chunks/{TitleEditor-CMzzOPye.js.map → TitleEditor--XulEf7R.js.map} +1 -1
  42. package/dist/cdn/chunks/{blockTypeIcons-BC5qpvuV.js → blockTypeIcons-BJND4L-A.js} +6 -6
  43. package/dist/cdn/chunks/{blockTypeIcons-BC5qpvuV.js.map → blockTypeIcons-BJND4L-A.js.map} +1 -1
  44. package/dist/{de-DIAGP7yH.js → cdn/chunks/de-BJMLpg_p.js} +6 -0
  45. package/dist/cdn/chunks/{de-DIAGP7yH.js.map → de-BJMLpg_p.js.map} +1 -1
  46. package/dist/{en-nqIW8Q9W.js → cdn/chunks/en-DFMMw7SL.js} +6 -0
  47. package/dist/cdn/chunks/{en-nqIW8Q9W.js.map → en-DFMMw7SL.js.map} +1 -1
  48. package/dist/cdn/chunks/{extensions-DH7ESsaz.js → extensions-BtWoLy6E.js} +23 -23
  49. package/dist/cdn/chunks/{extensions-DH7ESsaz.js.map → extensions-BtWoLy6E.js.map} +1 -1
  50. package/dist/cdn/chunks/{features-DmUOSthI.js → features-mO5NzwnN.js} +442 -432
  51. package/dist/cdn/chunks/features-mO5NzwnN.js.map +1 -0
  52. package/dist/cdn/chunks/{icons-DguD4x_X.js → icons-CuXm6XAT.js} +2 -2
  53. package/dist/cdn/chunks/{icons-DguD4x_X.js.map → icons-CuXm6XAT.js.map} +1 -1
  54. package/dist/cdn/chunks/{media-library-ClQUPxRM.js → media-library-BtNzYUTi.js} +525 -525
  55. package/dist/cdn/chunks/{media-library-ClQUPxRM.js.map → media-library-BtNzYUTi.js.map} +1 -1
  56. package/dist/cdn/chunks/{pt-BR-DCNnLLx9.js → pt-BR-C-9aWLlR.js} +5 -1
  57. package/dist/cdn/chunks/{pt-BR-DCNnLLx9.js.map → pt-BR-C-9aWLlR.js.map} +1 -1
  58. package/dist/cdn/chunks/{quality-CIw_7cXv.js → quality-YKe19zp8.js} +83 -83
  59. package/dist/cdn/chunks/{quality-CIw_7cXv.js.map → quality-YKe19zp8.js.map} +1 -1
  60. package/dist/cdn/chunks/{renderer-Bx8I7_Rb.js → renderer-BcOaxCs6.js} +20 -20
  61. package/dist/cdn/chunks/{renderer-Bx8I7_Rb.js.map → renderer-BcOaxCs6.js.map} +1 -1
  62. package/dist/cdn/chunks/{src-C-GlM149.js → src-B_ZRmuit.js} +63 -63
  63. package/dist/cdn/chunks/{src-C-GlM149.js.map → src-B_ZRmuit.js.map} +1 -1
  64. package/dist/cdn/chunks/{styles-CfqCvq0Z.js → styles-DDBCCJ-l.js} +218 -200
  65. package/dist/cdn/chunks/styles-DDBCCJ-l.js.map +1 -0
  66. package/dist/cdn/editor.css +1 -1
  67. package/dist/cdn/editor.js +105 -104
  68. package/dist/cdn/editor.js.map +1 -1
  69. package/dist/{cdn/chunks/de-DIAGP7yH.js → de-BJMLpg_p.js} +4 -2
  70. package/dist/{cdn/chunks/en-nqIW8Q9W.js → en-DFMMw7SL.js} +4 -2
  71. package/dist/index.d.ts +32 -0
  72. package/dist/{pt-BR-DCNnLLx9.js → pt-BR-C-9aWLlR.js} +4 -0
  73. package/dist/style.css +1 -1
  74. package/dist/{styles-D_ztiOsh.js → styles-DZcQGzsN.js} +514 -496
  75. package/dist/templatical-editor.js +117 -116
  76. package/dist/{useEditorCore-tZGAVvNz.js → useEditorCore-D00QzW07.js} +731 -721
  77. package/package.json +8 -8
  78. package/dist/cdn/chunks/features-DmUOSthI.js.map +0 -1
  79. package/dist/cdn/chunks/styles-CfqCvq0Z.js.map +0 -1
@@ -1454,7 +1454,7 @@ function hr(e) {
1454
1454
  o || l();
1455
1455
  async function l() {
1456
1456
  try {
1457
- let t = await import("./quality-CIw_7cXv.js").then((e) => e.t);
1457
+ let t = await import("./quality-YKe19zp8.js").then((e) => e.t);
1458
1458
  if (c) return;
1459
1459
  a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = ln(e.content, u, {
1460
1460
  debounce: e.debounce ?? 500,
@@ -2845,21 +2845,31 @@ function ea(e) {
2845
2845
  };
2846
2846
  }
2847
2847
  //#endregion
2848
+ //#region src/composables/useSmallScreenNotice.ts
2849
+ var ta = "(max-width: 767px)";
2850
+ function na(e) {
2851
+ let t = xn(ta);
2852
+ return {
2853
+ isSmallScreen: t,
2854
+ showNotice: O(() => (P(e) ?? !0) && t.value)
2855
+ };
2856
+ }
2857
+ //#endregion
2848
2858
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
2849
- var ta = { class: "tpl:w-full" }, na = {
2859
+ var ra = { class: "tpl:w-full" }, ia = {
2850
2860
  key: 0,
2851
2861
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
2852
- }, ra = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ia = {
2862
+ }, aa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oa = {
2853
2863
  key: 1,
2854
2864
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
2855
- }, aa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oa = {
2865
+ }, sa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ca = {
2856
2866
  key: 2,
2857
2867
  class: "tpl:relative"
2858
- }, sa = ["innerHTML"], ca = {
2868
+ }, la = ["innerHTML"], ua = {
2859
2869
  key: 0,
2860
2870
  class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
2861
2871
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
2862
- }, la = /* @__PURE__ */ B({
2872
+ }, da = /* @__PURE__ */ B({
2863
2873
  __name: "CustomBlock",
2864
2874
  props: {
2865
2875
  block: {},
@@ -2893,10 +2903,10 @@ var ta = { class: "tpl:w-full" }, na = {
2893
2903
  g();
2894
2904
  }), H(() => n.block.fieldValues, () => {
2895
2905
  _();
2896
- }, { deep: !0 }), (e, t) => (f(), k("div", ta, [u.value ? c.value ? (f(), k("div", ia, [V(j(Ei), {
2906
+ }, { deep: !0 }), (e, t) => (f(), k("div", ra, [u.value ? c.value ? (f(), k("div", oa, [V(j(Ei), {
2897
2907
  size: 24,
2898
2908
  class: "tpl:text-[var(--tpl-danger)]"
2899
- }), I("span", aa, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", oa, [I("div", { innerHTML: s.value }, null, 8, sa), j(h) && j(m) ? (f(), k("div", ca, [j(d) ? (f(), N(zi, {
2909
+ }), I("span", sa, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", ca, [I("div", { innerHTML: s.value }, null, 8, la), j(h) && j(m) ? (f(), k("div", ua, [j(d) ? (f(), N(zi, {
2900
2910
  key: 1,
2901
2911
  class: "tpl:w-48"
2902
2912
  })) : (f(), k("button", {
@@ -2908,12 +2918,12 @@ var ta = { class: "tpl:w-full" }, na = {
2908
2918
  key: 0,
2909
2919
  icon: l.value.icon,
2910
2920
  size: 16
2911
- }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", na, [V(j(hi), {
2921
+ }, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", ia, [V(j(hi), {
2912
2922
  size: 24,
2913
2923
  class: "tpl:text-[var(--tpl-warning)]"
2914
- }), I("span", ra, D(j(a).customBlocks.definitionNotFound), 1)]))]));
2924
+ }), I("span", aa, D(j(a).customBlocks.definitionNotFound), 1)]))]));
2915
2925
  }
2916
- }), ua = { class: "tpl:w-full" }, da = /* @__PURE__ */ B({
2926
+ }), fa = { class: "tpl:w-full" }, pa = /* @__PURE__ */ B({
2917
2927
  __name: "DividerBlock",
2918
2928
  props: {
2919
2929
  block: {},
@@ -2925,18 +2935,18 @@ var ta = { class: "tpl:w-full" }, na = {
2925
2935
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
2926
2936
  margin: t.block.width === "full" ? "0" : "0 auto"
2927
2937
  }));
2928
- return (e, t) => (f(), k("div", ua, [I("hr", {
2938
+ return (e, t) => (f(), k("div", fa, [I("hr", {
2929
2939
  class: "tpl:m-0 tpl:border-none",
2930
2940
  style: L(n.value)
2931
2941
  }, null, 4)]));
2932
2942
  }
2933
- }), fa = { class: "tpl:w-full" }, pa = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, ma = {
2943
+ }), ma = { class: "tpl:w-full" }, ha = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, ga = {
2934
2944
  key: 0,
2935
2945
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
2936
- }, ha = {
2946
+ }, _a = {
2937
2947
  key: 1,
2938
2948
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
2939
- }, ga = /* @__PURE__ */ B({
2949
+ }, va = /* @__PURE__ */ B({
2940
2950
  __name: "HtmlBlock",
2941
2951
  props: {
2942
2952
  block: {},
@@ -2944,15 +2954,15 @@ var ta = { class: "tpl:w-full" }, na = {
2944
2954
  },
2945
2955
  setup(e) {
2946
2956
  let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
2947
- return (e, t) => (f(), k("div", fa, [I("div", pa, [V(j(ei), {
2957
+ return (e, t) => (f(), k("div", ma, [I("div", ha, [V(j(ei), {
2948
2958
  size: 24,
2949
2959
  class: "tpl:text-[var(--tpl-text-dim)]"
2950
- }), r.value ? (f(), k("span", ma, D(j(n).html.preview), 1)) : (f(), k("span", ha, D(j(n).html.empty), 1))])]));
2960
+ }), r.value ? (f(), k("span", ga, D(j(n).html.preview), 1)) : (f(), k("span", _a, D(j(n).html.empty), 1))])]));
2951
2961
  }
2952
2962
  });
2953
2963
  //#endregion
2954
2964
  //#region src/composables/useAliveFlag.ts
2955
- function _a() {
2965
+ function ya() {
2956
2966
  let e = { alive: !0 };
2957
2967
  return re(() => {
2958
2968
  e.alive = !1;
@@ -2960,13 +2970,13 @@ function _a() {
2960
2970
  }
2961
2971
  //#endregion
2962
2972
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
2963
- var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
2973
+ var ba = ["href"], xa = ["src", "alt"], Sa = ["src", "alt"], Ca = {
2964
2974
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2965
2975
  style: { opacity: "0.7" }
2966
- }, Sa = ["href"], Ca = ["src", "alt"], wa = ["src", "alt"], Ta = {
2976
+ }, wa = ["href"], Ta = ["src", "alt"], Ea = ["src", "alt"], Da = {
2967
2977
  key: 3,
2968
2978
  class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
2969
- }, Ea = ["aria-label"], Da = { key: 1 }, Oa = /* @__PURE__ */ B({
2979
+ }, Oa = ["aria-label"], ka = { key: 1 }, Aa = /* @__PURE__ */ B({
2970
2980
  __name: "ImageBlock",
2971
2981
  props: {
2972
2982
  block: {},
@@ -2974,7 +2984,7 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
2974
2984
  },
2975
2985
  emits: ["update"],
2976
2986
  setup(e, { emit: t }) {
2977
- let n = e, r = t, { t: i } = Y(), { syntax: a } = Ki(), o = v($n, null), s = O(() => !!o), c = _a();
2987
+ let n = e, r = t, { t: i } = Y(), { syntax: a } = Ki(), o = v($n, null), s = O(() => !!o), c = ya();
2978
2988
  async function l() {
2979
2989
  let e = await o?.({ accept: ["images"] });
2980
2990
  if (c.alive && e) {
@@ -3007,13 +3017,13 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3007
3017
  src: e.block.placeholderUrl,
3008
3018
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3009
3019
  style: L(d.value)
3010
- }, null, 12, ya)], 8, va)) : (f(), k("img", {
3020
+ }, null, 12, xa)], 8, ba)) : (f(), k("img", {
3011
3021
  key: 1,
3012
3022
  class: "tpl:border-0",
3013
3023
  src: e.block.placeholderUrl,
3014
3024
  alt: e.block.alt,
3015
3025
  style: L(d.value)
3016
- }, null, 12, ba))], 64)) : e.block.src && p.value ? (f(), k("div", {
3026
+ }, null, 12, Sa))], 64)) : e.block.src && p.value ? (f(), k("div", {
3017
3027
  key: 1,
3018
3028
  class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
3019
3029
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, d.value])
@@ -3022,7 +3032,7 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3022
3032
  "stroke-width": 1.5,
3023
3033
  class: "tpl:text-[var(--tpl-primary)]",
3024
3034
  style: { opacity: "0.5" }
3025
- }), I("span", xa, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 2 }, [e.block.linkUrl ? (f(), k("a", {
3035
+ }), I("span", Ca, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 2 }, [e.block.linkUrl ? (f(), k("a", {
3026
3036
  key: 0,
3027
3037
  href: e.block.linkUrl,
3028
3038
  target: "_blank",
@@ -3034,13 +3044,13 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3034
3044
  src: e.block.src,
3035
3045
  alt: e.block.alt || j(i).image.altTextPlaceholder,
3036
3046
  style: L(d.value)
3037
- }, null, 12, Ca)], 8, Sa)) : (f(), k("img", {
3047
+ }, null, 12, Ta)], 8, wa)) : (f(), k("img", {
3038
3048
  key: 1,
3039
3049
  class: "tpl:border-0",
3040
3050
  src: e.block.src,
3041
3051
  alt: e.block.alt,
3042
3052
  style: L(d.value)
3043
- }, null, 12, wa))], 64)) : (f(), k("div", Ta, [s.value ? (f(), k("button", {
3053
+ }, null, 12, Ea))], 64)) : (f(), k("div", Da, [s.value ? (f(), k("button", {
3044
3054
  key: 0,
3045
3055
  "aria-label": j(i).image.browseMedia,
3046
3056
  class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
@@ -3048,12 +3058,12 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3048
3058
  }, [V(j(li), {
3049
3059
  size: 14,
3050
3060
  "stroke-width": 1.5
3051
- }), z(" " + D(j(i).image.browseMedia), 1)], 8, Ea)) : (f(), k("span", Da, D(j(i).image.clickToAdd), 1))]))], 4));
3061
+ }), z(" " + D(j(i).image.browseMedia), 1)], 8, Oa)) : (f(), k("span", ka, D(j(i).image.clickToAdd), 1))]))], 4));
3052
3062
  }
3053
- }), ka = { class: "tpl:w-full" }, Aa = ["href"], ja = {
3063
+ }), ja = { class: "tpl:w-full" }, Ma = ["href"], Na = {
3054
3064
  key: 1,
3055
3065
  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)]"
3056
- }, Ma = /* @__PURE__ */ B({
3066
+ }, Pa = /* @__PURE__ */ B({
3057
3067
  __name: "MenuBlock",
3058
3068
  props: {
3059
3069
  block: {},
@@ -3072,7 +3082,7 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3072
3082
  function a(e) {
3073
3083
  return e || t.block.linkColor || t.block.color;
3074
3084
  }
3075
- return (t, o) => (f(), k("div", ka, [i.value ? (f(), k("div", {
3085
+ return (t, o) => (f(), k("div", ja, [i.value ? (f(), k("div", {
3076
3086
  key: 0,
3077
3087
  style: L(r.value)
3078
3088
  }, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
@@ -3084,15 +3094,15 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3084
3094
  textDecoration: t.underline ? "underline" : "none"
3085
3095
  }),
3086
3096
  onClick: o[0] ||= M(() => {}, ["prevent"])
3087
- }, D(t.text || "..."), 13, Aa), n < e.block.items.length - 1 ? (f(), k("span", {
3097
+ }, D(t.text || "..."), 13, Ma), n < e.block.items.length - 1 ? (f(), k("span", {
3088
3098
  key: 0,
3089
3099
  style: L({
3090
3100
  color: e.block.separatorColor,
3091
3101
  padding: `0 ${e.block.spacing}px`
3092
3102
  })
3093
- }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", ja, [V(j(pi), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3103
+ }, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Na, [V(j(pi), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
3094
3104
  }
3095
- }), Na = new Set([
3105
+ }), Fa = new Set([
3096
3106
  "http",
3097
3107
  "https",
3098
3108
  "mailto",
@@ -3102,7 +3112,7 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3102
3112
  "sms",
3103
3113
  "xmpp",
3104
3114
  "cid"
3105
- ]), Pa = new Set([
3115
+ ]), Ia = new Set([
3106
3116
  "SCRIPT",
3107
3117
  "STYLE",
3108
3118
  "IFRAME",
@@ -3112,7 +3122,7 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3112
3122
  "META",
3113
3123
  "BASE",
3114
3124
  "FORM"
3115
- ]), Fa = new Set([
3125
+ ]), La = new Set([
3116
3126
  "href",
3117
3127
  "xlink:href",
3118
3128
  "formaction",
@@ -3121,16 +3131,16 @@ var va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
3121
3131
  "background",
3122
3132
  "poster"
3123
3133
  ]);
3124
- function Ia(e, t) {
3134
+ function Ra(e, t) {
3125
3135
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
3126
3136
  if (!n || n.startsWith("#")) return !0;
3127
3137
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
3128
3138
  if (!r) return !0;
3129
3139
  let i = r[1].toLowerCase();
3130
- return Na.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3140
+ return Fa.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
3131
3141
  }
3132
- function La(e) {
3133
- if (Pa.has(e.tagName)) {
3142
+ function za(e) {
3143
+ if (Ia.has(e.tagName)) {
3134
3144
  e.remove();
3135
3145
  return;
3136
3146
  }
@@ -3142,29 +3152,29 @@ function La(e) {
3142
3152
  e.removeAttribute(n);
3143
3153
  continue;
3144
3154
  }
3145
- if (Fa.has(t)) {
3146
- Ia(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3155
+ if (La.has(t)) {
3156
+ Ra(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
3147
3157
  continue;
3148
3158
  }
3149
3159
  if (t === "src") {
3150
- Ia(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3160
+ Ra(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
3151
3161
  continue;
3152
3162
  }
3153
3163
  t === "srcdoc" && e.removeAttribute(n);
3154
3164
  }
3155
3165
  let n = Array.from(e.children);
3156
- for (let e of n) La(e);
3166
+ for (let e of n) za(e);
3157
3167
  }
3158
- function Ra(e) {
3168
+ function Ba(e) {
3159
3169
  if (typeof DOMParser > "u") return e;
3160
3170
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
3161
- for (let e of n) La(e);
3171
+ for (let e of n) za(e);
3162
3172
  return t.innerHTML;
3163
3173
  }
3164
3174
  //#endregion
3165
3175
  //#region src/composables/useEditableTextBlock.ts
3166
- function za(e) {
3167
- let t = v(Jn, []), { syntax: n } = Ki(), r = O(() => Ra(xt(_t(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = En(a), c = O(() => ({
3176
+ function Va(e) {
3177
+ let t = v(Jn, []), { syntax: n } = Ki(), r = O(() => Ba(xt(_t(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = En(a), c = O(() => ({
3168
3178
  top: o.value - 8,
3169
3179
  left: s.value
3170
3180
  }));
@@ -3185,14 +3195,14 @@ function za(e) {
3185
3195
  }
3186
3196
  //#endregion
3187
3197
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
3188
- var Ba = ["innerHTML"], Va = /* @__PURE__ */ B({
3198
+ var Ha = ["innerHTML"], Ua = /* @__PURE__ */ B({
3189
3199
  __name: "ParagraphBlock",
3190
3200
  props: {
3191
3201
  block: {},
3192
3202
  viewport: {}
3193
3203
  },
3194
3204
  setup(e) {
3195
- let t = e, n = T(() => import("./ParagraphEditor-y1kGJRBX.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = za(() => t.block.content);
3205
+ let t = e, n = T(() => import("./ParagraphEditor-Cbl_gBYM.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Va(() => t.block.content);
3196
3206
  return (t, l) => (f(), k("div", {
3197
3207
  ref_key: "blockRef",
3198
3208
  ref: i,
@@ -3211,19 +3221,19 @@ var Ba = ["innerHTML"], Va = /* @__PURE__ */ B({
3211
3221
  key: 1,
3212
3222
  class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
3213
3223
  innerHTML: j(o)
3214
- }, null, 8, Ba))], 544));
3224
+ }, null, 8, Ha))], 544));
3215
3225
  }
3216
3226
  });
3217
3227
  //#endregion
3218
3228
  //#region src/utils/blockComponentResolver.ts
3219
- function Ha(e, t, n) {
3229
+ function Wa(e, t, n) {
3220
3230
  if (t) {
3221
3231
  let n = t.getComponent(e);
3222
3232
  if (n) return n;
3223
3233
  }
3224
3234
  return n[e.type] ?? null;
3225
3235
  }
3226
- function Ua(e) {
3236
+ function Ga(e) {
3227
3237
  let { padding: t, backgroundColor: n } = e.styles;
3228
3238
  return {
3229
3239
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
@@ -3232,20 +3242,20 @@ function Ua(e) {
3232
3242
  }
3233
3243
  //#endregion
3234
3244
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
3235
- var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3245
+ var Ka = ["data-block-id", "data-block-type"], qa = ["aria-label"], Ja = [
3236
3246
  "aria-label",
3237
3247
  "aria-pressed",
3238
3248
  "title"
3239
- ], qa = ["aria-label", "title"], Ja = ["aria-label", "title"], Ya = ["aria-label", "title"], Xa = {
3249
+ ], Ya = ["aria-label", "title"], Xa = ["aria-label", "title"], Za = ["aria-label", "title"], Qa = {
3240
3250
  key: 1,
3241
3251
  class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
3242
- }, Za = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Qa = {
3252
+ }, $a = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, eo = {
3243
3253
  key: 2,
3244
3254
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
3245
- }, $a = ["aria-label", "title"], eo = {
3255
+ }, to = ["aria-label", "title"], no = {
3246
3256
  key: 3,
3247
3257
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
3248
- }, to = ["aria-label"], no = /*#__PURE__*/ Fi(/* @__PURE__ */ B({
3258
+ }, ro = ["aria-label"], io = /*#__PURE__*/ Fi(/* @__PURE__ */ B({
3249
3259
  __name: "BlockWrapper",
3250
3260
  props: {
3251
3261
  block: {},
@@ -3255,7 +3265,7 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3255
3265
  },
3256
3266
  emits: ["select"],
3257
3267
  setup(e, { emit: t }) {
3258
- let n = T(() => import("./BlockIssueBadge-DjnFAeWq.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(rr, 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);
3268
+ let n = T(() => import("./BlockIssueBadge-sv3IZ1Pb.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(rr, 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);
3259
3269
  async function p() {
3260
3270
  await m(), l.value?.focus();
3261
3271
  }
@@ -3282,7 +3292,7 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3282
3292
  desktop: a.viewport.desktop,
3283
3293
  mobile: a.viewport.mobile
3284
3294
  }[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Rn, null), S = v(zn, null), w = v(nr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
3285
- let e = Ua(r.block);
3295
+ let e = Ga(r.block);
3286
3296
  return {
3287
3297
  padding: e.padding,
3288
3298
  backgroundColor: e.backgroundColor
@@ -3333,7 +3343,7 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3333
3343
  }, [V(j(si), {
3334
3344
  size: 14,
3335
3345
  "stroke-width": 1.5
3336
- })], 40, Ka),
3346
+ })], 40, Ja),
3337
3347
  I("button", {
3338
3348
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3339
3349
  "aria-label": j(a).blockActions.duplicate,
@@ -3342,7 +3352,7 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3342
3352
  }, [V(j(ti), {
3343
3353
  size: 14,
3344
3354
  "stroke-width": 1.5
3345
- })], 8, qa),
3355
+ })], 8, Ya),
3346
3356
  ee.value ? (f(), k("button", {
3347
3357
  key: 0,
3348
3358
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
@@ -3352,7 +3362,7 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3352
3362
  }, [V(j(Wr), {
3353
3363
  size: 14,
3354
3364
  "stroke-width": 1.5
3355
- })], 8, Ja)) : A("", !0),
3365
+ })], 8, Xa)) : A("", !0),
3356
3366
  I("button", {
3357
3367
  class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
3358
3368
  "aria-label": j(a).blockActions.delete,
@@ -3361,13 +3371,13 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3361
3371
  }, [V(j(Ti), {
3362
3372
  size: 14,
3363
3373
  "stroke-width": 1.5
3364
- })], 8, Ya)
3365
- ], 8, Ga)) : A("", !0),
3366
- g.value ? (f(), k("div", Xa, [I("span", Za, [V(j(ni), {
3374
+ })], 8, Za)
3375
+ ], 8, qa)) : A("", !0),
3376
+ g.value ? (f(), k("div", Qa, [I("span", $a, [V(j(ni), {
3367
3377
  size: 12,
3368
3378
  "stroke-width": 1.5
3369
3379
  }), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
3370
- b.value && !g.value ? (f(), k("div", Qa, [I("button", {
3380
+ b.value && !g.value ? (f(), k("div", eo, [I("button", {
3371
3381
  class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
3372
3382
  "aria-label": j(a).blockActions.conditionToggle,
3373
3383
  title: e.block.displayCondition?.label,
@@ -3375,45 +3385,45 @@ var Wa = ["data-block-id", "data-block-type"], Ga = ["aria-label"], Ka = [
3375
3385
  }, [V(j(oi), {
3376
3386
  size: 12,
3377
3387
  "stroke-width": 2
3378
- })], 8, $a)])) : A("", !0),
3379
- E.value > 0 && !g.value ? (f(), k("div", eo, [I("button", {
3388
+ })], 8, to)])) : A("", !0),
3389
+ E.value > 0 && !g.value ? (f(), k("div", no, [I("button", {
3380
3390
  class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
3381
3391
  "aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
3382
3392
  onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
3383
3393
  }, [V(j(fi), {
3384
3394
  size: 12,
3385
3395
  "stroke-width": 2.5
3386
- }), z(" " + D(E.value), 1)], 8, to)])) : A("", !0),
3396
+ }), z(" " + D(E.value), 1)], 8, ro)])) : A("", !0),
3387
3397
  I("div", {
3388
3398
  class: "tpl-block-content",
3389
3399
  style: L(te.value)
3390
3400
  }, [o(t.$slots, "default", {}, void 0, !0)], 4)
3391
- ], 10, Wa));
3401
+ ], 10, Ka));
3392
3402
  }
3393
3403
  }), [["__scopeId", "data-v-4a48371d"]]);
3394
3404
  //#endregion
3395
3405
  //#region src/utils/unwrapParagraph.ts
3396
- function ro(e) {
3406
+ function ao(e) {
3397
3407
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
3398
3408
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
3399
3409
  }
3400
3410
  //#endregion
3401
3411
  //#region src/components/blocks/TitleBlock.vue
3402
- var io = /* @__PURE__ */ B({
3412
+ var oo = /* @__PURE__ */ B({
3403
3413
  __name: "TitleBlock",
3404
3414
  props: {
3405
3415
  block: {},
3406
3416
  viewport: {}
3407
3417
  },
3408
3418
  setup(e) {
3409
- let t = e, n = T(() => import("./TitleEditor-CMzzOPye.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = za(() => t.block.content), l = O(() => {
3419
+ let t = e, n = T(() => import("./TitleEditor--XulEf7R.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Va(() => t.block.content), l = O(() => {
3410
3420
  let e = {
3411
3421
  fontSize: `${pe[t.block.level]}px`,
3412
3422
  color: t.block.color,
3413
3423
  textAlign: t.block.textAlign
3414
3424
  };
3415
3425
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
3416
- }), u = O(() => `h${t.block.level}`), p = O(() => ro(o.value));
3426
+ }), u = O(() => `h${t.block.level}`), p = O(() => ao(o.value));
3417
3427
  return (t, o) => (f(), k("div", {
3418
3428
  ref_key: "blockRef",
3419
3429
  ref: i,
@@ -3436,11 +3446,11 @@ var io = /* @__PURE__ */ B({
3436
3446
  innerHTML: p.value
3437
3447
  }, null, 8, ["innerHTML"]))], 36));
3438
3448
  }
3439
- }), ao = { class: "tpl:w-full" }, oo = { class: "tpl:flex tpl:gap-0" }, so = {
3449
+ }), so = { class: "tpl:w-full" }, co = { class: "tpl:flex tpl:gap-0" }, lo = {
3440
3450
  key: 0,
3441
3451
  "data-testid": "section-drop-hint",
3442
3452
  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)]"
3443
- }, co = /* @__PURE__ */ B({
3453
+ }, uo = /* @__PURE__ */ B({
3444
3454
  __name: "SectionBlock",
3445
3455
  props: {
3446
3456
  block: {},
@@ -3448,12 +3458,12 @@ var io = /* @__PURE__ */ B({
3448
3458
  },
3449
3459
  setup(e) {
3450
3460
  let t = {
3451
- title: io,
3452
- paragraph: Va,
3453
- image: Oa,
3461
+ title: oo,
3462
+ paragraph: Ua,
3463
+ image: Aa,
3454
3464
  button: Pr,
3455
- divider: da,
3456
- custom: la
3465
+ divider: pa,
3466
+ custom: da
3457
3467
  }, n = e, { t: r } = Y(), i = J(In, "SectionBlock"), a = v(zn, null), o = v(Wn, null), s = O(() => {
3458
3468
  switch (n.block.columns) {
3459
3469
  case "2": return ["50%", "50%"];
@@ -3480,7 +3490,7 @@ var io = /* @__PURE__ */ B({
3480
3490
  a[e] = r, i.updateBlock(n.block.id, { children: a });
3481
3491
  }
3482
3492
  function m(e) {
3483
- return Ha(e, o, t);
3493
+ return Wa(e, o, t);
3484
3494
  }
3485
3495
  function g(e, t) {
3486
3496
  e.type === "custom" && i.updateBlock(e.id, {
@@ -3488,7 +3498,7 @@ var io = /* @__PURE__ */ B({
3488
3498
  dataSourceFetched: t.dataSourceFetched
3489
3499
  });
3490
3500
  }
3491
- return (t, n) => (f(), k("div", ao, [I("div", oo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3501
+ return (t, n) => (f(), k("div", so, [I("div", co, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
3492
3502
  key: n,
3493
3503
  class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3494
3504
  style: L({ width: s.value[n] })
@@ -3510,7 +3520,7 @@ var io = /* @__PURE__ */ B({
3510
3520
  class: "tpl:min-h-[60px]",
3511
3521
  "onUpdate:modelValue": (e) => p(n, e)
3512
3522
  }, {
3513
- default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(no, {
3523
+ default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(io, {
3514
3524
  block: t,
3515
3525
  "is-selected": j(i).state.selectedBlockId === t.id,
3516
3526
  viewport: e.viewport,
@@ -3541,9 +3551,9 @@ var io = /* @__PURE__ */ B({
3541
3551
  "model-value",
3542
3552
  "group",
3543
3553
  "onUpdate:modelValue"
3544
- ]), u(n).length === 0 ? (f(), k("div", so, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3554
+ ]), u(n).length === 0 ? (f(), k("div", lo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
3545
3555
  }
3546
- }), lo = {
3556
+ }), fo = {
3547
3557
  facebook: {
3548
3558
  name: "Facebook",
3549
3559
  color: "#1877F2",
@@ -3624,11 +3634,11 @@ var io = /* @__PURE__ */ B({
3624
3634
  color: "#1769FF",
3625
3635
  path: "M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"
3626
3636
  }
3627
- }, uo = {
3637
+ }, po = {
3628
3638
  small: 24,
3629
3639
  medium: 32,
3630
3640
  large: 48
3631
- }, fo = [
3641
+ }, mo = [
3632
3642
  "facebook",
3633
3643
  "twitter",
3634
3644
  "instagram",
@@ -3645,11 +3655,11 @@ var io = /* @__PURE__ */ B({
3645
3655
  "github",
3646
3656
  "dribbble",
3647
3657
  "behance"
3648
- ], po = [
3658
+ ], ho = [
3649
3659
  "width",
3650
3660
  "height",
3651
3661
  "fill"
3652
- ], mo = ["d"], ho = /* @__PURE__ */ B({
3662
+ ], go = ["d"], _o = /* @__PURE__ */ B({
3653
3663
  __name: "SocialIconSvg",
3654
3664
  props: {
3655
3665
  platform: {},
@@ -3657,7 +3667,7 @@ var io = /* @__PURE__ */ B({
3657
3667
  iconSize: {}
3658
3668
  },
3659
3669
  setup(e) {
3660
- let t = e, n = O(() => lo[t.platform]), r = O(() => uo[t.iconSize]), i = O(() => {
3670
+ let t = e, n = O(() => fo[t.platform]), r = O(() => po[t.iconSize]), i = O(() => {
3661
3671
  let e = {
3662
3672
  display: "inline-flex",
3663
3673
  alignItems: "center",
@@ -3701,12 +3711,12 @@ var io = /* @__PURE__ */ B({
3701
3711
  viewBox: "0 0 24 24",
3702
3712
  fill: o.value,
3703
3713
  xmlns: "http://www.w3.org/2000/svg"
3704
- }, [I("path", { d: n.value.path }, null, 8, mo)], 8, po))], 4));
3714
+ }, [I("path", { d: n.value.path }, null, 8, go)], 8, ho))], 4));
3705
3715
  }
3706
- }), go = { class: "tpl:w-full" }, _o = ["href"], vo = {
3716
+ }), vo = { class: "tpl:w-full" }, yo = ["href"], bo = {
3707
3717
  key: 1,
3708
3718
  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)]"
3709
- }, yo = /* @__PURE__ */ B({
3719
+ }, xo = /* @__PURE__ */ B({
3710
3720
  __name: "SocialIconsBlock",
3711
3721
  props: {
3712
3722
  block: {},
@@ -3719,7 +3729,7 @@ var io = /* @__PURE__ */ B({
3719
3729
  gap: `${t.block.spacing}px`,
3720
3730
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3721
3731
  })), i = O(() => t.block.icons.length > 0);
3722
- return (t, a) => (f(), k("div", go, [i.value ? (f(), k("div", {
3732
+ return (t, a) => (f(), k("div", vo, [i.value ? (f(), k("div", {
3723
3733
  key: 0,
3724
3734
  style: L(r.value)
3725
3735
  }, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
@@ -3727,7 +3737,7 @@ var io = /* @__PURE__ */ B({
3727
3737
  href: t.url || "#",
3728
3738
  class: "tpl:cursor-default",
3729
3739
  onClick: a[0] ||= M(() => {}, ["prevent"])
3730
- }, [V(ho, {
3740
+ }, [V(_o, {
3731
3741
  platform: t.platform,
3732
3742
  "icon-style": e.block.iconStyle,
3733
3743
  "icon-size": e.block.iconSize
@@ -3735,16 +3745,16 @@ var io = /* @__PURE__ */ B({
3735
3745
  "platform",
3736
3746
  "icon-style",
3737
3747
  "icon-size"
3738
- ])], 8, _o))), 128))], 4)) : (f(), k("div", vo, [V(j(bi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3748
+ ])], 8, yo))), 128))], 4)) : (f(), k("div", bo, [V(j(bi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
3739
3749
  }
3740
- }), bo = { class: "tpl:w-full" }, xo = {
3750
+ }), So = { class: "tpl:w-full" }, Co = {
3741
3751
  key: 0,
3742
3752
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3743
3753
  style: {
3744
3754
  "background-color": "var(--tpl-bg-hover)",
3745
3755
  color: "var(--tpl-text-dim)"
3746
3756
  }
3747
- }, So = /* @__PURE__ */ B({
3757
+ }, wo = /* @__PURE__ */ B({
3748
3758
  __name: "SpacerBlock",
3749
3759
  props: {
3750
3760
  block: {},
@@ -3756,23 +3766,23 @@ var io = /* @__PURE__ */ B({
3756
3766
  minHeight: `${t.block.height}px`,
3757
3767
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3758
3768
  }));
3759
- return (t, i) => (f(), k("div", bo, [I("div", {
3769
+ return (t, i) => (f(), k("div", So, [I("div", {
3760
3770
  style: L(r.value),
3761
3771
  class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
3762
- }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", xo, D(e.block.height) + "px ", 1))], 6)]));
3772
+ }, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Co, D(e.block.height) + "px ", 1))], 6)]));
3763
3773
  }
3764
- }), Co = { class: "tpl:w-full" }, wo = { key: 0 }, To = [
3774
+ }), To = { class: "tpl:w-full" }, Eo = { key: 0 }, Do = [
3765
3775
  "aria-label",
3766
3776
  "data-placeholder",
3767
3777
  "onBlur"
3768
- ], Eo = [
3778
+ ], Oo = [
3769
3779
  "aria-label",
3770
3780
  "data-placeholder",
3771
3781
  "onBlur"
3772
- ], Do = {
3782
+ ], ko = {
3773
3783
  key: 1,
3774
3784
  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)]"
3775
- }, Oo = /*#__PURE__*/ Fi(/* @__PURE__ */ B({
3785
+ }, Ao = /*#__PURE__*/ Fi(/* @__PURE__ */ B({
3776
3786
  __name: "TableBlock",
3777
3787
  props: {
3778
3788
  block: {},
@@ -3815,11 +3825,11 @@ var io = /* @__PURE__ */ B({
3815
3825
  } : n);
3816
3826
  i.updateBlock(n.block.id, { rows: o });
3817
3827
  }
3818
- return (e, n) => (f(), k("div", Co, [a.value ? (f(), k("table", {
3828
+ return (e, n) => (f(), k("div", To, [a.value ? (f(), k("table", {
3819
3829
  key: 0,
3820
3830
  style: L(o.value),
3821
3831
  class: "tpl-table-editable"
3822
- }, [u.value ? (f(), k("thead", wo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
3832
+ }, [u.value ? (f(), k("thead", Eo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
3823
3833
  key: e.id,
3824
3834
  style: L(l.value),
3825
3835
  "aria-label": j(r).table.cellPlaceholder,
@@ -3828,7 +3838,7 @@ var io = /* @__PURE__ */ B({
3828
3838
  onBlur: (t) => m(u.value.id, e.id, t),
3829
3839
  onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
3830
3840
  onClick: M(p, ["stop"])
3831
- }, null, 44, To)), [[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", {
3841
+ }, null, 44, Do)), [[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", {
3832
3842
  key: i.id,
3833
3843
  style: L(s.value),
3834
3844
  "aria-label": j(r).table.cellPlaceholder,
@@ -3837,9 +3847,9 @@ var io = /* @__PURE__ */ B({
3837
3847
  onBlur: (t) => m(e.id, i.id, t),
3838
3848
  onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
3839
3849
  onClick: M(p, ["stop"])
3840
- }, null, 44, Eo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Do, [V(j(wi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
3850
+ }, null, 44, Oo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", ko, [V(j(wi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
3841
3851
  }
3842
- }), [["__scopeId", "data-v-de1a7c76"]]), ko = /* @__PURE__ */ B({
3852
+ }), [["__scopeId", "data-v-de1a7c76"]]), jo = /* @__PURE__ */ B({
3843
3853
  __name: "VideoPlayButton",
3844
3854
  props: { hoverEffect: {
3845
3855
  type: Boolean,
@@ -3857,7 +3867,7 @@ var io = /* @__PURE__ */ B({
3857
3867
  });
3858
3868
  //#endregion
3859
3869
  //#region src/utils/videoThumbnail.ts
3860
- function Ao(e) {
3870
+ function Mo(e) {
3861
3871
  if (!e) return {
3862
3872
  platform: "unknown",
3863
3873
  videoId: null,
@@ -3889,25 +3899,25 @@ function Ao(e) {
3889
3899
  thumbnailUrl: null
3890
3900
  };
3891
3901
  }
3892
- function jo(e, t) {
3893
- return t || Ao(e).thumbnailUrl;
3902
+ function No(e, t) {
3903
+ return t || Mo(e).thumbnailUrl;
3894
3904
  }
3895
3905
  //#endregion
3896
3906
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
3897
- var Mo = ["src", "alt"], No = {
3907
+ var Po = ["src", "alt"], Fo = {
3898
3908
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3899
3909
  style: { opacity: "0.7" }
3900
- }, Po = ["href"], Fo = ["src", "alt"], Io = ["src", "alt"], Lo = {
3910
+ }, Io = ["href"], Lo = ["src", "alt"], Ro = ["src", "alt"], zo = {
3901
3911
  key: 3,
3902
3912
  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)]"
3903
- }, Ro = /* @__PURE__ */ B({
3913
+ }, Bo = /* @__PURE__ */ B({
3904
3914
  __name: "VideoBlock",
3905
3915
  props: {
3906
3916
  block: {},
3907
3917
  viewport: {}
3908
3918
  },
3909
3919
  setup(e) {
3910
- let t = e, { t: n } = Y(), { syntax: r } = Ki(), i = O(() => vt(t.block.url, r) || vt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : jo(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
3920
+ let t = e, { t: n } = Y(), { syntax: r } = Ki(), i = O(() => vt(t.block.url, r) || vt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : No(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
3911
3921
  let e = t.block.align;
3912
3922
  return {
3913
3923
  maxWidth: "100%",
@@ -3928,7 +3938,7 @@ var Mo = ["src", "alt"], No = {
3928
3938
  class: "tpl:w-full tpl:border-0",
3929
3939
  src: e.block.placeholderUrl,
3930
3940
  alt: e.block.alt
3931
- }, null, 8, Mo), V(ko)], 4)) : i.value ? (f(), k("div", {
3941
+ }, null, 8, Po), V(jo)], 4)) : i.value ? (f(), k("div", {
3932
3942
  key: 1,
3933
3943
  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)]",
3934
3944
  style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
@@ -3937,7 +3947,7 @@ var Mo = ["src", "alt"], No = {
3937
3947
  "stroke-width": 1.5,
3938
3948
  class: "tpl:text-[var(--tpl-primary)]",
3939
3949
  style: { opacity: "0.5" }
3940
- }), I("span", No, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
3950
+ }), I("span", Fo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
3941
3951
  key: 0,
3942
3952
  href: e.block.url,
3943
3953
  target: "_blank",
@@ -3949,7 +3959,7 @@ var Mo = ["src", "alt"], No = {
3949
3959
  class: "tpl:w-full tpl:border-0",
3950
3960
  src: a.value,
3951
3961
  alt: e.block.alt
3952
- }, null, 8, Fo), V(ko, { "hover-effect": "" })], 12, Po)) : (f(), k("div", {
3962
+ }, null, 8, Lo), V(jo, { "hover-effect": "" })], 12, Io)) : (f(), k("div", {
3953
3963
  key: 1,
3954
3964
  class: "tpl:relative tpl:inline-block",
3955
3965
  style: L(s.value)
@@ -3957,28 +3967,28 @@ var Mo = ["src", "alt"], No = {
3957
3967
  class: "tpl:w-full tpl:border-0",
3958
3968
  src: a.value,
3959
3969
  alt: e.block.alt
3960
- }, null, 8, Io), V(ko)], 4))], 64)) : (f(), k("div", Lo, [V(j(ki), {
3970
+ }, null, 8, Ro), V(jo)], 4))], 64)) : (f(), k("div", zo, [V(j(ki), {
3961
3971
  size: 40,
3962
3972
  "stroke-width": 1.5,
3963
3973
  class: "tpl:text-[var(--tpl-border-light)]"
3964
3974
  }), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
3965
3975
  }
3966
- }), zo = {
3967
- section: co,
3968
- title: io,
3969
- paragraph: Va,
3970
- image: Oa,
3976
+ }), Vo = {
3977
+ section: uo,
3978
+ title: oo,
3979
+ paragraph: Ua,
3980
+ image: Aa,
3971
3981
  button: Pr,
3972
- divider: da,
3973
- video: Ro,
3974
- social: yo,
3975
- menu: Ma,
3976
- table: Oo,
3977
- spacer: So,
3978
- html: ga,
3979
- countdown: T(() => import("./CountdownBlock-GRio55a1.js").then((e) => e.n))
3982
+ divider: pa,
3983
+ video: Bo,
3984
+ social: xo,
3985
+ menu: Pa,
3986
+ table: Ao,
3987
+ spacer: wo,
3988
+ html: va,
3989
+ countdown: T(() => import("./CountdownBlock-PpH3fxAX.js").then((e) => e.n))
3980
3990
  };
3981
- function Bo(e) {
3991
+ function Ho(e) {
3982
3992
  let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
3983
3993
  t.setUiTheme(n.uiTheme ?? "auto");
3984
3994
  let { resolvedTheme: c } = vr(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = br({
@@ -4010,9 +4020,9 @@ function Bo(e) {
4010
4020
  t: a,
4011
4021
  format: o
4012
4022
  }), y = wr();
4013
- if (kr(y, zo), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, la);
4023
+ if (kr(y, Vo), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, da);
4014
4024
  function b(e) {
4015
- for (let t of e) y.registerCustom(t, la);
4025
+ for (let t of e) y.registerCustom(t, da);
4016
4026
  }
4017
4027
  let x = Pn();
4018
4028
  if (s() && l(x.dispose), e.containerEl) {
@@ -4068,19 +4078,19 @@ function Bo(e) {
4068
4078
  }
4069
4079
  //#endregion
4070
4080
  //#region src/composables/usePopoverRoot.ts
4071
- function Vo() {
4081
+ function Uo() {
4072
4082
  return v(or, C(null));
4073
4083
  }
4074
4084
  //#endregion
4075
4085
  //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
4076
- var Ho = ["data-tpl-theme"], Uo = /* @__PURE__ */ B({
4086
+ var Wo = ["data-tpl-theme"], Go = /* @__PURE__ */ B({
4077
4087
  __name: "TplModal",
4078
4088
  props: { visible: { type: Boolean } },
4079
4089
  emits: ["close", "keydown"],
4080
4090
  setup(e, { emit: t }) {
4081
4091
  let n = e, r = t, i = C(null);
4082
4092
  Hi(i, O(() => n.visible));
4083
- let a = v(Hn), s = Vo();
4093
+ let a = v(Hn), s = Uo();
4084
4094
  function c(e) {
4085
4095
  e.key === "Escape" && r("close"), r("keydown", e);
4086
4096
  }
@@ -4109,11 +4119,11 @@ var Ho = ["data-tpl-theme"], Uo = /* @__PURE__ */ B({
4109
4119
  }, [I("div", {
4110
4120
  ref_key: "dialogRef",
4111
4121
  ref: i
4112
- }, [o(t.$slots, "default")], 512)], 40, Ho)) : A("", !0)]),
4122
+ }, [o(t.$slots, "default")], 512)], 40, Wo)) : A("", !0)]),
4113
4123
  _: 3
4114
4124
  })], 8, ["to"])) : A("", !0);
4115
4125
  }
4116
- }), Wo = class e {
4126
+ }), Ko = class e {
4117
4127
  static DEFAULT_BASE_URL = "https://templatical.com";
4118
4128
  accessToken = null;
4119
4129
  expiresAt = null;
@@ -4214,8 +4224,8 @@ var Ho = ["data-tpl-theme"], Uo = /* @__PURE__ */ B({
4214
4224
  return a.status === 401 && (a = await i(await this.refreshToken())), a;
4215
4225
  }
4216
4226
  };
4217
- function Go(e, t) {
4218
- return e.mode === "direct" ? new Wo({
4227
+ function qo(e, t) {
4228
+ return e.mode === "direct" ? new Ko({
4219
4229
  url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
4220
4230
  baseUrl: e.baseUrl,
4221
4231
  requestOptions: {
@@ -4229,7 +4239,7 @@ function Go(e, t) {
4229
4239
  }
4230
4240
  },
4231
4241
  onError: t
4232
- }) : new Wo({
4242
+ }) : new Ko({
4233
4243
  url: e.url,
4234
4244
  baseUrl: e.baseUrl,
4235
4245
  requestOptions: e.requestOptions,
@@ -4241,16 +4251,16 @@ function Go(e, t) {
4241
4251
  function Z(e, t) {
4242
4252
  return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
4243
4253
  }
4244
- var Ko = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Ko}/templates/{template}`, qo = `${Q}/ai`, Jo = `${Ko}/media`, Yo = `${Jo}/folders`, Xo = `${Ko}/saved-modules`, $ = {
4254
+ var Jo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Jo}/templates/{template}`, Yo = `${Q}/ai`, Xo = `${Jo}/media`, Zo = `${Xo}/folders`, Qo = `${Jo}/saved-modules`, $ = {
4245
4255
  health: "/api/v1/health",
4246
- "projects.config": `${Ko}/config`,
4247
- "broadcasting.auth": `${Ko}/broadcasting/auth`,
4248
- "templates.store": `${Ko}/templates`,
4256
+ "projects.config": `${Jo}/config`,
4257
+ "broadcasting.auth": `${Jo}/broadcasting/auth`,
4258
+ "templates.store": `${Jo}/templates`,
4249
4259
  "templates.show": `${Q}`,
4250
4260
  "templates.update": `${Q}`,
4251
4261
  "templates.destroy": `${Q}`,
4252
4262
  "templates.export": `${Q}/export`,
4253
- "templates.importFromBeefree": `${Ko}/templates/import/from-beefree`,
4263
+ "templates.importFromBeefree": `${Jo}/templates/import/from-beefree`,
4254
4264
  "templates.sendTestEmail": `${Q}/send-test-email`,
4255
4265
  "snapshots.index": `${Q}/snapshots`,
4256
4266
  "snapshots.store": `${Q}/snapshots`,
@@ -4261,31 +4271,31 @@ var Ko = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Ko}/templates/{te
4261
4271
  "comments.update": `${Q}/comments/{comment}`,
4262
4272
  "comments.destroy": `${Q}/comments/{comment}`,
4263
4273
  "comments.resolve": `${Q}/comments/{comment}/resolve`,
4264
- "ai.generate": `${qo}/generate`,
4265
- "ai.conversationMessages": `${qo}/conversation-messages`,
4266
- "ai.suggestions": `${qo}/suggestions`,
4267
- "ai.rewriteText": `${qo}/rewrite-text`,
4268
- "ai.score": `${qo}/score`,
4269
- "ai.fixFinding": `${qo}/fix-finding`,
4270
- "ai.generateFromDesign": `${qo}/generate-from-design`,
4271
- "media.upload": `${Jo}/upload`,
4272
- "media.browse": `${Jo}/browse`,
4273
- "media.delete": `${Jo}/delete`,
4274
- "media.move": `${Jo}/move`,
4275
- "media.update": `${Jo}/{media}`,
4276
- "media.replace": `${Jo}/{media}/replace`,
4277
- "media.checkUsage": `${Jo}/check-usage`,
4278
- "media.frequentlyUsed": `${Jo}/frequently-used`,
4279
- "media.importFromUrl": `${Jo}/import-from-url`,
4280
- "folders.index": `${Yo}`,
4281
- "folders.store": `${Yo}`,
4282
- "folders.update": `${Yo}/{mediaFolder}`,
4283
- "folders.destroy": `${Yo}/{mediaFolder}`,
4284
- "savedModules.index": `${Xo}`,
4285
- "savedModules.store": `${Xo}`,
4286
- "savedModules.update": `${Xo}/{savedModule}`,
4287
- "savedModules.destroy": `${Xo}/{savedModule}`
4288
- }, Zo = class {
4274
+ "ai.generate": `${Yo}/generate`,
4275
+ "ai.conversationMessages": `${Yo}/conversation-messages`,
4276
+ "ai.suggestions": `${Yo}/suggestions`,
4277
+ "ai.rewriteText": `${Yo}/rewrite-text`,
4278
+ "ai.score": `${Yo}/score`,
4279
+ "ai.fixFinding": `${Yo}/fix-finding`,
4280
+ "ai.generateFromDesign": `${Yo}/generate-from-design`,
4281
+ "media.upload": `${Xo}/upload`,
4282
+ "media.browse": `${Xo}/browse`,
4283
+ "media.delete": `${Xo}/delete`,
4284
+ "media.move": `${Xo}/move`,
4285
+ "media.update": `${Xo}/{media}`,
4286
+ "media.replace": `${Xo}/{media}/replace`,
4287
+ "media.checkUsage": `${Xo}/check-usage`,
4288
+ "media.frequentlyUsed": `${Xo}/frequently-used`,
4289
+ "media.importFromUrl": `${Xo}/import-from-url`,
4290
+ "folders.index": `${Zo}`,
4291
+ "folders.store": `${Zo}`,
4292
+ "folders.update": `${Zo}/{mediaFolder}`,
4293
+ "folders.destroy": `${Zo}/{mediaFolder}`,
4294
+ "savedModules.index": `${Qo}`,
4295
+ "savedModules.store": `${Qo}`,
4296
+ "savedModules.update": `${Qo}/{savedModule}`,
4297
+ "savedModules.destroy": `${Qo}/{savedModule}`
4298
+ }, $o = class {
4289
4299
  authManager;
4290
4300
  constructor(e) {
4291
4301
  this.authManager = e;
@@ -4471,14 +4481,14 @@ var Ko = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Ko}/templates/{te
4471
4481
  };
4472
4482
  //#endregion
4473
4483
  //#region ../core/src/cloud/websocket-client.ts
4474
- function Qo(e) {
4484
+ function es(e) {
4475
4485
  return {
4476
4486
  host: e.host,
4477
4487
  port: e.port,
4478
4488
  appKey: e.app_key
4479
4489
  };
4480
4490
  }
4481
- var $o = class {
4491
+ var ts = class {
4482
4492
  pusher = null;
4483
4493
  authManager;
4484
4494
  config;
@@ -4545,7 +4555,7 @@ var $o = class {
4545
4555
  };
4546
4556
  //#endregion
4547
4557
  //#region ../core/src/cloud/mcp-operation-handler.ts
4548
- function es(e, t) {
4558
+ function ns(e, t) {
4549
4559
  let { operation: n, data: r } = t;
4550
4560
  switch (n) {
4551
4561
  case "add_block":
@@ -4573,11 +4583,11 @@ function es(e, t) {
4573
4583
  }
4574
4584
  //#endregion
4575
4585
  //#region ../core/src/cloud/editor.ts
4576
- function ts(e) {
4586
+ function rs(e) {
4577
4587
  return e === "1" ? 1 : e === "3" ? 3 : 2;
4578
4588
  }
4579
- function ns(e) {
4580
- let t = new Zo(e.authManager), n = S({
4589
+ function is(e) {
4590
+ let t = new $o(e.authManager), n = S({
4581
4591
  template: null,
4582
4592
  content: Ue(e.defaultFontFamily, e.templateDefaults),
4583
4593
  selectedBlockId: null,
@@ -4683,7 +4693,7 @@ function ns(e) {
4683
4693
  let l;
4684
4694
  if (r) {
4685
4695
  let e = o(n.content.blocks, r);
4686
- if (!e || e.type !== "section" || i < 0 || i >= ts(e.columns)) return;
4696
+ if (!e || e.type !== "section" || i < 0 || i >= rs(e.columns)) return;
4687
4697
  e.children[i] = e.children[i] || [], l = e.children[i];
4688
4698
  } else l = n.content.blocks;
4689
4699
  let [u] = a.blocks.splice(c, 1);
@@ -4775,11 +4785,11 @@ function ns(e) {
4775
4785
  }
4776
4786
  //#endregion
4777
4787
  //#region ../core/src/cloud/ai-chat.ts
4778
- var rs = 0;
4779
- function is() {
4780
- return `msg_${Date.now()}_${++rs}`;
4788
+ var as = 0;
4789
+ function os() {
4790
+ return `msg_${Date.now()}_${++as}`;
4781
4791
  }
4782
- function as(e) {
4792
+ function ss(e) {
4783
4793
  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);
4784
4794
  function _(e, t) {
4785
4795
  let n = a.value.findIndex((t) => t.id === e);
@@ -4873,14 +4883,14 @@ function as(e) {
4873
4883
  let v = n();
4874
4884
  if (!v) throw Error("Template must be saved before using AI generation");
4875
4885
  o.value = !0, c.value = null, l.value = null, h.value = [];
4876
- let y = is();
4886
+ let y = os();
4877
4887
  a.value = [...a.value, {
4878
4888
  id: y,
4879
4889
  role: "user",
4880
4890
  content: e,
4881
4891
  timestamp: Date.now()
4882
4892
  }];
4883
- let b = is();
4893
+ let b = os();
4884
4894
  a.value = [...a.value, {
4885
4895
  id: b,
4886
4896
  role: "assistant",
@@ -4971,7 +4981,7 @@ function as(e) {
4971
4981
  }
4972
4982
  //#endregion
4973
4983
  //#region ../core/src/cloud/ai-config.ts
4974
- function os(e) {
4984
+ function cs(e) {
4975
4985
  function t(t) {
4976
4986
  return e === !1 ? !1 : e?.[t] !== !1;
4977
4987
  }
@@ -4982,7 +4992,7 @@ function os(e) {
4982
4992
  }
4983
4993
  //#endregion
4984
4994
  //#region ../core/src/cloud/template-scoring.ts
4985
- function ss(e) {
4995
+ function ls(e) {
4986
4996
  let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
4987
4997
  async function l(e, o) {
4988
4998
  let s = n();
@@ -5127,7 +5137,7 @@ function ss(e) {
5127
5137
  }
5128
5138
  //#endregion
5129
5139
  //#region ../core/src/cloud/design-reference.ts
5130
- function cs(e) {
5140
+ function us(e) {
5131
5141
  let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
5132
5142
  async function s(e) {
5133
5143
  let s = n();
@@ -5190,8 +5200,8 @@ function cs(e) {
5190
5200
  }
5191
5201
  //#endregion
5192
5202
  //#region ../core/src/cloud/comments.ts
5193
- function ls(e) {
5194
- let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Zo(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5203
+ function ds(e) {
5204
+ let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new $o(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
5195
5205
  let e = 0;
5196
5206
  for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
5197
5207
  return e;
@@ -5390,17 +5400,17 @@ function ls(e) {
5390
5400
  }
5391
5401
  //#endregion
5392
5402
  //#region ../core/src/cloud/comment-listener.ts
5393
- function us(e) {
5403
+ function fs(e) {
5394
5404
  let { comments: t, channel: n } = e;
5395
5405
  H(n, (e, n) => {
5396
5406
  n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
5397
- ds(t, e);
5407
+ ps(t, e);
5398
5408
  });
5399
5409
  }), l(() => {
5400
5410
  n.value?.unbind("comment-broadcast");
5401
5411
  });
5402
5412
  }
5403
- function ds(e, t) {
5413
+ function ps(e, t) {
5404
5414
  switch (t.action) {
5405
5415
  case "comment_created":
5406
5416
  e.applyRemoteCreate(t.comment);
@@ -5419,7 +5429,7 @@ function ds(e, t) {
5419
5429
  }
5420
5430
  //#endregion
5421
5431
  //#region ../core/src/cloud/collaboration.ts
5422
- var fs = [
5432
+ var ms = [
5423
5433
  "pusher:member_added",
5424
5434
  "pusher:member_removed",
5425
5435
  "client-block_locked",
@@ -5427,10 +5437,10 @@ var fs = [
5427
5437
  "client-operation",
5428
5438
  "mcp-operation"
5429
5439
  ];
5430
- function ps(e) {
5431
- for (let t of fs) e.unbind(t);
5440
+ function hs(e) {
5441
+ for (let t of ms) e.unbind(t);
5432
5442
  }
5433
- var ms = [
5443
+ var gs = [
5434
5444
  "#3b82f6",
5435
5445
  "#ef4444",
5436
5446
  "#10b981",
@@ -5442,10 +5452,10 @@ var ms = [
5442
5452
  "#6366f1",
5443
5453
  "#14b8a6"
5444
5454
  ];
5445
- function hs(e) {
5455
+ function _s(e) {
5446
5456
  let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
5447
5457
  function u() {
5448
- let e = ms[o % ms.length];
5458
+ let e = gs[o % gs.length];
5449
5459
  return o++, e;
5450
5460
  }
5451
5461
  function d(e) {
@@ -5487,7 +5497,7 @@ function hs(e) {
5487
5497
  function h(e) {
5488
5498
  s = !0;
5489
5499
  try {
5490
- es(n, e);
5500
+ ns(n, e);
5491
5501
  } finally {
5492
5502
  s = !1;
5493
5503
  }
@@ -5507,7 +5517,7 @@ function hs(e) {
5507
5517
  return H(() => n.state.selectedBlockId, (e, t) => {
5508
5518
  s || (t && v(t), e && _(e));
5509
5519
  }), H(r, (t, n) => {
5510
- if (n && ps(n), !t) {
5520
+ if (n && hs(n), !t) {
5511
5521
  i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
5512
5522
  return;
5513
5523
  }
@@ -5539,7 +5549,7 @@ function hs(e) {
5539
5549
  h(e);
5540
5550
  });
5541
5551
  }), l(() => {
5542
- r.value && ps(r.value);
5552
+ r.value && hs(r.value);
5543
5553
  }), {
5544
5554
  collaborators: i,
5545
5555
  lockedBlocks: a,
@@ -5549,7 +5559,7 @@ function hs(e) {
5549
5559
  }
5550
5560
  //#endregion
5551
5561
  //#region ../core/src/cloud/collaboration-broadcast.ts
5552
- function gs(e, t) {
5562
+ function vs(e, t) {
5553
5563
  let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
5554
5564
  e.addBlock = (e, r, i, a) => {
5555
5565
  n(e, r, i, a), t._broadcastOperation({
@@ -5604,11 +5614,11 @@ function gs(e, t) {
5604
5614
  }
5605
5615
  //#endregion
5606
5616
  //#region ../core/src/cloud/web-socket.ts
5607
- function _s(e) {
5617
+ function ys(e) {
5608
5618
  let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
5609
5619
  async function s(e, s) {
5610
5620
  if (a) return;
5611
- a = new $o({
5621
+ a = new ts({
5612
5622
  authManager: t,
5613
5623
  config: s,
5614
5624
  onError: n
@@ -5636,8 +5646,8 @@ function _s(e) {
5636
5646
  }
5637
5647
  //#endregion
5638
5648
  //#region ../core/src/cloud/saved-modules.ts
5639
- function vs(e) {
5640
- let t = new Zo(e.authManager), n = C([]), r = C(!1);
5649
+ function bs(e) {
5650
+ let t = new $o(e.authManager), n = C([]), r = C(!1);
5641
5651
  async function i(i) {
5642
5652
  r.value = !0;
5643
5653
  try {
@@ -5685,8 +5695,8 @@ function vs(e) {
5685
5695
  }
5686
5696
  //#endregion
5687
5697
  //#region ../core/src/cloud/snapshots.ts
5688
- function ys(e) {
5689
- let t = new Zo(e.authManager), n = C([]), r = C(!1), i = C(!1);
5698
+ function xs(e) {
5699
+ let t = new $o(e.authManager), n = C([]), r = C(!1), i = C(!1);
5690
5700
  async function a() {
5691
5701
  r.value = !0;
5692
5702
  try {
@@ -5718,8 +5728,8 @@ function ys(e) {
5718
5728
  }
5719
5729
  //#endregion
5720
5730
  //#region ../core/src/cloud/test-email.ts
5721
- function bs(e) {
5722
- let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Zo(t), l = C(!1), u = C(null), d = C(null);
5731
+ function Ss(e) {
5732
+ let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new $o(t), l = C(!1), u = C(null), d = C(null);
5723
5733
  o && H(o, (e) => {
5724
5734
  e && (d.value = t.testEmailConfig);
5725
5735
  }, { immediate: !0 });
@@ -5755,8 +5765,8 @@ function bs(e) {
5755
5765
  }
5756
5766
  //#endregion
5757
5767
  //#region ../core/src/cloud/export.ts
5758
- function xs(e) {
5759
- let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Zo(t);
5768
+ function Cs(e) {
5769
+ let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new $o(t);
5760
5770
  function a() {
5761
5771
  let e = n?.();
5762
5772
  return {
@@ -5782,8 +5792,8 @@ function xs(e) {
5782
5792
  }
5783
5793
  //#endregion
5784
5794
  //#region ../core/src/cloud/plan-config.ts
5785
- function Ss(e) {
5786
- let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Zo(t), o = O(() => r.value?.features ?? null);
5795
+ function ws(e) {
5796
+ let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new $o(t), o = O(() => r.value?.features ?? null);
5787
5797
  function s(e) {
5788
5798
  return r.value?.features[e] ?? !1;
5789
5799
  }
@@ -5809,11 +5819,11 @@ function Ss(e) {
5809
5819
  }
5810
5820
  //#endregion
5811
5821
  //#region ../core/src/cloud/health-check.ts
5812
- var Cs = 5e3;
5813
- function ws(e) {
5822
+ var Ts = 5e3;
5823
+ function Es(e) {
5814
5824
  return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
5815
5825
  }
5816
- async function Ts(e, t) {
5826
+ async function Ds(e, t) {
5817
5827
  let n = performance.now();
5818
5828
  try {
5819
5829
  let r = t ? await t.authenticatedFetch($.health, {
@@ -5865,7 +5875,7 @@ async function Ts(e, t) {
5865
5875
  };
5866
5876
  }
5867
5877
  }
5868
- async function Es(e) {
5878
+ async function Os(e) {
5869
5879
  if (!e?.host || !e?.app_key) return {
5870
5880
  ok: !1,
5871
5881
  error: "WebSocket configuration not available"
@@ -5881,7 +5891,7 @@ async function Es(e) {
5881
5891
  ok: !1,
5882
5892
  error: "WebSocket connection timed out"
5883
5893
  });
5884
- }, Cs);
5894
+ }, Ts);
5885
5895
  try {
5886
5896
  n = new WebSocket(t);
5887
5897
  } catch (t) {
@@ -5901,8 +5911,8 @@ async function Es(e) {
5901
5911
  };
5902
5912
  });
5903
5913
  }
5904
- async function Ds(e = {}) {
5905
- let t = await Ts(ws(e), e.authManager), n = await Es(t.wsConfig);
5914
+ async function ks(e = {}) {
5915
+ let t = await Ds(Es(e), e.authManager), n = await Os(t.wsConfig);
5906
5916
  return {
5907
5917
  api: t.api,
5908
5918
  websocket: n,
@@ -5912,29 +5922,29 @@ async function Ds(e = {}) {
5912
5922
  }
5913
5923
  //#endregion
5914
5924
  //#region ../core/src/cloud/mcp-listener.ts
5915
- function Os(e) {
5925
+ function As(e) {
5916
5926
  let { editor: t, channel: n, onOperation: r } = e;
5917
5927
  H(n, (e, n) => {
5918
5928
  n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
5919
- es(t, e), r?.(e);
5929
+ ns(t, e), r?.(e);
5920
5930
  });
5921
5931
  });
5922
5932
  }
5923
5933
  //#endregion
5924
5934
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
5925
- var ks = {
5935
+ var js = {
5926
5936
  key: 0,
5927
5937
  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)]"
5928
- }, As = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, js = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Ms = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Ns = ["title"], Ps = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Fs = {
5938
+ }, Ms = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ns = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Ps = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Fs = ["title"], Is = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Ls = {
5929
5939
  key: 0,
5930
5940
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5931
- }, Is = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ls = {
5941
+ }, Rs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zs = {
5932
5942
  key: 1,
5933
5943
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
5934
- }, Rs = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zs = {
5944
+ }, Bs = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Vs = {
5935
5945
  key: 2,
5936
5946
  class: "tpl:flex tpl:flex-col tpl:gap-4"
5937
- }, Bs = {
5947
+ }, Hs = {
5938
5948
  key: 0,
5939
5949
  class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
5940
5950
  style: {
@@ -5943,10 +5953,10 @@ var ks = {
5943
5953
  "max-width": "85%",
5944
5954
  "box-shadow": "var(--tpl-shadow)"
5945
5955
  }
5946
- }, Vs = {
5956
+ }, Us = {
5947
5957
  key: 1,
5948
5958
  class: "tpl:flex tpl:flex-col tpl:gap-2"
5949
- }, Hs = {
5959
+ }, Ws = {
5950
5960
  key: 1,
5951
5961
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
5952
5962
  style: {
@@ -5955,21 +5965,21 @@ var ks = {
5955
5965
  color: "var(--tpl-text)",
5956
5966
  "box-shadow": "var(--tpl-shadow)"
5957
5967
  }
5958
- }, Us = {
5968
+ }, Gs = {
5959
5969
  key: 0,
5960
5970
  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",
5961
5971
  style: {
5962
5972
  "background-color": "var(--tpl-danger-light)",
5963
5973
  color: "var(--tpl-danger)"
5964
5974
  }
5965
- }, Ws = {
5975
+ }, Ks = {
5966
5976
  key: 1,
5967
5977
  class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
5968
5978
  style: {
5969
5979
  "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
5970
5980
  "backdrop-filter": "blur(2px)"
5971
5981
  }
5972
- }, Gs = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Ks = ["onClick"], qs = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Js = { 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)]" }, Ys = ["placeholder", "disabled"], Xs = ["disabled"], Zs = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Qs = /*@__PURE__*/ B({
5982
+ }, qs = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Js = ["onClick"], Ys = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Xs = { 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)]" }, Zs = ["placeholder", "disabled"], Qs = ["disabled"], $s = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, ec = /*@__PURE__*/ B({
5973
5983
  __name: "AiChatSidebar",
5974
5984
  props: {
5975
5985
  visible: { type: Boolean },
@@ -5977,7 +5987,7 @@ var ks = {
5977
5987
  },
5978
5988
  emits: ["close"],
5979
5989
  setup(e, { emit: t }) {
5980
- let n = e, r = t, i = J(fr, "AiChatSidebar"), a = J(In, "AiChatSidebar"), o = J(sr, "AiChatSidebar"), s = v(Jn, []), l = _a(), u = as({
5990
+ let n = e, r = t, i = J(fr, "AiChatSidebar"), a = J(In, "AiChatSidebar"), o = J(sr, "AiChatSidebar"), s = v(Jn, []), l = ya(), u = ss({
5981
5991
  authManager: o,
5982
5992
  getTemplateId: () => a.state.template?.id ?? null,
5983
5993
  onApply: n.onApply,
@@ -6024,11 +6034,11 @@ var ks = {
6024
6034
  "leave-from-class": "tpl:translate-x-0",
6025
6035
  "leave-to-class": "tpl:translate-x-full"
6026
6036
  }, {
6027
- default: b(() => [e.visible ? (f(), k("div", ks, [
6028
- I("div", As, [I("div", js, [V(j(Ci), {
6037
+ default: b(() => [e.visible ? (f(), k("div", js, [
6038
+ I("div", Ms, [I("div", Ns, [V(j(Ci), {
6029
6039
  size: 13,
6030
6040
  "stroke-width": 2
6031
- }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", Ms, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6041
+ }), I("span", null, D(j(i).aiChat.title), 1)]), I("div", Ps, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
6032
6042
  key: 0,
6033
6043
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6034
6044
  title: j(i).aiChat.clear,
@@ -6036,30 +6046,30 @@ var ks = {
6036
6046
  }, [V(j(Ti), {
6037
6047
  size: 14,
6038
6048
  "stroke-width": 2
6039
- })], 8, Ns)) : A("", !0), I("button", {
6049
+ })], 8, Fs)) : A("", !0), I("button", {
6040
6050
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6041
6051
  onClick: n[1] ||= (e) => r("close")
6042
6052
  }, [V(j(Ai), {
6043
6053
  size: 14,
6044
6054
  "stroke-width": 2
6045
6055
  })])])]),
6046
- I("div", Ps, [
6056
+ I("div", Is, [
6047
6057
  I("div", {
6048
6058
  ref_key: "messagesContainer",
6049
6059
  ref: p,
6050
6060
  class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
6051
- }, [j(u).isLoadingHistory.value ? (f(), k("div", Fs, [V(j(di), {
6061
+ }, [j(u).isLoadingHistory.value ? (f(), k("div", Ls, [V(j(di), {
6052
6062
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6053
6063
  size: 24,
6054
6064
  "stroke-width": 2
6055
- }), I("p", Is, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Ls, [V(j(Ci), {
6065
+ }), I("p", Rs, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", zs, [V(j(Ci), {
6056
6066
  size: 32,
6057
6067
  "stroke-width": 1.5,
6058
6068
  class: "tpl:text-[var(--tpl-text-dim)]"
6059
- }), I("p", Rs, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", zs, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6069
+ }), I("p", Bs, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Vs, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
6060
6070
  key: e.id,
6061
6071
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6062
- }, [e.role === "user" ? (f(), k("div", Bs, D(e.content), 1)) : (f(), k("div", Vs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(zi, { key: 0 })) : (f(), k("div", Hs, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6072
+ }, [e.role === "user" ? (f(), k("div", Hs, D(e.content), 1)) : (f(), k("div", Us, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(zi, { key: 0 })) : (f(), k("div", Ws, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
6063
6073
  key: 2,
6064
6074
  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",
6065
6075
  style: {
@@ -6075,12 +6085,12 @@ var ks = {
6075
6085
  size: 12,
6076
6086
  "stroke-width": 2
6077
6087
  }), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
6078
- j(u).error.value ? (f(), k("div", Us, [V(j(Zr), {
6088
+ j(u).error.value ? (f(), k("div", Gs, [V(j(Zr), {
6079
6089
  size: 14,
6080
6090
  "stroke-width": 2,
6081
6091
  class: "tpl:mt-0.5 tpl:shrink-0"
6082
6092
  }), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
6083
- (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Ws, [I("div", Gs, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6093
+ (j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Ks, [I("div", qs, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
6084
6094
  key: t,
6085
6095
  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"]),
6086
6096
  style: {
@@ -6090,99 +6100,99 @@ var ks = {
6090
6100
  "box-shadow": "var(--tpl-shadow)"
6091
6101
  },
6092
6102
  onClick: (t) => E(e)
6093
- }, D(e), 11, Ks))), 128))])])) : A("", !0)
6103
+ }, D(e), 11, Js))), 128))])])) : A("", !0)
6094
6104
  ]),
6095
- I("div", qs, [I("div", Js, [c(I("textarea", {
6105
+ I("div", Ys, [I("div", Xs, [c(I("textarea", {
6096
6106
  "onUpdate:modelValue": n[3] ||= (e) => d.value = e,
6097
6107
  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)]",
6098
6108
  placeholder: j(i).aiChat.inputPlaceholder,
6099
6109
  disabled: j(u).isGenerating.value,
6100
6110
  rows: "3",
6101
6111
  onKeydown: te
6102
- }, null, 40, Ys), [[ae, d.value]]), I("button", {
6112
+ }, null, 40, Zs), [[ae, d.value]]), I("button", {
6103
6113
  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)]",
6104
6114
  disabled: !d.value.trim() || j(u).isGenerating.value,
6105
6115
  onClick: ee
6106
6116
  }, [V(j(yi), {
6107
6117
  size: 16,
6108
6118
  "stroke-width": 2
6109
- })], 8, Xs)]), I("p", Zs, D(j(i).aiMenu.disclaimer), 1)])
6119
+ })], 8, Qs)]), I("p", $s, D(j(i).aiMenu.disclaimer), 1)])
6110
6120
  ])) : A("", !0)]),
6111
6121
  _: 1
6112
6122
  }));
6113
6123
  }
6114
- }), $s = /* @__PURE__ */ e({ default: () => ec }), ec = /*#__PURE__*/ Fi(Qs, [["__scopeId", "data-v-a55e4bff"]]), tc = 6e4, nc = 36e5, rc = 864e5;
6115
- function ic(e, t, n, r) {
6124
+ }), tc = /* @__PURE__ */ e({ default: () => nc }), nc = /*#__PURE__*/ Fi(ec, [["__scopeId", "data-v-a55e4bff"]]), rc = 6e4, ic = 36e5, ac = 864e5;
6125
+ function oc(e, t, n, r) {
6116
6126
  let i = new Date(e).getTime();
6117
6127
  if (Number.isNaN(i)) return null;
6118
6128
  let a = Date.now() - i;
6119
6129
  if (a < -6e4) return null;
6120
- let o = Math.floor(a / tc), s = Math.floor(a / nc), c = Math.floor(a / rc);
6130
+ let o = Math.floor(a / rc), s = Math.floor(a / ic), c = Math.floor(a / ac);
6121
6131
  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));
6122
6132
  }
6123
6133
  //#endregion
6124
6134
  //#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
6125
- var ac = {
6135
+ var sc = {
6126
6136
  key: 0,
6127
6137
  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)]"
6128
- }, oc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, sc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, cc = {
6138
+ }, cc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, lc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, uc = {
6129
6139
  key: 0,
6130
6140
  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)]"
6131
- }, lc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, uc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, dc = {
6141
+ }, dc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, fc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, pc = {
6132
6142
  key: 0,
6133
6143
  class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
6134
- }, fc = {
6144
+ }, mc = {
6135
6145
  key: 1,
6136
6146
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
6137
- }, pc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, mc = {
6147
+ }, hc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gc = {
6138
6148
  key: 2,
6139
6149
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
6140
- }, hc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, gc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, _c = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, vc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, yc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, bc = {
6150
+ }, _c = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, vc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, yc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, bc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, xc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Sc = {
6141
6151
  key: 0,
6142
6152
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6143
- }, xc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Sc = ["title", "onClick"], Cc = ["title", "onClick"], wc = ["title", "onClick"], Tc = {
6153
+ }, Cc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, wc = ["title", "onClick"], Tc = ["title", "onClick"], Ec = ["title", "onClick"], Dc = {
6144
6154
  key: 0,
6145
6155
  class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
6146
- }, Ec = {
6156
+ }, Oc = {
6147
6157
  key: 0,
6148
6158
  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)]"
6149
- }, Dc = ["onClick"], Oc = {
6159
+ }, kc = ["onClick"], Ac = {
6150
6160
  key: 2,
6151
6161
  class: "tpl:mt-2"
6152
- }, kc = ["onKeydown"], Ac = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, jc = ["disabled", "onClick"], Mc = {
6162
+ }, jc = ["onKeydown"], Mc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Nc = ["disabled", "onClick"], Pc = {
6153
6163
  key: 3,
6154
6164
  class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6155
- }, Nc = {
6165
+ }, Fc = {
6156
6166
  key: 4,
6157
6167
  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)]"
6158
- }, Pc = { class: "tpl:flex-1" }, Fc = ["onClick"], Ic = {
6168
+ }, Ic = { class: "tpl:flex-1" }, Lc = ["onClick"], Rc = {
6159
6169
  key: 5,
6160
6170
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
6161
- }, Lc = ["title", "onClick"], Rc = ["onClick"], zc = {
6171
+ }, zc = ["title", "onClick"], Bc = ["onClick"], Vc = {
6162
6172
  key: 0,
6163
6173
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6164
- }, 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 = {
6174
+ }, Hc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Uc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Wc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Gc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Kc = {
6165
6175
  key: 0,
6166
6176
  class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
6167
- }, Gc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Kc = ["title", "onClick"], qc = ["title", "onClick"], Jc = {
6177
+ }, qc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Jc = ["title", "onClick"], Yc = ["title", "onClick"], Xc = {
6168
6178
  key: 0,
6169
6179
  class: "tpl:mt-1.5"
6170
- }, Yc = ["onKeydown"], Xc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Zc = ["disabled", "onClick"], Qc = {
6180
+ }, Zc = ["onKeydown"], Qc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, $c = ["disabled", "onClick"], el = {
6171
6181
  key: 1,
6172
6182
  class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
6173
- }, $c = {
6183
+ }, tl = {
6174
6184
  key: 2,
6175
6185
  class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
6176
- }, el = { class: "tpl:flex-1" }, tl = ["onClick"], nl = {
6186
+ }, nl = { class: "tpl:flex-1" }, rl = ["onClick"], il = {
6177
6187
  key: 0,
6178
6188
  class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
6179
- }, rl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, il = ["placeholder", "onKeydown"], al = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, ol = ["disabled", "onClick"], sl = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, cl = {
6189
+ }, al = { class: "tpl:flex tpl:items-end tpl:gap-2" }, ol = ["placeholder", "onKeydown"], sl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, cl = ["disabled", "onClick"], ll = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, ul = {
6180
6190
  key: 0,
6181
6191
  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)]"
6182
- }, ll = {
6192
+ }, dl = {
6183
6193
  key: 1,
6184
6194
  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)]"
6185
- }, ul = ["placeholder", "disabled"], dl = ["disabled"], fl = /*@__PURE__*/ B({
6195
+ }, fl = ["placeholder", "disabled"], pl = ["disabled"], ml = /*@__PURE__*/ B({
6186
6196
  __name: "CommentsSidebar",
6187
6197
  props: { visible: { type: Boolean } },
6188
6198
  emits: ["close", "filterBlock"],
@@ -6255,7 +6265,7 @@ var ac = {
6255
6265
  return e.author_identifier === T.value;
6256
6266
  }
6257
6267
  function ve(e) {
6258
- return ic(e, o.snapshotHistory) ?? e;
6268
+ return oc(e, o.snapshotHistory) ?? e;
6259
6269
  }
6260
6270
  function ye(e) {
6261
6271
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
@@ -6282,14 +6292,14 @@ var ac = {
6282
6292
  "leave-from-class": "tpl:translate-x-0",
6283
6293
  "leave-to-class": "tpl:translate-x-full"
6284
6294
  }, {
6285
- default: b(() => [e.visible ? (f(), k("div", ac, [
6286
- I("div", oc, [I("div", sc, [
6295
+ default: b(() => [e.visible ? (f(), k("div", sc, [
6296
+ I("div", cc, [I("div", lc, [
6287
6297
  V(j(fi), {
6288
6298
  size: 13,
6289
6299
  "stroke-width": 2
6290
6300
  }),
6291
6301
  I("span", null, D(j(o).comments.title), 1),
6292
- j(u).unresolvedCount.value > 0 ? (f(), k("span", cc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6302
+ j(u).unresolvedCount.value > 0 ? (f(), k("span", uc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
6293
6303
  ]), I("button", {
6294
6304
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6295
6305
  onClick: n[0] ||= (e) => i("close")
@@ -6297,7 +6307,7 @@ var ac = {
6297
6307
  size: 14,
6298
6308
  "stroke-width": 2
6299
6309
  })])]),
6300
- I("div", lc, [
6310
+ I("div", dc, [
6301
6311
  I("button", {
6302
6312
  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" : ""]),
6303
6313
  onClick: n[1] ||= (e) => M("unresolved")
@@ -6312,24 +6322,24 @@ var ac = {
6312
6322
  onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
6313
6323
  }, D(j(o).comments.filterBlock), 3)) : A("", !0)
6314
6324
  ]),
6315
- I("div", uc, [j(u).isLoading.value ? (f(), k("div", dc, [V(j(di), {
6325
+ I("div", fc, [j(u).isLoading.value ? (f(), k("div", pc, [V(j(di), {
6316
6326
  class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
6317
6327
  size: 24,
6318
6328
  "stroke-width": 2
6319
- })])) : re.value.length === 0 ? (f(), k("div", fc, [V(j(fi), {
6329
+ })])) : re.value.length === 0 ? (f(), k("div", mc, [V(j(fi), {
6320
6330
  size: 32,
6321
6331
  "stroke-width": 1.5,
6322
6332
  class: "tpl:text-[var(--tpl-text-dim)]"
6323
- }), I("p", pc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", mc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6333
+ }), I("p", hc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", gc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
6324
6334
  key: e.id,
6325
6335
  class: "tpl-comment-thread"
6326
6336
  }, [
6327
- I("div", hc, [
6328
- I("div", gc, [I("div", _c, [
6329
- I("span", vc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6330
- I("span", yc, D(ve(e.created_at)), 1),
6331
- e.updated_at === e.created_at ? A("", !0) : (f(), k("span", bc, " (" + D(j(o).comments.edited) + ") ", 1))
6332
- ]), I("div", xc, [
6337
+ I("div", _c, [
6338
+ I("div", vc, [I("div", yc, [
6339
+ I("span", bc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
6340
+ I("span", xc, D(ve(e.created_at)), 1),
6341
+ e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Sc, " (" + D(j(o).comments.edited) + ") ", 1))
6342
+ ]), I("div", Cc, [
6333
6343
  I("button", {
6334
6344
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6335
6345
  title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
@@ -6339,7 +6349,7 @@ var ac = {
6339
6349
  "stroke-width": 2,
6340
6350
  class: "tpl-resolve-icon",
6341
6351
  style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
6342
- }, null, 8, ["style"])], 8, Sc),
6352
+ }, null, 8, ["style"])], 8, wc),
6343
6353
  _e(e) ? (f(), k("button", {
6344
6354
  key: 0,
6345
6355
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6348,7 +6358,7 @@ var ac = {
6348
6358
  }, [V(j(mi), {
6349
6359
  size: 12,
6350
6360
  "stroke-width": 2
6351
- })], 8, Cc)) : A("", !0),
6361
+ })], 8, Tc)) : A("", !0),
6352
6362
  _e(e) ? (f(), k("button", {
6353
6363
  key: 1,
6354
6364
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
@@ -6357,45 +6367,45 @@ var ac = {
6357
6367
  }, [V(j(Ti), {
6358
6368
  size: 12,
6359
6369
  "stroke-width": 2
6360
- })], 8, wc)) : A("", !0)
6370
+ })], 8, Ec)) : A("", !0)
6361
6371
  ])]),
6362
6372
  V(ie, { name: "tpl-resolve" }, {
6363
- default: b(() => [e.resolved_at ? (f(), k("div", Tc, [V(j(Kr), {
6373
+ default: b(() => [e.resolved_at ? (f(), k("div", Dc, [V(j(Kr), {
6364
6374
  size: 10,
6365
6375
  "stroke-width": 2.5
6366
6376
  }), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
6367
6377
  _: 2
6368
6378
  }, 1024),
6369
- e.block_id && te(e.block_id) ? (f(), k("span", Ec, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6379
+ e.block_id && te(e.block_id) ? (f(), k("span", Oc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
6370
6380
  key: 1,
6371
6381
  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)]",
6372
6382
  onClick: (t) => j(s).selectBlock(e.block_id ?? "")
6373
- }, " Block ", 8, Dc)) : A("", !0),
6374
- y.value === e.id ? (f(), k("div", Oc, [c(I("textarea", {
6383
+ }, " Block ", 8, kc)) : A("", !0),
6384
+ y.value === e.id ? (f(), k("div", Ac, [c(I("textarea", {
6375
6385
  "onUpdate:modelValue": n[4] ||= (e) => x.value = e,
6376
6386
  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)]",
6377
6387
  rows: "3",
6378
6388
  onKeydown: (t) => xe(t, e.id)
6379
- }, null, 40, kc), [[ae, x.value]]), I("div", Ac, [I("button", {
6389
+ }, null, 40, jc), [[ae, x.value]]), I("div", Mc, [I("button", {
6380
6390
  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)]",
6381
6391
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6382
6392
  onClick: (t) => me(e.id)
6383
- }, D(j(o).comments.save), 9, jc), I("button", {
6393
+ }, D(j(o).comments.save), 9, Nc), I("button", {
6384
6394
  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)]",
6385
6395
  onClick: n[5] ||= (e) => B()
6386
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Mc, D(e.body), 1)),
6387
- w.value === e.id ? (f(), k("div", Nc, [
6388
- I("span", Pc, D(j(o).comments.deleteConfirm), 1),
6396
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Pc, D(e.body), 1)),
6397
+ w.value === e.id ? (f(), k("div", Fc, [
6398
+ I("span", Ic, D(j(o).comments.deleteConfirm), 1),
6389
6399
  I("button", {
6390
6400
  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)]",
6391
6401
  onClick: (t) => he(e.id)
6392
- }, D(j(o).comments.delete), 9, Fc),
6402
+ }, D(j(o).comments.delete), 9, Lc),
6393
6403
  I("button", {
6394
6404
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6395
6405
  onClick: n[6] ||= (e) => de()
6396
6406
  }, D(j(o).comments.cancel), 1)
6397
6407
  ])) : A("", !0),
6398
- y.value !== e.id && w.value !== e.id ? (f(), k("div", Ic, [I("button", {
6408
+ y.value !== e.id && w.value !== e.id ? (f(), k("div", Rc, [I("button", {
6399
6409
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6400
6410
  title: j(o).comments.reply,
6401
6411
  onClick: (t) => se(e.id)
@@ -6403,7 +6413,7 @@ var ac = {
6403
6413
  size: 13,
6404
6414
  "stroke-width": 2,
6405
6415
  class: "tpl:text-[var(--tpl-primary)]"
6406
- })], 8, Lc), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6416
+ })], 8, zc), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
6407
6417
  key: 0,
6408
6418
  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)]",
6409
6419
  onClick: (t) => oe(e.id)
@@ -6415,18 +6425,18 @@ var ac = {
6415
6425
  key: 1,
6416
6426
  size: 11,
6417
6427
  "stroke-width": 2
6418
- })), 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, Rc)) : A("", !0)])) : A("", !0)
6428
+ })), 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, Bc)) : A("", !0)])) : A("", !0)
6419
6429
  ]),
6420
6430
  V(ie, { name: "tpl-replies" }, {
6421
- default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", zc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6431
+ default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Vc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
6422
6432
  key: t.id,
6423
6433
  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" : ""])
6424
6434
  }, [
6425
- I("div", Bc, [I("div", Vc, [
6426
- I("span", Hc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6427
- I("span", Uc, D(ve(t.created_at)), 1),
6428
- t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Wc, " (" + D(j(o).comments.edited) + ") ", 1))
6429
- ]), I("div", Gc, [_e(t) ? (f(), k("button", {
6435
+ I("div", Hc, [I("div", Uc, [
6436
+ I("span", Wc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
6437
+ I("span", Gc, D(ve(t.created_at)), 1),
6438
+ t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Kc, " (" + D(j(o).comments.edited) + ") ", 1))
6439
+ ]), I("div", qc, [_e(t) ? (f(), k("button", {
6430
6440
  key: 0,
6431
6441
  class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6432
6442
  title: j(o).comments.edit,
@@ -6434,7 +6444,7 @@ var ac = {
6434
6444
  }, [V(j(mi), {
6435
6445
  size: 11,
6436
6446
  "stroke-width": 2
6437
- })], 8, Kc)) : A("", !0), _e(t) ? (f(), k("button", {
6447
+ })], 8, Jc)) : A("", !0), _e(t) ? (f(), k("button", {
6438
6448
  key: 1,
6439
6449
  class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
6440
6450
  title: j(o).comments.delete,
@@ -6442,26 +6452,26 @@ var ac = {
6442
6452
  }, [V(j(Ti), {
6443
6453
  size: 11,
6444
6454
  "stroke-width": 2
6445
- })], 8, qc)) : A("", !0)])]),
6446
- y.value === t.id ? (f(), k("div", Jc, [c(I("textarea", {
6455
+ })], 8, Yc)) : A("", !0)])]),
6456
+ y.value === t.id ? (f(), k("div", Xc, [c(I("textarea", {
6447
6457
  "onUpdate:modelValue": n[7] ||= (e) => x.value = e,
6448
6458
  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)]",
6449
6459
  rows: "2",
6450
6460
  onKeydown: (e) => xe(e, t.id)
6451
- }, null, 40, Yc), [[ae, x.value]]), I("div", Xc, [I("button", {
6461
+ }, null, 40, Zc), [[ae, x.value]]), I("div", Qc, [I("button", {
6452
6462
  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)]",
6453
6463
  disabled: !x.value.trim() || j(u).isSubmitting.value,
6454
6464
  onClick: (e) => me(t.id)
6455
- }, D(j(o).comments.save), 9, Zc), I("button", {
6465
+ }, D(j(o).comments.save), 9, $c), I("button", {
6456
6466
  class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6457
6467
  onClick: n[8] ||= (e) => B()
6458
- }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Qc, D(t.body), 1)),
6459
- w.value === t.id ? (f(), k("div", $c, [
6460
- I("span", el, D(j(o).comments.deleteConfirm), 1),
6468
+ }, D(j(o).comments.cancel), 1)])])) : (f(), k("p", el, D(t.body), 1)),
6469
+ w.value === t.id ? (f(), k("div", tl, [
6470
+ I("span", nl, D(j(o).comments.deleteConfirm), 1),
6461
6471
  I("button", {
6462
6472
  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)]",
6463
6473
  onClick: (e) => he(t.id)
6464
- }, D(j(o).comments.delete), 9, tl),
6474
+ }, D(j(o).comments.delete), 9, rl),
6465
6475
  I("button", {
6466
6476
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
6467
6477
  onClick: n[9] ||= (e) => de()
@@ -6471,20 +6481,20 @@ var ac = {
6471
6481
  _: 2
6472
6482
  }, 1024),
6473
6483
  V(ie, { name: "tpl-replies" }, {
6474
- default: b(() => [_.value === e.id ? (f(), k("div", nl, [I("div", rl, [c(I("textarea", {
6484
+ default: b(() => [_.value === e.id ? (f(), k("div", il, [I("div", al, [c(I("textarea", {
6475
6485
  "onUpdate:modelValue": n[10] ||= (e) => v.value = e,
6476
6486
  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)]",
6477
6487
  placeholder: j(o).comments.replyPlaceholder,
6478
6488
  rows: "2",
6479
6489
  onKeydown: (t) => be(t, e.id)
6480
- }, null, 40, il), [[ae, v.value]]), I("div", al, [I("button", {
6490
+ }, null, 40, ol), [[ae, v.value]]), I("div", sl, [I("button", {
6481
6491
  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)]",
6482
6492
  disabled: !v.value.trim() || j(u).isSubmitting.value,
6483
6493
  onClick: (t) => pe(e.id)
6484
6494
  }, [V(j(yi), {
6485
6495
  size: 14,
6486
6496
  "stroke-width": 2
6487
- })], 8, ol), I("button", {
6497
+ })], 8, cl), I("button", {
6488
6498
  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)]",
6489
6499
  onClick: n[11] ||= (e) => ce()
6490
6500
  }, [V(j(Ai), {
@@ -6494,7 +6504,7 @@ var ac = {
6494
6504
  _: 2
6495
6505
  }, 1024)
6496
6506
  ]))), 128))]))]),
6497
- I("div", sl, [ne.value ? (f(), k("div", cl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", ll, [c(I("textarea", {
6507
+ I("div", ll, [ne.value ? (f(), k("div", ul, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", dl, [c(I("textarea", {
6498
6508
  ref_key: "newCommentInput",
6499
6509
  ref: ee,
6500
6510
  "onUpdate:modelValue": n[12] ||= (e) => g.value = e,
@@ -6503,7 +6513,7 @@ var ac = {
6503
6513
  disabled: j(u).isSubmitting.value,
6504
6514
  rows: "2",
6505
6515
  onKeydown: ye
6506
- }, null, 40, ul), [[ae, g.value]]), I("button", {
6516
+ }, null, 40, fl), [[ae, g.value]]), I("button", {
6507
6517
  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)]",
6508
6518
  disabled: !g.value.trim() || j(u).isSubmitting.value,
6509
6519
  onClick: fe
@@ -6516,33 +6526,33 @@ var ac = {
6516
6526
  key: 1,
6517
6527
  size: 16,
6518
6528
  "stroke-width": 2
6519
- }))], 8, dl)]))])
6529
+ }))], 8, pl)]))])
6520
6530
  ])) : A("", !0)]),
6521
6531
  _: 1
6522
6532
  }));
6523
6533
  }
6524
- }), pl = /* @__PURE__ */ e({ default: () => ml }), ml = /*#__PURE__*/ Fi(fl, [["__scopeId", "data-v-d204f573"]]), hl = {
6534
+ }), hl = /* @__PURE__ */ e({ default: () => gl }), gl = /*#__PURE__*/ Fi(ml, [["__scopeId", "data-v-d204f573"]]), _l = {
6525
6535
  key: 0,
6526
6536
  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)]"
6527
- }, gl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, _l = { 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" }, yl = {
6537
+ }, vl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, yl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, bl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, xl = {
6528
6538
  key: 0,
6529
6539
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6530
- }, bl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, xl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Sl = {
6540
+ }, Sl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Cl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wl = {
6531
6541
  key: 1,
6532
6542
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6533
- }, Cl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, wl = {
6543
+ }, Tl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, El = {
6534
6544
  key: 0,
6535
6545
  class: "tpl:flex tpl:flex-col tpl:gap-2"
6536
- }, Tl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, El = ["src", "alt"], Dl = {
6546
+ }, Dl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ol = ["src", "alt"], kl = {
6537
6547
  key: 1,
6538
6548
  class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
6539
- }, Ol = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, kl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Al = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, jl = ["accept"], Ml = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Nl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Pl = ["placeholder"], Fl = {
6549
+ }, Al = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, jl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ml = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Nl = ["accept"], Pl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Fl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Il = ["placeholder"], Ll = {
6540
6550
  key: 0,
6541
6551
  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)]"
6542
- }, Il = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Ll = { class: "tpl:flex tpl:gap-2" }, Rl = {
6552
+ }, Rl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, zl = { class: "tpl:flex tpl:gap-2" }, Bl = {
6543
6553
  key: 1,
6544
6554
  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)]"
6545
- }, zl = ["disabled"], Bl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Vl = /*@__PURE__*/ B({
6555
+ }, Vl = ["disabled"], Hl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ul = /*@__PURE__*/ B({
6546
6556
  __name: "DesignReferenceSidebar",
6547
6557
  props: {
6548
6558
  visible: { type: Boolean },
@@ -6550,7 +6560,7 @@ var ac = {
6550
6560
  },
6551
6561
  emits: ["close", "apply"],
6552
6562
  setup(e, { emit: t }) {
6553
- let n = e, r = t, { t: i } = Gi(), a = J(In, "DesignReferenceSidebar"), o = cs({
6563
+ let n = e, r = t, { t: i } = Gi(), a = J(In, "DesignReferenceSidebar"), o = us({
6554
6564
  authManager: J(sr, "DesignReferenceSidebar"),
6555
6565
  getTemplateId: () => a.state.template?.id ?? null,
6556
6566
  onApply: (e) => r("apply", e)
@@ -6622,7 +6632,7 @@ var ac = {
6622
6632
  "leave-from-class": "tpl:translate-x-0",
6623
6633
  "leave-to-class": "tpl:translate-x-full"
6624
6634
  }, {
6625
- default: b(() => [e.visible ? (f(), k("div", hl, [I("div", gl, [I("div", _l, [V(j(ci), {
6635
+ default: b(() => [e.visible ? (f(), k("div", _l, [I("div", vl, [I("div", yl, [V(j(ci), {
6626
6636
  size: 13,
6627
6637
  "stroke-width": 2
6628
6638
  }), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
@@ -6631,8 +6641,8 @@ var ac = {
6631
6641
  }, [V(j(Ai), {
6632
6642
  size: 14,
6633
6643
  "stroke-width": 2
6634
- })])]), I("div", vl, [j(o).isGenerating.value ? (f(), k("div", yl, [I("div", bl, [V(zi), I("p", xl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Sl, [
6635
- I("div", Cl, [I("button", {
6644
+ })])]), I("div", bl, [j(o).isGenerating.value ? (f(), k("div", xl, [I("div", Sl, [V(zi), I("p", Cl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", wl, [
6645
+ I("div", Tl, [I("button", {
6636
6646
  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",
6637
6647
  style: L({
6638
6648
  backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
@@ -6655,16 +6665,16 @@ var ac = {
6655
6665
  size: 12,
6656
6666
  "stroke-width": 2
6657
6667
  }), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
6658
- I("div", null, [u.value ? (f(), k("div", wl, [I("div", Tl, [p.value ? (f(), k("img", {
6668
+ I("div", null, [u.value ? (f(), k("div", El, [I("div", Dl, [p.value ? (f(), k("img", {
6659
6669
  key: 0,
6660
6670
  src: p.value,
6661
6671
  alt: u.value.name,
6662
6672
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
6663
- }, null, 8, El)) : (f(), k("div", Dl, [V(j(ai), {
6673
+ }, null, 8, Ol)) : (f(), k("div", kl, [V(j(ai), {
6664
6674
  size: 32,
6665
6675
  "stroke-width": 1.5,
6666
6676
  class: "tpl:text-[var(--tpl-text-dim)]"
6667
- }), I("span", Ol, D(u.value.name), 1)])), I("button", {
6677
+ }), I("span", Al, D(u.value.name), 1)])), I("button", {
6668
6678
  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)]",
6669
6679
  onClick: x
6670
6680
  }, [V(j(Ai), {
@@ -6687,8 +6697,8 @@ var ac = {
6687
6697
  "stroke-width": 1.5,
6688
6698
  class: "tpl:text-[var(--tpl-text-dim)]"
6689
6699
  }),
6690
- I("span", kl, D(j(i).designReference.dropHint), 1),
6691
- I("span", Al, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6700
+ I("span", jl, D(j(i).designReference.dropHint), 1),
6701
+ I("span", Ml, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
6692
6702
  ], 36)), I("input", {
6693
6703
  ref_key: "fileInput",
6694
6704
  ref: s,
@@ -6696,14 +6706,14 @@ var ac = {
6696
6706
  class: "tpl:hidden",
6697
6707
  accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
6698
6708
  onChange: v
6699
- }, null, 40, jl)]),
6700
- I("div", Ml, [I("label", Nl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6709
+ }, null, 40, Nl)]),
6710
+ I("div", Pl, [I("label", Fl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
6701
6711
  "onUpdate:modelValue": n[4] ||= (e) => d.value = e,
6702
6712
  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"]]),
6703
6713
  placeholder: j(i).designReference.promptPlaceholder,
6704
6714
  rows: "3"
6705
- }, null, 8, Pl), [[ae, d.value]])]),
6706
- m.value ? (f(), k("div", Fl, [I("p", Il, D(j(i).designReference.replaceWarning), 1), I("div", Ll, [I("button", {
6715
+ }, null, 8, Il), [[ae, d.value]])]),
6716
+ m.value ? (f(), k("div", Ll, [I("p", Rl, D(j(i).designReference.replaceWarning), 1), I("div", zl, [I("button", {
6707
6717
  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)]",
6708
6718
  style: { "background-color": "transparent" },
6709
6719
  onClick: E
@@ -6711,7 +6721,7 @@ var ac = {
6711
6721
  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)]",
6712
6722
  onClick: T
6713
6723
  }, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
6714
- j(o).error.value ? (f(), k("div", Rl, [V(j(Zr), {
6724
+ j(o).error.value ? (f(), k("div", Bl, [V(j(Zr), {
6715
6725
  size: 14,
6716
6726
  "stroke-width": 2,
6717
6727
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -6724,32 +6734,32 @@ var ac = {
6724
6734
  }, [V(j(ci), {
6725
6735
  size: 16,
6726
6736
  "stroke-width": 2
6727
- }), z(" " + D(j(i).designReference.generate), 1)], 8, zl)),
6728
- I("p", Bl, D(j(i).aiMenu.disclaimer), 1)
6737
+ }), z(" " + D(j(i).designReference.generate), 1)], 8, Vl)),
6738
+ I("p", Hl, D(j(i).aiMenu.disclaimer), 1)
6729
6739
  ]))])])) : A("", !0)]),
6730
6740
  _: 1
6731
6741
  }));
6732
6742
  }
6733
- }), Hl = /* @__PURE__ */ e({ default: () => Ul }), Ul = /*#__PURE__*/ Fi(Vl, [["__scopeId", "data-v-bdbf8d0d"]]), Wl = ["disabled", "title"], Gl = ["title"], Kl = {
6743
+ }), Wl = /* @__PURE__ */ e({ default: () => Gl }), Gl = /*#__PURE__*/ Fi(Ul, [["__scopeId", "data-v-bdbf8d0d"]]), Kl = ["disabled", "title"], ql = ["title"], Jl = {
6734
6744
  key: 0,
6735
6745
  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)]",
6736
6746
  style: {
6737
6747
  "backdrop-filter": "blur(8px)",
6738
6748
  "-webkit-backdrop-filter": "blur(8px)"
6739
6749
  }
6740
- }, ql = { 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)]" }, Jl = {
6750
+ }, Yl = { 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)]" }, Xl = {
6741
6751
  key: 0,
6742
6752
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
6743
- }, Yl = {
6753
+ }, Zl = {
6744
6754
  key: 1,
6745
6755
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
6746
- }, Xl = {
6756
+ }, Ql = {
6747
6757
  key: 2,
6748
6758
  class: "tpl:max-h-64 tpl:overflow-y-auto"
6749
- }, Zl = ["disabled", "onClick"], Ql = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, $l = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, eu = {
6759
+ }, $l = ["disabled", "onClick"], eu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, tu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, nu = {
6750
6760
  key: 0,
6751
6761
  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)]"
6752
- }, tu = ["disabled", "title"], nu = /*@__PURE__*/ B({
6762
+ }, ru = ["disabled", "title"], iu = /*@__PURE__*/ B({
6753
6763
  __name: "SnapshotHistory",
6754
6764
  props: {
6755
6765
  snapshots: {},
@@ -6777,7 +6787,7 @@ var ac = {
6777
6787
  t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
6778
6788
  }
6779
6789
  function _(e) {
6780
- let t = ic(e, a.snapshotHistory, i, 7);
6790
+ let t = oc(e, a.snapshotHistory, i, 7);
6781
6791
  return t === null ? new Date(e).toLocaleDateString(void 0, {
6782
6792
  month: "short",
6783
6793
  day: "numeric",
@@ -6800,7 +6810,7 @@ var ac = {
6800
6810
  }, [V(j(Jr), {
6801
6811
  size: 14,
6802
6812
  "stroke-width": 2
6803
- })], 8, Wl),
6813
+ })], 8, Kl),
6804
6814
  I("button", {
6805
6815
  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)]",
6806
6816
  title: j(a).snapshotHistory.tooltip,
@@ -6812,19 +6822,19 @@ var ac = {
6812
6822
  class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
6813
6823
  size: 10,
6814
6824
  "stroke-width": 2
6815
- }, null, 8, ["class"])], 8, Gl),
6825
+ }, null, 8, ["class"])], 8, ql),
6816
6826
  V(ie, { name: "tpl-dropdown" }, {
6817
- default: b(() => [o.value ? (f(), k("div", Kl, [I("div", ql, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", Jl, [V(j(di), {
6827
+ default: b(() => [o.value ? (f(), k("div", Jl, [I("div", Yl, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", Xl, [V(j(di), {
6818
6828
  class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
6819
6829
  size: 20,
6820
6830
  "stroke-width": 2
6821
- })])) : e.snapshots.length === 0 ? (f(), k("div", Yl, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", Xl, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
6831
+ })])) : e.snapshots.length === 0 ? (f(), k("div", Zl, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", Ql, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
6822
6832
  key: t.id,
6823
6833
  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)]",
6824
6834
  style: { "background-color": "transparent" },
6825
6835
  disabled: e.isRestoring,
6826
6836
  onClick: (e) => g(t.id)
6827
- }, [I("div", Ql, [I("div", $l, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", eu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, Zl))), 128))]))])) : A("", !0)]),
6837
+ }, [I("div", eu, [I("div", tu, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", nu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, $l))), 128))]))])) : A("", !0)]),
6828
6838
  _: 1
6829
6839
  }),
6830
6840
  I("button", {
@@ -6835,66 +6845,66 @@ var ac = {
6835
6845
  }, [V(j(Yr), {
6836
6846
  size: 14,
6837
6847
  "stroke-width": 2
6838
- })], 8, tu)
6848
+ })], 8, ru)
6839
6849
  ], 512));
6840
6850
  }
6841
- }), ru = /* @__PURE__ */ e({ default: () => iu }), iu = nu;
6851
+ }), au = /* @__PURE__ */ e({ default: () => ou }), ou = iu;
6842
6852
  //#endregion
6843
6853
  //#region src/cloud/utils/scoringStyles.ts
6844
- function au(e) {
6854
+ function su(e) {
6845
6855
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
6846
6856
  }
6847
- function ou(e) {
6857
+ function cu(e) {
6848
6858
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
6849
6859
  }
6850
- function su(e) {
6860
+ function lu(e) {
6851
6861
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
6852
6862
  }
6853
- function cu(e) {
6863
+ function uu(e) {
6854
6864
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
6855
6865
  }
6856
6866
  //#endregion
6857
6867
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
6858
- var lu = {
6868
+ var du = {
6859
6869
  key: 0,
6860
6870
  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)]"
6861
- }, uu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, du = { 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" }, pu = ["title"], mu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, hu = {
6871
+ }, fu = { 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)]" }, mu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, hu = ["title"], gu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, _u = {
6862
6872
  key: 0,
6863
6873
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6864
- }, gu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, _u = {
6874
+ }, vu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, yu = {
6865
6875
  key: 1,
6866
6876
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6867
- }, vu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, yu = {
6877
+ }, bu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, xu = {
6868
6878
  key: 2,
6869
6879
  class: "tpl:flex tpl:flex-col tpl:gap-4"
6870
- }, bu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, xu = {
6880
+ }, Su = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Cu = {
6871
6881
  key: 0,
6872
6882
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6873
- }, Su = {
6883
+ }, wu = {
6874
6884
  key: 0,
6875
6885
  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)]"
6876
- }, Cu = ["onClick"], wu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Tu = {
6886
+ }, Tu = ["onClick"], Eu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Du = {
6877
6887
  key: 0,
6878
6888
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
6879
- }, Eu = {
6889
+ }, Ou = {
6880
6890
  key: 0,
6881
6891
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
6882
- }, Du = {
6892
+ }, ku = {
6883
6893
  key: 0,
6884
6894
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
6885
- }, Ou = { class: "tpl:flex tpl:items-start tpl:gap-2" }, ku = { class: "tpl:flex-1 tpl:min-w-0" }, Au = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, ju = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Mu = {
6895
+ }, Au = { class: "tpl:flex tpl:items-start tpl:gap-2" }, ju = { class: "tpl:flex-1 tpl:min-w-0" }, Mu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Nu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Pu = {
6886
6896
  key: 0,
6887
6897
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
6888
- }, Nu = {
6898
+ }, Fu = {
6889
6899
  key: 1,
6890
6900
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
6891
- }, Pu = ["disabled", "onClick"], Fu = {
6901
+ }, Iu = ["disabled", "onClick"], Lu = {
6892
6902
  key: 0,
6893
6903
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
6894
- }, Iu = {
6904
+ }, Ru = {
6895
6905
  key: 3,
6896
6906
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
6897
- }, Lu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ru = { 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)]" }, zu = /*@__PURE__*/ B({
6907
+ }, zu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Bu = { 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)]" }, Vu = /*@__PURE__*/ B({
6898
6908
  __name: "TemplateScoringPanel",
6899
6909
  props: { visible: { type: Boolean } },
6900
6910
  emits: ["close"],
@@ -6945,10 +6955,10 @@ var lu = {
6945
6955
  "leave-from-class": "tpl:translate-x-0",
6946
6956
  "leave-to-class": "tpl:translate-x-full"
6947
6957
  }, {
6948
- default: b(() => [e.visible ? (f(), k("div", lu, [I("div", uu, [I("div", du, [V(j(xi), {
6958
+ default: b(() => [e.visible ? (f(), k("div", du, [I("div", fu, [I("div", pu, [V(j(xi), {
6949
6959
  size: 13,
6950
6960
  "stroke-width": 2
6951
- }), I("span", null, D(j(i).scoring.title), 1)]), I("div", fu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
6961
+ }), I("span", null, D(j(i).scoring.title), 1)]), I("div", mu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
6952
6962
  key: 0,
6953
6963
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6954
6964
  title: j(i).scoring.rescore,
@@ -6956,19 +6966,19 @@ var lu = {
6956
6966
  }, [V(j(_i), {
6957
6967
  size: 14,
6958
6968
  "stroke-width": 2
6959
- })], 8, pu)) : A("", !0), I("button", {
6969
+ })], 8, hu)) : A("", !0), I("button", {
6960
6970
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
6961
6971
  onClick: n[1] ||= (e) => r("close")
6962
6972
  }, [V(j(Ai), {
6963
6973
  size: 14,
6964
6974
  "stroke-width": 2
6965
- })])])]), I("div", mu, [j(o).isScoring.value ? (f(), k("div", hu, [I("p", gu, D(j(i).scoring.scoring), 1), V(zi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", _u, [
6975
+ })])])]), I("div", gu, [j(o).isScoring.value ? (f(), k("div", _u, [I("p", vu, D(j(i).scoring.scoring), 1), V(zi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", yu, [
6966
6976
  V(j(Zr), {
6967
6977
  size: 32,
6968
6978
  "stroke-width": 1.5,
6969
6979
  class: "tpl:text-[var(--tpl-danger)]"
6970
6980
  }),
6971
- I("p", vu, D(j(i).scoring.error), 1),
6981
+ I("p", bu, D(j(i).scoring.error), 1),
6972
6982
  I("button", {
6973
6983
  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)]",
6974
6984
  onClick: n[2] ||= (e) => m()
@@ -6976,19 +6986,19 @@ var lu = {
6976
6986
  size: 12,
6977
6987
  "stroke-width": 2
6978
6988
  }), z(" " + D(j(i).scoring.rescore), 1)])
6979
- ])) : j(o).scoringResult.value ? (f(), k("div", yu, [
6989
+ ])) : j(o).scoringResult.value ? (f(), k("div", xu, [
6980
6990
  I("div", {
6981
6991
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
6982
- style: L({ backgroundColor: j(ou)(j(o).scoringResult.value.score) })
6992
+ style: L({ backgroundColor: j(cu)(j(o).scoringResult.value.score) })
6983
6993
  }, [
6984
6994
  I("span", {
6985
6995
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
6986
- style: L({ color: j(au)(j(o).scoringResult.value.score) })
6996
+ style: L({ color: j(su)(j(o).scoringResult.value.score) })
6987
6997
  }, D(j(o).scoringResult.value.score), 5),
6988
- I("span", bu, D(j(i).scoring.overallScore), 1),
6989
- _() > 0 ? (f(), k("span", xu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
6998
+ I("span", Su, D(j(i).scoring.overallScore), 1),
6999
+ _() > 0 ? (f(), k("span", Cu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
6990
7000
  ], 4),
6991
- j(o).fixError.value ? (f(), k("div", Su, [V(j(Zr), {
7001
+ j(o).fixError.value ? (f(), k("div", wu, [V(j(Zr), {
6992
7002
  size: 14,
6993
7003
  "stroke-width": 2,
6994
7004
  class: "tpl:mt-0.5 tpl:shrink-0"
@@ -7003,40 +7013,40 @@ var lu = {
7003
7013
  (f(), N(d(p[e]), {
7004
7014
  size: 14,
7005
7015
  "stroke-width": 2,
7006
- style: L({ color: j(au)(j(o).scoringResult.value.categories[e].score) })
7016
+ style: L({ color: j(su)(j(o).scoringResult.value.categories[e].score) })
7007
7017
  }, null, 8, ["style"])),
7008
- I("span", wu, D(j(i).scoring.categories[e]), 1),
7018
+ I("span", Eu, D(j(i).scoring.categories[e]), 1),
7009
7019
  I("span", {
7010
7020
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
7011
7021
  style: L({
7012
- color: j(au)(j(o).scoringResult.value.categories[e].score),
7013
- backgroundColor: j(ou)(j(o).scoringResult.value.categories[e].score)
7022
+ color: j(su)(j(o).scoringResult.value.categories[e].score),
7023
+ backgroundColor: j(cu)(j(o).scoringResult.value.categories[e].score)
7014
7024
  })
7015
7025
  }, D(j(o).scoringResult.value.categories[e].score), 5),
7016
- j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Tu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7026
+ j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Du, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
7017
7027
  V(j(qr), {
7018
7028
  size: 12,
7019
7029
  "stroke-width": 2,
7020
7030
  class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
7021
7031
  }, null, 8, ["class"])
7022
- ], 8, Cu), c.value[e] ? (f(), k("div", Eu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Du, 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", {
7032
+ ], 8, Tu), c.value[e] ? (f(), k("div", Ou, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", ku, 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", {
7023
7033
  key: e.id,
7024
7034
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
7025
- }, [I("div", Ou, [(f(), N(d(j(e.severity === "high" ? Zr : e.severity === "medium" ? Ei : ui)), {
7035
+ }, [I("div", Au, [(f(), N(d(j(e.severity === "high" ? Zr : e.severity === "medium" ? Ei : ui)), {
7026
7036
  size: 13,
7027
7037
  "stroke-width": 2,
7028
7038
  class: "tpl:mt-0.5 tpl:shrink-0",
7029
- style: L({ color: j(su)(e.severity) })
7030
- }, null, 8, ["style"])), I("div", ku, [
7031
- I("div", Au, [I("span", {
7039
+ style: L({ color: j(lu)(e.severity) })
7040
+ }, null, 8, ["style"])), I("div", ju, [
7041
+ I("div", Mu, [I("span", {
7032
7042
  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",
7033
7043
  style: L({
7034
- color: j(su)(e.severity),
7035
- backgroundColor: j(cu)(e.severity)
7044
+ color: j(lu)(e.severity),
7045
+ backgroundColor: j(uu)(e.severity)
7036
7046
  })
7037
- }, D(j(i).scoring.severity[e.severity]), 5), I("span", ju, D(e.message), 1)]),
7038
- e.suggestion ? (f(), k("p", Mu, D(e.suggestion), 1)) : A("", !0),
7039
- e.blockId ? (f(), k("div", Nu, [I("button", {
7047
+ }, D(j(i).scoring.severity[e.severity]), 5), I("span", Nu, D(e.message), 1)]),
7048
+ e.suggestion ? (f(), k("p", Pu, D(e.suggestion), 1)) : A("", !0),
7049
+ e.blockId ? (f(), k("div", Fu, [I("button", {
7040
7050
  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)]",
7041
7051
  style: { "background-color": "transparent" },
7042
7052
  disabled: j(o).fixingFindingId.value !== null,
@@ -7050,27 +7060,27 @@ var lu = {
7050
7060
  key: 1,
7051
7061
  size: 11,
7052
7062
  "stroke-width": 2
7053
- })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Pu), j(o).fixError.value ? (f(), k("p", Fu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7063
+ })), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Iu), j(o).fixError.value ? (f(), k("p", Lu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
7054
7064
  ])])]))), 128))])) : A("", !0)])), 64))
7055
- ])) : (f(), k("div", Iu, [V(j(xi), {
7065
+ ])) : (f(), k("div", Ru, [V(j(xi), {
7056
7066
  size: 32,
7057
7067
  "stroke-width": 1.5,
7058
7068
  class: "tpl:text-[var(--tpl-text-dim)]"
7059
- }), I("p", Lu, D(j(i).scoring.emptyState), 1)])), I("p", Ru, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7069
+ }), I("p", zu, D(j(i).scoring.emptyState), 1)])), I("p", Bu, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
7060
7070
  _: 1
7061
7071
  }));
7062
7072
  }
7063
- }), Bu = /* @__PURE__ */ e({ default: () => Vu }), Vu = /*#__PURE__*/ Fi(zu, [["__scopeId", "data-v-3a059e8d"]]), Hu = ["aria-busy"], Uu = {
7073
+ }), Hu = /* @__PURE__ */ e({ default: () => Uu }), Uu = /*#__PURE__*/ Fi(Vu, [["__scopeId", "data-v-3a059e8d"]]), Wu = ["aria-busy"], Gu = {
7064
7074
  id: "tpl-test-email-title",
7065
7075
  class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
7066
- }, Wu = { class: "tpl:mb-3" }, Gu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ku = ["value"], qu = ["disabled"], Ju = ["value"], Yu = {
7076
+ }, Ku = { class: "tpl:mb-3" }, qu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ju = ["value"], Yu = ["disabled"], Xu = ["value"], Zu = {
7067
7077
  key: 0,
7068
7078
  role: "alert",
7069
7079
  class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
7070
- }, Xu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Zu = ["disabled"], Qu = ["disabled"], $u = {
7080
+ }, Qu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, $u = ["disabled"], ed = ["disabled"], td = {
7071
7081
  key: 0,
7072
7082
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
7073
- }, ed = { key: 1 }, td = /*@__PURE__*/ B({
7083
+ }, nd = { key: 1 }, rd = /*@__PURE__*/ B({
7074
7084
  __name: "TestEmailModal",
7075
7085
  props: {
7076
7086
  visible: { type: Boolean },
@@ -7093,7 +7103,7 @@ var lu = {
7093
7103
  function l(e) {
7094
7104
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
7095
7105
  }
7096
- return (t, n) => (f(), N(Uo, {
7106
+ return (t, n) => (f(), N(Go, {
7097
7107
  visible: e.visible,
7098
7108
  onClose: s,
7099
7109
  onKeydown: l
@@ -7109,14 +7119,14 @@ var lu = {
7109
7119
  "box-shadow": "var(--tpl-shadow-xl)"
7110
7120
  }
7111
7121
  }, [
7112
- I("h3", Uu, D(j(i).testEmail.title), 1),
7113
- I("div", Wu, [I("label", Gu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7122
+ I("h3", Gu, D(j(i).testEmail.title), 1),
7123
+ I("div", Ku, [I("label", qu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
7114
7124
  key: 0,
7115
7125
  type: "text",
7116
7126
  value: a.value,
7117
7127
  disabled: "",
7118
7128
  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)]"
7119
- }, null, 8, Ku)) : c((f(), k("select", {
7129
+ }, null, 8, Ju)) : c((f(), k("select", {
7120
7130
  key: 1,
7121
7131
  "onUpdate:modelValue": n[0] ||= (e) => a.value = e,
7122
7132
  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)]",
@@ -7124,29 +7134,29 @@ var lu = {
7124
7134
  }, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
7125
7135
  key: e,
7126
7136
  value: e
7127
- }, D(e), 9, Ju))), 128))], 8, qu)), [[w, a.value]])]),
7128
- e.error ? (f(), k("p", Yu, D(e.error), 1)) : A("", !0),
7129
- I("div", Xu, [I("button", {
7137
+ }, D(e), 9, Xu))), 128))], 8, Yu)), [[w, a.value]])]),
7138
+ e.error ? (f(), k("p", Zu, D(e.error), 1)) : A("", !0),
7139
+ I("div", Qu, [I("button", {
7130
7140
  type: "button",
7131
7141
  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 }]),
7132
7142
  disabled: e.isSending,
7133
7143
  onClick: s
7134
- }, D(j(i).testEmail.cancel), 11, Zu), I("button", {
7144
+ }, D(j(i).testEmail.cancel), 11, $u), I("button", {
7135
7145
  type: "button",
7136
7146
  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)]",
7137
7147
  disabled: !a.value || e.isSending,
7138
7148
  onClick: o
7139
- }, [e.isSending ? (f(), k("span", $u, [V(j(di), {
7149
+ }, [e.isSending ? (f(), k("span", td, [V(j(di), {
7140
7150
  class: "tpl:animate-spin",
7141
7151
  size: 12,
7142
7152
  "stroke-width": 2
7143
- }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", ed, D(j(i).testEmail.send), 1))], 8, Qu)])
7144
- ], 8, Hu)]),
7153
+ }), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", nd, D(j(i).testEmail.send), 1))], 8, ed)])
7154
+ ], 8, Wu)]),
7145
7155
  _: 1
7146
7156
  }, 8, ["visible"]));
7147
7157
  }
7148
- }), nd = /* @__PURE__ */ e({ default: () => rd }), rd = td;
7158
+ }), id = /* @__PURE__ */ e({ default: () => ad }), ad = rd;
7149
7159
  //#endregion
7150
- export { Ki as $, Kn as $t, Bo as A, Ee as An, Kr as At, Ua as B, he as Bn, Wn as Bt, Zo as C, lt as Cn, ni as Ct, Go as D, W as Dn, Zr as Dt, Wo as E, ot as En, $r as Et, lo as F, ge as Fn, Y as Ft, _a as G, ue as Gn, Gn as Gt, Va as H, pe as Hn, fr as Ht, fo as I, me as In, cr as It, la as J, In as Jt, ga as K, qn as Kt, co as L, xe as Ln, tr as Lt, Oo as M, Ce as Mn, Pr as Mt, So as N, _e as Nn, Cr as Nt, Uo as O, Ue as On, Yr as Ot, yo as P, we as Pn, gr as Pt, qi as Q, $n as Qt, io as R, Se as Rn, sr as Rt, Qo as S, yt as Sn, ri as St, Z as T, st as Tn, ei as Tt, Ma as U, de as Un, lr as Ut, Ha as V, be as Vn, nr as Vt, Oa as W, fe as Wn, zn as Wt, Qi as X, Qn as Xt, ea as Y, Bn as Yt, Ji as Z, Yn as Zt, us as _, Tt as _n, fi as _t, pl as a, J as an, Ai as at, os as b, bt as bn, li as bt, Ds as c, wn as cn, Ti as ct, bs as d, Dn as dn, xi as dt, ur as en, Wi as et, ys as f, nn as fn, bi as ft, hs as g, Pt as gn, pi as gt, gs as h, sn as hn, mi as ht, Hl as i, Hn as in, Pi as it, Ro as j, ye as jn, X as jt, Vo as k, ve as kn, qr as kt, Ss as l, q as ln, wi as lt, _s as m, on as mn, _i as mt, Bu as n, ir as nn, Hi as nt, $s as o, hn as on, Oi as ot, vs as p, tn as pn, yi as pt, da as q, er as qt, ru as r, Vn as rn, Fi as rt, Os as s, Cn as sn, Ei as st, nd as t, dr as tn, Gi as tt, xs as u, An as un, Ci as ut, ls as v, ut as vn, di as vt, $ as w, ct as wn, ti as wt, ns as x, gt as xn, ci as xt, ss as y, vt as yn, ui as yt, no as z, Te as zn, Un as zt };
7160
+ export { qi as $, $n as $t, Ho as A, ve as An, qr as At, Ga as B, Te as Bn, Un as Bt, $o as C, yt as Cn, ri as Ct, qo as D, ot as Dn, $r as Dt, Ko as E, st as En, ei as Et, fo as F, we as Fn, gr as Ft, ya as G, fe as Gn, zn as Gt, Ua as H, be as Hn, nr as Ht, mo as I, ge as In, Y as It, da as J, er as Jt, va as K, ue as Kn, Gn as Kt, uo as L, me as Ln, cr as Lt, Ao as M, ye as Mn, X as Mt, wo as N, Ce as Nn, Pr as Nt, Go as O, W as On, Zr as Ot, xo as P, _e as Pn, Cr as Pt, Ji as Q, Yn as Qt, oo as R, xe as Rn, tr as Rt, es as S, gt as Sn, ci as St, Z as T, ct as Tn, ti as Tt, Pa as U, pe as Un, fr as Ut, Wa as V, he as Vn, Wn as Vt, Aa as W, de as Wn, lr as Wt, ea as X, Bn as Xt, na as Y, In as Yt, Qi as Z, Qn as Zt, fs as _, Pt as _n, pi as _t, hl as a, Hn as an, Pi as at, cs as b, vt as bn, ui as bt, ks as c, Cn as cn, Ei as ct, Ss as d, An as dn, Ci as dt, Kn as en, Ki as et, xs as f, Dn as fn, xi as ft, _s as g, sn as gn, mi as gt, vs as h, on as hn, _i as ht, Wl as i, Vn as in, Fi as it, Bo as j, Ee as jn, Kr as jt, Uo as k, Ue as kn, Yr as kt, ws as l, wn as ln, Ti as lt, ys as m, tn as mn, yi as mt, Hu as n, dr as nn, Gi as nt, tc as o, J as on, Ai as ot, bs as p, nn as pn, bi as pt, pa as q, qn as qt, au as r, ir as rn, Hi as rt, As as s, hn as sn, Oi as st, id as t, ur as tn, Wi as tt, Cs as u, q as un, wi as ut, ds as v, Tt as vn, fi as vt, $ as w, lt as wn, ni as wt, is as x, bt as xn, li as xt, ls as y, ut as yn, di as yt, io as z, Se as zn, sr as zt };
7151
7161
 
7152
- //# sourceMappingURL=features-DmUOSthI.js.map
7162
+ //# sourceMappingURL=features-mO5NzwnN.js.map