@templatical/editor 0.12.0 → 0.13.0

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 (93) hide show
  1. package/dist/{AiChatSidebar-CXH7l1Ar.js → AiChatSidebar-B0-U5-sb.js} +3 -3
  2. package/dist/{AiFeatureMenu-BKbUUc1D.js → AiFeatureMenu-DxDwLS8B.js} +1 -1
  3. package/dist/{CloudEditor-F5YV5hE3.js → CloudEditor-DaEfipBn.js} +190 -158
  4. package/dist/{CollaboratorBar-ACUA7lBJ.js → CollaboratorBar-DgwjisX2.js} +1 -1
  5. package/dist/{CountdownBlock-C-6o19qS.js → CountdownBlock-DO9fziwf.js} +1 -1
  6. package/dist/{CountdownToolbar-CDy9_2Yj.js → CountdownToolbar-BeII06yJ.js} +1 -1
  7. package/dist/{DesignReferenceSidebar-0dTsBW08.js → DesignReferenceSidebar-BgPDbOsl.js} +19 -31
  8. package/dist/{ModuleBrowserModal-Bz9hSjMS.js → ModuleBrowserModal-DsZRr87F.js} +4 -4
  9. package/dist/{ModulePreviewCanvas-CpaumPMS.js → ModulePreviewCanvas-Dni9kK4j.js} +19 -19
  10. package/dist/{NumberWithSuffix-Cd7bz1Wk.js → NumberWithSuffix-D3fdj0iO.js} +101 -79
  11. package/dist/{ParagraphEditor-BqRFV_Y-.js → ParagraphEditor-CZ-cmhX3.js} +7 -7
  12. package/dist/{SaveModuleDialog-DmfvH5D0.js → SaveModuleDialog-C38VqN2T.js} +2 -2
  13. package/dist/{SnapshotHistory-C052o-8U.js → SnapshotHistory-ByloTpwh.js} +2 -2
  14. package/dist/{TemplateScoringPanel-CUs8XmIi.js → TemplateScoringPanel-CUxiPtEf.js} +1 -1
  15. package/dist/{TestEmailModal-BIIxRWUt.js → TestEmailModal-BvZBMBad.js} +2 -2
  16. package/dist/{TitleEditor-FMh54Cx5.js → TitleEditor-DbNOcvhR.js} +1 -1
  17. package/dist/{TplModal-utMtXzSO.js → TplModal-BYb-X5Bj.js} +1 -1
  18. package/dist/{blockTypeIcons-C6UGDmrC.js → blockTypeIcons-CyAom3iI.js} +4 -4
  19. package/dist/bundle-stats.json +8 -8
  20. package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js → AiFeatureMenu-BSoy-SoF.js} +7 -7
  21. package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js.map → AiFeatureMenu-BSoy-SoF.js.map} +1 -1
  22. package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js → BlockIssueBadge-BQDUuJxy.js} +4 -4
  23. package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js.map → BlockIssueBadge-BQDUuJxy.js.map} +1 -1
  24. package/dist/cdn/chunks/{CloudEditor-OO8hWAVp.js → CloudEditor-BZuzsQOZ.js} +231 -199
  25. package/dist/cdn/chunks/CloudEditor-BZuzsQOZ.js.map +1 -0
  26. package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js → CollaboratorBar-DUpSrtDr.js} +3 -3
  27. package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js.map → CollaboratorBar-DUpSrtDr.js.map} +1 -1
  28. package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js → CountdownBlock-DChGTAsH.js} +2 -2
  29. package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js.map → CountdownBlock-DChGTAsH.js.map} +1 -1
  30. package/dist/cdn/chunks/{CountdownToolbar-BXjDFRHI.js → CountdownToolbar-C6gX2SJr.js} +3 -3
  31. package/dist/cdn/chunks/CountdownToolbar-C6gX2SJr.js.map +1 -0
  32. package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js → IssuesPanel-Bo1uhdSe.js} +6 -6
  33. package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js.map → IssuesPanel-Bo1uhdSe.js.map} +1 -1
  34. package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js → ModuleBrowserModal-a-tZRCcD.js} +8 -8
  35. package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js.map → ModuleBrowserModal-a-tZRCcD.js.map} +1 -1
  36. package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js → ModulePreviewCanvas-Bm6k0Op0.js} +24 -24
  37. package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js.map → ModulePreviewCanvas-Bm6k0Op0.js.map} +1 -1
  38. package/dist/cdn/chunks/{NumberWithSuffix-ZuJ2ePB0.js → NumberWithSuffix-HTbuD3VJ.js} +139 -118
  39. package/dist/cdn/chunks/NumberWithSuffix-HTbuD3VJ.js.map +1 -0
  40. package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js → ParagraphEditor-pGrfSccu.js} +13 -13
  41. package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js.map → ParagraphEditor-pGrfSccu.js.map} +1 -1
  42. package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js → RichTextEditorContent-D7XZix_1.js} +4 -4
  43. package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js.map → RichTextEditorContent-D7XZix_1.js.map} +1 -1
  44. package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js → SaveModuleDialog-C9PQ9x6j.js} +4 -4
  45. package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js.map → SaveModuleDialog-C9PQ9x6j.js.map} +1 -1
  46. package/dist/cdn/chunks/{TitleEditor-CQqklX0D.js → TitleEditor-BvFbL16O.js} +7 -7
  47. package/dist/cdn/chunks/{TitleEditor-CQqklX0D.js.map → TitleEditor-BvFbL16O.js.map} +1 -1
  48. package/dist/cdn/chunks/{blockTypeIcons-CpGPHppB.js → blockTypeIcons-Kd1MT0u8.js} +7 -7
  49. package/dist/cdn/chunks/{blockTypeIcons-CpGPHppB.js.map → blockTypeIcons-Kd1MT0u8.js.map} +1 -1
  50. package/dist/cdn/chunks/{de-DpBN9H7-.js → de-C2wOXoxs.js} +6 -2
  51. package/dist/cdn/chunks/de-C2wOXoxs.js.map +1 -0
  52. package/dist/cdn/chunks/{en-BhHtdIiU.js → en-dR7zfNC3.js} +6 -2
  53. package/dist/cdn/chunks/en-dR7zfNC3.js.map +1 -0
  54. package/dist/cdn/chunks/{extensions-Ds9GnMcd.js → extensions-CuUjSmuA.js} +23 -23
  55. package/dist/cdn/chunks/{extensions-Ds9GnMcd.js.map → extensions-CuUjSmuA.js.map} +1 -1
  56. package/dist/cdn/chunks/{features-DxWz_Enw.js → features-DU6lA8l1.js} +471 -420
  57. package/dist/cdn/chunks/features-DU6lA8l1.js.map +1 -0
  58. package/dist/cdn/chunks/{icons-BflGUmFY.js → icons-BjHUZZyJ.js} +2 -2
  59. package/dist/cdn/chunks/{icons-BflGUmFY.js.map → icons-BjHUZZyJ.js.map} +1 -1
  60. package/dist/cdn/chunks/{media-library-C479-QcE.js → media-library-Byelliig.js} +575 -575
  61. package/dist/cdn/chunks/media-library-Byelliig.js.map +1 -0
  62. package/dist/{pt-BR-Bth5a93y.js → cdn/chunks/pt-BR-BZ86xqK6.js} +7 -1
  63. package/dist/cdn/chunks/pt-BR-BZ86xqK6.js.map +1 -0
  64. package/dist/cdn/chunks/{quality-BL_pEvFP.js → quality-DNnYAntR.js} +83 -83
  65. package/dist/cdn/chunks/{quality-BL_pEvFP.js.map → quality-DNnYAntR.js.map} +1 -1
  66. package/dist/cdn/chunks/{renderer-DwPomkBw.js → renderer-CZKO-Tav.js} +19 -19
  67. package/dist/cdn/chunks/{renderer-DwPomkBw.js.map → renderer-CZKO-Tav.js.map} +1 -1
  68. package/dist/cdn/chunks/{src-DzvOWQ9S.js → src-DsqSXXjk.js} +53 -53
  69. package/dist/cdn/chunks/{src-DzvOWQ9S.js.map → src-DsqSXXjk.js.map} +1 -1
  70. package/dist/cdn/chunks/{styles-D45rgVq8.js → styles-DiAdtiz9.js} +865 -785
  71. package/dist/cdn/chunks/styles-DiAdtiz9.js.map +1 -0
  72. package/dist/cdn/editor.css +1 -1
  73. package/dist/cdn/editor.js +124 -122
  74. package/dist/cdn/editor.js.map +1 -1
  75. package/dist/{de-DpBN9H7-.js → de-C2wOXoxs.js} +5 -1
  76. package/dist/{dist-DJ9aD8yA.js → dist-Cgry6fNv.js} +53 -4
  77. package/dist/{en-BhHtdIiU.js → en-dR7zfNC3.js} +5 -1
  78. package/dist/{cdn/chunks/pt-BR-Bth5a93y.js → pt-BR-BZ86xqK6.js} +5 -3
  79. package/dist/style.css +1 -1
  80. package/dist/{styles-Dp4mJuCM.js → styles-D0RCAWhB.js} +866 -784
  81. package/dist/templatical-editor.js +94 -92
  82. package/dist/upload-BF7sxd1_.js +17 -0
  83. package/dist/{useEditorCore-D7dQFRkw.js → useEditorCore-DKYZ7aKk.js} +788 -735
  84. package/package.json +7 -7
  85. package/dist/cdn/chunks/CloudEditor-OO8hWAVp.js.map +0 -1
  86. package/dist/cdn/chunks/CountdownToolbar-BXjDFRHI.js.map +0 -1
  87. package/dist/cdn/chunks/NumberWithSuffix-ZuJ2ePB0.js.map +0 -1
  88. package/dist/cdn/chunks/de-DpBN9H7-.js.map +0 -1
  89. package/dist/cdn/chunks/en-BhHtdIiU.js.map +0 -1
  90. package/dist/cdn/chunks/features-DxWz_Enw.js.map +0 -1
  91. package/dist/cdn/chunks/media-library-C479-QcE.js.map +0 -1
  92. package/dist/cdn/chunks/pt-BR-Bth5a93y.js.map +0 -1
  93. package/dist/cdn/chunks/styles-D45rgVq8.js.map +0 -1
@@ -1,13 +1,13 @@
1
- import { C as e, F as t, G as n, H as r, J as i, L as a, M as o, O as s, P as c, T as l, V as u, Y as d, Z as f, b as p, c as m, ct as h, f as g, g as _, h as v, it as y, l as b, m as x, n as S, o as C, ot as w, p as T, s as E, st as D, t as ee, u as O, v as k, x as A, y as j, z as M } from "./draggable-Bci-fq8y.js";
2
- import { $ as N, $t as P, An as te, At as ne, B as re, Bt as F, Dn as I, En as L, F as R, Ft as z, G as ie, Gt as B, H as ae, I as oe, Jt as se, K as ce, Kt as le, L as ue, Lt as de, M as fe, Mt as pe, N as me, Nt as he, O as ge, Ot as _e, P as ve, Pt as V, Qt as ye, R as be, Sn as xe, St as Se, Tn as Ce, Tt as we, U as Te, V as Ee, Vt as De, W as Oe, Wt as ke, Xt as Ae, Yt as je, Zt as Me, _t as Ne, an as Pe, at as Fe, bn as Ie, bt as Le, et as Re, fn as ze, ft as Be, gn as Ve, gt as He, hn as Ue, in as We, it as Ge, j as Ke, nn as qe, q as Je, qt as Ye, rn as Xe, rt as Ze, st as Qe, vn as $e, vt as et, xt as tt, yn as nt, yt as rt, zt as it } from "./features-DxWz_Enw.js";
3
- import { A as at, D as ot, F as st, G as ct, K as lt, N as ut, O as dt, R as ft, T as pt, V as mt, W as ht, Y as gt, d as _t, g as vt, h as yt, k as bt, m as xt, p as St, q as Ct, s as wt, w as Tt, x as H } from "./icons-BflGUmFY.js";
4
- import { t as Et } from "./readableTextColor-f8Kykfnh.js";
5
- import { t as Dt } from "./CountdownBlock-hYoJdVOt.js";
6
- import { t as Ot } from "./blockTypeIcons-CpGPHppB.js";
7
- import { _ as kt, c as At, f as U, g as jt, h as W, l as Mt, m as G, p as K, t as Nt } from "./styleConstants-lGobwiLH.js";
8
- import { i as q, n as J, r as Y, t as Pt } from "./NumberWithSuffix-ZuJ2ePB0.js";
1
+ import { C as e, F as t, G as n, H as r, J as i, L as a, M as o, O as s, P as c, T as l, V as u, Y as d, Z as f, b as p, c as m, ct as h, f as g, g as _, h as v, it as y, l as b, m as x, n as S, o as C, ot as w, p as T, s as E, st as D, t as O, u as k, v as A, x as j, y as M, z as N } from "./draggable-Bci-fq8y.js";
2
+ import { $t as P, At as F, B as ee, Bt as te, Cn as I, Ct as L, Dn as R, En as ne, Et as re, F as ie, Ft as ae, G as z, Gt as oe, H as se, Ht as ce, I as le, It as B, J as ue, Jt as de, K as fe, Kt as V, L as pe, M as me, N as he, Nt as ge, O as _e, On as ve, P as ye, Pt as be, Qt as xe, R as Se, Rt as Ce, St as we, U as Te, V as Ee, Vt as De, W as Oe, Xt as ke, Yt as Ae, Zt as je, _n as Me, _t as Ne, an as Pe, at as Fe, bn as Ie, bt as Le, ct as Re, en as ze, et as Be, gn as Ve, in as He, it as Ue, j as We, jn as Ge, jt as Ke, kt as qe, on as Je, ot as Ye, pn as Xe, pt as Ze, q as Qe, qt as $e, rn as et, st as tt, tt as nt, vt as rt, xn as it, xt as at, yn as ot, yt as st } from "./features-DU6lA8l1.js";
3
+ import { A as ct, D as lt, F as ut, G as dt, K as ft, N as pt, O as mt, R as ht, T as gt, V as _t, W as vt, Y as yt, d as bt, g as xt, h as St, k as Ct, m as wt, p as Tt, q as Et, s as Dt, w as Ot, x as H } from "./icons-BjHUZZyJ.js";
4
+ import { t as kt } from "./readableTextColor-f8Kykfnh.js";
5
+ import { t as At } from "./CountdownBlock-DChGTAsH.js";
6
+ import { t as jt } from "./blockTypeIcons-Kd1MT0u8.js";
7
+ import { _ as Mt, c as Nt, f as U, g as Pt, h as W, l as Ft, m as G, p as K, r as It, t as Lt } from "./styleConstants-lGobwiLH.js";
8
+ import { i as q, n as J, r as Y, t as Rt } from "./NumberWithSuffix-HTbuD3VJ.js";
9
9
  //#region src/utils/resolveLintOptions.ts
10
- function Ft(e) {
10
+ function zt(e) {
11
11
  return {
12
12
  ...e.lint,
13
13
  locale: e.locale
@@ -15,19 +15,19 @@ function Ft(e) {
15
15
  }
16
16
  //#endregion
17
17
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
18
- var It = ["aria-label"], Lt = {
18
+ var Bt = ["aria-label"], Vt = {
19
19
  key: 0,
20
20
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
21
- }, Rt = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, zt = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Bt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Vt = {
21
+ }, Ht = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Ut = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Wt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Gt = {
22
22
  key: 0,
23
23
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
24
- }, Ht = {
24
+ }, Kt = {
25
25
  key: 1,
26
26
  class: "tpl:m-0 tpl:mt-4 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
27
- }, Ut = { class: "tpl:relative" }, Wt = {
27
+ }, qt = { class: "tpl:relative" }, Jt = {
28
28
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
29
29
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
30
- }, Gt = 96, Kt = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
30
+ }, Yt = 96, Xt = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
31
31
  __name: "Canvas",
32
32
  props: {
33
33
  viewport: {},
@@ -44,21 +44,21 @@ var It = ["aria-label"], Lt = {
44
44
  ],
45
45
  setup(e, { emit: t }) {
46
46
  let n = {
47
- section: oe,
48
- title: ue,
47
+ section: le,
48
+ title: pe,
49
49
  paragraph: Ee,
50
50
  image: Te,
51
- button: pe,
52
- divider: ce,
53
- spacer: me,
54
- html: ie,
55
- social: ve,
56
- menu: ae,
57
- table: fe,
58
- video: Ke,
59
- countdown: Dt,
60
- custom: Je
61
- }, i = e, s = t, { t: d } = z(), { t: p } = Re(), m = Pe(se, "Canvas"), b = l(ke, null), S = l(F, null), C = l(De, {}), A = g(() => (C.plan?.hasFeature("ai_generation") ?? !1) && (C.ai?.isFeatureEnabled("chat") ?? !1)), M = g(() => (C.plan?.hasFeature("ai_generation") ?? !1) && (C.ai?.isFeatureEnabled("designToTemplate") ?? !1)), N = g({
51
+ button: ge,
52
+ divider: Qe,
53
+ spacer: he,
54
+ html: fe,
55
+ social: ye,
56
+ menu: se,
57
+ table: me,
58
+ video: We,
59
+ countdown: At,
60
+ custom: ue
61
+ }, i = e, s = t, { t: d } = B(), { t: p } = nt(), m = Je(Ae, "Canvas"), b = l(oe, null), S = l(De, null), C = l(ce, {}), j = g(() => (C.plan?.hasFeature("ai_generation") ?? !1) && (C.ai?.isFeatureEnabled("chat") ?? !1)), N = g(() => (C.plan?.hasFeature("ai_generation") ?? !1) && (C.ai?.isFeatureEnabled("designToTemplate") ?? !1)), P = g({
62
62
  get: () => i.content.blocks,
63
63
  set: (e) => {
64
64
  m.setContent({
@@ -66,31 +66,31 @@ var It = ["aria-label"], Lt = {
66
66
  blocks: e
67
67
  });
68
68
  }
69
- }), P = g(() => {
69
+ }), F = g(() => {
70
70
  switch (i.viewport) {
71
71
  case "mobile": return 375;
72
72
  default: return i.content.settings.width;
73
73
  }
74
- }), te = g(() => P.value + Gt * 2), ne = g(() => ({ fontFamily: i.content.settings.fontFamily })), I = g(() => N.value.length === 0 && !i.previewMode), L = f(0), R = g(() => I.value && L.value > 0);
75
- function B() {
76
- I.value && (L.value += 1);
74
+ }), te = g(() => F.value + Yt * 2), I = g(() => ({ fontFamily: i.content.settings.fontFamily })), L = g(() => P.value.length === 0 && !i.previewMode), R = f(0), ne = g(() => L.value && R.value > 0);
75
+ function re() {
76
+ L.value && (R.value += 1);
77
77
  }
78
- function le() {
79
- I.value && (L.value = Math.max(0, L.value - 1));
78
+ function ie() {
79
+ L.value && (R.value = Math.max(0, R.value - 1));
80
80
  }
81
- function de() {
82
- L.value = 0;
81
+ function ae() {
82
+ R.value = 0;
83
83
  }
84
- function he(e) {
84
+ function z(e) {
85
85
  i.previewMode || e.target === e.currentTarget && s("select-block", null);
86
86
  }
87
- function ge(e) {
88
- return re(e, S, n);
87
+ function de(e) {
88
+ return ee(e, S, n);
89
89
  }
90
90
  function V(e) {
91
91
  return i.lockedBlocks?.get(e) ?? null;
92
92
  }
93
- function ye(e, t) {
93
+ function _e(e, t) {
94
94
  e.type === "custom" && m.updateBlock(e.id, {
95
95
  fieldValues: t.fieldValues,
96
96
  dataSourceFetched: t.dataSourceFetched
@@ -116,7 +116,7 @@ var It = ["aria-label"], Lt = {
116
116
  "aria-label": y(d).landmarks.canvas,
117
117
  class: "tpl-canvas-wrapper tpl:relative",
118
118
  style: D({
119
- width: `${P.value}px`,
119
+ width: `${F.value}px`,
120
120
  transition: "width 300ms cubic-bezier(0.34, 1.56, 0.64, 1)"
121
121
  })
122
122
  }, [T("div", {
@@ -124,11 +124,11 @@ var It = ["aria-label"], Lt = {
124
124
  "tpl-canvas--dark-mode": e.darkMode,
125
125
  "tpl-preview-mode": e.previewMode
126
126
  }]),
127
- style: D(ne.value),
128
- onClick: he
129
- }, [j(y(ee), {
130
- modelValue: N.value,
131
- "onUpdate:modelValue": n[2] ||= (e) => N.value = e,
127
+ style: D(I.value),
128
+ onClick: z
129
+ }, [M(y(O), {
130
+ modelValue: P.value,
131
+ "onUpdate:modelValue": n[2] ||= (e) => P.value = e,
132
132
  group: "blocks",
133
133
  animation: 150,
134
134
  "ghost-class": "tpl-ghost",
@@ -141,47 +141,47 @@ var It = ["aria-label"], Lt = {
141
141
  "force-fallback": !0,
142
142
  class: w([
143
143
  "tpl-canvas-blocks",
144
- I.value ? "tpl-canvas-empty tpl:m-6 tpl:flex tpl:min-h-[400px] tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-xl tpl:border-2 tpl:border-dashed tpl:px-10 tpl:py-12 tpl:text-center tpl:bg-[var(--tpl-bg-elevated)] tpl:font-[var(--tpl-font-family)] tpl:transition-colors tpl:duration-150" : "",
145
- I.value && R.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
146
- I.value && !R.value ? "tpl:border-[var(--tpl-primary)]" : ""
144
+ L.value ? "tpl-canvas-empty tpl:m-6 tpl:flex tpl:min-h-[400px] tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-xl tpl:border-2 tpl:border-dashed tpl:px-10 tpl:py-12 tpl:text-center tpl:bg-[var(--tpl-bg-elevated)] tpl:font-[var(--tpl-font-family)] tpl:transition-colors tpl:duration-150" : "",
145
+ L.value && ne.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
146
+ L.value && !ne.value ? "tpl:border-[var(--tpl-primary)]" : ""
147
147
  ]),
148
- onDragenter: B,
149
- onDragleave: le,
150
- onDrop: de
148
+ onDragenter: re,
149
+ onDragleave: ie,
150
+ onDrop: ae
151
151
  }, {
152
- default: u(() => [I.value ? (o(), _("div", Lt, [
153
- T("div", Rt, [j(y(Ct), {
152
+ default: u(() => [L.value ? (o(), _("div", Vt, [
153
+ T("div", Ht, [M(y(Et), {
154
154
  size: 48,
155
155
  "stroke-width": 1
156
156
  })]),
157
- T("p", zt, h(y(d).canvas.noBlocks), 1),
158
- T("p", Bt, h(y(d).canvas.dragHint), 1),
159
- A.value && y(p) ? (o(), _("p", Vt, [
160
- k(h(y(d).canvas.aiHintChat) + " ", 1),
157
+ T("p", Ut, h(y(d).canvas.noBlocks), 1),
158
+ T("p", Wt, h(y(d).canvas.dragHint), 1),
159
+ j.value && y(p) ? (o(), _("p", Gt, [
160
+ A(h(y(d).canvas.aiHintChat) + " ", 1),
161
161
  T("button", {
162
162
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
163
163
  onClick: n[0] ||= (e) => s("open-ai-chat")
164
- }, [j(y(_e), {
164
+ }, [M(y(qe), {
165
165
  size: 14,
166
166
  "stroke-width": 2
167
- }), k(" " + h(y(p).aiMenu.aiAssistant), 1)]),
168
- k(" " + h(y(d).canvas.aiHintChatSuffix), 1)
167
+ }), A(" " + h(y(p).aiMenu.aiAssistant), 1)]),
168
+ A(" " + h(y(d).canvas.aiHintChatSuffix), 1)
169
169
  ])) : v("", !0),
170
- M.value && y(p) ? (o(), _("p", Ht, [
171
- k(h(y(d).canvas.aiHintDesign) + " ", 1),
170
+ N.value && y(p) ? (o(), _("p", Kt, [
171
+ A(h(y(d).canvas.aiHintDesign) + " ", 1),
172
172
  T("button", {
173
173
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
174
174
  onClick: n[1] ||= (e) => s("open-design-reference")
175
- }, [j(y(et), {
175
+ }, [M(y(st), {
176
176
  size: 14,
177
177
  "stroke-width": 2
178
- }), k(" " + h(y(p).aiMenu.designToTemplate), 1)]),
179
- k(" " + h(y(d).canvas.aiHintDesignSuffix), 1)
178
+ }), A(" " + h(y(p).aiMenu.designToTemplate), 1)]),
179
+ A(" " + h(y(d).canvas.aiHintDesignSuffix), 1)
180
180
  ])) : v("", !0)
181
- ])) : v("", !0), (o(!0), _(O, null, c(N.value, (t) => r((o(), _("div", {
181
+ ])) : v("", !0), (o(!0), _(k, null, c(P.value, (t) => r((o(), _("div", {
182
182
  key: t.id,
183
183
  class: "tpl-block-item"
184
- }, [T("div", Ut, [V(t.id) ? (o(), _("div", {
184
+ }, [T("div", qt, [V(t.id) ? (o(), _("div", {
185
185
  key: 0,
186
186
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
187
187
  style: D({
@@ -192,19 +192,19 @@ var It = ["aria-label"], Lt = {
192
192
  class: "tpl:absolute tpl:-top-0.5 tpl:left-1/2 tpl:z-[5] tpl:flex tpl:-translate-x-1/2 tpl:-translate-y-full tpl:items-center tpl:gap-1 tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:whitespace-nowrap",
193
193
  style: D({
194
194
  backgroundColor: V(t.id).color,
195
- color: y(Et)(V(t.id).color)
195
+ color: y(kt)(V(t.id).color)
196
196
  })
197
- }, [T("span", Wt, h(V(t.id).name.charAt(0)), 1), k(" " + h(V(t.id).name), 1)], 4)], 4)) : v("", !0), j(be, {
197
+ }, [T("span", Jt, h(V(t.id).name.charAt(0)), 1), A(" " + h(V(t.id).name), 1)], 4)], 4)) : v("", !0), M(Se, {
198
198
  block: t,
199
199
  "is-selected": !e.previewMode && e.selectedBlockId === t.id && !V(t.id),
200
200
  viewport: e.viewport,
201
201
  "preview-mode": e.previewMode,
202
202
  onSelect: (n) => e.previewMode || V(t.id) ? void 0 : s("select-block", t.id)
203
203
  }, {
204
- default: u(() => [(o(), x(a(ge(t)), {
204
+ default: u(() => [(o(), x(a(de(t)), {
205
205
  block: t,
206
206
  viewport: e.viewport,
207
- onFetchData: (e) => ye(t, e),
207
+ onFetchData: (e) => _e(t, e),
208
208
  onUpdate: (e) => y(m).updateBlock(t.id, e)
209
209
  }, null, 40, [
210
210
  "block",
@@ -225,12 +225,12 @@ var It = ["aria-label"], Lt = {
225
225
  "modelValue",
226
226
  "disabled",
227
227
  "class"
228
- ])], 6)], 12, It)], 4));
228
+ ])], 6)], 12, Bt)], 4));
229
229
  }
230
- }), [["__scopeId", "data-v-a9a1158b"]]), qt = A({
230
+ }), [["__scopeId", "data-v-a9a1158b"]]), Zt = j({
231
231
  name: "CustomBlockStylesheets",
232
232
  setup() {
233
- let t = l(le, null);
233
+ let t = l($e, null);
234
234
  return () => t ? t.value.map((t, n) => e("style", {
235
235
  key: n,
236
236
  "data-tpl-custom-block-stylesheet": "",
@@ -240,7 +240,7 @@ var It = ["aria-label"], Lt = {
240
240
  });
241
241
  //#endregion
242
242
  //#region src/utils/resolvePaletteBlocks.ts
243
- function Jt(e, t) {
243
+ function Qt(e, t) {
244
244
  if (!t || t.length === 0) return {
245
245
  items: e,
246
246
  unknown: []
@@ -259,37 +259,37 @@ function Jt(e, t) {
259
259
  }
260
260
  //#endregion
261
261
  //#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
262
- var Yt = ["aria-label"], Xt = {
262
+ var $t = ["aria-label"], en = {
263
263
  key: 0,
264
264
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
265
- }, Zt = ["aria-label"], Qt = {
265
+ }, tn = ["aria-label"], nn = {
266
266
  key: 0,
267
267
  class: "tpl:flex-1 tpl:truncate tpl:text-sm tpl:font-medium"
268
- }, $t = {
268
+ }, rn = {
269
269
  key: 1,
270
270
  class: "tpl:shrink-0 tpl:rounded-full tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]"
271
- }, en = [
271
+ }, an = [
272
272
  "data-palette-type",
273
273
  "aria-label",
274
274
  "onClick",
275
275
  "onKeydown"
276
- ], tn = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:scale-105" }, nn = {
276
+ ], on = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:scale-105" }, sn = {
277
277
  key: 0,
278
278
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
279
- }, rn = /* @__PURE__ */ A({
279
+ }, cn = /* @__PURE__ */ j({
280
280
  __name: "Sidebar",
281
281
  setup(e) {
282
- let { t, format: n } = z(), { t: r } = Re(), i = l(B, []), s = l(P, void 0), d = l(it, void 0), p = l(se, null), m = l(De, {}), b = g(() => (m.savedModules?.moduleCount.value ?? 0) > 0), S = f(!1), C = f(!1);
282
+ let { t, format: n } = B(), { t: r } = nt(), i = l(V, []), s = l(ze, void 0), d = l(te, void 0), p = l(Ae, null), m = l(ce, {}), b = g(() => (m.savedModules?.moduleCount.value ?? 0) > 0), S = f(!1), C = f(!1);
283
283
  function w() {
284
284
  C.value || (S.value = !1);
285
285
  }
286
286
  function E() {
287
287
  C.value = !0;
288
288
  }
289
- function k() {
289
+ function A() {
290
290
  C.value = !1;
291
291
  }
292
- let A = [
292
+ let j = [
293
293
  "section",
294
294
  "image",
295
295
  "title",
@@ -302,38 +302,38 @@ var Yt = ["aria-label"], Xt = {
302
302
  "table",
303
303
  "spacer",
304
304
  "html"
305
- ], N = g(() => {
306
- let e = A.map((e) => ({
305
+ ], P = g(() => {
306
+ let e = j.map((e) => ({
307
307
  type: e,
308
- label: V(e, t)
308
+ label: ae(e, t)
309
309
  }));
310
310
  return m.plan && e.splice(-1, 0, {
311
311
  type: "countdown",
312
- label: V("countdown", t)
312
+ label: ae("countdown", t)
313
313
  }), e;
314
- }), te = g(() => i.map((e) => ({
314
+ }), F = g(() => i.map((e) => ({
315
315
  type: `custom:${e.type}`,
316
316
  label: e.name,
317
317
  isCustom: !0,
318
318
  icon: e.icon
319
- }))), ne = g(() => [...N.value, ...te.value]), re = g(() => Jt(ne.value, s)), F = g(() => re.value.items), I = /* @__PURE__ */ new Set();
320
- M(() => re.value.unknown, (e) => {
321
- for (let t of e) I.has(t) || (I.add(t), he.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
319
+ }))), ee = g(() => [...P.value, ...F.value]), I = g(() => Qt(ee.value, s)), L = g(() => I.value.items), re = /* @__PURE__ */ new Set();
320
+ N(() => I.value.unknown, (e) => {
321
+ for (let t of e) re.has(t) || (re.add(t), be.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
322
322
  }, { immediate: !0 });
323
- function R(e) {
323
+ function ie(e) {
324
324
  if (e.isCustom) {
325
325
  let t = e.type.replace("custom:", ""), n = i.find((e) => e.type === t);
326
- if (n) return L(n);
326
+ if (n) return R(n);
327
327
  }
328
- return Ce(e.type, d);
328
+ return ne(e.type, d);
329
329
  }
330
- function ie(e) {
330
+ function z(e) {
331
331
  if (!p) return;
332
- let t = R(e);
332
+ let t = ie(e);
333
333
  p.addBlock(t), p.selectBlock(t.id);
334
334
  }
335
- function ae(e, t) {
336
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ie(t));
335
+ function oe(e, t) {
336
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), z(t));
337
337
  }
338
338
  return (e, i) => (o(), _("aside", {
339
339
  "aria-label": y(t).sidebarNav.palette,
@@ -349,61 +349,61 @@ var Yt = ["aria-label"], Xt = {
349
349
  onMouseleave: w,
350
350
  onFocusin: i[2] ||= (e) => S.value = !0,
351
351
  onFocusout: i[3] ||= (e) => S.value = !1
352
- }, [b.value && y(r) ? (o(), _("div", Xt, [T("button", {
352
+ }, [b.value && y(r) ? (o(), _("div", en, [T("button", {
353
353
  type: "button",
354
354
  "aria-label": y(t).sidebarNav.browseModules,
355
355
  class: "tpl:flex tpl:h-10 tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-3 tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)]",
356
356
  style: D({ justifyContent: S.value ? "flex-start" : "center" }),
357
357
  onClick: i[0] ||= (e) => y(m).savedModules?.openBrowser()
358
358
  }, [
359
- j(y(pt), {
359
+ M(y(gt), {
360
360
  size: 20,
361
361
  "stroke-width": 1.5,
362
362
  class: "tpl:shrink-0"
363
363
  }),
364
- S.value ? (o(), _("span", Qt, h(y(r).modules.title), 1)) : v("", !0),
365
- S.value ? (o(), _("span", $t, h(y(m).savedModules?.moduleCount.value ?? 0), 1)) : v("", !0)
366
- ], 12, Zt)])) : v("", !0), j(y(ee), {
367
- "model-value": F.value,
364
+ S.value ? (o(), _("span", nn, h(y(r).modules.title), 1)) : v("", !0),
365
+ S.value ? (o(), _("span", rn, h(y(m).savedModules?.moduleCount.value ?? 0), 1)) : v("", !0)
366
+ ], 12, tn)])) : v("", !0), M(y(O), {
367
+ "model-value": L.value,
368
368
  group: {
369
369
  name: "blocks",
370
370
  pull: "clone",
371
371
  put: !1
372
372
  },
373
- clone: R,
373
+ clone: ie,
374
374
  sort: !1,
375
375
  animation: 150,
376
376
  "force-fallback": !0,
377
377
  class: "tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col tpl:gap-0.5 tpl:overflow-y-auto tpl:p-1",
378
378
  onChoose: E,
379
- onEnd: k
379
+ onEnd: A
380
380
  }, {
381
- default: u(() => [(o(!0), _(O, null, c(F.value, (e) => (o(), _("button", {
381
+ default: u(() => [(o(!0), _(k, null, c(L.value, (e) => (o(), _("button", {
382
382
  key: e.type,
383
383
  type: "button",
384
384
  "data-palette-type": e.type,
385
385
  "aria-label": y(n)(y(t).sidebarNav.insertBlock, { block: e.label }),
386
386
  class: "tpl:flex tpl:h-10 tpl:w-full tpl:shrink-0 tpl:cursor-grab tpl:items-center tpl:gap-3 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-3 tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] active:tpl:cursor-grabbing",
387
387
  style: D({ justifyContent: S.value ? "flex-start" : "center" }),
388
- onClick: (t) => ie(e),
389
- onKeydown: (t) => ae(t, e)
390
- }, [T("div", tn, [y(Ot)[e.type] ? (o(), x(a(y(Ot)[e.type]), {
388
+ onClick: (t) => z(e),
389
+ onKeydown: (t) => oe(t, e)
390
+ }, [T("div", on, [y(jt)[e.type] ? (o(), x(a(y(jt)[e.type]), {
391
391
  key: 0,
392
392
  size: 20,
393
393
  "stroke-width": 1.5
394
- })) : e.isCustom ? (o(), x(Ge, {
394
+ })) : e.isCustom ? (o(), x(Fe, {
395
395
  key: 1,
396
396
  icon: e.icon,
397
397
  size: 20
398
- }, null, 8, ["icon"])) : v("", !0)]), S.value ? (o(), _("span", nn, h(e.label), 1)) : v("", !0)], 44, en))), 128))]),
398
+ }, null, 8, ["icon"])) : v("", !0)]), S.value ? (o(), _("span", sn, h(e.label), 1)) : v("", !0)], 44, an))), 128))]),
399
399
  _: 1
400
- }, 8, ["model-value"])], 44, Yt));
400
+ }, 8, ["model-value"])], 44, $t));
401
401
  }
402
402
  });
403
403
  //#endregion
404
404
  //#region src/composables/useMergeTagField.ts
405
- function an(e) {
406
- let { modelValue: t, emit: r, elementRef: a } = e, { canRequestMergeTag: o, isRequesting: c, isMergeTagValue: l, getMergeTagLabel: u, requestMergeTag: d, syntax: p } = N(), m = f(!1), h = !1, _ = !1;
405
+ function ln(e) {
406
+ let { modelValue: t, emit: r, elementRef: a } = e, { canRequestMergeTag: o, isRequesting: c, isMergeTagValue: l, getMergeTagLabel: u, requestMergeTag: d, syntax: p } = Be(), m = f(!1), h = !1, _ = !1;
407
407
  n() && i(() => {
408
408
  _ = !0;
409
409
  });
@@ -421,10 +421,10 @@ function an(e) {
421
421
  type: "mergeTag",
422
422
  value: t,
423
423
  label: u(t)
424
- }) : xe(t, p) ? n.push({
424
+ }) : I(t, p) ? n.push({
425
425
  type: "logicMergeTag",
426
426
  value: t,
427
- keyword: Ie(t, p)
427
+ keyword: it(t, p)
428
428
  }) : n.push({
429
429
  type: "text",
430
430
  value: t
@@ -484,10 +484,10 @@ function an(e) {
484
484
  }
485
485
  //#endregion
486
486
  //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
487
- var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip"], ln = {
487
+ var un = ["aria-label", "onKeydown"], dn = ["data-tooltip"], fn = ["data-tooltip"], pn = {
488
488
  key: 2,
489
489
  class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
490
- }, un = ["aria-label", "title"], dn = /* @__PURE__ */ A({
490
+ }, mn = ["aria-label", "title"], hn = /* @__PURE__ */ j({
491
491
  __name: "MergeTagSegments",
492
492
  props: {
493
493
  segments: {},
@@ -496,7 +496,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
496
496
  },
497
497
  emits: ["edit", "clear"],
498
498
  setup(e, { emit: t }) {
499
- let n = t, { t: r } = z();
499
+ let n = t, { t: r } = B();
500
500
  function i() {
501
501
  n("edit");
502
502
  }
@@ -507,7 +507,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
507
507
  class: w([e.displayClass, { "tpl-pulse-fill": e.pulse }]),
508
508
  onClick: i,
509
509
  onKeydown: [m(i, ["enter"]), m(b(i, ["prevent"]), ["space"])]
510
- }, [(o(!0), _(O, null, c(e.segments, (e, t) => (o(), _(O, { key: `${e.type}-${t}-${e.value}` }, [e.type === "mergeTag" ? (o(), _("span", {
510
+ }, [(o(!0), _(k, null, c(e.segments, (e, t) => (o(), _(k, { key: `${e.type}-${t}-${e.value}` }, [e.type === "mergeTag" ? (o(), _("span", {
511
511
  key: 0,
512
512
  class: "tpl-tooltip tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.9em] tpl:font-medium",
513
513
  "data-tooltip": e.value,
@@ -515,7 +515,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
515
515
  "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
516
516
  color: "var(--tpl-primary)"
517
517
  }
518
- }, h(e.label), 9, sn)) : e.type === "logicMergeTag" ? (o(), _("span", {
518
+ }, h(e.label), 9, dn)) : e.type === "logicMergeTag" ? (o(), _("span", {
519
519
  key: 1,
520
520
  class: "tpl-tooltip tpl:inline-flex tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.8em] tpl:font-bold tpl:tracking-wide tpl:uppercase",
521
521
  "data-tooltip": e.value,
@@ -524,44 +524,44 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
524
524
  border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
525
525
  color: "var(--tpl-primary)"
526
526
  }
527
- }, h(e.keyword), 9, cn)) : (o(), _("span", ln, h(e.value), 1))], 64))), 128)), T("button", {
527
+ }, h(e.keyword), 9, fn)) : (o(), _("span", pn, h(e.value), 1))], 64))), 128)), T("button", {
528
528
  type: "button",
529
529
  class: "tpl:ml-auto tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-full tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-[var(--tpl-text-dim)] tpl:opacity-60 tpl:transition-all hover:tpl:text-[var(--tpl-danger)] hover:tpl:opacity-100",
530
530
  "aria-label": y(r).mergeTag.remove,
531
531
  title: y(r).mergeTag.remove,
532
532
  onClick: a[0] ||= b((e) => n("clear"), ["stop"])
533
- }, [j(y(Fe), {
533
+ }, [M(y(Ye), {
534
534
  size: 12,
535
535
  "stroke-width": 2.5
536
- })], 8, un)], 42, on));
536
+ })], 8, mn)], 42, un));
537
537
  }
538
- }), fn = [
538
+ }), gn = [
539
539
  "aria-label",
540
540
  "title",
541
541
  "disabled"
542
- ], pn = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] hover:tpl:border-[var(--tpl-primary)]", mn = /* @__PURE__ */ A({
542
+ ], _n = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] hover:tpl:border-[var(--tpl-primary)]", vn = /* @__PURE__ */ j({
543
543
  __name: "MergeTagInsertButton",
544
544
  props: { disabled: { type: Boolean } },
545
545
  emits: ["insert"],
546
546
  setup(e) {
547
- let { t } = z();
547
+ let { t } = B();
548
548
  return (n, r) => (o(), _("button", {
549
549
  type: "button",
550
- class: w([pn, "tpl:mt-1.5"]),
550
+ class: w([_n, "tpl:mt-1.5"]),
551
551
  "aria-label": y(t).mergeTag.insert,
552
552
  title: y(t).mergeTag.insert,
553
553
  disabled: e.disabled,
554
554
  onClick: r[0] ||= (e) => n.$emit("insert")
555
- }, [j(y(vt), {
555
+ }, [M(y(xt), {
556
556
  size: 12,
557
557
  "stroke-width": 2
558
- }), k(" " + h(y(t).mergeTag.insert), 1)], 10, fn));
558
+ }), A(" " + h(y(t).mergeTag.insert), 1)], 10, gn));
559
559
  }
560
- }), hn = { key: 0 }, gn = { key: 1 }, _n = [
560
+ }), yn = { key: 0 }, bn = { key: 1 }, xn = [
561
561
  "value",
562
562
  "placeholder",
563
563
  "rows"
564
- ], vn = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", yn = "tpl:flex tpl:w-full tpl:min-h-20 tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", bn = /* @__PURE__ */ A({
564
+ ], Sn = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", Cn = "tpl:flex tpl:w-full tpl:min-h-20 tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", wn = /* @__PURE__ */ j({
565
565
  __name: "MergeTagTextarea",
566
566
  props: {
567
567
  modelValue: {},
@@ -570,46 +570,46 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
570
570
  },
571
571
  emits: ["update:modelValue"],
572
572
  setup(e, { emit: t }) {
573
- let n = e, r = t, i = f(null), { segments: a, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: l, isEditing: u, startEditing: d, stopEditing: p, handleInput: h, clearValue: g, insertMergeTag: b } = an({
573
+ let n = e, r = t, i = f(null), { segments: a, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: l, isEditing: u, startEditing: d, stopEditing: p, handleInput: h, clearValue: g, insertMergeTag: b } = ln({
574
574
  modelValue: () => n.modelValue,
575
575
  emit: (e) => r("update:modelValue", e),
576
576
  elementRef: i
577
577
  });
578
- return (t, n) => y(s) && !y(u) ? (o(), _("div", hn, [j(dn, {
578
+ return (t, n) => y(s) && !y(u) ? (o(), _("div", yn, [M(hn, {
579
579
  segments: y(a),
580
- "display-class": yn,
580
+ "display-class": Cn,
581
581
  onEdit: y(d),
582
582
  onClear: y(g)
583
583
  }, null, 8, [
584
584
  "segments",
585
585
  "onEdit",
586
586
  "onClear"
587
- ]), y(c) ? (o(), x(mn, {
587
+ ]), y(c) ? (o(), x(vn, {
588
588
  key: 0,
589
589
  disabled: y(l),
590
590
  onInsert: y(b)
591
- }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (o(), _("div", gn, [T("textarea", {
591
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (o(), _("div", bn, [T("textarea", {
592
592
  ref_key: "textareaRef",
593
593
  ref: i,
594
- class: w(vn),
594
+ class: w(Sn),
595
595
  value: e.modelValue,
596
596
  placeholder: e.placeholder,
597
597
  rows: e.rows,
598
598
  onInput: n[0] ||= (...e) => y(h) && y(h)(...e),
599
599
  onBlur: n[1] ||= (...e) => y(p) && y(p)(...e),
600
600
  onKeydown: n[2] ||= m((...e) => y(p) && y(p)(...e), ["escape"])
601
- }, null, 40, _n), y(c) ? (o(), x(mn, {
601
+ }, null, 40, xn), y(c) ? (o(), x(vn, {
602
602
  key: 0,
603
603
  disabled: y(l),
604
604
  onInsert: y(b)
605
605
  }, null, 8, ["disabled", "onInsert"])) : v("", !0)]));
606
606
  }
607
- }), xn = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, Sn = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, Cn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, wn = { class: "tpl:mb-3.5" }, Tn = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, En = ["onClick"], Dn = { class: "tpl:flex tpl:items-stretch" }, On = ["value"], kn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, An = { class: "tpl:mb-3.5" }, jn = ["value"], Mn = ["value"], Nn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Pn = ["value"], Fn = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, In = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ln = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Rn = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, zn = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Bn = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Vn = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, Hn = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Un = { class: "tpl:mb-1 tpl:last:mb-0" }, Wn = { class: "tpl:mb-1 tpl:last:mb-0" }, Gn = { class: "tpl:mb-1 tpl:last:mb-0" }, Kn = 150, qn = /* @__PURE__ */ A({
607
+ }), Tn = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, En = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, Dn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, On = { class: "tpl:mb-3.5" }, kn = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, An = ["onClick"], jn = { class: "tpl:flex tpl:items-stretch" }, Mn = ["value"], Nn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Pn = { class: "tpl:mb-3.5" }, Fn = ["value"], In = ["value"], Ln = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Rn = ["value"], zn = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Bn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Vn = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Hn = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Un = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Wn = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Gn = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, Kn = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, qn = { class: "tpl:mb-1 tpl:last:mb-0" }, Jn = { class: "tpl:mb-1 tpl:last:mb-0" }, Yn = { class: "tpl:mb-1 tpl:last:mb-0" }, Xn = 150, Zn = /* @__PURE__ */ j({
608
608
  __name: "TemplateSettings",
609
609
  props: { settings: {} },
610
610
  emits: ["update"],
611
611
  setup(e, { emit: t }) {
612
- let n = e, r = t, { t: i } = z(), a = Pe(je, "TemplateSettings"), s = g(() => a.fonts.value), l = g(() => s.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : a.defaultFont.value), u = [
612
+ let n = e, r = t, { t: i } = B(), a = Je(ke, "TemplateSettings"), s = g(() => a.fonts.value), l = g(() => s.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : a.defaultFont.value), u = [
613
613
  {
614
614
  value: 480,
615
615
  label: "480px"
@@ -627,14 +627,14 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
627
627
  label: "800px"
628
628
  }
629
629
  ];
630
- return (t, n) => (o(), _("aside", xn, [T("div", Sn, [
631
- T("div", { class: w(y(Mt)) }, [
632
- T("div", Cn, [j(y(_t), {
630
+ return (t, n) => (o(), _("aside", Tn, [T("div", En, [
631
+ T("div", { class: w(y(Ft)) }, [
632
+ T("div", Dn, [M(y(bt), {
633
633
  class: "tpl:text-[var(--tpl-text-muted)]",
634
634
  size: 14,
635
635
  "stroke-width": 2
636
636
  }), T("span", null, h(y(i).templateSettings.layout), 1)]),
637
- T("div", wn, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.widthPreset), 3), T("div", Tn, [(o(), _(O, null, c(u, (t) => T("button", {
637
+ T("div", On, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.widthPreset), 3), T("div", kn, [(o(), _(k, null, c(u, (t) => T("button", {
638
638
  key: t.value,
639
639
  class: "tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
640
640
  style: D({
@@ -643,37 +643,37 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
643
643
  boxShadow: e.settings.width === t.value ? "var(--tpl-shadow)" : "none"
644
644
  }),
645
645
  onClick: (e) => r("update", { width: t.value })
646
- }, h(t.label), 13, En)), 64))])]),
647
- T("div", null, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.customWidth), 3), T("div", Dn, [T("input", {
646
+ }, h(t.label), 13, An)), 64))])]),
647
+ T("div", null, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.customWidth), 3), T("div", jn, [T("input", {
648
648
  type: "number",
649
649
  class: w(y(K)),
650
650
  value: e.settings.width,
651
651
  min: "300",
652
652
  max: "900",
653
653
  onInput: n[0] ||= (e) => r("update", { width: Number(e.target.value) })
654
- }, null, 42, On), T("span", { class: w(y(G)) }, "px", 2)])])
654
+ }, null, 42, Mn), T("span", { class: w(y(G)) }, "px", 2)])])
655
655
  ], 2),
656
- T("div", { class: w(y(Mt)) }, [
657
- T("div", kn, [j(y(mt), {
656
+ T("div", { class: w(y(Ft)) }, [
657
+ T("div", Nn, [M(y(_t), {
658
658
  class: "tpl:text-[var(--tpl-text-muted)]",
659
659
  size: 14,
660
660
  "stroke-width": 2
661
661
  }), T("span", null, h(y(i).templateSettings.appearance), 1)]),
662
- T("div", An, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.backgroundColor), 3), j(q, {
662
+ T("div", Pn, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.backgroundColor), 3), M(q, {
663
663
  "model-value": e.settings.backgroundColor,
664
- placeholder: y(Nt),
664
+ placeholder: y(Lt),
665
665
  "onUpdate:modelValue": n[1] ||= (e) => r("update", { backgroundColor: e })
666
666
  }, null, 8, ["model-value", "placeholder"])]),
667
667
  T("div", null, [T("label", { class: w(y(W)) }, h(y(i).templateSettings.fontFamily), 3), T("select", {
668
668
  class: w(y(U)),
669
669
  value: l.value,
670
670
  onChange: n[2] ||= (e) => r("update", { fontFamily: e.target.value })
671
- }, [(o(!0), _(O, null, c(s.value, (e) => (o(), _("option", {
671
+ }, [(o(!0), _(k, null, c(s.value, (e) => (o(), _("option", {
672
672
  key: e.value,
673
673
  value: e.value
674
- }, h(e.label), 9, Mn))), 128))], 42, jn)])
674
+ }, h(e.label), 9, In))), 128))], 42, Fn)])
675
675
  ], 2),
676
- T("div", { class: w(y(Mt)) }, [T("div", Nn, [j(y(ft), {
676
+ T("div", { class: w(y(Ft)) }, [T("div", Ln, [M(y(ht), {
677
677
  class: "tpl:text-[var(--tpl-text-muted)]",
678
678
  size: 14,
679
679
  "stroke-width": 2
@@ -688,34 +688,34 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
688
688
  autocapitalize: "off",
689
689
  autocomplete: "off",
690
690
  onInput: n[3] ||= (e) => r("update", { locale: e.target.value.trim() || void 0 })
691
- }, null, 42, Pn),
692
- T("p", Fn, h(y(i).templateSettings.contentLocaleHint), 1)
691
+ }, null, 42, Rn),
692
+ T("p", zn, h(y(i).templateSettings.contentLocaleHint), 1)
693
693
  ])], 2),
694
- T("div", { class: w(y(Mt)) }, [T("div", In, [j(y(rt), {
694
+ T("div", { class: w(y(Ft)) }, [T("div", Bn, [M(y(Le), {
695
695
  class: "tpl:text-[var(--tpl-text-muted)]",
696
696
  size: 14,
697
697
  "stroke-width": 2
698
- }), T("span", null, h(y(i).templateSettings.preheaderText), 1)]), T("div", null, [j(bn, {
698
+ }), T("span", null, h(y(i).templateSettings.preheaderText), 1)]), T("div", null, [M(wn, {
699
699
  "model-value": e.settings.preheaderText ?? "",
700
700
  placeholder: y(i).templateSettings.preheaderTextPlaceholder,
701
701
  rows: 2,
702
702
  "onUpdate:modelValue": n[4] ||= (e) => r("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
703
- }, null, 8, ["model-value", "placeholder"]), T("div", Ln, [T("span", Rn, h(y(i).templateSettings.preheaderTextHint), 1), T("span", zn, h((e.settings.preheaderText ?? "").length) + "/" + h(Kn), 1)])])], 2),
704
- T("div", Bn, [T("div", Vn, [j(y(He), {
703
+ }, null, 8, ["model-value", "placeholder"]), T("div", Vn, [T("span", Hn, h(y(i).templateSettings.preheaderTextHint), 1), T("span", Un, h((e.settings.preheaderText ?? "").length) + "/" + h(Xn), 1)])])], 2),
704
+ T("div", Wn, [T("div", Gn, [M(y(Ne), {
705
705
  size: 14,
706
706
  "stroke-width": 2
707
- }), T("span", null, h(y(i).templateSettings.tips), 1)]), T("ul", Hn, [
708
- T("li", Un, h(y(i).templateSettings.tip1), 1),
709
- T("li", Wn, h(y(i).templateSettings.tip2), 1),
710
- T("li", Gn, h(y(i).templateSettings.tip3), 1)
707
+ }), T("span", null, h(y(i).templateSettings.tips), 1)]), T("ul", Kn, [
708
+ T("li", qn, h(y(i).templateSettings.tip1), 1),
709
+ T("li", Jn, h(y(i).templateSettings.tip2), 1),
710
+ T("li", Yn, h(y(i).templateSettings.tip3), 1)
711
711
  ])])
712
712
  ])]));
713
713
  }
714
- }), Jn = { key: 0 }, Yn = { key: 1 }, Xn = [
714
+ }), Qn = { key: 0 }, $n = { key: 1 }, er = [
715
715
  "type",
716
716
  "value",
717
717
  "placeholder"
718
- ], Zn = "tpl:flex tpl:w-full tpl:min-h-10 tpl:cursor-pointer tpl:items-center tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3.5 tpl:py-1.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", X = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
718
+ ], tr = "tpl:flex tpl:w-full tpl:min-h-10 tpl:cursor-pointer tpl:items-center tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3.5 tpl:py-1.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", X = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
719
719
  __name: "MergeTagInput",
720
720
  props: {
721
721
  modelValue: {},
@@ -728,14 +728,14 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
728
728
  },
729
729
  emits: ["update:modelValue"],
730
730
  setup(e, { emit: t }) {
731
- let n = e, r = t, i = f(null), { segments: a, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: l, isEditing: u, startEditing: d, stopEditing: p, handleInput: h, clearValue: g, insertMergeTag: b } = an({
731
+ let n = e, r = t, i = f(null), { segments: a, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: l, isEditing: u, startEditing: d, stopEditing: p, handleInput: h, clearValue: g, insertMergeTag: b } = ln({
732
732
  modelValue: () => n.modelValue,
733
733
  emit: (e) => r("update:modelValue", e),
734
734
  elementRef: i
735
735
  });
736
- return (t, n) => y(s) && !y(u) ? (o(), _("div", Jn, [j(dn, {
736
+ return (t, n) => y(s) && !y(u) ? (o(), _("div", Qn, [M(hn, {
737
737
  segments: y(a),
738
- "display-class": Zn,
738
+ "display-class": tr,
739
739
  pulse: e.pulse,
740
740
  onEdit: y(d),
741
741
  onClear: y(g)
@@ -744,11 +744,11 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
744
744
  "pulse",
745
745
  "onEdit",
746
746
  "onClear"
747
- ]), y(c) ? (o(), x(mn, {
747
+ ]), y(c) ? (o(), x(vn, {
748
748
  key: 0,
749
749
  disabled: y(l),
750
750
  onInsert: y(b)
751
- }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (o(), _("div", Yn, [T("input", {
751
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (o(), _("div", $n, [T("input", {
752
752
  ref_key: "inputRef",
753
753
  ref: i,
754
754
  type: e.type,
@@ -758,19 +758,19 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
758
758
  onInput: n[0] ||= (...e) => y(h) && y(h)(...e),
759
759
  onBlur: n[1] ||= (...e) => y(p) && y(p)(...e),
760
760
  onKeydown: n[2] ||= m((...e) => y(p) && y(p)(...e), ["escape"])
761
- }, null, 42, Xn), y(c) ? (o(), x(mn, {
761
+ }, null, 42, er), y(c) ? (o(), x(vn, {
762
762
  key: 0,
763
763
  disabled: y(l),
764
764
  onInsert: y(b)
765
765
  }, null, 8, ["disabled", "onInsert"])) : v("", !0)]));
766
766
  }
767
- }), [["__scopeId", "data-v-358207dd"]]), Qn = { class: "tpl:mb-3.5" }, $n = ["value"], er = { value: "" }, tr = ["value"], nr = { class: "tpl:mb-3.5" }, rr = { class: "tpl:mb-3.5" }, ir = {
767
+ }), [["__scopeId", "data-v-358207dd"]]), nr = { class: "tpl:mb-3.5" }, rr = ["value"], ir = { value: "" }, ar = ["value"], or = { class: "tpl:mb-3.5" }, sr = { class: "tpl:mb-3.5" }, cr = {
768
768
  key: 0,
769
769
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
770
- }, ar = ["checked"], or = { class: "tpl:mb-3.5" }, sr = { class: "tpl:mb-3.5" }, cr = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, lr = { class: "tpl:mb-3.5" }, ur = { class: "tpl:flex tpl:items-stretch" }, dr = ["value"], fr = { class: "tpl:mb-3.5" }, pr = { class: "tpl:flex tpl:items-stretch" }, mr = ["value"], hr = { class: "tpl:mb-3.5" }, gr = ["value"], _r = { value: "auto" }, vr = { value: "full" }, yr = { value: "custom" }, br = {
770
+ }, lr = ["checked"], ur = { class: "tpl:mb-3.5" }, dr = { class: "tpl:mb-3.5" }, fr = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, pr = { class: "tpl:mb-3.5" }, mr = { class: "tpl:flex tpl:items-stretch" }, hr = ["value"], gr = { class: "tpl:mb-3.5" }, _r = { class: "tpl:flex tpl:items-stretch" }, vr = ["value"], yr = { class: "tpl:mb-3.5" }, br = ["value"], xr = { value: "auto" }, Sr = { value: "full" }, Cr = { value: "custom" }, wr = {
771
771
  key: 0,
772
772
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
773
- }, xr = ["value"], Sr = 200, Cr = /* @__PURE__ */ A({
773
+ }, Tr = ["value"], Er = 200, Dr = /* @__PURE__ */ j({
774
774
  __name: "ButtonToolbar",
775
775
  props: {
776
776
  block: {},
@@ -778,7 +778,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
778
778
  },
779
779
  emits: ["update"],
780
780
  setup(e, { emit: t }) {
781
- let n = e, r = t, { t: i } = z(), a = g(() => n.block.width === "full" ? "full" : typeof n.block.width == "number" ? "custom" : "auto");
781
+ let n = e, r = t, { t: i } = B(), a = g(() => n.block.width === "full" ? "full" : typeof n.block.width == "number" ? "custom" : "auto");
782
782
  function s(e, t) {
783
783
  r("update", { [e]: t });
784
784
  }
@@ -788,7 +788,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
788
788
  return;
789
789
  }
790
790
  if (e === "custom") {
791
- s("width", typeof n.block.width == "number" ? n.block.width : Sr);
791
+ s("width", typeof n.block.width == "number" ? n.block.width : Er);
792
792
  return;
793
793
  }
794
794
  s("width", void 0);
@@ -797,80 +797,80 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
797
797
  let t = Number(e);
798
798
  !Number.isFinite(t) || t <= 0 || s("width", t);
799
799
  }
800
- return (t, n) => (o(), _(O, null, [
801
- T("div", Qn, [T("label", { class: w(y(W)) }, h(y(i).button.fontFamily), 3), T("select", {
800
+ return (t, n) => (o(), _(k, null, [
801
+ T("div", nr, [T("label", { class: w(y(W)) }, h(y(i).button.fontFamily), 3), T("select", {
802
802
  class: w(y(U)),
803
803
  value: e.block.fontFamily || "",
804
804
  onChange: n[0] ||= (e) => s("fontFamily", e.target.value || void 0)
805
- }, [T("option", er, h(y(i).button.inheritFont), 1), (o(!0), _(O, null, c(e.fontFamilies, (e) => (o(), _("option", {
805
+ }, [T("option", ir, h(y(i).button.inheritFont), 1), (o(!0), _(k, null, c(e.fontFamilies, (e) => (o(), _("option", {
806
806
  key: e.value,
807
807
  value: e.value
808
- }, h(e.label), 9, tr))), 128))], 42, $n)]),
809
- T("div", nr, [T("label", { class: w(y(W)) }, h(y(i).button.text), 3), j(X, {
808
+ }, h(e.label), 9, ar))), 128))], 42, rr)]),
809
+ T("div", or, [T("label", { class: w(y(W)) }, h(y(i).button.text), 3), M(X, {
810
810
  "model-value": e.block.text,
811
811
  type: "text",
812
812
  "onUpdate:modelValue": n[1] ||= (e) => s("text", e)
813
813
  }, null, 8, ["model-value"])]),
814
- T("div", rr, [
814
+ T("div", sr, [
815
815
  T("label", { class: w(y(W)) }, h(y(i).button.url), 3),
816
- j(X, {
816
+ M(X, {
817
817
  "model-value": e.block.url,
818
818
  type: "url",
819
819
  placeholder: y(i).button.urlPlaceholder,
820
820
  "onUpdate:modelValue": n[2] ||= (e) => s("url", e)
821
821
  }, null, 8, ["model-value", "placeholder"]),
822
- e.block.url ? (o(), _("label", ir, [T("input", {
822
+ e.block.url ? (o(), _("label", cr, [T("input", {
823
823
  type: "checkbox",
824
824
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
825
825
  checked: e.block.openInNewTab ?? !1,
826
826
  onChange: n[3] ||= (e) => s("openInNewTab", e.target.checked)
827
- }, null, 40, ar), k(" " + h(y(i).button.openInNewTab), 1)])) : v("", !0)
827
+ }, null, 40, lr), A(" " + h(y(i).button.openInNewTab), 1)])) : v("", !0)
828
828
  ]),
829
- T("div", or, [T("label", { class: w(y(W)) }, h(y(i).button.background), 3), j(q, {
829
+ T("div", ur, [T("label", { class: w(y(W)) }, h(y(i).button.background), 3), M(q, {
830
830
  "model-value": e.block.backgroundColor,
831
831
  "onUpdate:modelValue": n[4] ||= (e) => s("backgroundColor", e)
832
832
  }, null, 8, ["model-value"])]),
833
- T("div", sr, [T("label", { class: w(y(W)) }, h(y(i).button.textColor), 3), j(q, {
833
+ T("div", dr, [T("label", { class: w(y(W)) }, h(y(i).button.textColor), 3), M(q, {
834
834
  "model-value": e.block.textColor,
835
835
  "onUpdate:modelValue": n[5] ||= (e) => s("textColor", e)
836
836
  }, null, 8, ["model-value"])]),
837
- T("div", cr, [T("div", lr, [T("label", { class: w(y(W)) }, h(y(i).button.borderRadius), 3), T("div", ur, [T("input", {
837
+ T("div", fr, [T("div", pr, [T("label", { class: w(y(W)) }, h(y(i).button.borderRadius), 3), T("div", mr, [T("input", {
838
838
  type: "number",
839
839
  class: w(y(K)),
840
840
  value: e.block.borderRadius,
841
841
  min: "0",
842
842
  max: "50",
843
843
  onInput: n[6] ||= (e) => s("borderRadius", Number(e.target.value))
844
- }, null, 42, dr), T("span", { class: w(y(G)) }, "px", 2)])]), T("div", fr, [T("label", { class: w(y(W)) }, h(y(i).button.fontSize), 3), T("div", pr, [T("input", {
844
+ }, null, 42, hr), T("span", { class: w(y(G)) }, "px", 2)])]), T("div", gr, [T("label", { class: w(y(W)) }, h(y(i).button.fontSize), 3), T("div", _r, [T("input", {
845
845
  type: "number",
846
846
  class: w(y(K)),
847
847
  value: e.block.fontSize,
848
848
  min: "10",
849
849
  max: "36",
850
850
  onInput: n[7] ||= (e) => s("fontSize", Number(e.target.value))
851
- }, null, 42, mr), T("span", { class: w(y(G)) }, "px", 2)])])]),
852
- T("div", hr, [
851
+ }, null, 42, vr), T("span", { class: w(y(G)) }, "px", 2)])])]),
852
+ T("div", yr, [
853
853
  T("label", { class: w(y(W)) }, h(y(i).button.width), 3),
854
854
  T("select", {
855
855
  class: w(y(U)),
856
856
  value: a.value,
857
857
  onChange: n[8] ||= (e) => l(e.target.value)
858
858
  }, [
859
- T("option", _r, h(y(i).button.widthAuto), 1),
860
- T("option", vr, h(y(i).button.fullWidth), 1),
861
- T("option", yr, h(y(i).button.widthCustom), 1)
862
- ], 42, gr),
863
- a.value === "custom" ? (o(), _("div", br, [T("input", {
859
+ T("option", xr, h(y(i).button.widthAuto), 1),
860
+ T("option", Sr, h(y(i).button.fullWidth), 1),
861
+ T("option", Cr, h(y(i).button.widthCustom), 1)
862
+ ], 42, br),
863
+ a.value === "custom" ? (o(), _("div", wr, [T("input", {
864
864
  type: "number",
865
865
  class: w(y(K)),
866
- value: typeof e.block.width == "number" ? e.block.width : Sr,
866
+ value: typeof e.block.width == "number" ? e.block.width : Er,
867
867
  min: "20",
868
868
  onInput: n[9] ||= (e) => u(e.target.value)
869
- }, null, 42, xr), T("span", { class: w(y(G)) }, "px", 2)])) : v("", !0)
869
+ }, null, 42, Tr), T("span", { class: w(y(G)) }, "px", 2)])) : v("", !0)
870
870
  ])
871
871
  ], 64));
872
872
  }
873
- }), wr = { class: "spacing-control" }, Tr = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Er = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, Dr = { class: "tpl:flex tpl:items-center" }, Or = ["aria-label"], kr = ["value", "aria-label"], Ar = ["aria-label"], jr = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Mr = { class: "tpl:flex tpl:items-center" }, Nr = ["aria-label"], Pr = ["value", "aria-label"], Fr = ["aria-label"], Ir = ["aria-label", "title"], Lr = { class: "tpl:flex tpl:items-center" }, Rr = ["aria-label"], zr = ["value", "aria-label"], Br = ["aria-label"], Vr = { class: "tpl:flex tpl:items-center" }, Hr = ["aria-label"], Ur = ["value", "aria-label"], Wr = ["aria-label"], Z = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-bg-hover)] hover:tpl:text-[var(--tpl-text)] active:tpl:bg-[var(--tpl-bg-active)]", Gr = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", Kr = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
873
+ }), Or = { class: "spacing-control" }, kr = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ar = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, jr = { class: "tpl:flex tpl:items-center" }, Mr = ["aria-label"], Nr = ["value", "aria-label"], Pr = ["aria-label"], Fr = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ir = { class: "tpl:flex tpl:items-center" }, Lr = ["aria-label"], Rr = ["value", "aria-label"], zr = ["aria-label"], Br = ["aria-label", "title"], Vr = { class: "tpl:flex tpl:items-center" }, Hr = ["aria-label"], Ur = ["value", "aria-label"], Wr = ["aria-label"], Gr = { class: "tpl:flex tpl:items-center" }, Kr = ["aria-label"], qr = ["value", "aria-label"], Jr = ["aria-label"], Z = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-bg-hover)] hover:tpl:text-[var(--tpl-text)] active:tpl:bg-[var(--tpl-bg-active)]", Yr = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", Xr = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
874
874
  __name: "SpacingControl",
875
875
  props: {
876
876
  modelValue: {},
@@ -878,8 +878,8 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
878
878
  },
879
879
  emits: ["update:modelValue"],
880
880
  setup(e, { emit: t }) {
881
- let n = e, r = t, { t: i } = z(), a = g(() => n.modelValue.top === n.modelValue.right && n.modelValue.right === n.modelValue.bottom && n.modelValue.bottom === n.modelValue.left), s = f(a.value);
882
- M(a, (e) => {
881
+ let n = e, r = t, { t: i } = B(), a = g(() => n.modelValue.top === n.modelValue.right && n.modelValue.right === n.modelValue.bottom && n.modelValue.bottom === n.modelValue.left), s = f(a.value);
882
+ N(a, (e) => {
883
883
  !e && s.value && (s.value = !1);
884
884
  });
885
885
  function c(e, t) {
@@ -917,130 +917,130 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
917
917
  });
918
918
  }
919
919
  }
920
- return (t, n) => (o(), _("div", wr, [T("label", Tr, h(e.label), 1), T("div", Er, [
921
- T("div", Dr, [
920
+ return (t, n) => (o(), _("div", Or, [T("label", kr, h(e.label), 1), T("div", Ar, [
921
+ T("div", jr, [
922
922
  T("button", {
923
923
  "aria-label": y(i).spacingControl.decreaseTop,
924
924
  class: w([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
925
925
  onClick: n[0] ||= (e) => c("top", -1)
926
- }, [j(y(bt), {
926
+ }, [M(y(Ct), {
927
927
  size: 12,
928
928
  "stroke-width": 2
929
- })], 10, Or),
929
+ })], 10, Mr),
930
930
  T("input", {
931
931
  type: "number",
932
- class: w(Gr),
932
+ class: w(Yr),
933
933
  value: e.modelValue.top,
934
934
  "aria-label": y(i).spacingControl.top,
935
935
  min: "0",
936
936
  onInput: n[1] ||= (e) => l("top", Number(e.target.value))
937
- }, null, 40, kr),
937
+ }, null, 40, Nr),
938
938
  T("button", {
939
939
  "aria-label": y(i).spacingControl.increaseTop,
940
940
  class: w([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
941
941
  onClick: n[2] ||= (e) => c("top", 1)
942
- }, [j(y(H), {
942
+ }, [M(y(H), {
943
943
  size: 12,
944
944
  "stroke-width": 2
945
- })], 10, Ar)
945
+ })], 10, Pr)
946
946
  ]),
947
- T("div", jr, [
948
- T("div", Mr, [
947
+ T("div", Fr, [
948
+ T("div", Ir, [
949
949
  T("button", {
950
950
  "aria-label": y(i).spacingControl.decreaseLeft,
951
951
  class: w([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
952
952
  onClick: n[3] ||= (e) => c("left", -1)
953
- }, [j(y(bt), {
953
+ }, [M(y(Ct), {
954
954
  size: 12,
955
955
  "stroke-width": 2
956
- })], 10, Nr),
956
+ })], 10, Lr),
957
957
  T("input", {
958
958
  type: "number",
959
- class: w(Gr),
959
+ class: w(Yr),
960
960
  value: e.modelValue.left,
961
961
  "aria-label": y(i).spacingControl.left,
962
962
  min: "0",
963
963
  onInput: n[4] ||= (e) => l("left", Number(e.target.value))
964
- }, null, 40, Pr),
964
+ }, null, 40, Rr),
965
965
  T("button", {
966
966
  "aria-label": y(i).spacingControl.increaseLeft,
967
967
  class: w([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
968
968
  onClick: n[5] ||= (e) => c("left", 1)
969
- }, [j(y(H), {
969
+ }, [M(y(H), {
970
970
  size: 12,
971
971
  "stroke-width": 2
972
- })], 10, Fr)
972
+ })], 10, zr)
973
973
  ]),
974
974
  T("button", {
975
975
  class: w(["tpl:flex tpl:h-8 tpl:w-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", s.value ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] hover:tpl:bg-[var(--tpl-bg-hover)]"]),
976
976
  "aria-label": s.value ? y(i).spacingControl.unlock : y(i).spacingControl.lockAll,
977
977
  title: s.value ? y(i).spacingControl.unlock : y(i).spacingControl.lockAll,
978
978
  onClick: u
979
- }, [s.value ? (o(), x(y(at), {
979
+ }, [s.value ? (o(), x(y(ct), {
980
980
  key: 0,
981
981
  size: 14,
982
982
  "stroke-width": 2
983
- })) : (o(), x(y(gt), {
983
+ })) : (o(), x(y(yt), {
984
984
  key: 1,
985
985
  size: 14,
986
986
  "stroke-width": 2
987
- }))], 10, Ir),
988
- T("div", Lr, [
987
+ }))], 10, Br),
988
+ T("div", Vr, [
989
989
  T("button", {
990
990
  "aria-label": y(i).spacingControl.decreaseRight,
991
991
  class: w([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
992
992
  onClick: n[6] ||= (e) => c("right", -1)
993
- }, [j(y(bt), {
993
+ }, [M(y(Ct), {
994
994
  size: 12,
995
995
  "stroke-width": 2
996
- })], 10, Rr),
996
+ })], 10, Hr),
997
997
  T("input", {
998
998
  type: "number",
999
- class: w(Gr),
999
+ class: w(Yr),
1000
1000
  value: e.modelValue.right,
1001
1001
  "aria-label": y(i).spacingControl.right,
1002
1002
  min: "0",
1003
1003
  onInput: n[7] ||= (e) => l("right", Number(e.target.value))
1004
- }, null, 40, zr),
1004
+ }, null, 40, Ur),
1005
1005
  T("button", {
1006
1006
  "aria-label": y(i).spacingControl.increaseRight,
1007
1007
  class: w([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1008
1008
  onClick: n[8] ||= (e) => c("right", 1)
1009
- }, [j(y(H), {
1009
+ }, [M(y(H), {
1010
1010
  size: 12,
1011
1011
  "stroke-width": 2
1012
- })], 10, Br)
1012
+ })], 10, Wr)
1013
1013
  ])
1014
1014
  ]),
1015
- T("div", Vr, [
1015
+ T("div", Gr, [
1016
1016
  T("button", {
1017
1017
  "aria-label": y(i).spacingControl.decreaseBottom,
1018
1018
  class: w([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1019
1019
  onClick: n[9] ||= (e) => c("bottom", -1)
1020
- }, [j(y(bt), {
1020
+ }, [M(y(Ct), {
1021
1021
  size: 12,
1022
1022
  "stroke-width": 2
1023
- })], 10, Hr),
1023
+ })], 10, Kr),
1024
1024
  T("input", {
1025
1025
  type: "number",
1026
- class: w(Gr),
1026
+ class: w(Yr),
1027
1027
  value: e.modelValue.bottom,
1028
1028
  "aria-label": y(i).spacingControl.bottom,
1029
1029
  min: "0",
1030
1030
  onInput: n[10] ||= (e) => l("bottom", Number(e.target.value))
1031
- }, null, 40, Ur),
1031
+ }, null, 40, qr),
1032
1032
  T("button", {
1033
1033
  "aria-label": y(i).spacingControl.increaseBottom,
1034
1034
  class: w([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1035
1035
  onClick: n[11] ||= (e) => c("bottom", 1)
1036
- }, [j(y(H), {
1036
+ }, [M(y(H), {
1037
1037
  size: 12,
1038
1038
  "stroke-width": 2
1039
- })], 10, Wr)
1039
+ })], 10, Jr)
1040
1040
  ])
1041
1041
  ])]));
1042
1042
  }
1043
- }), [["__scopeId", "data-v-9a9c8a07"]]), qr = { class: "tpl:mt-3" }, Jr = /* @__PURE__ */ A({
1043
+ }), [["__scopeId", "data-v-9a9c8a07"]]), Zr = { class: "tpl:mt-3" }, Qr = /* @__PURE__ */ j({
1044
1044
  __name: "CollapsibleSection",
1045
1045
  props: {
1046
1046
  title: {},
@@ -1053,25 +1053,25 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1053
1053
  type: "button",
1054
1054
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1055
1055
  onClick: i[0] ||= (e) => n.$emit("toggle")
1056
- }, [j(y(we), {
1056
+ }, [M(y(re), {
1057
1057
  class: w(["tpl:transition-transform tpl:duration-200", e.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
1058
1058
  size: 12,
1059
1059
  "stroke-width": 2
1060
- }, null, 8, ["class"]), T("span", null, h(e.title), 1)]), r(T("div", qr, [t(n.$slots, "default")], 512), [[E, e.open]])], 2));
1060
+ }, null, 8, ["class"]), T("span", null, h(e.title), 1)]), r(T("div", Zr, [t(n.$slots, "default")], 512), [[E, e.open]])], 2));
1061
1061
  }
1062
- }), Yr = { class: "tpl:space-y-2" }, Xr = ["checked", "onChange"], Zr = { class: "tpl:space-y-2" }, Qr = ["value"], $r = { value: "" }, ei = ["label"], ti = ["value"], ni = ["value"], ri = {
1062
+ }), $r = { class: "tpl:space-y-2" }, ei = ["checked", "onChange"], ti = { class: "tpl:space-y-2" }, ni = ["value"], ri = { value: "" }, ii = ["label"], ai = ["value"], oi = ["value"], si = {
1063
1063
  key: 0,
1064
1064
  value: "__custom__"
1065
- }, ii = {
1065
+ }, ci = {
1066
1066
  key: 0,
1067
1067
  class: "tpl:space-y-2"
1068
- }, ai = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, oi = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, si = { class: "tpl:flex tpl:justify-end" }, ci = ["disabled"], li = {
1068
+ }, li = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ui = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, di = { class: "tpl:flex tpl:justify-end" }, fi = ["disabled"], pi = {
1069
1069
  key: 0,
1070
1070
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
1071
- }, ui = { class: "tpl:space-y-1" }, di = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, fi = {
1071
+ }, mi = { class: "tpl:space-y-1" }, hi = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, gi = {
1072
1072
  key: 0,
1073
1073
  class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]"
1074
- }, pi = /* @__PURE__ */ A({
1074
+ }, _i = /* @__PURE__ */ j({
1075
1075
  __name: "CommonBlockSettings",
1076
1076
  props: {
1077
1077
  block: {},
@@ -1079,37 +1079,37 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1079
1079
  },
1080
1080
  emits: ["update"],
1081
1081
  setup(e, { emit: t }) {
1082
- let n = e, i = t, { t: s } = z(), p = l(Ye, []), m = l(de, !1), b = d(/* @__PURE__ */ new Set()), S = f(!1), E = f(""), D = f(""), ee = [{
1082
+ let n = e, i = t, { t: s } = B(), p = l(de, []), m = l(Ce, !1), b = d(/* @__PURE__ */ new Set()), S = f(!1), E = f(""), D = f(""), O = [{
1083
1083
  key: "desktop",
1084
- icon: dt,
1084
+ icon: mt,
1085
1085
  labelKey: "showOnDesktop"
1086
1086
  }, {
1087
1087
  key: "mobile",
1088
- icon: St,
1088
+ icon: Tt,
1089
1089
  labelKey: "showOnMobile"
1090
1090
  }];
1091
- function A(e) {
1091
+ function j(e) {
1092
1092
  b.has(e) ? b.delete(e) : b.add(e);
1093
1093
  }
1094
- let N = g(() => p.length > 0 || m), P = g(() => n.block.displayCondition ? !p.some((e) => e.label === n.block.displayCondition?.label) : !1);
1095
- function te() {
1096
- S.value = !0, P.value && n.block.displayCondition ? (E.value = n.block.displayCondition.before, D.value = n.block.displayCondition.after ?? "") : (E.value = "", D.value = "");
1094
+ let P = g(() => p.length > 0 || m), F = g(() => n.block.displayCondition ? !p.some((e) => e.label === n.block.displayCondition?.label) : !1);
1095
+ function ee() {
1096
+ S.value = !0, F.value && n.block.displayCondition ? (E.value = n.block.displayCondition.before, D.value = n.block.displayCondition.after ?? "") : (E.value = "", D.value = "");
1097
1097
  }
1098
- function ne() {
1098
+ function te() {
1099
1099
  E.value.trim() && (i("update", { displayCondition: {
1100
1100
  label: s.blockSettings.customCondition,
1101
1101
  before: E.value.trim(),
1102
1102
  after: D.value.trim()
1103
1103
  } }), S.value = !1, E.value = "", D.value = "");
1104
1104
  }
1105
- M(() => n.block.displayCondition, (e) => {
1105
+ N(() => n.block.displayCondition, (e) => {
1106
1106
  if (!e) {
1107
1107
  S.value = !1, E.value = "", D.value = "";
1108
1108
  return;
1109
1109
  }
1110
- P.value && (E.value = e.before, D.value = e.after ?? "");
1110
+ F.value && (E.value = e.before, D.value = e.after ?? "");
1111
1111
  }, { immediate: !0 });
1112
- let re = g(() => {
1112
+ let I = g(() => {
1113
1113
  let e = {};
1114
1114
  for (let t of p) {
1115
1115
  let n = t.group ?? "";
@@ -1117,33 +1117,33 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1117
1117
  }
1118
1118
  return e;
1119
1119
  });
1120
- function F(e, t) {
1120
+ function L(e, t) {
1121
1121
  i("update", { styles: {
1122
1122
  ...n.block.styles,
1123
1123
  [e]: t
1124
1124
  } });
1125
1125
  }
1126
- function I(e) {
1126
+ function R(e) {
1127
1127
  return n.block.visibility?.[e] !== !1;
1128
1128
  }
1129
- function L(e) {
1129
+ function ne(e) {
1130
1130
  let t = {
1131
- desktop: I("desktop"),
1132
- mobile: I("mobile")
1131
+ desktop: R("desktop"),
1132
+ mobile: R("mobile")
1133
1133
  };
1134
1134
  t[e] = !t[e], i("update", { visibility: t });
1135
1135
  }
1136
1136
  return (t, n) => (o(), _("div", { class: w(["tpl:flex tpl:flex-col", e.isFirstSection ? "" : "tpl:mt-4"]) }, [
1137
- j(Jr, {
1137
+ M(Qr, {
1138
1138
  title: y(s).blockSettings.spacing,
1139
1139
  open: b.has("spacing"),
1140
1140
  "no-border": e.isFirstSection,
1141
- onToggle: n[1] ||= (e) => A("spacing")
1141
+ onToggle: n[1] ||= (e) => j("spacing")
1142
1142
  }, {
1143
- default: u(() => [j(Kr, {
1143
+ default: u(() => [M(Xr, {
1144
1144
  label: y(s).blockSettings.padding,
1145
1145
  "model-value": e.block.styles.padding,
1146
- "onUpdate:modelValue": n[0] ||= (e) => F("padding", e)
1146
+ "onUpdate:modelValue": n[0] ||= (e) => L("padding", e)
1147
1147
  }, null, 8, ["label", "model-value"])]),
1148
1148
  _: 1
1149
1149
  }, 8, [
@@ -1151,54 +1151,53 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1151
1151
  "open",
1152
1152
  "no-border"
1153
1153
  ]),
1154
- j(Jr, {
1154
+ M(Qr, {
1155
1155
  title: y(s).blockSettings.background,
1156
1156
  open: b.has("bg"),
1157
- onToggle: n[3] ||= (e) => A("bg")
1157
+ onToggle: n[3] ||= (e) => j("bg")
1158
1158
  }, {
1159
- default: u(() => [T("label", { class: w(y(W)) }, h(y(s).blockSettings.color), 3), j(q, {
1160
- size: "large",
1161
- "model-value": e.block.styles.backgroundColor || y("#ffffff"),
1162
- "onUpdate:modelValue": n[2] ||= (e) => F("backgroundColor", e)
1159
+ default: u(() => [T("label", { class: w(y(W)) }, h(y(s).blockSettings.color), 3), M(q, {
1160
+ "model-value": e.block.styles.backgroundColor ?? "",
1161
+ "onUpdate:modelValue": n[2] ||= (e) => L("backgroundColor", e)
1163
1162
  }, null, 8, ["model-value"])]),
1164
1163
  _: 1
1165
1164
  }, 8, ["title", "open"]),
1166
- j(Jr, {
1165
+ M(Qr, {
1167
1166
  title: y(s).blockSettings.display,
1168
1167
  open: b.has("display"),
1169
- onToggle: n[4] ||= (e) => A("display")
1168
+ onToggle: n[4] ||= (e) => j("display")
1170
1169
  }, {
1171
- default: u(() => [T("div", Yr, [(o(), _(O, null, c(ee, (e) => T("label", {
1170
+ default: u(() => [T("div", $r, [(o(), _(k, null, c(O, (e) => T("label", {
1172
1171
  key: e.key,
1173
1172
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:text-[var(--tpl-text)]"
1174
1173
  }, [
1175
1174
  T("input", {
1176
1175
  type: "checkbox",
1177
1176
  class: "tpl:accent-[var(--tpl-primary)]",
1178
- checked: I(e.key),
1179
- onChange: (t) => L(e.key)
1180
- }, null, 40, Xr),
1177
+ checked: R(e.key),
1178
+ onChange: (t) => ne(e.key)
1179
+ }, null, 40, ei),
1181
1180
  (o(), x(a(e.icon), {
1182
1181
  size: 14,
1183
1182
  "stroke-width": 1.5
1184
1183
  })),
1185
- k(" " + h(y(s).blockSettings[e.labelKey]), 1)
1184
+ A(" " + h(y(s).blockSettings[e.labelKey]), 1)
1186
1185
  ])), 64))])]),
1187
1186
  _: 1
1188
1187
  }, 8, ["title", "open"]),
1189
- N.value ? (o(), x(Jr, {
1188
+ P.value ? (o(), x(Qr, {
1190
1189
  key: 0,
1191
1190
  title: y(s).blockSettings.displayCondition,
1192
1191
  open: b.has("condition"),
1193
- onToggle: n[8] ||= (e) => A("condition")
1192
+ onToggle: n[8] ||= (e) => j("condition")
1194
1193
  }, {
1195
- default: u(() => [T("div", Zr, [T("select", {
1194
+ default: u(() => [T("div", ti, [T("select", {
1196
1195
  class: w(["tpl:w-full tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:outline-none tpl:transition-all tpl:duration-150 tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]", e.block.displayCondition ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-text)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"]),
1197
- value: S.value || P.value ? "__custom__" : e.block.displayCondition?.label ?? "",
1196
+ value: S.value || F.value ? "__custom__" : e.block.displayCondition?.label ?? "",
1198
1197
  onChange: n[5] ||= (e) => {
1199
1198
  let t = e.target.value;
1200
1199
  if (t === "__custom__") {
1201
- te();
1200
+ ee();
1202
1201
  return;
1203
1202
  }
1204
1203
  if (S.value = !1, !t) {
@@ -1209,48 +1208,48 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1209
1208
  n && i("update", { displayCondition: n });
1210
1209
  }
1211
1210
  }, [
1212
- T("option", $r, h(y(s).blockSettings.noCondition), 1),
1213
- (o(!0), _(O, null, c(re.value, (e, t) => (o(), _(O, { key: t }, [t ? (o(), _("optgroup", {
1211
+ T("option", ri, h(y(s).blockSettings.noCondition), 1),
1212
+ (o(!0), _(k, null, c(I.value, (e, t) => (o(), _(k, { key: t }, [t ? (o(), _("optgroup", {
1214
1213
  key: 0,
1215
1214
  label: String(t)
1216
- }, [(o(!0), _(O, null, c(e, (e) => (o(), _("option", {
1215
+ }, [(o(!0), _(k, null, c(e, (e) => (o(), _("option", {
1217
1216
  key: e.label,
1218
1217
  value: e.label
1219
- }, h(e.label), 9, ti))), 128))], 8, ei)) : (o(!0), _(O, { key: 1 }, c(e, (e) => (o(), _("option", {
1218
+ }, h(e.label), 9, ai))), 128))], 8, ii)) : (o(!0), _(k, { key: 1 }, c(e, (e) => (o(), _("option", {
1220
1219
  key: e.label,
1221
1220
  value: e.label
1222
- }, h(e.label), 9, ni))), 128))], 64))), 128)),
1223
- y(m) ? (o(), _("option", ri, h(y(s).blockSettings.customCondition), 1)) : v("", !0)
1224
- ], 42, Qr), S.value || P.value ? (o(), _("div", ii, [
1225
- T("div", null, [T("label", ai, h(y(s).blockSettings.customConditionBefore), 1), r(T("textarea", {
1221
+ }, h(e.label), 9, oi))), 128))], 64))), 128)),
1222
+ y(m) ? (o(), _("option", si, h(y(s).blockSettings.customCondition), 1)) : v("", !0)
1223
+ ], 42, ni), S.value || F.value ? (o(), _("div", ci, [
1224
+ T("div", null, [T("label", li, h(y(s).blockSettings.customConditionBefore), 1), r(T("textarea", {
1226
1225
  "onUpdate:modelValue": n[6] ||= (e) => E.value = e,
1227
1226
  rows: "2",
1228
- class: w(y(jt))
1227
+ class: w(y(Pt))
1229
1228
  }, null, 2), [[C, E.value]])]),
1230
- T("div", null, [T("label", oi, h(y(s).blockSettings.customConditionAfter), 1), r(T("textarea", {
1229
+ T("div", null, [T("label", ui, h(y(s).blockSettings.customConditionAfter), 1), r(T("textarea", {
1231
1230
  "onUpdate:modelValue": n[7] ||= (e) => D.value = e,
1232
1231
  rows: "2",
1233
- class: w(y(jt))
1232
+ class: w(y(Pt))
1234
1233
  }, null, 2), [[C, D.value]])]),
1235
- T("div", si, [T("button", {
1234
+ T("div", di, [T("button", {
1236
1235
  type: "button",
1237
1236
  class: "tpl:cursor-pointer tpl:rounded-md tpl:border-none tpl:bg-[var(--tpl-primary)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-bg)] tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:opacity-50",
1238
1237
  disabled: !E.value.trim(),
1239
- onClick: ne
1240
- }, h(y(s).blockSettings.applyCondition), 9, ci)])
1241
- ])) : e.block.displayCondition && !P.value ? (o(), _(O, { key: 1 }, [e.block.displayCondition.description ? (o(), _("p", li, h(e.block.displayCondition.description), 1)) : v("", !0), T("div", ui, [T("pre", di, h(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (o(), _("pre", fi, h(e.block.displayCondition.after), 1)) : v("", !0)])], 64)) : v("", !0)])]),
1238
+ onClick: te
1239
+ }, h(y(s).blockSettings.applyCondition), 9, fi)])
1240
+ ])) : e.block.displayCondition && !F.value ? (o(), _(k, { key: 1 }, [e.block.displayCondition.description ? (o(), _("p", pi, h(e.block.displayCondition.description), 1)) : v("", !0), T("div", mi, [T("pre", hi, h(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (o(), _("pre", gi, h(e.block.displayCondition.after), 1)) : v("", !0)])], 64)) : v("", !0)])]),
1242
1241
  _: 1
1243
1242
  }, 8, ["title", "open"])) : v("", !0)
1244
1243
  ], 2));
1245
1244
  }
1246
- }), mi = ["title"], hi = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, gi = {
1245
+ }), vi = ["title"], yi = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, bi = {
1247
1246
  key: 1,
1248
1247
  class: "tpl:text-[var(--tpl-danger)]"
1249
- }, _i = [
1248
+ }, xi = [
1250
1249
  "aria-checked",
1251
1250
  "aria-label",
1252
1251
  "disabled"
1253
- ], vi = /* @__PURE__ */ A({
1252
+ ], Si = /* @__PURE__ */ j({
1254
1253
  __name: "BooleanField",
1255
1254
  props: {
1256
1255
  field: {},
@@ -1259,18 +1258,18 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1259
1258
  },
1260
1259
  emits: ["update:modelValue"],
1261
1260
  setup(e, { emit: t }) {
1262
- let n = t, { t: r } = z();
1261
+ let n = t, { t: r } = B();
1263
1262
  return (t, i) => (o(), _("div", {
1264
1263
  class: "tpl:mb-3.5",
1265
1264
  title: e.readOnly ? y(r).customBlocks.dataSource.readOnlyTooltip : void 0
1266
- }, [T("label", { class: w(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", e.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [T("span", hi, [
1267
- k(h(e.field.label) + " ", 1),
1268
- e.readOnly ? (o(), x(y(at), {
1265
+ }, [T("label", { class: w(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", e.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [T("span", yi, [
1266
+ A(h(e.field.label) + " ", 1),
1267
+ e.readOnly ? (o(), x(y(ct), {
1269
1268
  key: 0,
1270
1269
  size: 12,
1271
1270
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1272
1271
  })) : v("", !0),
1273
- e.field.required ? (o(), _("span", gi, " * ")) : v("", !0)
1272
+ e.field.required ? (o(), _("span", bi, " * ")) : v("", !0)
1274
1273
  ]), T("button", {
1275
1274
  type: "button",
1276
1275
  role: "switch",
@@ -1283,12 +1282,12 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1283
1282
  ]),
1284
1283
  disabled: e.readOnly,
1285
1284
  onClick: i[0] ||= (t) => !e.readOnly && n("update:modelValue", !e.modelValue)
1286
- }, [T("span", { class: w(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", e.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, _i)], 2)], 8, mi));
1285
+ }, [T("span", { class: w(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", e.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, xi)], 2)], 8, vi));
1287
1286
  }
1288
- }), yi = { class: "tpl:mb-3.5" }, bi = {
1287
+ }), Ci = { class: "tpl:mb-3.5" }, wi = {
1289
1288
  key: 1,
1290
1289
  class: "tpl:text-[var(--tpl-danger)]"
1291
- }, Q = /* @__PURE__ */ A({
1290
+ }, Q = /* @__PURE__ */ j({
1292
1291
  __name: "FieldWrapper",
1293
1292
  props: {
1294
1293
  label: {},
@@ -1296,17 +1295,17 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1296
1295
  readOnly: { type: Boolean }
1297
1296
  },
1298
1297
  setup(e) {
1299
- return (n, r) => (o(), _("div", yi, [T("label", { class: w(y(W)) }, [
1300
- k(h(e.label) + " ", 1),
1301
- e.readOnly ? (o(), x(y(at), {
1298
+ return (n, r) => (o(), _("div", Ci, [T("label", { class: w(y(W)) }, [
1299
+ A(h(e.label) + " ", 1),
1300
+ e.readOnly ? (o(), x(y(ct), {
1302
1301
  key: 0,
1303
1302
  size: 12,
1304
1303
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1305
1304
  })) : v("", !0),
1306
- e.required ? (o(), _("span", bi, "*")) : v("", !0)
1305
+ e.required ? (o(), _("span", wi, "*")) : v("", !0)
1307
1306
  ], 2), t(n.$slots, "default")]));
1308
1307
  }
1309
- }), xi = /* @__PURE__ */ A({
1308
+ }), Ti = /* @__PURE__ */ j({
1310
1309
  __name: "ColorField",
1311
1310
  props: {
1312
1311
  field: {},
@@ -1315,15 +1314,15 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1315
1314
  },
1316
1315
  emits: ["update:modelValue"],
1317
1316
  setup(e, { emit: t }) {
1318
- let n = t, { t: r } = z();
1317
+ let n = t, { t: r } = B();
1319
1318
  return (t, i) => (o(), x(Q, {
1320
1319
  label: e.field.label,
1321
1320
  required: e.field.required,
1322
1321
  "read-only": e.readOnly
1323
1322
  }, {
1324
- default: u(() => [j(q, {
1325
- "model-value": e.modelValue || y("#000000"),
1326
- placeholder: e.field.placeholder || y("#000000"),
1323
+ default: u(() => [M(q, {
1324
+ "model-value": e.modelValue,
1325
+ placeholder: e.field.placeholder,
1327
1326
  disabled: e.readOnly,
1328
1327
  title: e.readOnly ? y(r).customBlocks.dataSource.readOnlyTooltip : void 0,
1329
1328
  "onUpdate:modelValue": i[0] ||= (e) => n("update:modelValue", e)
@@ -1340,11 +1339,15 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1340
1339
  "read-only"
1341
1340
  ]));
1342
1341
  }
1343
- }), Si = [
1342
+ }), Ei = {
1343
+ key: 0,
1344
+ class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
1345
+ style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
1346
+ }, Di = [
1344
1347
  "value",
1345
1348
  "placeholder",
1346
1349
  "title"
1347
- ], Ci = ["value", "placeholder"], wi = /* @__PURE__ */ A({
1350
+ ], Oi = ["value", "placeholder"], ki = /* @__PURE__ */ j({
1348
1351
  __name: "ImageField",
1349
1352
  props: {
1350
1353
  field: {},
@@ -1353,39 +1356,75 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1353
1356
  },
1354
1357
  emits: ["update:modelValue"],
1355
1358
  setup(e, { emit: t }) {
1356
- let n = t, { t: r } = z(), i = l(ye, null), a = Oe(), s = g(() => !!i);
1357
- async function c() {
1358
- let e = await i?.({ accept: ["images"] });
1359
- a.alive && e && n("update:modelValue", e.url);
1359
+ let n = e, r = t, { t: i } = B(), a = l(P, null), s = z(), c = g(() => !!a);
1360
+ async function d() {
1361
+ let e = await a?.({ accept: ["images"] });
1362
+ s.alive && e && r("update:modelValue", e.url);
1363
+ }
1364
+ let p = f(), m = f(!1), b = g(() => c.value && !m.value && !n.readOnly);
1365
+ async function S(e) {
1366
+ if (a) {
1367
+ m.value = !0;
1368
+ try {
1369
+ let t = await a({
1370
+ accept: ["images"],
1371
+ files: e
1372
+ });
1373
+ if (!s.alive) return;
1374
+ t && r("update:modelValue", t.url);
1375
+ } finally {
1376
+ s.alive && (m.value = !1);
1377
+ }
1378
+ }
1360
1379
  }
1361
- return (t, i) => (o(), x(Q, {
1380
+ let { isOver: C } = Oe({
1381
+ target: p,
1382
+ enabled: b,
1383
+ onFiles: S
1384
+ });
1385
+ return (t, n) => (o(), x(Q, {
1362
1386
  label: e.field.label,
1363
1387
  required: e.field.required,
1364
1388
  "read-only": e.readOnly
1365
1389
  }, {
1366
- default: u(() => [e.readOnly ? (o(), _("input", {
1367
- key: 0,
1368
- type: "url",
1369
- class: w([y(U), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1370
- value: e.modelValue,
1371
- placeholder: e.field.placeholder || "https://...",
1372
- disabled: "",
1373
- title: y(r).customBlocks.dataSource.readOnlyTooltip
1374
- }, null, 10, Si)) : (o(), _("input", {
1375
- key: 1,
1376
- type: "url",
1377
- class: w(y(U)),
1378
- value: e.modelValue,
1379
- placeholder: e.field.placeholder || "https://...",
1380
- onInput: i[0] ||= (e) => n("update:modelValue", e.target.value)
1381
- }, null, 42, Ci)), s.value && !e.readOnly ? (o(), _("button", {
1382
- key: 2,
1383
- class: "tpl:mt-2 tpl:flex tpl:w-full tpl:items-center tpl:justify-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:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1384
- onClick: i[1] ||= (e) => c()
1385
- }, [j(y(Ne), {
1386
- size: 14,
1387
- "stroke-width": 1.5
1388
- }), k(" " + h(y(r).image.browseMedia), 1)])) : v("", !0)]),
1390
+ default: u(() => [T("div", {
1391
+ ref_key: "dropZoneRef",
1392
+ ref: p,
1393
+ class: "tpl:relative"
1394
+ }, [
1395
+ b.value && (y(C) || m.value) ? (o(), _("div", Ei, [m.value ? (o(), _(k, { key: 0 }, [M(y(F), {
1396
+ class: "tpl-spinner",
1397
+ size: 18,
1398
+ "stroke-width": 2
1399
+ }), A(" " + h(y(i).image.uploading), 1)], 64)) : (o(), _(k, { key: 1 }, [M(y(tt), {
1400
+ size: 18,
1401
+ "stroke-width": 1.5
1402
+ }), A(" " + h(y(i).image.dropToUpload), 1)], 64))])) : v("", !0),
1403
+ e.readOnly ? (o(), _("input", {
1404
+ key: 1,
1405
+ type: "url",
1406
+ class: w([y(U), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1407
+ value: e.modelValue,
1408
+ placeholder: e.field.placeholder || "https://...",
1409
+ disabled: "",
1410
+ title: y(i).customBlocks.dataSource.readOnlyTooltip
1411
+ }, null, 10, Di)) : (o(), _("input", {
1412
+ key: 2,
1413
+ type: "url",
1414
+ class: w(y(U)),
1415
+ value: e.modelValue,
1416
+ placeholder: e.field.placeholder || "https://...",
1417
+ onInput: n[0] ||= (e) => r("update:modelValue", e.target.value)
1418
+ }, null, 42, Oi)),
1419
+ c.value && !e.readOnly ? (o(), _("button", {
1420
+ key: 3,
1421
+ class: "tpl:mt-2 tpl:flex tpl:w-full tpl:items-center tpl:justify-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:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1422
+ onClick: n[1] ||= (e) => d()
1423
+ }, [M(y(rt), {
1424
+ size: 14,
1425
+ "stroke-width": 1.5
1426
+ }), A(" " + h(y(i).image.browseMedia), 1)])) : v("", !0)
1427
+ ], 512)]),
1389
1428
  _: 1
1390
1429
  }, 8, [
1391
1430
  "label",
@@ -1393,7 +1432,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1393
1432
  "read-only"
1394
1433
  ]));
1395
1434
  }
1396
- }), Ti = [
1435
+ }), Ai = [
1397
1436
  "value",
1398
1437
  "placeholder",
1399
1438
  "min",
@@ -1401,7 +1440,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1401
1440
  "step",
1402
1441
  "disabled",
1403
1442
  "title"
1404
- ], Ei = /* @__PURE__ */ A({
1443
+ ], ji = /* @__PURE__ */ j({
1405
1444
  __name: "NumberField",
1406
1445
  props: {
1407
1446
  field: {},
@@ -1410,7 +1449,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1410
1449
  },
1411
1450
  emits: ["update:modelValue"],
1412
1451
  setup(e, { emit: t }) {
1413
- let n = t, { t: r } = z();
1452
+ let n = t, { t: r } = B();
1414
1453
  return (t, i) => (o(), x(Q, {
1415
1454
  label: e.field.label,
1416
1455
  required: e.field.required,
@@ -1427,7 +1466,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1427
1466
  disabled: e.readOnly,
1428
1467
  title: e.readOnly ? y(r).customBlocks.dataSource.readOnlyTooltip : void 0,
1429
1468
  onInput: i[0] ||= (t) => !e.readOnly && n("update:modelValue", Number(t.target.value))
1430
- }, null, 42, Ti)]),
1469
+ }, null, 42, Ai)]),
1431
1470
  _: 1
1432
1471
  }, 8, [
1433
1472
  "label",
@@ -1435,10 +1474,10 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1435
1474
  "read-only"
1436
1475
  ]));
1437
1476
  }
1438
- }), Di = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Oi = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, ki = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, Ai = ["title", "onClick"], ji = {
1477
+ }), Mi = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Ni = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, Pi = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, Fi = ["title", "onClick"], Ii = {
1439
1478
  key: 1,
1440
1479
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1441
- }, Mi = /* @__PURE__ */ A({
1480
+ }, Li = /* @__PURE__ */ j({
1442
1481
  __name: "RepeatableField",
1443
1482
  props: {
1444
1483
  field: {},
@@ -1447,7 +1486,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1447
1486
  },
1448
1487
  emits: ["update:modelValue"],
1449
1488
  setup(e, { emit: t }) {
1450
- let n = e, r = t, { t: i } = z(), s = g(() => n.modelValue || []), l = g(() => !n.field.maxItems || s.value.length < n.field.maxItems), d = g(() => !n.field.minItems || s.value.length > n.field.minItems);
1489
+ let n = e, r = t, { t: i } = B(), s = g(() => n.modelValue || []), l = g(() => !n.field.maxItems || s.value.length < n.field.maxItems), d = g(() => !n.field.minItems || s.value.length > n.field.minItems);
1451
1490
  function f() {
1452
1491
  if (!l.value || n.readOnly) return;
1453
1492
  let e = {};
@@ -1470,20 +1509,20 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1470
1509
  required: e.field.required,
1471
1510
  "read-only": e.readOnly
1472
1511
  }, {
1473
- default: u(() => [T("div", Di, [
1474
- (o(!0), _(O, null, c(s.value, (t, n) => (o(), _("div", {
1512
+ default: u(() => [T("div", Mi, [
1513
+ (o(!0), _(k, null, c(s.value, (t, n) => (o(), _("div", {
1475
1514
  key: `${e.field.key}-${n}`,
1476
1515
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
1477
- }, [T("div", Oi, [T("span", ki, " #" + h(n + 1), 1), d.value && !e.readOnly ? (o(), _("button", {
1516
+ }, [T("div", Ni, [T("span", Pi, " #" + h(n + 1), 1), d.value && !e.readOnly ? (o(), _("button", {
1478
1517
  key: 0,
1479
1518
  type: "button",
1480
1519
  class: "tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
1481
1520
  title: y(i).customBlocks.fields.removeItem,
1482
1521
  onClick: (e) => p(n)
1483
- }, [j(y(Qe), {
1522
+ }, [M(y(Re), {
1484
1523
  size: 12,
1485
1524
  "stroke-width": 2
1486
- })], 8, Ai)) : v("", !0)]), (o(!0), _(O, null, c(e.field.fields, (r) => (o(), x(a(y(Vi)(r.type)), {
1525
+ })], 8, Fi)) : v("", !0)]), (o(!0), _(k, null, c(e.field.fields, (r) => (o(), x(a(y(Ki)(r.type)), {
1487
1526
  key: r.key,
1488
1527
  field: r,
1489
1528
  "model-value": t[r.key],
@@ -1498,13 +1537,13 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1498
1537
  l.value && !e.readOnly ? (o(), _("button", {
1499
1538
  key: 0,
1500
1539
  type: "button",
1501
- class: w(y(At)),
1540
+ class: w(y(Nt)),
1502
1541
  onClick: f
1503
- }, [j(y(H), {
1542
+ }, [M(y(H), {
1504
1543
  size: 14,
1505
1544
  "stroke-width": 2
1506
- }), k(" " + h(y(i).customBlocks.fields.addItem), 1)], 2)) : v("", !0),
1507
- !l.value && !e.readOnly ? (o(), _("p", ji, h(y(i).customBlocks.fields.maxItemsReached), 1)) : v("", !0)
1545
+ }), A(" " + h(y(i).customBlocks.fields.addItem), 1)], 2)) : v("", !0),
1546
+ !l.value && !e.readOnly ? (o(), _("p", Ii, h(y(i).customBlocks.fields.maxItemsReached), 1)) : v("", !0)
1508
1547
  ])]),
1509
1548
  _: 1
1510
1549
  }, 8, [
@@ -1513,11 +1552,11 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1513
1552
  "read-only"
1514
1553
  ]));
1515
1554
  }
1516
- }), Ni = [
1555
+ }), Ri = [
1517
1556
  "value",
1518
1557
  "disabled",
1519
1558
  "title"
1520
- ], Pi = ["value"], Fi = /* @__PURE__ */ A({
1559
+ ], zi = ["value"], Bi = /* @__PURE__ */ j({
1521
1560
  __name: "SelectField",
1522
1561
  props: {
1523
1562
  field: {},
@@ -1526,7 +1565,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1526
1565
  },
1527
1566
  emits: ["update:modelValue"],
1528
1567
  setup(e, { emit: t }) {
1529
- let n = t, { t: r } = z();
1568
+ let n = t, { t: r } = B();
1530
1569
  return (t, i) => (o(), x(Q, {
1531
1570
  label: e.field.label,
1532
1571
  required: e.field.required,
@@ -1538,10 +1577,10 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1538
1577
  disabled: e.readOnly,
1539
1578
  title: e.readOnly ? y(r).customBlocks.dataSource.readOnlyTooltip : void 0,
1540
1579
  onChange: i[0] ||= (t) => !e.readOnly && n("update:modelValue", t.target.value)
1541
- }, [(o(!0), _(O, null, c(e.field.options, (e) => (o(), _("option", {
1580
+ }, [(o(!0), _(k, null, c(e.field.options, (e) => (o(), _("option", {
1542
1581
  key: e.value,
1543
1582
  value: e.value
1544
- }, h(e.label), 9, Pi))), 128))], 42, Ni)]),
1583
+ }, h(e.label), 9, zi))), 128))], 42, Ri)]),
1545
1584
  _: 1
1546
1585
  }, 8, [
1547
1586
  "label",
@@ -1549,11 +1588,11 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1549
1588
  "read-only"
1550
1589
  ]));
1551
1590
  }
1552
- }), Ii = [
1591
+ }), Vi = [
1553
1592
  "value",
1554
1593
  "placeholder",
1555
1594
  "title"
1556
- ], Li = /* @__PURE__ */ A({
1595
+ ], Hi = /* @__PURE__ */ j({
1557
1596
  __name: "TextField",
1558
1597
  props: {
1559
1598
  field: {},
@@ -1562,7 +1601,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1562
1601
  },
1563
1602
  emits: ["update:modelValue"],
1564
1603
  setup(e, { emit: t }) {
1565
- let n = t, { t: r } = z();
1604
+ let n = t, { t: r } = B();
1566
1605
  return (t, i) => (o(), x(Q, {
1567
1606
  label: e.field.label,
1568
1607
  required: e.field.required,
@@ -1576,7 +1615,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1576
1615
  placeholder: e.field.placeholder,
1577
1616
  disabled: "",
1578
1617
  title: y(r).customBlocks.dataSource.readOnlyTooltip
1579
- }, null, 10, Ii)) : (o(), x(X, {
1618
+ }, null, 10, Vi)) : (o(), x(X, {
1580
1619
  key: 1,
1581
1620
  "model-value": e.modelValue,
1582
1621
  placeholder: e.field.placeholder,
@@ -1589,13 +1628,13 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1589
1628
  "read-only"
1590
1629
  ]));
1591
1630
  }
1592
- }), Ri = [
1631
+ }), Ui = [
1593
1632
  "value",
1594
1633
  "placeholder",
1595
1634
  "title"
1596
- ], zi = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Bi = {
1597
- text: Li,
1598
- textarea: /* @__PURE__ */ A({
1635
+ ], Wi = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Gi = {
1636
+ text: Hi,
1637
+ textarea: /* @__PURE__ */ j({
1599
1638
  __name: "TextareaField",
1600
1639
  props: {
1601
1640
  field: {},
@@ -1604,7 +1643,7 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1604
1643
  },
1605
1644
  emits: ["update:modelValue"],
1606
1645
  setup(e, { emit: t }) {
1607
- let n = t, { t: r } = z();
1646
+ let n = t, { t: r } = B();
1608
1647
  return (t, i) => (o(), x(Q, {
1609
1648
  label: e.field.label,
1610
1649
  required: e.field.required,
@@ -1617,8 +1656,8 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1617
1656
  rows: "3",
1618
1657
  disabled: "",
1619
1658
  title: y(r).customBlocks.dataSource.readOnlyTooltip,
1620
- class: w(zi)
1621
- }, null, 8, Ri)) : (o(), x(bn, {
1659
+ class: w(Wi)
1660
+ }, null, 8, Ui)) : (o(), x(wn, {
1622
1661
  key: 1,
1623
1662
  "model-value": e.modelValue,
1624
1663
  placeholder: e.field.placeholder,
@@ -1632,42 +1671,42 @@ var on = ["aria-label", "onKeydown"], sn = ["data-tooltip"], cn = ["data-tooltip
1632
1671
  ]));
1633
1672
  }
1634
1673
  }),
1635
- image: wi,
1636
- color: xi,
1637
- number: Ei,
1638
- select: Fi,
1639
- boolean: vi,
1640
- repeatable: Mi
1674
+ image: ki,
1675
+ color: Ti,
1676
+ number: ji,
1677
+ select: Bi,
1678
+ boolean: Si,
1679
+ repeatable: Li
1641
1680
  };
1642
- function Vi(e) {
1643
- return Bi[e] ?? Li;
1681
+ function Ki(e) {
1682
+ return Gi[e] ?? Hi;
1644
1683
  }
1645
1684
  //#endregion
1646
1685
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
1647
- var Hi = {
1686
+ var qi = {
1648
1687
  key: 0,
1649
1688
  class: "tpl:p-4"
1650
- }, Ui = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Wi = { key: 1 }, Gi = {
1689
+ }, Ji = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Yi = { key: 1 }, Xi = {
1651
1690
  key: 0,
1652
1691
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1653
- }, Ki = {
1692
+ }, Zi = {
1654
1693
  key: 1,
1655
1694
  class: "tpl:mb-4"
1656
- }, qi = {
1695
+ }, Qi = {
1657
1696
  key: 1,
1658
1697
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
1659
- }, Ji = {
1698
+ }, $i = {
1660
1699
  key: 0,
1661
1700
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
1662
- }, Yi = {
1701
+ }, ea = {
1663
1702
  key: 2,
1664
1703
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
1665
- }, Xi = /* @__PURE__ */ A({
1704
+ }, ta = /* @__PURE__ */ j({
1666
1705
  __name: "CustomBlockToolbar",
1667
1706
  props: { block: {} },
1668
1707
  emits: ["updateFieldValues", "updateDataSourceFetched"],
1669
1708
  setup(e, { emit: t }) {
1670
- let n = e, r = t, { t: i } = z(), s = l(B, []), u = g(() => s.find((e) => e.type === n.block.customType)), { isFetching: d, fetchError: f, fetch: p, hasDataSource: m, needsFetch: b } = Ve({
1709
+ let n = e, r = t, { t: i } = B(), s = l(V, []), u = g(() => s.find((e) => e.type === n.block.customType)), { isFetching: d, fetchError: f, fetch: p, hasDataSource: m, needsFetch: b } = Me({
1671
1710
  definition: u,
1672
1711
  block: g(() => n.block),
1673
1712
  onUpdate: (e, t) => {
@@ -1683,23 +1722,23 @@ var Hi = {
1683
1722
  [e]: t
1684
1723
  });
1685
1724
  }
1686
- return (t, n) => u.value ? (o(), _("div", Wi, [
1687
- u.value.description ? (o(), _("p", Gi, h(u.value.description), 1)) : v("", !0),
1688
- y(m) ? (o(), _("div", Ki, [y(b) && !y(d) ? (o(), _("button", {
1725
+ return (t, n) => u.value ? (o(), _("div", Yi, [
1726
+ u.value.description ? (o(), _("p", Xi, h(u.value.description), 1)) : v("", !0),
1727
+ y(m) ? (o(), _("div", Zi, [y(b) && !y(d) ? (o(), _("button", {
1689
1728
  key: 0,
1690
1729
  type: "button",
1691
1730
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-md tpl:px-3 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-bg)] tpl:transition-all tpl:duration-150 tpl:bg-[var(--tpl-primary)]",
1692
1731
  onClick: n[0] ||= (...e) => y(p) && y(p)(...e)
1693
- }, h(u.value?.dataSource?.label || y(i).customBlocks.dataSource.fetchButton), 1)) : (o(), _("div", qi, [y(d) ? (o(), _("div", Ji, h(y(i).customBlocks.dataSource.fetching), 1)) : (o(), _("button", {
1732
+ }, h(u.value?.dataSource?.label || y(i).customBlocks.dataSource.fetchButton), 1)) : (o(), _("div", Qi, [y(d) ? (o(), _("div", $i, h(y(i).customBlocks.dataSource.fetching), 1)) : (o(), _("button", {
1694
1733
  key: 1,
1695
1734
  type: "button",
1696
1735
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-primary)] tpl:hover:text-[var(--tpl-primary)]",
1697
1736
  onClick: n[1] ||= (...e) => y(p) && y(p)(...e)
1698
- }, [j(y(Be), { size: 12 }), k(" " + h(y(i).customBlocks.dataSource.changeButton), 1)]))])), y(f) ? (o(), _("p", Yi, [j(y(ne), {
1737
+ }, [M(y(Ze), { size: 12 }), A(" " + h(y(i).customBlocks.dataSource.changeButton), 1)]))])), y(f) ? (o(), _("p", ea, [M(y(Ke), {
1699
1738
  size: 14,
1700
1739
  class: "tpl:shrink-0"
1701
- }), k(" " + h(y(i).customBlocks.dataSource.fetchError), 1)])) : v("", !0)])) : v("", !0),
1702
- (o(!0), _(O, null, c(u.value.fields, (t) => (o(), x(a(y(Vi)(t.type)), {
1740
+ }), A(" " + h(y(i).customBlocks.dataSource.fetchError), 1)])) : v("", !0)])) : v("", !0),
1741
+ (o(!0), _(k, null, c(u.value.fields, (t) => (o(), x(a(y(Ki)(t.type)), {
1703
1742
  key: t.key,
1704
1743
  field: t,
1705
1744
  "model-value": e.block.fieldValues[t.key],
@@ -1711,19 +1750,19 @@ var Hi = {
1711
1750
  "read-only",
1712
1751
  "onUpdate:modelValue"
1713
1752
  ]))), 128))
1714
- ])) : (o(), _("div", Hi, [T("p", Ui, h(y(i).customBlocks.toolbar.noDefinition), 1)]));
1753
+ ])) : (o(), _("div", qi, [T("p", Ji, h(y(i).customBlocks.toolbar.noDefinition), 1)]));
1715
1754
  }
1716
- }), Zi = { class: "tpl:mb-3.5" }, Qi = { class: "tpl:mb-3.5" }, $i = { class: "tpl:mb-3.5" }, ea = { class: "tpl:flex tpl:items-stretch" }, ta = ["value"], na = /* @__PURE__ */ A({
1755
+ }), na = { class: "tpl:mb-3.5" }, ra = { class: "tpl:mb-3.5" }, ia = { class: "tpl:mb-3.5" }, aa = { class: "tpl:flex tpl:items-stretch" }, oa = ["value"], sa = /* @__PURE__ */ j({
1717
1756
  __name: "DividerToolbar",
1718
1757
  props: { block: {} },
1719
1758
  emits: ["update"],
1720
1759
  setup(e, { emit: t }) {
1721
- let n = t, { t: r } = z();
1760
+ let n = t, { t: r } = B();
1722
1761
  function i(e, t) {
1723
1762
  n("update", { [e]: t });
1724
1763
  }
1725
- return (t, n) => (o(), _(O, null, [
1726
- T("div", Zi, [T("label", { class: w(y(W)) }, h(y(r).divider.style), 3), j(Y, {
1764
+ return (t, n) => (o(), _(k, null, [
1765
+ T("div", na, [T("label", { class: w(y(W)) }, h(y(r).divider.style), 3), M(Y, {
1727
1766
  options: [
1728
1767
  {
1729
1768
  value: "solid",
@@ -1741,56 +1780,60 @@ var Hi = {
1741
1780
  "model-value": e.block.lineStyle,
1742
1781
  "onUpdate:modelValue": n[0] ||= (e) => i("lineStyle", e)
1743
1782
  }, null, 8, ["options", "model-value"])]),
1744
- T("div", Qi, [T("label", { class: w(y(W)) }, h(y(r).divider.color), 3), j(q, {
1783
+ T("div", ra, [T("label", { class: w(y(W)) }, h(y(r).divider.color), 3), M(q, {
1745
1784
  "model-value": e.block.color,
1746
1785
  "onUpdate:modelValue": n[1] ||= (e) => i("color", e)
1747
1786
  }, null, 8, ["model-value"])]),
1748
- T("div", $i, [T("label", { class: w(y(W)) }, h(y(r).divider.thickness), 3), T("div", ea, [T("input", {
1787
+ T("div", ia, [T("label", { class: w(y(W)) }, h(y(r).divider.thickness), 3), T("div", aa, [T("input", {
1749
1788
  type: "number",
1750
1789
  class: w(y(K)),
1751
1790
  value: e.block.thickness,
1752
1791
  min: "1",
1753
1792
  max: "10",
1754
1793
  onInput: n[2] ||= (e) => i("thickness", Number(e.target.value))
1755
- }, null, 42, ta), T("span", { class: w(y(G)) }, "px", 2)])])
1794
+ }, null, 42, oa), T("span", { class: w(y(G)) }, "px", 2)])])
1756
1795
  ], 64));
1757
1796
  }
1758
- }), ra = { class: "tpl:mb-3.5" }, ia = ["value"], aa = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, oa = /* @__PURE__ */ A({
1797
+ }), ca = { class: "tpl:mb-3.5" }, la = ["value"], ua = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, da = /* @__PURE__ */ j({
1759
1798
  __name: "HtmlToolbar",
1760
1799
  props: { block: {} },
1761
1800
  emits: ["update"],
1762
1801
  setup(e, { emit: t }) {
1763
- let n = t, { t: r } = z();
1764
- return (t, i) => (o(), _("div", ra, [
1802
+ let n = t, { t: r } = B();
1803
+ return (t, i) => (o(), _("div", ca, [
1765
1804
  T("label", { class: w(y(W)) }, h(y(r).html.content), 3),
1766
1805
  T("textarea", {
1767
1806
  value: e.block.content,
1768
1807
  placeholder: "<div>...</div>",
1769
1808
  rows: "10",
1770
- class: w(y(jt)),
1809
+ class: w(y(Pt)),
1771
1810
  onInput: i[0] ||= (e) => n("update", { content: e.target.value })
1772
- }, null, 42, ia),
1773
- T("p", aa, [j(y(He), {
1811
+ }, null, 42, la),
1812
+ T("p", ua, [M(y(Ne), {
1774
1813
  size: 12,
1775
1814
  class: "tpl:mt-0.5 tpl:shrink-0"
1776
- }), k(" " + h(y(r).html.sanitizationHint), 1)])
1815
+ }), A(" " + h(y(r).html.sanitizationHint), 1)])
1777
1816
  ]));
1778
1817
  }
1779
- }), sa = { class: "tpl:mb-3.5" }, ca = {
1818
+ }), fa = { class: "tpl:mb-3.5" }, pa = {
1819
+ key: 0,
1820
+ class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
1821
+ style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
1822
+ }, ma = {
1780
1823
  key: 0,
1781
1824
  class: "tpl:mb-3.5"
1782
- }, la = ["value", "placeholder"], ua = { class: "tpl:mb-3.5" }, da = { class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]" }, fa = ["checked"], pa = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, ma = { class: "tpl:mb-3.5" }, ha = ["value"], ga = { value: "full" }, _a = { value: "custom" }, va = {
1825
+ }, ha = ["value", "placeholder"], ga = { class: "tpl:mb-3.5" }, _a = { class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]" }, va = ["checked"], ya = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, ba = { class: "tpl:mb-3.5" }, xa = ["value"], Sa = { value: "full" }, Ca = { value: "custom" }, wa = {
1783
1826
  key: 0,
1784
1827
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
1785
- }, ya = ["value"], ba = { class: "tpl:mb-3.5" }, xa = { class: "tpl:mb-3.5" }, Sa = {
1828
+ }, Ta = ["value"], Ea = { class: "tpl:mb-3.5" }, Da = { class: "tpl:mb-3.5" }, Oa = {
1786
1829
  key: 0,
1787
1830
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
1788
- }, Ca = ["checked"], wa = 350, Ta = /* @__PURE__ */ A({
1831
+ }, ka = ["checked"], Aa = 350, ja = /* @__PURE__ */ j({
1789
1832
  __name: "ImageToolbar",
1790
1833
  props: { block: {} },
1791
1834
  emits: ["update"],
1792
1835
  setup(e, { emit: t }) {
1793
- let n = e, r = t, { t: i } = z(), a = l(ye, null), s = l(Me, $e.liquid), c = Oe(), u = g(() => !!a), d = f(!1), p = f(!1), { start: m } = Ue(() => {
1836
+ let n = e, r = t, { t: i } = B(), a = l(P, null), s = l(xe, ot.liquid), c = z(), u = g(() => !!a), d = f(!1), p = f(!1), { start: m } = Ve(() => {
1794
1837
  d.value = !1;
1795
1838
  }, 1e3, { immediate: !1 }), b = [
1796
1839
  300,
@@ -1806,7 +1849,7 @@ var Hi = {
1806
1849
  function C(e) {
1807
1850
  if (e === "custom") {
1808
1851
  let e = n.block.width;
1809
- (typeof e != "number" || b.includes(e)) && S("width", wa);
1852
+ (typeof e != "number" || b.includes(e)) && S("width", Aa);
1810
1853
  return;
1811
1854
  }
1812
1855
  S("width", e === "full" ? "full" : Number(e));
@@ -1819,10 +1862,42 @@ var Hi = {
1819
1862
  let e = await a?.({ accept: ["images"] });
1820
1863
  c.alive && e && (S("src", e.url), e.alt && (S("alt", e.alt), p.value = !0), d.value = !0, m());
1821
1864
  }
1822
- return (t, n) => (o(), _(O, null, [
1823
- T("div", sa, [
1824
- T("label", { class: w(y(W)) }, h(y(i).image.imageUrl), 3),
1825
- j(X, {
1865
+ let O = f(), j = f(!1), N = g(() => Ie(n.block.src, s)), ee = g(() => u.value && !j.value && !N.value);
1866
+ async function te(e) {
1867
+ if (a) {
1868
+ j.value = !0;
1869
+ try {
1870
+ let t = await a({
1871
+ accept: ["images"],
1872
+ files: e
1873
+ });
1874
+ if (!c.alive) return;
1875
+ t && (S("src", t.url), t.alt && (S("alt", t.alt), p.value = !0), d.value = !0, m());
1876
+ } finally {
1877
+ c.alive && (j.value = !1);
1878
+ }
1879
+ }
1880
+ }
1881
+ let { isOver: I } = Oe({
1882
+ target: O,
1883
+ enabled: ee,
1884
+ onFiles: te
1885
+ });
1886
+ return (t, n) => (o(), _(k, null, [
1887
+ T("div", fa, [T("label", { class: w(y(W)) }, h(y(i).image.imageUrl), 3), T("div", {
1888
+ ref_key: "dropZoneRef",
1889
+ ref: O,
1890
+ class: "tpl:relative"
1891
+ }, [
1892
+ ee.value && (y(I) || j.value) ? (o(), _("div", pa, [j.value ? (o(), _(k, { key: 0 }, [M(y(F), {
1893
+ class: "tpl-spinner",
1894
+ size: 18,
1895
+ "stroke-width": 2
1896
+ }), A(" " + h(y(i).image.uploading), 1)], 64)) : (o(), _(k, { key: 1 }, [M(y(tt), {
1897
+ size: 18,
1898
+ "stroke-width": 1.5
1899
+ }), A(" " + h(y(i).image.dropToUpload), 1)], 64))])) : v("", !0),
1900
+ M(X, {
1826
1901
  "model-value": e.block.src,
1827
1902
  type: "url",
1828
1903
  placeholder: y(i).image.imageUrlPlaceholder,
@@ -1834,7 +1909,7 @@ var Hi = {
1834
1909
  "pulse"
1835
1910
  ]),
1836
1911
  u.value ? (o(), _("button", {
1837
- key: 0,
1912
+ key: 1,
1838
1913
  class: "tpl:mt-2 tpl:flex tpl:w-full tpl:items-center tpl:justify-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",
1839
1914
  style: {
1840
1915
  "border-color": "var(--tpl-border)",
@@ -1842,21 +1917,21 @@ var Hi = {
1842
1917
  "background-color": "var(--tpl-bg)"
1843
1918
  },
1844
1919
  onClick: D
1845
- }, [j(y(Ne), {
1920
+ }, [M(y(rt), {
1846
1921
  size: 14,
1847
1922
  "stroke-width": 1.5
1848
- }), k(" " + h(y(i).image.browseMedia), 1)])) : v("", !0)
1849
- ]),
1850
- y(nt)(e.block.src, y(s)) ? (o(), _("div", ca, [T("label", { class: w(y(W)) }, [k(h(y(i).image.placeholderUrl) + " ", 1), n[9] ||= T("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, h("(optional)"), -1)], 2), T("input", {
1923
+ }), A(" " + h(y(i).image.browseMedia), 1)])) : v("", !0)
1924
+ ], 512)]),
1925
+ y(Ie)(e.block.src, y(s)) ? (o(), _("div", ma, [T("label", { class: w(y(W)) }, [A(h(y(i).image.placeholderUrl) + " ", 1), n[9] ||= T("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, h("(optional)"), -1)], 2), T("input", {
1851
1926
  type: "url",
1852
1927
  class: w(y(U)),
1853
1928
  value: e.block.placeholderUrl || "",
1854
1929
  placeholder: y(i).image.placeholderUrlPlaceholder,
1855
1930
  onInput: n[1] ||= (e) => S("placeholderUrl", e.target.value)
1856
- }, null, 42, la)])) : v("", !0),
1857
- T("div", ua, [
1931
+ }, null, 42, ha)])) : v("", !0),
1932
+ T("div", ga, [
1858
1933
  T("label", { class: w(y(W)) }, h(y(i).image.altText), 3),
1859
- j(X, {
1934
+ M(X, {
1860
1935
  "model-value": e.block.alt,
1861
1936
  type: "text",
1862
1937
  placeholder: y(i).image.altTextPlaceholder,
@@ -1869,35 +1944,35 @@ var Hi = {
1869
1944
  "pulse",
1870
1945
  "disabled"
1871
1946
  ]),
1872
- T("label", da, [T("input", {
1947
+ T("label", _a, [T("input", {
1873
1948
  type: "checkbox",
1874
1949
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
1875
1950
  checked: e.block.decorative === !0,
1876
1951
  onChange: n[3] ||= (e) => S("decorative", e.target.checked)
1877
- }, null, 40, fa), T("span", null, [k(h(y(i).image.decorative) + " ", 1), T("span", pa, h(y(i).image.decorativeHint), 1)])])
1952
+ }, null, 40, va), T("span", null, [A(h(y(i).image.decorative) + " ", 1), T("span", ya, h(y(i).image.decorativeHint), 1)])])
1878
1953
  ]),
1879
- T("div", ma, [
1954
+ T("div", ba, [
1880
1955
  T("label", { class: w(y(W)) }, h(y(i).image.width), 3),
1881
1956
  T("select", {
1882
1957
  class: w(y(U)),
1883
1958
  value: x.value,
1884
1959
  onChange: n[4] ||= (e) => C(e.target.value)
1885
1960
  }, [
1886
- T("option", ga, h(y(i).image.fullWidth), 1),
1961
+ T("option", Sa, h(y(i).image.fullWidth), 1),
1887
1962
  n[10] ||= T("option", { value: "300" }, "300px", -1),
1888
1963
  n[11] ||= T("option", { value: "400" }, "400px", -1),
1889
1964
  n[12] ||= T("option", { value: "500" }, "500px", -1),
1890
- T("option", _a, h(y(i).image.widthCustom), 1)
1891
- ], 42, ha),
1892
- x.value === "custom" ? (o(), _("div", va, [T("input", {
1965
+ T("option", Ca, h(y(i).image.widthCustom), 1)
1966
+ ], 42, xa),
1967
+ x.value === "custom" ? (o(), _("div", wa, [T("input", {
1893
1968
  type: "number",
1894
1969
  class: w(y(K)),
1895
- value: typeof e.block.width == "number" ? e.block.width : wa,
1970
+ value: typeof e.block.width == "number" ? e.block.width : Aa,
1896
1971
  min: "20",
1897
1972
  onInput: n[5] ||= (e) => E(e.target.value)
1898
- }, null, 42, ya), T("span", { class: w(y(G)) }, "px", 2)])) : v("", !0)
1973
+ }, null, 42, Ta), T("span", { class: w(y(G)) }, "px", 2)])) : v("", !0)
1899
1974
  ]),
1900
- T("div", ba, [T("label", { class: w(y(W)) }, h(y(i).title.align), 3), j(Y, {
1975
+ T("div", Ea, [T("label", { class: w(y(W)) }, h(y(i).title.align), 3), M(Y, {
1901
1976
  options: [
1902
1977
  {
1903
1978
  value: "left",
@@ -1915,28 +1990,28 @@ var Hi = {
1915
1990
  "model-value": e.block.align,
1916
1991
  "onUpdate:modelValue": n[6] ||= (e) => S("align", e)
1917
1992
  }, null, 8, ["options", "model-value"])]),
1918
- T("div", xa, [
1993
+ T("div", Da, [
1919
1994
  T("label", { class: w(y(W)) }, h(y(i).image.linkUrl), 3),
1920
- j(X, {
1995
+ M(X, {
1921
1996
  "model-value": e.block.linkUrl || "",
1922
1997
  type: "url",
1923
1998
  placeholder: y(i).image.imageUrlPlaceholder,
1924
1999
  "onUpdate:modelValue": n[7] ||= (e) => S("linkUrl", e)
1925
2000
  }, null, 8, ["model-value", "placeholder"]),
1926
- e.block.linkUrl ? (o(), _("label", Sa, [T("input", {
2001
+ e.block.linkUrl ? (o(), _("label", Oa, [T("input", {
1927
2002
  type: "checkbox",
1928
2003
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
1929
2004
  checked: e.block.linkOpenInNewTab ?? !1,
1930
2005
  onChange: n[8] ||= (e) => S("linkOpenInNewTab", e.target.checked)
1931
- }, null, 40, Ca), k(" " + h(y(i).image.openInNewTab), 1)])) : v("", !0)
2006
+ }, null, 40, ka), A(" " + h(y(i).image.openInNewTab), 1)])) : v("", !0)
1932
2007
  ])
1933
2008
  ], 64));
1934
2009
  }
1935
- }), Ea = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Da = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Oa = [
2010
+ }), Ma = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Na = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Pa = [
1936
2011
  "value",
1937
2012
  "placeholder",
1938
2013
  "onInput"
1939
- ], ka = ["title", "onClick"], Aa = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ja = ["checked", "onChange"], Ma = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Na = ["value"], Pa = { value: "" }, Fa = ["value"], Ia = ["value"], La = /* @__PURE__ */ A({
2014
+ ], Fa = ["title", "onClick"], Ia = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, La = ["checked", "onChange"], Ra = { class: "tpl:flex tpl:items-center tpl:gap-2" }, za = ["value"], Ba = { value: "" }, Va = ["value"], Ha = ["value"], Ua = /* @__PURE__ */ j({
1940
2015
  __name: "MenuToolbar",
1941
2016
  props: {
1942
2017
  block: {},
@@ -1944,7 +2019,7 @@ var Hi = {
1944
2019
  },
1945
2020
  emits: ["update"],
1946
2021
  setup(e, { emit: t }) {
1947
- let n = e, r = t, { t: i } = z(), a = g(() => [
2022
+ let n = e, r = t, { t: i } = B(), a = g(() => [
1948
2023
  {
1949
2024
  key: "openInNewTab",
1950
2025
  label: i.menu.openInNewTab
@@ -1961,17 +2036,17 @@ var Hi = {
1961
2036
  {
1962
2037
  value: "left",
1963
2038
  label: i.title.alignLeft,
1964
- icon: ht
2039
+ icon: vt
1965
2040
  },
1966
2041
  {
1967
2042
  value: "center",
1968
2043
  label: i.title.alignCenter,
1969
- icon: lt
2044
+ icon: ft
1970
2045
  },
1971
2046
  {
1972
2047
  value: "right",
1973
2048
  label: i.title.alignRight,
1974
- icon: ct
2049
+ icon: dt
1975
2050
  }
1976
2051
  ]);
1977
2052
  function l(e, t) {
@@ -1979,7 +2054,7 @@ var Hi = {
1979
2054
  }
1980
2055
  function d() {
1981
2056
  let e = {
1982
- id: I(),
2057
+ id: ve(),
1983
2058
  text: "",
1984
2059
  url: "",
1985
2060
  openInNewTab: !1,
@@ -1997,27 +2072,27 @@ var Hi = {
1997
2072
  function p(e) {
1998
2073
  r("update", { items: n.block.items.filter((t) => t.id !== e) });
1999
2074
  }
2000
- return (t, n) => (o(), _(O, null, [
2001
- j(J, { label: y(i).menu.items }, {
2002
- default: u(() => [T("div", Ea, [(o(!0), _(O, null, c(e.block.items, (t) => (o(), _("div", {
2075
+ return (t, n) => (o(), _(k, null, [
2076
+ M(J, { label: y(i).menu.items }, {
2077
+ default: u(() => [T("div", Ma, [(o(!0), _(k, null, c(e.block.items, (t) => (o(), _("div", {
2003
2078
  key: t.id,
2004
2079
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
2005
2080
  }, [
2006
- T("div", Da, [T("input", {
2081
+ T("div", Na, [T("input", {
2007
2082
  type: "text",
2008
2083
  class: w([y(U), "tpl:flex-1"]),
2009
2084
  value: t.text,
2010
2085
  placeholder: y(i).menu.text,
2011
2086
  onInput: (e) => f(t.id, "text", e.target.value)
2012
- }, null, 42, Oa), T("button", {
2013
- class: w(y(kt)),
2087
+ }, null, 42, Pa), T("button", {
2088
+ class: w(y(Mt)),
2014
2089
  title: y(i).menu.removeItem,
2015
2090
  onClick: (e) => p(t.id)
2016
- }, [j(y(Fe), {
2091
+ }, [M(y(Ye), {
2017
2092
  size: 14,
2018
2093
  "stroke-width": 2
2019
- })], 10, ka)]),
2020
- j(X, {
2094
+ })], 10, Fa)]),
2095
+ M(X, {
2021
2096
  "model-value": t.url,
2022
2097
  type: "url",
2023
2098
  placeholder: y(i).menu.urlPlaceholder,
@@ -2027,7 +2102,7 @@ var Hi = {
2027
2102
  "placeholder",
2028
2103
  "onUpdate:modelValue"
2029
2104
  ]),
2030
- T("div", Aa, [(o(!0), _(O, null, c(a.value, (e) => (o(), _("label", {
2105
+ T("div", Ia, [(o(!0), _(k, null, c(a.value, (e) => (o(), _("label", {
2031
2106
  key: e.key,
2032
2107
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1"
2033
2108
  }, [T("input", {
@@ -2035,34 +2110,34 @@ var Hi = {
2035
2110
  checked: t[e.key],
2036
2111
  class: "tpl:accent-[var(--tpl-primary)]",
2037
2112
  onChange: (n) => f(t.id, e.key, n.target.checked)
2038
- }, null, 40, ja), k(" " + h(e.label), 1)]))), 128))]),
2039
- T("div", Ma, [T("label", { class: w([y(W), "tpl:!mb-0"]) }, h(y(i).menu.color), 3), j(q, {
2113
+ }, null, 40, La), A(" " + h(e.label), 1)]))), 128))]),
2114
+ T("div", Ra, [T("label", { class: w([y(W), "tpl:!mb-0"]) }, h(y(i).menu.color), 3), M(q, {
2040
2115
  "swatch-only": "",
2041
2116
  "model-value": t.color || e.block.linkColor || e.block.color,
2042
2117
  "onUpdate:modelValue": (e) => f(t.id, "color", e)
2043
2118
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
2044
2119
  ]))), 128)), T("button", {
2045
- class: w(y(At)),
2120
+ class: w(y(Nt)),
2046
2121
  onClick: d
2047
- }, [j(y(H), {
2122
+ }, [M(y(H), {
2048
2123
  size: 14,
2049
2124
  "stroke-width": 2
2050
- }), k(" " + h(y(i).menu.addItem), 1)], 2)])]),
2125
+ }), A(" " + h(y(i).menu.addItem), 1)], 2)])]),
2051
2126
  _: 1
2052
2127
  }, 8, ["label"]),
2053
- j(J, { label: y(i).menu.fontFamily }, {
2128
+ M(J, { label: y(i).menu.fontFamily }, {
2054
2129
  default: u(() => [T("select", {
2055
2130
  class: w(y(U)),
2056
2131
  value: e.block.fontFamily || "",
2057
2132
  onChange: n[0] ||= (e) => l("fontFamily", e.target.value || void 0)
2058
- }, [T("option", Pa, h(y(i).title.inheritFont), 1), (o(!0), _(O, null, c(e.fontFamilies, (e) => (o(), _("option", {
2133
+ }, [T("option", Ba, h(y(i).title.inheritFont), 1), (o(!0), _(k, null, c(e.fontFamilies, (e) => (o(), _("option", {
2059
2134
  key: e.value,
2060
2135
  value: e.value
2061
- }, h(e.label), 9, Fa))), 128))], 42, Na)]),
2136
+ }, h(e.label), 9, Va))), 128))], 42, za)]),
2062
2137
  _: 1
2063
2138
  }, 8, ["label"]),
2064
- j(J, { label: y(i).menu.fontSize }, {
2065
- default: u(() => [j(Pt, {
2139
+ M(J, { label: y(i).menu.fontSize }, {
2140
+ default: u(() => [M(Rt, {
2066
2141
  "model-value": e.block.fontSize,
2067
2142
  min: 8,
2068
2143
  max: 48,
@@ -2071,46 +2146,46 @@ var Hi = {
2071
2146
  }, null, 8, ["model-value"])]),
2072
2147
  _: 1
2073
2148
  }, 8, ["label"]),
2074
- j(J, { label: y(i).menu.color }, {
2075
- default: u(() => [j(q, {
2149
+ M(J, { label: y(i).menu.color }, {
2150
+ default: u(() => [M(q, {
2076
2151
  "model-value": e.block.color,
2077
2152
  "onUpdate:modelValue": n[2] ||= (e) => l("color", e)
2078
2153
  }, null, 8, ["model-value"])]),
2079
2154
  _: 1
2080
2155
  }, 8, ["label"]),
2081
- j(J, { label: y(i).menu.linkColor }, {
2082
- default: u(() => [j(q, {
2156
+ M(J, { label: y(i).menu.linkColor }, {
2157
+ default: u(() => [M(q, {
2083
2158
  "model-value": e.block.linkColor || e.block.color,
2084
2159
  "onUpdate:modelValue": n[3] ||= (e) => l("linkColor", e || void 0)
2085
2160
  }, null, 8, ["model-value"])]),
2086
2161
  _: 1
2087
2162
  }, 8, ["label"]),
2088
- j(J, { label: y(i).menu.textAlign }, {
2089
- default: u(() => [j(Y, {
2163
+ M(J, { label: y(i).menu.textAlign }, {
2164
+ default: u(() => [M(Y, {
2090
2165
  options: s.value,
2091
2166
  "model-value": e.block.textAlign,
2092
2167
  "onUpdate:modelValue": n[4] ||= (e) => l("textAlign", e)
2093
2168
  }, null, 8, ["options", "model-value"])]),
2094
2169
  _: 1
2095
2170
  }, 8, ["label"]),
2096
- j(J, { label: y(i).menu.separator }, {
2171
+ M(J, { label: y(i).menu.separator }, {
2097
2172
  default: u(() => [T("input", {
2098
2173
  type: "text",
2099
2174
  class: w(y(U)),
2100
2175
  value: e.block.separator,
2101
2176
  onInput: n[5] ||= (e) => l("separator", e.target.value)
2102
- }, null, 42, Ia)]),
2177
+ }, null, 42, Ha)]),
2103
2178
  _: 1
2104
2179
  }, 8, ["label"]),
2105
- j(J, { label: y(i).menu.separatorColor }, {
2106
- default: u(() => [j(q, {
2180
+ M(J, { label: y(i).menu.separatorColor }, {
2181
+ default: u(() => [M(q, {
2107
2182
  "model-value": e.block.separatorColor,
2108
2183
  "onUpdate:modelValue": n[6] ||= (e) => l("separatorColor", e)
2109
2184
  }, null, 8, ["model-value"])]),
2110
2185
  _: 1
2111
2186
  }, 8, ["label"]),
2112
- j(J, { label: y(i).menu.spacing }, {
2113
- default: u(() => [j(Pt, {
2187
+ M(J, { label: y(i).menu.spacing }, {
2188
+ default: u(() => [M(Rt, {
2114
2189
  "model-value": e.block.spacing,
2115
2190
  min: 0,
2116
2191
  max: 50,
@@ -2124,11 +2199,11 @@ var Hi = {
2124
2199
  });
2125
2200
  //#endregion
2126
2201
  //#region src/utils/rebalanceColumnChildren.ts
2127
- function Ra(e) {
2202
+ function Wa(e) {
2128
2203
  return e === "1" ? 1 : e === "3" ? 3 : 2;
2129
2204
  }
2130
- function za(e, t) {
2131
- let n = Ra(t);
2205
+ function Ga(e, t) {
2206
+ let n = Wa(t);
2132
2207
  if (e.length === n) return e;
2133
2208
  if (e.length < n) {
2134
2209
  let t = Array.from({ length: n - e.length }, () => []);
@@ -2139,12 +2214,12 @@ function za(e, t) {
2139
2214
  }
2140
2215
  //#endregion
2141
2216
  //#region src/components/toolbar/SectionToolbar.vue?vue&type=script&setup=true&lang.ts
2142
- var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PURE__ */ A({
2217
+ var Ka = { class: "tpl:mb-3.5" }, qa = ["value"], Ja = ["value"], Ya = /* @__PURE__ */ j({
2143
2218
  __name: "SectionToolbar",
2144
2219
  props: { block: {} },
2145
2220
  emits: ["update"],
2146
2221
  setup(e, { emit: t }) {
2147
- let n = e, r = t, { t: i } = z(), a = g(() => [
2222
+ let n = e, r = t, { t: i } = B(), a = g(() => [
2148
2223
  {
2149
2224
  value: "1",
2150
2225
  label: i.section.column1
@@ -2170,30 +2245,30 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2170
2245
  let t = e.target.value;
2171
2246
  r("update", {
2172
2247
  columns: t,
2173
- children: za(n.block.children, t)
2248
+ children: Ga(n.block.children, t)
2174
2249
  });
2175
2250
  }
2176
- return (t, n) => (o(), _("div", Ba, [T("label", { class: w(y(W)) }, h(y(i).section.columns), 3), T("select", {
2251
+ return (t, n) => (o(), _("div", Ka, [T("label", { class: w(y(W)) }, h(y(i).section.columns), 3), T("select", {
2177
2252
  class: w(y(U)),
2178
2253
  value: e.block.columns,
2179
2254
  onChange: s
2180
- }, [(o(!0), _(O, null, c(a.value, (e) => (o(), _("option", {
2255
+ }, [(o(!0), _(k, null, c(a.value, (e) => (o(), _("option", {
2181
2256
  key: e.value,
2182
2257
  value: e.value
2183
- }, h(e.label), 9, Ha))), 128))], 42, Va)]));
2258
+ }, h(e.label), 9, Ja))), 128))], 42, qa)]));
2184
2259
  }
2185
- }), Wa = { class: "tpl:mb-3.5" }, Ga = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Ka = { class: "tpl:flex tpl:items-center tpl:gap-2" }, qa = ["value", "onChange"], Ja = ["value"], Ya = ["title", "onClick"], Xa = { class: "tpl:mb-3.5" }, Za = ["value"], Qa = { value: "solid" }, $a = { value: "outlined" }, eo = { value: "rounded" }, to = { value: "square" }, no = { value: "circle" }, ro = { class: "tpl:mb-3.5" }, io = { class: "tpl:mb-3.5" }, ao = { class: "tpl:flex tpl:items-stretch" }, oo = ["value"], so = { class: "tpl:mb-3.5" }, co = /* @__PURE__ */ A({
2260
+ }), Xa = { class: "tpl:mb-3.5" }, Za = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Qa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, $a = ["value", "onChange"], eo = ["value"], to = ["title", "onClick"], no = { class: "tpl:mb-3.5" }, ro = ["value"], io = { value: "solid" }, ao = { value: "outlined" }, oo = { value: "rounded" }, so = { value: "square" }, co = { value: "circle" }, lo = { class: "tpl:mb-3.5" }, uo = { class: "tpl:mb-3.5" }, fo = { class: "tpl:flex tpl:items-stretch" }, po = ["value"], mo = { class: "tpl:mb-3.5" }, ho = /* @__PURE__ */ j({
2186
2261
  __name: "SocialToolbar",
2187
2262
  props: { block: {} },
2188
2263
  emits: ["update"],
2189
2264
  setup(e, { emit: t }) {
2190
- let n = e, r = t, { t: i } = z();
2265
+ let n = e, r = t, { t: i } = B();
2191
2266
  function a(e, t) {
2192
2267
  r("update", { [e]: t });
2193
2268
  }
2194
2269
  function s() {
2195
2270
  let e = {
2196
- id: I(),
2271
+ id: ve(),
2197
2272
  platform: "facebook",
2198
2273
  url: ""
2199
2274
  };
@@ -2208,26 +2283,26 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2208
2283
  function u(e) {
2209
2284
  r("update", { icons: n.block.icons.filter((t) => t.id !== e) });
2210
2285
  }
2211
- return (t, n) => (o(), _(O, null, [
2212
- T("div", Wa, [T("label", { class: w(y(W)) }, h(y(i).social.icons), 3), T("div", Ga, [(o(!0), _(O, null, c(e.block.icons, (e) => (o(), _("div", {
2286
+ return (t, n) => (o(), _(k, null, [
2287
+ T("div", Xa, [T("label", { class: w(y(W)) }, h(y(i).social.icons), 3), T("div", Za, [(o(!0), _(k, null, c(e.block.icons, (e) => (o(), _("div", {
2213
2288
  key: e.id,
2214
2289
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
2215
- }, [T("div", Ka, [T("select", {
2290
+ }, [T("div", Qa, [T("select", {
2216
2291
  "data-testid": "social-platform-select",
2217
2292
  class: w([y(U), "tpl:flex-1"]),
2218
2293
  value: e.platform,
2219
2294
  onChange: (t) => l(e.id, "platform", t.target.value)
2220
- }, [(o(!0), _(O, null, c(y(R), (e) => (o(), _("option", {
2295
+ }, [(o(!0), _(k, null, c(y(ie), (e) => (o(), _("option", {
2221
2296
  key: e,
2222
2297
  value: e
2223
- }, h(y(i).social.platforms[e]), 9, Ja))), 128))], 42, qa), T("button", {
2224
- class: w(y(kt)),
2298
+ }, h(y(i).social.platforms[e]), 9, eo))), 128))], 42, $a), T("button", {
2299
+ class: w(y(Mt)),
2225
2300
  title: y(i).social.removeIcon,
2226
2301
  onClick: (t) => u(e.id)
2227
- }, [j(y(Fe), {
2302
+ }, [M(y(Ye), {
2228
2303
  size: 14,
2229
2304
  "stroke-width": 2
2230
- })], 10, Ya)]), j(X, {
2305
+ })], 10, to)]), M(X, {
2231
2306
  "model-value": e.url,
2232
2307
  type: "url",
2233
2308
  placeholder: y(i).social.urlPlaceholder,
@@ -2237,24 +2312,24 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2237
2312
  "placeholder",
2238
2313
  "onUpdate:modelValue"
2239
2314
  ])]))), 128)), T("button", {
2240
- class: w(y(At)),
2315
+ class: w(y(Nt)),
2241
2316
  onClick: s
2242
- }, [j(y(H), {
2317
+ }, [M(y(H), {
2243
2318
  size: 14,
2244
2319
  "stroke-width": 2
2245
- }), k(" " + h(y(i).social.addIcon), 1)], 2)])]),
2246
- T("div", Xa, [T("label", { class: w(y(W)) }, h(y(i).social.style), 3), T("select", {
2320
+ }), A(" " + h(y(i).social.addIcon), 1)], 2)])]),
2321
+ T("div", no, [T("label", { class: w(y(W)) }, h(y(i).social.style), 3), T("select", {
2247
2322
  class: w(y(U)),
2248
2323
  value: e.block.iconStyle,
2249
2324
  onChange: n[0] ||= (e) => a("iconStyle", e.target.value)
2250
2325
  }, [
2251
- T("option", Qa, h(y(i).social.styleSolid), 1),
2252
- T("option", $a, h(y(i).social.styleOutlined), 1),
2253
- T("option", eo, h(y(i).social.styleRounded), 1),
2254
- T("option", to, h(y(i).social.styleSquare), 1),
2255
- T("option", no, h(y(i).social.styleCircle), 1)
2256
- ], 42, Za)]),
2257
- T("div", ro, [T("label", { class: w(y(W)) }, h(y(i).social.size), 3), j(Y, {
2326
+ T("option", io, h(y(i).social.styleSolid), 1),
2327
+ T("option", ao, h(y(i).social.styleOutlined), 1),
2328
+ T("option", oo, h(y(i).social.styleRounded), 1),
2329
+ T("option", so, h(y(i).social.styleSquare), 1),
2330
+ T("option", co, h(y(i).social.styleCircle), 1)
2331
+ ], 42, ro)]),
2332
+ T("div", lo, [T("label", { class: w(y(W)) }, h(y(i).social.size), 3), M(Y, {
2258
2333
  options: [
2259
2334
  {
2260
2335
  value: "small",
@@ -2272,30 +2347,30 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2272
2347
  "model-value": e.block.iconSize,
2273
2348
  "onUpdate:modelValue": n[1] ||= (e) => a("iconSize", e)
2274
2349
  }, null, 8, ["options", "model-value"])]),
2275
- T("div", io, [T("label", { class: w(y(W)) }, h(y(i).social.spacing), 3), T("div", ao, [T("input", {
2350
+ T("div", uo, [T("label", { class: w(y(W)) }, h(y(i).social.spacing), 3), T("div", fo, [T("input", {
2276
2351
  type: "number",
2277
2352
  class: w(y(K)),
2278
2353
  value: e.block.spacing,
2279
2354
  min: "0",
2280
2355
  max: "50",
2281
2356
  onInput: n[2] ||= (e) => a("spacing", Number(e.target.value))
2282
- }, null, 42, oo), T("span", { class: w(y(G)) }, "px", 2)])]),
2283
- T("div", so, [T("label", { class: w(y(W)) }, h(y(i).social.align), 3), j(Y, {
2357
+ }, null, 42, po), T("span", { class: w(y(G)) }, "px", 2)])]),
2358
+ T("div", mo, [T("label", { class: w(y(W)) }, h(y(i).social.align), 3), M(Y, {
2284
2359
  options: [
2285
2360
  {
2286
2361
  value: "left",
2287
2362
  label: y(i).title.alignLeft,
2288
- icon: y(ht)
2363
+ icon: y(vt)
2289
2364
  },
2290
2365
  {
2291
2366
  value: "center",
2292
2367
  label: y(i).title.alignCenter,
2293
- icon: y(lt)
2368
+ icon: y(ft)
2294
2369
  },
2295
2370
  {
2296
2371
  value: "right",
2297
2372
  label: y(i).title.alignRight,
2298
- icon: y(ct)
2373
+ icon: y(dt)
2299
2374
  }
2300
2375
  ],
2301
2376
  "model-value": e.block.align,
@@ -2303,22 +2378,22 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2303
2378
  }, null, 8, ["options", "model-value"])])
2304
2379
  ], 64));
2305
2380
  }
2306
- }), lo = { class: "tpl:mb-3.5" }, uo = { class: "tpl:flex tpl:items-stretch" }, fo = ["value"], po = ["value"], mo = /* @__PURE__ */ A({
2381
+ }), go = { class: "tpl:mb-3.5" }, _o = { class: "tpl:flex tpl:items-stretch" }, vo = ["value"], yo = ["value"], bo = /* @__PURE__ */ j({
2307
2382
  __name: "SpacerToolbar",
2308
2383
  props: { block: {} },
2309
2384
  emits: ["update"],
2310
2385
  setup(e, { emit: t }) {
2311
- let n = t, { t: r } = z();
2312
- return (t, i) => (o(), _("div", lo, [
2386
+ let n = t, { t: r } = B();
2387
+ return (t, i) => (o(), _("div", go, [
2313
2388
  T("label", { class: w(y(W)) }, h(y(r).spacer.height), 3),
2314
- T("div", uo, [T("input", {
2389
+ T("div", _o, [T("input", {
2315
2390
  type: "number",
2316
2391
  class: w(y(K)),
2317
2392
  value: e.block.height,
2318
2393
  min: "10",
2319
2394
  max: "100",
2320
2395
  onInput: i[0] ||= (e) => n("update", { height: Number(e.target.value) })
2321
- }, null, 42, fo), T("span", { class: w(y(G)) }, "px", 2)]),
2396
+ }, null, 42, vo), T("span", { class: w(y(G)) }, "px", 2)]),
2322
2397
  T("input", {
2323
2398
  type: "range",
2324
2399
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -2326,13 +2401,13 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2326
2401
  min: "10",
2327
2402
  max: "100",
2328
2403
  onInput: i[1] ||= (e) => n("update", { height: Number(e.target.value) })
2329
- }, null, 40, po)
2404
+ }, null, 40, yo)
2330
2405
  ]));
2331
2406
  }
2332
- }), ho = { class: "tpl:mb-3.5" }, go = { class: "tpl:flex tpl:items-center tpl:gap-3" }, _o = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, vo = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, yo = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, bo = ["disabled"], xo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, So = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Co = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, wo = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, To = ["disabled"], Eo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Do = { class: "tpl:mb-3.5" }, Oo = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ko = ["checked"], Ao = {
2407
+ }), xo = { class: "tpl:mb-3.5" }, So = { class: "tpl:flex tpl:items-center tpl:gap-3" }, Co = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, wo = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, To = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Eo = ["disabled"], Do = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Oo = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ko = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ao = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, jo = ["disabled"], Mo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, No = { class: "tpl:mb-3.5" }, Po = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Fo = ["checked"], Io = {
2333
2408
  key: 0,
2334
2409
  class: "tpl:mb-3.5"
2335
- }, jo = { class: "tpl:mb-3.5" }, Mo = { class: "tpl:mb-3.5" }, No = { class: "tpl:flex tpl:items-stretch" }, Po = ["value"], Fo = { class: "tpl:mb-3.5" }, Io = { class: "tpl:flex tpl:items-stretch" }, Lo = ["value"], Ro = { class: "tpl:mb-3.5" }, zo = ["value"], Bo = { value: "" }, Vo = ["value"], Ho = { class: "tpl:mb-3.5" }, Uo = { class: "tpl:flex tpl:items-stretch" }, Wo = ["value"], Go = { class: "tpl:mb-3.5" }, Ko = { class: "tpl:mb-3.5" }, qo = /* @__PURE__ */ A({
2410
+ }, Lo = { class: "tpl:mb-3.5" }, Ro = { class: "tpl:mb-3.5" }, zo = { class: "tpl:flex tpl:items-stretch" }, Bo = ["value"], Vo = { class: "tpl:mb-3.5" }, Ho = { class: "tpl:flex tpl:items-stretch" }, Uo = ["value"], Wo = { class: "tpl:mb-3.5" }, Go = ["value"], Ko = { value: "" }, qo = ["value"], Jo = { class: "tpl:mb-3.5" }, Yo = { class: "tpl:flex tpl:items-stretch" }, Xo = ["value"], Zo = { class: "tpl:mb-3.5" }, Qo = { class: "tpl:mb-3.5" }, $o = /* @__PURE__ */ j({
2336
2411
  __name: "TableToolbar",
2337
2412
  props: {
2338
2413
  block: {},
@@ -2340,15 +2415,15 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2340
2415
  },
2341
2416
  emits: ["update"],
2342
2417
  setup(e, { emit: t }) {
2343
- let n = e, r = t, { t: i } = z(), a = g(() => n.block.rows.length > 0 ? n.block.rows[0].cells.length : 0);
2418
+ let n = e, r = t, { t: i } = B(), a = g(() => n.block.rows.length > 0 ? n.block.rows[0].cells.length : 0);
2344
2419
  function s(e, t) {
2345
2420
  r("update", { [e]: t });
2346
2421
  }
2347
2422
  function l() {
2348
2423
  let e = n.block.rows.length > 0 ? n.block.rows[0].cells.length : 3, t = {
2349
- id: I(),
2424
+ id: ve(),
2350
2425
  cells: Array.from({ length: e }, () => ({
2351
- id: I(),
2426
+ id: ve(),
2352
2427
  content: ""
2353
2428
  }))
2354
2429
  };
@@ -2361,7 +2436,7 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2361
2436
  r("update", { rows: n.block.rows.map((e) => ({
2362
2437
  ...e,
2363
2438
  cells: [...e.cells, {
2364
- id: I(),
2439
+ id: ve(),
2365
2440
  content: ""
2366
2441
  }]
2367
2442
  })) });
@@ -2372,109 +2447,114 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2372
2447
  cells: t.cells.filter((t, n) => n !== e)
2373
2448
  })) });
2374
2449
  }
2375
- return (t, n) => (o(), _(O, null, [
2376
- T("div", ho, [T("label", { class: w(y(W)) }, h(y(i).table.dimensions), 3), T("div", go, [T("div", _o, [T("span", vo, h(y(i).table.rows), 1), T("div", yo, [
2450
+ return (t, n) => (o(), _(k, null, [
2451
+ T("div", xo, [T("label", { class: w(y(W)) }, h(y(i).table.dimensions), 3), T("div", So, [T("div", Co, [T("span", wo, h(y(i).table.rows), 1), T("div", To, [
2377
2452
  T("button", {
2378
2453
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
2379
2454
  disabled: e.block.rows.length <= 1,
2380
2455
  onClick: n[0] ||= (t) => u(e.block.rows[e.block.rows.length - 1].id)
2381
- }, [j(y(bt), {
2456
+ }, [M(y(Ct), {
2382
2457
  size: 12,
2383
2458
  "stroke-width": 2
2384
- })], 8, bo),
2385
- T("span", xo, h(e.block.rows.length), 1),
2459
+ })], 8, Eo),
2460
+ T("span", Do, h(e.block.rows.length), 1),
2386
2461
  T("button", {
2387
2462
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)]",
2388
2463
  onClick: l
2389
- }, [j(y(H), {
2464
+ }, [M(y(H), {
2390
2465
  size: 12,
2391
2466
  "stroke-width": 2
2392
2467
  })])
2393
- ])]), T("div", So, [T("span", Co, h(y(i).table.columns), 1), T("div", wo, [
2468
+ ])]), T("div", Oo, [T("span", ko, h(y(i).table.columns), 1), T("div", Ao, [
2394
2469
  T("button", {
2395
2470
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
2396
2471
  disabled: a.value <= 1,
2397
2472
  onClick: n[1] ||= (e) => f(a.value - 1)
2398
- }, [j(y(bt), {
2473
+ }, [M(y(Ct), {
2399
2474
  size: 12,
2400
2475
  "stroke-width": 2
2401
- })], 8, To),
2402
- T("span", Eo, h(a.value), 1),
2476
+ })], 8, jo),
2477
+ T("span", Mo, h(a.value), 1),
2403
2478
  T("button", {
2404
2479
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)]",
2405
2480
  onClick: d
2406
- }, [j(y(H), {
2481
+ }, [M(y(H), {
2407
2482
  size: 12,
2408
2483
  "stroke-width": 2
2409
2484
  })])
2410
2485
  ])])])]),
2411
- T("div", Do, [T("label", Oo, [T("input", {
2486
+ T("div", No, [T("label", Po, [T("input", {
2412
2487
  type: "checkbox",
2413
2488
  checked: e.block.hasHeaderRow,
2414
2489
  class: "tpl:accent-[var(--tpl-primary)]",
2415
2490
  onChange: n[2] ||= (e) => s("hasHeaderRow", e.target.checked)
2416
- }, null, 40, ko), k(" " + h(y(i).table.hasHeaderRow), 1)])]),
2417
- e.block.hasHeaderRow ? (o(), _("div", Ao, [T("label", { class: w(y(W)) }, h(y(i).table.headerBackgroundColor), 3), j(q, {
2418
- "model-value": e.block.headerBackgroundColor || y("#f2f2f2"),
2491
+ }, null, 40, Fo), A(" " + h(y(i).table.hasHeaderRow), 1)])]),
2492
+ e.block.hasHeaderRow ? (o(), _("div", Io, [T("label", { class: w(y(W)) }, h(y(i).table.headerBackgroundColor), 3), M(q, {
2493
+ "model-value": e.block.headerBackgroundColor ?? "",
2494
+ "seed-color": y(It),
2419
2495
  placeholder: y(i).table.noHeaderBg,
2420
2496
  "onUpdate:modelValue": n[3] ||= (e) => s("headerBackgroundColor", e || null)
2421
- }, null, 8, ["model-value", "placeholder"])])) : v("", !0),
2422
- T("div", jo, [T("label", { class: w(y(W)) }, h(y(i).table.borderColor), 3), j(q, {
2497
+ }, null, 8, [
2498
+ "model-value",
2499
+ "seed-color",
2500
+ "placeholder"
2501
+ ])])) : v("", !0),
2502
+ T("div", Lo, [T("label", { class: w(y(W)) }, h(y(i).table.borderColor), 3), M(q, {
2423
2503
  "model-value": e.block.borderColor,
2424
2504
  "onUpdate:modelValue": n[4] ||= (e) => s("borderColor", e)
2425
2505
  }, null, 8, ["model-value"])]),
2426
- T("div", Mo, [T("label", { class: w(y(W)) }, h(y(i).table.borderWidth), 3), T("div", No, [T("input", {
2506
+ T("div", Ro, [T("label", { class: w(y(W)) }, h(y(i).table.borderWidth), 3), T("div", zo, [T("input", {
2427
2507
  type: "number",
2428
2508
  class: w(y(K)),
2429
2509
  value: e.block.borderWidth,
2430
2510
  min: "0",
2431
2511
  max: "10",
2432
2512
  onInput: n[5] ||= (e) => s("borderWidth", Number(e.target.value))
2433
- }, null, 42, Po), T("span", { class: w(y(G)) }, "px", 2)])]),
2434
- T("div", Fo, [T("label", { class: w(y(W)) }, h(y(i).table.cellPadding), 3), T("div", Io, [T("input", {
2513
+ }, null, 42, Bo), T("span", { class: w(y(G)) }, "px", 2)])]),
2514
+ T("div", Vo, [T("label", { class: w(y(W)) }, h(y(i).table.cellPadding), 3), T("div", Ho, [T("input", {
2435
2515
  type: "number",
2436
2516
  class: w(y(K)),
2437
2517
  value: e.block.cellPadding,
2438
2518
  min: "0",
2439
2519
  max: "30",
2440
2520
  onInput: n[6] ||= (e) => s("cellPadding", Number(e.target.value))
2441
- }, null, 42, Lo), T("span", { class: w(y(G)) }, "px", 2)])]),
2442
- T("div", Ro, [T("label", { class: w(y(W)) }, h(y(i).table.fontFamily), 3), T("select", {
2521
+ }, null, 42, Uo), T("span", { class: w(y(G)) }, "px", 2)])]),
2522
+ T("div", Wo, [T("label", { class: w(y(W)) }, h(y(i).table.fontFamily), 3), T("select", {
2443
2523
  class: w(y(U)),
2444
2524
  value: e.block.fontFamily || "",
2445
2525
  onChange: n[7] ||= (e) => s("fontFamily", e.target.value || void 0)
2446
- }, [T("option", Bo, h(y(i).title.inheritFont), 1), (o(!0), _(O, null, c(e.fontFamilies, (e) => (o(), _("option", {
2526
+ }, [T("option", Ko, h(y(i).title.inheritFont), 1), (o(!0), _(k, null, c(e.fontFamilies, (e) => (o(), _("option", {
2447
2527
  key: e.value,
2448
2528
  value: e.value
2449
- }, h(e.label), 9, Vo))), 128))], 42, zo)]),
2450
- T("div", Ho, [T("label", { class: w(y(W)) }, h(y(i).table.fontSize), 3), T("div", Uo, [T("input", {
2529
+ }, h(e.label), 9, qo))), 128))], 42, Go)]),
2530
+ T("div", Jo, [T("label", { class: w(y(W)) }, h(y(i).table.fontSize), 3), T("div", Yo, [T("input", {
2451
2531
  type: "number",
2452
2532
  class: w(y(K)),
2453
2533
  value: e.block.fontSize,
2454
2534
  min: "10",
2455
2535
  max: "32",
2456
2536
  onInput: n[8] ||= (e) => s("fontSize", Number(e.target.value))
2457
- }, null, 42, Wo), T("span", { class: w(y(G)) }, "px", 2)])]),
2458
- T("div", Go, [T("label", { class: w(y(W)) }, h(y(i).table.color), 3), j(q, {
2537
+ }, null, 42, Xo), T("span", { class: w(y(G)) }, "px", 2)])]),
2538
+ T("div", Zo, [T("label", { class: w(y(W)) }, h(y(i).table.color), 3), M(q, {
2459
2539
  "model-value": e.block.color,
2460
2540
  "onUpdate:modelValue": n[9] ||= (e) => s("color", e)
2461
2541
  }, null, 8, ["model-value"])]),
2462
- T("div", Ko, [T("label", { class: w(y(W)) }, h(y(i).table.textAlign), 3), j(Y, {
2542
+ T("div", Qo, [T("label", { class: w(y(W)) }, h(y(i).table.textAlign), 3), M(Y, {
2463
2543
  options: [
2464
2544
  {
2465
2545
  value: "left",
2466
2546
  label: y(i).title.alignLeft,
2467
- icon: y(ht)
2547
+ icon: y(vt)
2468
2548
  },
2469
2549
  {
2470
2550
  value: "center",
2471
2551
  label: y(i).title.alignCenter,
2472
- icon: y(lt)
2552
+ icon: y(ft)
2473
2553
  },
2474
2554
  {
2475
2555
  value: "right",
2476
2556
  label: y(i).title.alignRight,
2477
- icon: y(ct)
2557
+ icon: y(dt)
2478
2558
  }
2479
2559
  ],
2480
2560
  "model-value": e.block.textAlign,
@@ -2482,7 +2562,7 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2482
2562
  }, null, 8, ["options", "model-value"])])
2483
2563
  ], 64));
2484
2564
  }
2485
- }), Jo = { class: "tpl:mb-3.5" }, Yo = ["value"], Xo = { value: 1 }, Zo = { value: 2 }, Qo = { value: 3 }, $o = { value: 4 }, es = { class: "tpl:mb-3.5" }, ts = ["value"], ns = { value: "" }, rs = ["value"], is = { class: "tpl:mb-3.5" }, as = { class: "tpl:mb-3.5" }, os = /* @__PURE__ */ A({
2565
+ }), es = { class: "tpl:mb-3.5" }, ts = ["value"], ns = { value: 1 }, rs = { value: 2 }, is = { value: 3 }, as = { value: 4 }, os = { class: "tpl:mb-3.5" }, ss = ["value"], cs = { value: "" }, ls = ["value"], us = { class: "tpl:mb-3.5" }, ds = { class: "tpl:mb-3.5" }, fs = /* @__PURE__ */ j({
2486
2566
  __name: "TitleToolbar",
2487
2567
  props: {
2488
2568
  block: {},
@@ -2490,49 +2570,49 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2490
2570
  },
2491
2571
  emits: ["update"],
2492
2572
  setup(e, { emit: t }) {
2493
- let n = t, { t: r } = z();
2573
+ let n = t, { t: r } = B();
2494
2574
  function i(e, t) {
2495
2575
  n("update", { [e]: t });
2496
2576
  }
2497
- return (t, n) => (o(), _(O, null, [
2498
- T("div", Jo, [T("label", { class: w(y(W)) }, h(y(r).title.level), 3), T("select", {
2577
+ return (t, n) => (o(), _(k, null, [
2578
+ T("div", es, [T("label", { class: w(y(W)) }, h(y(r).title.level), 3), T("select", {
2499
2579
  class: w(y(U)),
2500
2580
  value: e.block.level,
2501
2581
  onChange: n[0] ||= (e) => i("level", Number(e.target.value))
2502
2582
  }, [
2503
- T("option", Xo, h(y(r).title.heading1), 1),
2504
- T("option", Zo, h(y(r).title.heading2), 1),
2505
- T("option", Qo, h(y(r).title.heading3), 1),
2506
- T("option", $o, h(y(r).title.heading4), 1)
2507
- ], 42, Yo)]),
2508
- T("div", es, [T("label", { class: w(y(W)) }, h(y(r).title.fontFamily), 3), T("select", {
2583
+ T("option", ns, h(y(r).title.heading1), 1),
2584
+ T("option", rs, h(y(r).title.heading2), 1),
2585
+ T("option", is, h(y(r).title.heading3), 1),
2586
+ T("option", as, h(y(r).title.heading4), 1)
2587
+ ], 42, ts)]),
2588
+ T("div", os, [T("label", { class: w(y(W)) }, h(y(r).title.fontFamily), 3), T("select", {
2509
2589
  class: w(y(U)),
2510
2590
  value: e.block.fontFamily || "",
2511
2591
  onChange: n[1] ||= (e) => i("fontFamily", e.target.value || void 0)
2512
- }, [T("option", ns, h(y(r).title.inheritFont), 1), (o(!0), _(O, null, c(e.fontFamilies, (e) => (o(), _("option", {
2592
+ }, [T("option", cs, h(y(r).title.inheritFont), 1), (o(!0), _(k, null, c(e.fontFamilies, (e) => (o(), _("option", {
2513
2593
  key: e.value,
2514
2594
  value: e.value
2515
- }, h(e.label), 9, rs))), 128))], 42, ts)]),
2516
- T("div", is, [T("label", { class: w(y(W)) }, h(y(r).title.color), 3), j(q, {
2595
+ }, h(e.label), 9, ls))), 128))], 42, ss)]),
2596
+ T("div", us, [T("label", { class: w(y(W)) }, h(y(r).title.color), 3), M(q, {
2517
2597
  "model-value": e.block.color,
2518
2598
  "onUpdate:modelValue": n[2] ||= (e) => i("color", e)
2519
2599
  }, null, 8, ["model-value"])]),
2520
- T("div", as, [T("label", { class: w(y(W)) }, h(y(r).title.align), 3), j(Y, {
2600
+ T("div", ds, [T("label", { class: w(y(W)) }, h(y(r).title.align), 3), M(Y, {
2521
2601
  options: [
2522
2602
  {
2523
2603
  value: "left",
2524
2604
  label: y(r).title.alignLeft,
2525
- icon: y(ht)
2605
+ icon: y(vt)
2526
2606
  },
2527
2607
  {
2528
2608
  value: "center",
2529
2609
  label: y(r).title.alignCenter,
2530
- icon: y(lt)
2610
+ icon: y(ft)
2531
2611
  },
2532
2612
  {
2533
2613
  value: "right",
2534
2614
  label: y(r).title.alignRight,
2535
- icon: y(ct)
2615
+ icon: y(dt)
2536
2616
  }
2537
2617
  ],
2538
2618
  "model-value": e.block.textAlign,
@@ -2540,22 +2620,22 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2540
2620
  }, null, 8, ["options", "model-value"])])
2541
2621
  ], 64));
2542
2622
  }
2543
- }), ss = { class: "tpl:mb-3.5" }, cs = {
2623
+ }), ps = { class: "tpl:mb-3.5" }, ms = {
2544
2624
  key: 0,
2545
2625
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
2546
- }, ls = ["checked"], us = {
2626
+ }, hs = ["checked"], gs = {
2547
2627
  key: 0,
2548
2628
  class: "tpl:mb-3.5"
2549
- }, ds = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, fs = [
2629
+ }, _s = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, vs = [
2550
2630
  "value",
2551
2631
  "placeholder",
2552
2632
  "title"
2553
- ], ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, hs = { class: "tpl:mb-3.5" }, gs = { class: "tpl:mb-3.5" }, _s = ["value"], vs = { value: "full" }, ys = { class: "tpl:mb-3.5" }, bs = /* @__PURE__ */ A({
2633
+ ], ys = { class: "tpl:mb-3.5" }, bs = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, xs = { class: "tpl:mb-3.5" }, Ss = { class: "tpl:mb-3.5" }, Cs = ["value"], ws = { value: "full" }, Ts = { class: "tpl:mb-3.5" }, Es = /* @__PURE__ */ j({
2554
2634
  __name: "VideoToolbar",
2555
2635
  props: { block: {} },
2556
2636
  emits: ["update"],
2557
2637
  setup(e, { emit: t }) {
2558
- let n = e, r = t, { t: i } = z(), a = l(ye, null), s = l(Me, $e.liquid), c = Oe(), u = g(() => !!a), d = g(() => nt(n.block.url, s)), p = f(!1), { start: m } = Ue(() => {
2638
+ let n = e, r = t, { t: i } = B(), a = l(P, null), s = l(xe, ot.liquid), c = z(), u = g(() => !!a), d = g(() => Ie(n.block.url, s)), p = f(!1), { start: m } = Ve(() => {
2559
2639
  p.value = !1;
2560
2640
  }, 1e3, { immediate: !1 });
2561
2641
  function b(e, t) {
@@ -2565,33 +2645,33 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2565
2645
  let e = await a?.({ accept: ["images"] });
2566
2646
  c.alive && e && (b("thumbnailUrl", e.url), p.value = !0, m());
2567
2647
  }
2568
- return (t, n) => (o(), _(O, null, [
2569
- T("div", ss, [
2648
+ return (t, n) => (o(), _(k, null, [
2649
+ T("div", ps, [
2570
2650
  T("label", { class: w(y(W)) }, h(y(i).video.videoUrl), 3),
2571
- j(X, {
2651
+ M(X, {
2572
2652
  "model-value": e.block.url,
2573
2653
  type: "url",
2574
2654
  placeholder: y(i).video.videoUrlPlaceholder,
2575
2655
  "onUpdate:modelValue": n[0] ||= (e) => b("url", e)
2576
2656
  }, null, 8, ["model-value", "placeholder"]),
2577
- e.block.url ? (o(), _("label", cs, [T("input", {
2657
+ e.block.url ? (o(), _("label", ms, [T("input", {
2578
2658
  type: "checkbox",
2579
2659
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
2580
2660
  checked: e.block.openInNewTab ?? !1,
2581
2661
  onChange: n[1] ||= (e) => b("openInNewTab", e.target.checked)
2582
- }, null, 40, ls), k(" " + h(y(i).video.openInNewTab), 1)])) : v("", !0)
2662
+ }, null, 40, hs), A(" " + h(y(i).video.openInNewTab), 1)])) : v("", !0)
2583
2663
  ]),
2584
- d.value ? (o(), _("div", us, [T("label", { class: w(y(W)) }, [k(h(y(i).video.placeholderUrl) + " ", 1), T("span", ds, h(y(i).video.optional), 1)], 2), T("input", {
2664
+ d.value ? (o(), _("div", gs, [T("label", { class: w(y(W)) }, [A(h(y(i).video.placeholderUrl) + " ", 1), T("span", _s, h(y(i).video.optional), 1)], 2), T("input", {
2585
2665
  type: "url",
2586
2666
  class: w(y(U)),
2587
2667
  value: e.block.placeholderUrl || "",
2588
2668
  placeholder: y(i).video.placeholderUrlPlaceholder,
2589
2669
  title: y(i).video.placeholderUrlTooltip,
2590
2670
  onInput: n[2] ||= (e) => b("placeholderUrl", e.target.value)
2591
- }, null, 42, fs)])) : v("", !0),
2592
- T("div", ps, [
2593
- T("label", { class: w(y(W)) }, [k(h(y(i).video.customThumbnail) + " ", 1), T("span", ms, h(y(i).video.optional), 1)], 2),
2594
- j(X, {
2671
+ }, null, 42, vs)])) : v("", !0),
2672
+ T("div", ys, [
2673
+ T("label", { class: w(y(W)) }, [A(h(y(i).video.customThumbnail) + " ", 1), T("span", bs, h(y(i).video.optional), 1)], 2),
2674
+ M(X, {
2595
2675
  "model-value": e.block.thumbnailUrl,
2596
2676
  type: "url",
2597
2677
  placeholder: y(i).video.thumbnailPlaceholder,
@@ -2611,28 +2691,28 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2611
2691
  "background-color": "var(--tpl-bg)"
2612
2692
  },
2613
2693
  onClick: x
2614
- }, [j(y(Ne), {
2694
+ }, [M(y(rt), {
2615
2695
  size: 14,
2616
2696
  "stroke-width": 1.5
2617
- }), k(" " + h(y(i).image.browseMedia), 1)])) : v("", !0)
2697
+ }), A(" " + h(y(i).image.browseMedia), 1)])) : v("", !0)
2618
2698
  ]),
2619
- T("div", hs, [T("label", { class: w(y(W)) }, h(y(i).video.altText), 3), j(X, {
2699
+ T("div", xs, [T("label", { class: w(y(W)) }, h(y(i).video.altText), 3), M(X, {
2620
2700
  "model-value": e.block.alt,
2621
2701
  type: "text",
2622
2702
  placeholder: y(i).video.altTextPlaceholder,
2623
2703
  "onUpdate:modelValue": n[4] ||= (e) => b("alt", e)
2624
2704
  }, null, 8, ["model-value", "placeholder"])]),
2625
- T("div", gs, [T("label", { class: w(y(W)) }, h(y(i).video.width), 3), T("select", {
2705
+ T("div", Ss, [T("label", { class: w(y(W)) }, h(y(i).video.width), 3), T("select", {
2626
2706
  class: w(y(U)),
2627
2707
  value: e.block.width,
2628
2708
  onChange: n[5] ||= (e) => b("width", e.target.value === "full" ? "full" : Number(e.target.value))
2629
2709
  }, [
2630
- T("option", vs, h(y(i).video.fullWidth), 1),
2710
+ T("option", ws, h(y(i).video.fullWidth), 1),
2631
2711
  n[7] ||= T("option", { value: "300" }, "300px", -1),
2632
2712
  n[8] ||= T("option", { value: "400" }, "400px", -1),
2633
2713
  n[9] ||= T("option", { value: "500" }, "500px", -1)
2634
- ], 42, _s)]),
2635
- T("div", ys, [T("label", { class: w(y(W)) }, h(y(i).title.align), 3), j(Y, {
2714
+ ], 42, Cs)]),
2715
+ T("div", Ts, [T("label", { class: w(y(W)) }, h(y(i).title.align), 3), M(Y, {
2636
2716
  options: [
2637
2717
  {
2638
2718
  value: "left",
@@ -2652,7 +2732,7 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2652
2732
  }, null, 8, ["options", "model-value"])])
2653
2733
  ], 64));
2654
2734
  }
2655
- }), xs = ["aria-label"], Ss = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, Cs = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, ws = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ts = { class: "tpl:flex tpl:gap-1" }, Es = ["title"], Ds = ["title"], Os = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, ks = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
2735
+ }), Ds = ["aria-label"], Os = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, ks = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, As = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, js = { class: "tpl:flex tpl:gap-1" }, Ms = ["title"], Ns = ["title"], Ps = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Fs = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
2656
2736
  __name: "Toolbar",
2657
2737
  props: { block: {} },
2658
2738
  emits: [
@@ -2661,87 +2741,87 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2661
2741
  "duplicate"
2662
2742
  ],
2663
2743
  setup(e, { emit: t }) {
2664
- let n = p(() => import("./CountdownToolbar-BXjDFRHI.js")), r = e, i = t, { t: s } = z(), c = Pe(je, "Toolbar"), u = l(B, []), d = g(() => r.block.type), f = g(() => te(r.block)), m = g(() => {
2744
+ let n = p(() => import("./CountdownToolbar-C6gX2SJr.js")), r = e, i = t, { t: s } = B(), c = Je(ke, "Toolbar"), u = l(V, []), d = g(() => r.block.type), f = g(() => Ge(r.block)), m = g(() => {
2665
2745
  if (f.value) return u.find((e) => e.type === r.block.customType);
2666
- }), b = g(() => f.value ? m.value?.name ?? r.block.customType : V(d.value, s)), S = c.fonts;
2746
+ }), b = g(() => f.value ? m.value?.name ?? r.block.customType : ae(d.value, s)), S = c.fonts;
2667
2747
  function C(e) {
2668
2748
  i("update", e);
2669
2749
  }
2670
2750
  return (t, r) => (o(), _("aside", {
2671
2751
  "aria-label": y(s).landmarks.blockToolbar,
2672
2752
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
2673
- }, [T("div", Ss, [T("div", Cs, [y(Ot)[d.value] ? (o(), x(a(y(Ot)[d.value]), {
2753
+ }, [T("div", Os, [T("div", ks, [y(jt)[d.value] ? (o(), x(a(y(jt)[d.value]), {
2674
2754
  key: 0,
2675
2755
  size: 16,
2676
2756
  "stroke-width": 1.5
2677
- })) : f.value ? (o(), x(y(Se), {
2757
+ })) : f.value ? (o(), x(y(L), {
2678
2758
  key: 1,
2679
2759
  size: 16,
2680
2760
  "stroke-width": 1.5
2681
- })) : v("", !0), T("h3", ws, h(b.value), 1)]), T("div", Ts, [T("button", {
2761
+ })) : v("", !0), T("h3", As, h(b.value), 1)]), T("div", js, [T("button", {
2682
2762
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)] tpl:hover:text-[var(--tpl-text)]",
2683
2763
  title: y(s).toolbar.duplicate,
2684
2764
  onClick: r[0] ||= (e) => i("duplicate")
2685
- }, [j(y(tt), {
2765
+ }, [M(y(we), {
2686
2766
  size: 14,
2687
2767
  "stroke-width": 2
2688
- })], 8, Es), T("button", {
2768
+ })], 8, Ms), T("button", {
2689
2769
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
2690
2770
  title: y(s).toolbar.delete,
2691
2771
  onClick: r[1] ||= (e) => i("delete")
2692
- }, [j(y(Qe), {
2772
+ }, [M(y(Re), {
2693
2773
  size: 14,
2694
2774
  "stroke-width": 2
2695
- })], 8, Ds)])]), T("div", Os, [f.value ? (o(), x(Xi, {
2775
+ })], 8, Ns)])]), T("div", Ps, [f.value ? (o(), x(ta, {
2696
2776
  key: 0,
2697
2777
  block: e.block,
2698
2778
  onUpdateFieldValues: r[2] ||= (e) => i("update", { fieldValues: e }),
2699
2779
  onUpdateDataSourceFetched: r[3] ||= (e) => i("update", { dataSourceFetched: e })
2700
- }, null, 8, ["block"])) : d.value === "section" ? (o(), x(Ua, {
2780
+ }, null, 8, ["block"])) : d.value === "section" ? (o(), x(Ya, {
2701
2781
  key: 1,
2702
2782
  block: e.block,
2703
2783
  onUpdate: C
2704
- }, null, 8, ["block"])) : d.value === "title" ? (o(), x(os, {
2784
+ }, null, 8, ["block"])) : d.value === "title" ? (o(), x(fs, {
2705
2785
  key: 2,
2706
2786
  block: e.block,
2707
2787
  "font-families": y(S),
2708
2788
  onUpdate: C
2709
- }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (o(), _(O, { key: 3 }, [], 64)) : d.value === "image" ? (o(), x(Ta, {
2789
+ }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (o(), _(k, { key: 3 }, [], 64)) : d.value === "image" ? (o(), x(ja, {
2710
2790
  key: 4,
2711
2791
  block: e.block,
2712
2792
  onUpdate: C
2713
- }, null, 8, ["block"])) : d.value === "video" ? (o(), x(bs, {
2793
+ }, null, 8, ["block"])) : d.value === "video" ? (o(), x(Es, {
2714
2794
  key: 5,
2715
2795
  block: e.block,
2716
2796
  onUpdate: C
2717
- }, null, 8, ["block"])) : d.value === "button" ? (o(), x(Cr, {
2797
+ }, null, 8, ["block"])) : d.value === "button" ? (o(), x(Dr, {
2718
2798
  key: 6,
2719
2799
  block: e.block,
2720
2800
  "font-families": y(S),
2721
2801
  onUpdate: C
2722
- }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (o(), x(na, {
2802
+ }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (o(), x(sa, {
2723
2803
  key: 7,
2724
2804
  block: e.block,
2725
2805
  onUpdate: C
2726
- }, null, 8, ["block"])) : d.value === "social" ? (o(), x(co, {
2806
+ }, null, 8, ["block"])) : d.value === "social" ? (o(), x(ho, {
2727
2807
  key: 8,
2728
2808
  block: e.block,
2729
2809
  onUpdate: C
2730
- }, null, 8, ["block"])) : d.value === "menu" ? (o(), x(La, {
2810
+ }, null, 8, ["block"])) : d.value === "menu" ? (o(), x(Ua, {
2731
2811
  key: 9,
2732
2812
  block: e.block,
2733
2813
  "font-families": y(S),
2734
2814
  onUpdate: C
2735
- }, null, 8, ["block", "font-families"])) : d.value === "table" ? (o(), x(qo, {
2815
+ }, null, 8, ["block", "font-families"])) : d.value === "table" ? (o(), x($o, {
2736
2816
  key: 10,
2737
2817
  block: e.block,
2738
2818
  "font-families": y(S),
2739
2819
  onUpdate: C
2740
- }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (o(), x(mo, {
2820
+ }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (o(), x(bo, {
2741
2821
  key: 11,
2742
2822
  block: e.block,
2743
2823
  onUpdate: C
2744
- }, null, 8, ["block"])) : d.value === "html" ? (o(), x(oa, {
2824
+ }, null, 8, ["block"])) : d.value === "html" ? (o(), x(da, {
2745
2825
  key: 12,
2746
2826
  block: e.block,
2747
2827
  onUpdate: C
@@ -2750,52 +2830,52 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2750
2830
  block: e.block,
2751
2831
  "font-families": y(S),
2752
2832
  onUpdate: C
2753
- }, null, 8, ["block", "font-families"])) : v("", !0), j(pi, {
2833
+ }, null, 8, ["block", "font-families"])) : v("", !0), M(_i, {
2754
2834
  block: e.block,
2755
2835
  "is-first-section": d.value === "paragraph",
2756
2836
  onUpdate: C
2757
- }, null, 8, ["block", "is-first-section"])])], 8, xs));
2837
+ }, null, 8, ["block", "is-first-section"])])], 8, Ds));
2758
2838
  }
2759
- }), [["__scopeId", "data-v-2ac88283"]]), As = ["aria-label"], js = {
2839
+ }), [["__scopeId", "data-v-2ac88283"]]), Is = ["aria-label"], Ls = {
2760
2840
  role: "tablist",
2761
2841
  class: "tpl:relative tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-active)] tpl:p-1.5"
2762
- }, Ms = [
2842
+ }, Rs = [
2763
2843
  "aria-selected",
2764
2844
  "aria-label",
2765
2845
  "title"
2766
- ], Ns = { key: 0 }, Ps = [
2846
+ ], zs = { key: 0 }, Bs = [
2767
2847
  "aria-selected",
2768
2848
  "aria-label",
2769
2849
  "title"
2770
- ], Fs = { key: 0 }, Is = [
2850
+ ], Vs = { key: 0 }, Hs = [
2771
2851
  "aria-selected",
2772
2852
  "aria-label",
2773
2853
  "title"
2774
- ], Ls = { key: 0 }, Rs = {
2854
+ ], Us = { key: 0 }, Ws = {
2775
2855
  key: 1,
2776
2856
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
2777
- }, zs = {
2857
+ }, Gs = {
2778
2858
  key: 0,
2779
2859
  id: "tpl-tabpanel-content",
2780
2860
  role: "tabpanel",
2781
2861
  "aria-labelledby": "tpl-tab-content",
2782
2862
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2783
- }, Bs = {
2863
+ }, Ks = {
2784
2864
  key: 1,
2785
2865
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:px-6 tpl:py-10 tpl:text-center tpl:text-[var(--tpl-text-muted)]"
2786
- }, Vs = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Hs = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Us = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Ws = {
2866
+ }, qs = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Js = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ys = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Xs = {
2787
2867
  key: 1,
2788
2868
  id: "tpl-tabpanel-settings",
2789
2869
  role: "tabpanel",
2790
2870
  "aria-labelledby": "tpl-tab-settings",
2791
2871
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2792
- }, Gs = {
2872
+ }, Zs = {
2793
2873
  key: 2,
2794
2874
  id: "tpl-tabpanel-issues",
2795
2875
  role: "tabpanel",
2796
2876
  "aria-labelledby": "tpl-tab-issues",
2797
2877
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2798
- }, Ks = /* @__PURE__ */ A({
2878
+ }, Qs = /* @__PURE__ */ j({
2799
2879
  __name: "RightSidebar",
2800
2880
  props: {
2801
2881
  selectedBlock: {},
@@ -2809,7 +2889,7 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2809
2889
  "update-settings"
2810
2890
  ],
2811
2891
  setup(e, { emit: t }) {
2812
- let n = p(() => import("./IssuesPanel-_5fEnivU.js")), r = e, i = t, { t: a } = z(), s = f("content"), c = l(qe, null), u = g(() => c !== null), d = g(() => c?.issues.value.length ?? 0);
2892
+ let n = p(() => import("./IssuesPanel-Bo1uhdSe.js")), r = e, i = t, { t: a } = B(), s = f("content"), c = l(et, null), u = g(() => c !== null), d = g(() => c?.issues.value.length ?? 0);
2813
2893
  function m(e) {
2814
2894
  return s.value === e ? "tpl:flex-1 tpl:text-[var(--tpl-primary)]" : "tpl:shrink-0 tpl:text-[var(--tpl-text-muted)] hover:tpl:text-[var(--tpl-text)]";
2815
2895
  }
@@ -2819,13 +2899,13 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2819
2899
  boxShadow: "var(--tpl-shadow-md)"
2820
2900
  } : { backgroundColor: "transparent" };
2821
2901
  }
2822
- return M(() => r.selectedBlock, (e) => {
2902
+ return N(() => r.selectedBlock, (e) => {
2823
2903
  e && (s.value = "content");
2824
2904
  }), (t, r) => (o(), _("aside", {
2825
2905
  "aria-label": y(a).landmarks.rightSidebar,
2826
2906
  class: w(["tpl-right-sidebar tpl:absolute tpl:top-14 tpl:bottom-0 tpl:z-40 tpl:flex tpl:w-[320px] tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)] tpl:transition-all tpl:duration-200 tpl:border-l tpl:border-[var(--tpl-border)]", e.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
2827
2907
  }, [
2828
- T("div", js, [
2908
+ T("div", Ls, [
2829
2909
  T("button", {
2830
2910
  id: "tpl-tab-content",
2831
2911
  role: "tab",
@@ -2836,10 +2916,10 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2836
2916
  class: w(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", m("content")]),
2837
2917
  style: D(b("content")),
2838
2918
  onClick: r[0] ||= (e) => s.value = "content"
2839
- }, [j(y(Tt), {
2919
+ }, [M(y(Ot), {
2840
2920
  size: 14,
2841
2921
  "stroke-width": 2
2842
- }), s.value === "content" ? (o(), _("span", Ns, h(y(a).sidebar.content), 1)) : v("", !0)], 14, Ms),
2922
+ }), s.value === "content" ? (o(), _("span", zs, h(y(a).sidebar.content), 1)) : v("", !0)], 14, Rs),
2843
2923
  T("button", {
2844
2924
  id: "tpl-tab-settings",
2845
2925
  role: "tab",
@@ -2850,10 +2930,10 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2850
2930
  class: w(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", m("settings")]),
2851
2931
  style: D(b("settings")),
2852
2932
  onClick: r[1] ||= (e) => s.value = "settings"
2853
- }, [j(y(xt), {
2933
+ }, [M(y(wt), {
2854
2934
  size: 14,
2855
2935
  "stroke-width": 1.5
2856
- }), s.value === "settings" ? (o(), _("span", Fs, h(y(a).sidebar.settings), 1)) : v("", !0)], 14, Ps),
2936
+ }), s.value === "settings" ? (o(), _("span", Vs, h(y(a).sidebar.settings), 1)) : v("", !0)], 14, Bs),
2857
2937
  u.value ? (o(), _("button", {
2858
2938
  key: 0,
2859
2939
  id: "tpl-tab-issues",
@@ -2866,64 +2946,64 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2866
2946
  style: D(b("issues")),
2867
2947
  onClick: r[2] ||= (e) => s.value = "issues"
2868
2948
  }, [
2869
- j(y(ut), {
2949
+ M(y(pt), {
2870
2950
  size: 14,
2871
2951
  "stroke-width": 1.5
2872
2952
  }),
2873
- s.value === "issues" ? (o(), _("span", Ls, h(y(a).issues.panelTabLabel), 1)) : v("", !0),
2874
- d.value > 0 ? (o(), _("span", Rs, h(d.value), 1)) : v("", !0)
2875
- ], 14, Is)) : v("", !0)
2953
+ s.value === "issues" ? (o(), _("span", Us, h(y(a).issues.panelTabLabel), 1)) : v("", !0),
2954
+ d.value > 0 ? (o(), _("span", Ws, h(d.value), 1)) : v("", !0)
2955
+ ], 14, Hs)) : v("", !0)
2876
2956
  ]),
2877
- s.value === "content" ? (o(), _("div", zs, [e.selectedBlock ? (o(), x(ks, {
2957
+ s.value === "content" ? (o(), _("div", Gs, [e.selectedBlock ? (o(), x(Fs, {
2878
2958
  key: 0,
2879
2959
  block: e.selectedBlock,
2880
2960
  onUpdate: r[3] ||= (e) => i("update-block", e),
2881
2961
  onDelete: r[4] ||= (e) => i("delete-block"),
2882
2962
  onDuplicate: r[5] ||= (e) => i("duplicate-block")
2883
- }, null, 8, ["block"])) : (o(), _("div", Bs, [
2884
- T("div", Vs, [j(y(st), {
2963
+ }, null, 8, ["block"])) : (o(), _("div", Ks, [
2964
+ T("div", qs, [M(y(ut), {
2885
2965
  size: 40,
2886
2966
  "stroke-width": 1.5
2887
2967
  })]),
2888
- T("h3", Hs, h(y(a).sidebar.noSelection), 1),
2889
- T("p", Us, h(y(a).sidebar.noSelectionHint), 1)
2968
+ T("h3", Js, h(y(a).sidebar.noSelection), 1),
2969
+ T("p", Ys, h(y(a).sidebar.noSelectionHint), 1)
2890
2970
  ]))])) : v("", !0),
2891
- s.value === "settings" ? (o(), _("div", Ws, [j(qn, {
2971
+ s.value === "settings" ? (o(), _("div", Xs, [M(Zn, {
2892
2972
  settings: e.settings,
2893
2973
  onUpdate: r[6] ||= (e) => i("update-settings", e)
2894
2974
  }, null, 8, ["settings"])])) : v("", !0),
2895
- s.value === "issues" && u.value ? (o(), _("div", Gs, [j(y(n))])) : v("", !0)
2896
- ], 10, As));
2975
+ s.value === "issues" && u.value ? (o(), _("div", Zs, [M(y(n))])) : v("", !0)
2976
+ ], 10, Is));
2897
2977
  }
2898
- }), qs = {
2978
+ }), $s = {
2899
2979
  class: "tpl-small-screen-notice tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-6 tpl:py-10 tpl:text-center tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)]",
2900
2980
  style: { "z-index": "10001" },
2901
2981
  role: "status",
2902
2982
  "data-testid": "small-screen-notice"
2903
- }, Js = { class: "tpl:text-[var(--tpl-text-dim)]" }, Ys = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Xs = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, Zs = /* @__PURE__ */ A({
2983
+ }, ec = { class: "tpl:text-[var(--tpl-text-dim)]" }, tc = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, nc = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, rc = /* @__PURE__ */ j({
2904
2984
  __name: "SmallScreenNotice",
2905
2985
  setup(e) {
2906
- let { t } = z();
2907
- return (e, n) => (o(), _("div", qs, [
2908
- T("div", Js, [j(y(dt), {
2986
+ let { t } = B();
2987
+ return (e, n) => (o(), _("div", $s, [
2988
+ T("div", ec, [M(y(mt), {
2909
2989
  size: 48,
2910
2990
  "stroke-width": 1.5
2911
2991
  })]),
2912
- T("h2", Ys, h(y(t).smallScreen.title), 1),
2913
- T("p", Xs, h(y(t).smallScreen.message), 1)
2992
+ T("h2", tc, h(y(t).smallScreen.title), 1),
2993
+ T("p", nc, h(y(t).smallScreen.message), 1)
2914
2994
  ]));
2915
2995
  }
2916
- }), Qs = ["aria-label"], $s = [
2996
+ }), ic = ["aria-label"], ac = [
2917
2997
  "aria-checked",
2918
2998
  "aria-label",
2919
2999
  "title",
2920
3000
  "onClick"
2921
- ], ec = /* @__PURE__ */ A({
3001
+ ], oc = /* @__PURE__ */ j({
2922
3002
  __name: "ViewportToggle",
2923
3003
  props: { viewport: {} },
2924
3004
  emits: ["change"],
2925
3005
  setup(e, { emit: t }) {
2926
- let n = e, r = t, { t: i } = z(), a = g(() => [{
3006
+ let n = e, r = t, { t: i } = B(), a = g(() => [{
2927
3007
  value: "desktop",
2928
3008
  label: i.viewport.desktop
2929
3009
  }, {
@@ -2948,7 +3028,7 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2948
3028
  boxShadow: "var(--tpl-shadow)",
2949
3029
  transition: "transform 120ms cubic-bezier(0.16, 1, 0.3, 1)"
2950
3030
  })
2951
- }, null, 4), (o(!0), _(O, null, c(a.value, (t) => (o(), _("button", {
3031
+ }, null, 4), (o(!0), _(k, null, c(a.value, (t) => (o(), _("button", {
2952
3032
  key: t.value,
2953
3033
  role: "radio",
2954
3034
  "aria-checked": e.viewport === t.value,
@@ -2960,26 +3040,26 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2960
3040
  }),
2961
3041
  title: t.label,
2962
3042
  onClick: (e) => r("change", t.value)
2963
- }, [t.value === "desktop" ? (o(), x(y(dt), {
3043
+ }, [t.value === "desktop" ? (o(), x(y(mt), {
2964
3044
  key: 0,
2965
3045
  size: 18,
2966
3046
  "stroke-width": 1.5
2967
- })) : (o(), x(y(St), {
3047
+ })) : (o(), x(y(Tt), {
2968
3048
  key: 1,
2969
3049
  size: 18,
2970
3050
  "stroke-width": 1.5
2971
- })), T("span", null, h(t.label), 1)], 12, $s))), 128))], 12, Qs));
3051
+ })), T("span", null, h(t.label), 1)], 12, ac))), 128))], 12, ic));
2972
3052
  }
2973
- }), tc = [
3053
+ }), sc = [
2974
3054
  "aria-label",
2975
3055
  "title",
2976
3056
  "aria-pressed"
2977
- ], nc = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
3057
+ ], cc = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
2978
3058
  __name: "PreviewToggle",
2979
3059
  props: { previewMode: { type: Boolean } },
2980
3060
  emits: ["change"],
2981
3061
  setup(e, { emit: t }) {
2982
- let n = t, { t: r } = z();
3062
+ let n = t, { t: r } = B();
2983
3063
  return (t, i) => (o(), _("button", {
2984
3064
  class: "tpl-preview-toggle tpl:relative tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:p-2 tpl:transition-all tpl:duration-150",
2985
3065
  style: D({
@@ -2990,35 +3070,35 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
2990
3070
  title: e.previewMode ? y(r).previewMode.disable : y(r).previewMode.enable,
2991
3071
  "aria-pressed": e.previewMode,
2992
3072
  onClick: i[0] ||= (t) => n("change", !e.previewMode)
2993
- }, [j(S, {
3073
+ }, [M(S, {
2994
3074
  "enter-active-class": "tpl-icon-enter-active",
2995
3075
  "leave-active-class": "tpl-icon-leave-active",
2996
3076
  "enter-from-class": "tpl-icon-enter-from",
2997
3077
  "leave-to-class": "tpl-icon-leave-to",
2998
3078
  mode: "out-in"
2999
3079
  }, {
3000
- default: u(() => [e.previewMode ? (o(), x(y(rt), {
3080
+ default: u(() => [e.previewMode ? (o(), x(y(Le), {
3001
3081
  key: "eye",
3002
3082
  size: 18,
3003
3083
  "stroke-width": 1.5
3004
- })) : (o(), x(y(Le), {
3084
+ })) : (o(), x(y(at), {
3005
3085
  key: "eye-off",
3006
3086
  size: 18,
3007
3087
  "stroke-width": 1.5
3008
3088
  }))]),
3009
3089
  _: 1
3010
- })], 12, tc));
3090
+ })], 12, sc));
3011
3091
  }
3012
- }), [["__scopeId", "data-v-af87d02a"]]), rc = [
3092
+ }), [["__scopeId", "data-v-af87d02a"]]), lc = [
3013
3093
  "aria-label",
3014
3094
  "title",
3015
3095
  "aria-pressed"
3016
- ], ic = /*#__PURE__*/ Ze(/* @__PURE__ */ A({
3096
+ ], uc = /*#__PURE__*/ Ue(/* @__PURE__ */ j({
3017
3097
  __name: "DarkModeToggle",
3018
3098
  props: { darkMode: { type: Boolean } },
3019
3099
  emits: ["change"],
3020
3100
  setup(e, { emit: t }) {
3021
- let n = t, { t: r } = z();
3101
+ let n = t, { t: r } = B();
3022
3102
  return (t, i) => (o(), _("button", {
3023
3103
  class: "tpl-dark-mode-toggle tpl:relative tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:p-2 tpl:transition-all tpl:duration-150",
3024
3104
  style: D({
@@ -3029,44 +3109,44 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3029
3109
  title: e.darkMode ? y(r).darkMode.disable : y(r).darkMode.enable,
3030
3110
  "aria-pressed": e.darkMode,
3031
3111
  onClick: i[0] ||= (t) => n("change", !e.darkMode)
3032
- }, [j(S, {
3112
+ }, [M(S, {
3033
3113
  "enter-active-class": "tpl-icon-enter-active",
3034
3114
  "leave-active-class": "tpl-icon-leave-active",
3035
3115
  "enter-from-class": "tpl-icon-enter-from",
3036
3116
  "leave-to-class": "tpl-icon-leave-to",
3037
3117
  mode: "out-in"
3038
3118
  }, {
3039
- default: u(() => [e.darkMode ? (o(), x(y(ot), {
3119
+ default: u(() => [e.darkMode ? (o(), x(y(lt), {
3040
3120
  key: "moon",
3041
3121
  size: 18,
3042
3122
  "stroke-width": 1.5
3043
- })) : (o(), x(y(wt), {
3123
+ })) : (o(), x(y(Dt), {
3044
3124
  key: "sun",
3045
3125
  size: 18,
3046
3126
  "stroke-width": 1.5
3047
3127
  }))]),
3048
3128
  _: 1
3049
- })], 12, rc));
3129
+ })], 12, lc));
3050
3130
  }
3051
- }), [["__scopeId", "data-v-f8694f76"]]), ac = {
3131
+ }), [["__scopeId", "data-v-f8694f76"]]), dc = {
3052
3132
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
3053
3133
  style: {
3054
3134
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
3055
3135
  "backdrop-filter": "blur(8px)",
3056
3136
  "-webkit-backdrop-filter": "blur(8px)"
3057
3137
  }
3058
- }, oc = {
3138
+ }, fc = {
3059
3139
  href: "https://github.com/templatical/sdk",
3060
3140
  target: "_blank",
3061
3141
  rel: "noopener noreferrer",
3062
3142
  class: "tpl:transition-colors tpl:duration-150 hover:tpl:opacity-80 tpl:text-[var(--tpl-text-dim)]",
3063
3143
  style: { "text-decoration": "none" }
3064
- }, sc = /* @__PURE__ */ A({
3144
+ }, pc = /* @__PURE__ */ j({
3065
3145
  __name: "EditorFooter",
3066
3146
  props: { positionClass: {} },
3067
3147
  setup(e) {
3068
- let { t } = z();
3069
- return (n, r) => (o(), _("footer", { class: w(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [T("div", ac, [
3148
+ let { t } = B();
3149
+ return (n, r) => (o(), _("footer", { class: w(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [T("div", dc, [
3070
3150
  T("span", null, h(y(t).footer.poweredBy), 1),
3071
3151
  r[0] ||= T("a", {
3072
3152
  href: "https://templatical.com",
@@ -3079,34 +3159,34 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3079
3159
  height: "14",
3080
3160
  src: "https://templatical.com/logo.svg",
3081
3161
  alt: ""
3082
- }), k(" Templatical ")], -1),
3162
+ }), A(" Templatical ")], -1),
3083
3163
  r[1] ||= T("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
3084
- T("a", oc, h(y(t).footer.openSource), 1)
3164
+ T("a", fc, h(y(t).footer.openSource), 1)
3085
3165
  ])], 2));
3086
3166
  }
3087
- }), cc = ["aria-labelledby", "data-tpl-theme"], lc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, uc = ["id"], dc = ["aria-label"], fc = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, pc = [
3167
+ }), mc = ["aria-labelledby", "data-tpl-theme"], hc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, gc = ["id"], _c = ["aria-label"], vc = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, yc = [
3088
3168
  "id",
3089
3169
  "placeholder",
3090
3170
  "aria-label",
3091
3171
  "aria-activedescendant"
3092
- ], mc = {
3172
+ ], bc = {
3093
3173
  key: 0,
3094
3174
  class: "tpl:flex tpl:gap-1.5 tpl:overflow-x-auto tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2",
3095
3175
  "data-testid": "merge-tag-picker-group-pills"
3096
- }, hc = ["data-group-name", "onClick"], gc = ["aria-label"], _c = {
3176
+ }, xc = ["data-group-name", "onClick"], Sc = ["aria-label"], Cc = {
3097
3177
  key: 0,
3098
3178
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3099
3179
  "data-testid": "merge-tag-picker-empty"
3100
- }, vc = {
3180
+ }, wc = {
3101
3181
  key: 1,
3102
3182
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3103
3183
  "data-testid": "merge-tag-picker-empty"
3104
- }, yc = [
3184
+ }, Tc = [
3105
3185
  "aria-expanded",
3106
3186
  "data-group-name",
3107
3187
  "data-group-collapsed",
3108
3188
  "onClick"
3109
- ], bc = { class: "tpl:ml-1 tpl:font-normal" }, xc = [
3189
+ ], Ec = { class: "tpl:ml-1 tpl:font-normal" }, Dc = [
3110
3190
  "id",
3111
3191
  "aria-selected",
3112
3192
  "data-selected",
@@ -3115,38 +3195,38 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3115
3195
  "title",
3116
3196
  "onMousemove",
3117
3197
  "onClick"
3118
- ], Sc = { class: "tpl:text-sm tpl:font-medium" }, Cc = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, wc = {
3198
+ ], Oc = { class: "tpl:text-sm tpl:font-medium" }, kc = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Ac = {
3119
3199
  key: 0,
3120
3200
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3121
- }, $ = "tpl-merge-tag-picker-list", Tc = /* @__PURE__ */ A({
3201
+ }, $ = "tpl-merge-tag-picker-list", jc = /* @__PURE__ */ j({
3122
3202
  __name: "MergeTagPickerModal",
3123
3203
  setup(e) {
3124
- let t = Pe(Ae, "MergeTagPickerModal"), { t: n, format: i } = z(), a = l(Xe, null), d = l(We, null), p = f(""), S = ze(p, 200), E = f(null), ee = g(() => S.value.trim().length > 0), k = f(0), A = g(() => t.tags.value.some((e) => !!e.group)), N = f(/* @__PURE__ */ new Set());
3125
- function P(e) {
3126
- return N.value.has(e);
3204
+ let t = Je(je, "MergeTagPickerModal"), { t: n, format: i } = B(), a = l(He, null), d = l(Pe, null), p = f(""), S = Xe(p, 200), E = f(null), O = g(() => S.value.trim().length > 0), A = f(0), j = g(() => t.tags.value.some((e) => !!e.group)), P = f(/* @__PURE__ */ new Set());
3205
+ function F(e) {
3206
+ return P.value.has(e);
3127
3207
  }
3128
- function te(e) {
3129
- let t = new Set(N.value);
3130
- t.has(e) ? t.delete(e) : t.add(e), N.value = t, k.value = 0;
3208
+ function ee(e) {
3209
+ let t = new Set(P.value);
3210
+ t.has(e) ? t.delete(e) : t.add(e), P.value = t, A.value = 0;
3131
3211
  }
3132
- let ne = g(() => {
3212
+ let te = g(() => {
3133
3213
  let e = S.value.trim().toLowerCase();
3134
3214
  return e ? t.tags.value.filter((t) => [
3135
3215
  t.label,
3136
3216
  t.value,
3137
3217
  t.description ?? ""
3138
3218
  ].join(" ").toLowerCase().includes(e)) : t.tags.value;
3139
- }), re = g(() => {
3140
- if (!A.value) return [];
3219
+ }), I = g(() => {
3220
+ if (!j.value) return [];
3141
3221
  let e = n.mergeTag.picker.otherGroup, r = /* @__PURE__ */ new Set(), i = [];
3142
3222
  for (let n of t.tags.value) {
3143
3223
  let t = n.group ?? e;
3144
3224
  r.has(t) || (r.add(t), i.push(t));
3145
3225
  }
3146
3226
  return i;
3147
- }), F = g(() => {
3148
- let e = ne.value;
3149
- if (!A.value || ee.value) return e.map((e, t) => ({
3227
+ }), L = g(() => {
3228
+ let e = te.value;
3229
+ if (!j.value || O.value) return e.map((e, t) => ({
3150
3230
  kind: "tag",
3151
3231
  tag: e,
3152
3232
  index: t
@@ -3163,49 +3243,49 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3163
3243
  kind: "header",
3164
3244
  group: e,
3165
3245
  count: t.length
3166
- }), !N.value.has(e)) for (let e of t) a.push({
3246
+ }), !P.value.has(e)) for (let e of t) a.push({
3167
3247
  kind: "tag",
3168
3248
  tag: e,
3169
3249
  index: o
3170
3250
  }), o++;
3171
3251
  }
3172
3252
  return a;
3173
- }), I = g(() => F.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3174
- M(() => t.isOpen.value, (e) => {
3175
- e && (p.value = "", k.value = 0, N.value = /* @__PURE__ */ new Set(), s(() => {
3253
+ }), R = g(() => L.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3254
+ N(() => t.isOpen.value, (e) => {
3255
+ e && (p.value = "", A.value = 0, P.value = /* @__PURE__ */ new Set(), s(() => {
3176
3256
  E.value?.focus();
3177
3257
  }));
3178
- }), M(I, (e) => {
3179
- k.value >= e.length && (k.value = Math.max(0, e.length - 1));
3258
+ }), N(R, (e) => {
3259
+ A.value >= e.length && (A.value = Math.max(0, e.length - 1));
3180
3260
  });
3181
- function L(e) {
3261
+ function ne(e) {
3182
3262
  t.resolve(e);
3183
3263
  }
3184
- function R() {
3264
+ function ie() {
3185
3265
  t.resolve(null);
3186
3266
  }
3187
- function ie(e) {
3188
- if (I.value.length === 0) return;
3189
- let t = k.value + e;
3190
- k.value = Math.max(0, Math.min(I.value.length - 1, t)), se();
3267
+ function ae(e) {
3268
+ if (R.value.length === 0) return;
3269
+ let t = A.value + e;
3270
+ A.value = Math.max(0, Math.min(R.value.length - 1, t)), ce();
3191
3271
  }
3192
- let B = f(null), ae = f({});
3193
- function oe(e, t) {
3194
- ae.value[e] = t ?? null;
3272
+ let z = f(null), oe = f({});
3273
+ function se(e, t) {
3274
+ oe.value[e] = t ?? null;
3195
3275
  }
3196
- function se() {
3276
+ function ce() {
3197
3277
  s(() => {
3198
- let e = B.value;
3199
- e && e.querySelector(`[data-merge-tag-index="${k.value}"]`)?.scrollIntoView({ block: "nearest" });
3278
+ let e = z.value;
3279
+ e && e.querySelector(`[data-merge-tag-index="${A.value}"]`)?.scrollIntoView({ block: "nearest" });
3200
3280
  });
3201
3281
  }
3202
- function ce(e) {
3203
- if (N.value.has(e)) {
3204
- let t = new Set(N.value);
3205
- t.delete(e), N.value = t;
3282
+ function le(e) {
3283
+ if (P.value.has(e)) {
3284
+ let t = new Set(P.value);
3285
+ t.delete(e), P.value = t;
3206
3286
  }
3207
3287
  s(() => {
3208
- let t = B.value;
3288
+ let t = z.value;
3209
3289
  if (!t) return;
3210
3290
  let n = 0, r = !1;
3211
3291
  for (let i of Array.from(t.children)) {
@@ -3221,26 +3301,26 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3221
3301
  });
3222
3302
  });
3223
3303
  }
3224
- function le(e) {
3225
- if (e.key === "ArrowDown") e.preventDefault(), ie(1);
3226
- else if (e.key === "ArrowUp") e.preventDefault(), ie(-1);
3304
+ function ue(e) {
3305
+ if (e.key === "ArrowDown") e.preventDefault(), ae(1);
3306
+ else if (e.key === "ArrowUp") e.preventDefault(), ae(-1);
3227
3307
  else if (e.key === "Enter") {
3228
3308
  e.preventDefault();
3229
- let t = I.value[k.value];
3230
- t && L(t);
3309
+ let t = R.value[A.value];
3310
+ t && ne(t);
3231
3311
  }
3232
3312
  }
3233
- function ue() {
3234
- if (I.value.length !== 0) return `${$}-opt-${k.value}`;
3313
+ function de() {
3314
+ if (R.value.length !== 0) return `${$}-opt-${A.value}`;
3235
3315
  }
3236
- function de(e) {
3316
+ function fe(e) {
3237
3317
  return `${$}-opt-${e}`;
3238
3318
  }
3239
- let fe = g(() => t.tags.value.length === 0), pe = g(() => !fe.value && ne.value.length === 0), me = g(() => A.value && re.value.length > 1 && !ee.value);
3240
- return (e, s) => (o(), x(ge, {
3319
+ let V = g(() => t.tags.value.length === 0), pe = g(() => !V.value && te.value.length === 0), me = g(() => j.value && I.value.length > 1 && !O.value);
3320
+ return (e, s) => (o(), x(_e, {
3241
3321
  visible: y(t).isOpen.value,
3242
- onClose: R,
3243
- onKeydown: le
3322
+ onClose: ie,
3323
+ onKeydown: ue
3244
3324
  }, {
3245
3325
  default: u(() => [T("div", {
3246
3326
  role: "dialog",
@@ -3251,20 +3331,20 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3251
3331
  class: "tpl tpl:flex tpl:max-h-[80vh] tpl:w-[min(420px,92vw)] tpl:flex-col tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:shadow-[var(--tpl-shadow-lg)]",
3252
3332
  style: D(y(a))
3253
3333
  }, [
3254
- T("header", lc, [T("h2", {
3334
+ T("header", hc, [T("h2", {
3255
3335
  id: `${$}-title`,
3256
3336
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
3257
- }, h(y(n).mergeTag.picker.title), 9, uc), T("button", {
3337
+ }, h(y(n).mergeTag.picker.title), 9, gc), T("button", {
3258
3338
  type: "button",
3259
3339
  class: "tpl:flex tpl:h-7 tpl:w-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
3260
3340
  "aria-label": y(n).mergeTag.picker.close,
3261
3341
  "data-testid": "merge-tag-picker-close",
3262
- onClick: R
3263
- }, [j(y(Fe), {
3342
+ onClick: ie
3343
+ }, [M(y(Ye), {
3264
3344
  size: 16,
3265
3345
  "stroke-width": 2
3266
- })], 8, dc)]),
3267
- T("div", fc, [j(y(yt), {
3346
+ })], 8, _c)]),
3347
+ T("div", vc, [M(y(St), {
3268
3348
  class: "tpl:pointer-events-none tpl:absolute tpl:top-1/2 tpl:left-5 tpl:-translate-y-1/2 tpl:text-[var(--tpl-text-dim)]",
3269
3349
  size: 14,
3270
3350
  "stroke-width": 2
@@ -3278,71 +3358,71 @@ var Ba = { class: "tpl:mb-3.5" }, Va = ["value"], Ha = ["value"], Ua = /* @__PUR
3278
3358
  placeholder: y(n).mergeTag.picker.searchPlaceholder,
3279
3359
  "aria-label": y(n).mergeTag.picker.searchAriaLabel,
3280
3360
  "aria-controls": $,
3281
- "aria-activedescendant": ue(),
3361
+ "aria-activedescendant": de(),
3282
3362
  "data-testid": "merge-tag-picker-search",
3283
3363
  onKeydown: s[1] ||= m(b(() => {}, ["prevent"]), ["enter"])
3284
- }, null, 40, pc), [[C, p.value]])]),
3285
- me.value ? (o(), _("div", mc, [(o(!0), _(O, null, c(re.value, (e) => (o(), _("button", {
3364
+ }, null, 40, yc), [[C, p.value]])]),
3365
+ me.value ? (o(), _("div", bc, [(o(!0), _(k, null, c(I.value, (e) => (o(), _("button", {
3286
3366
  key: e,
3287
3367
  type: "button",
3288
3368
  class: "tpl:flex tpl:flex-shrink-0 tpl:cursor-pointer tpl:items-center tpl:rounded-full tpl:border tpl:border-[var(--tpl-border)] tpl:bg-transparent tpl:px-2.5 tpl:py-0.5 tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
3289
3369
  "data-testid": "merge-tag-picker-group-pill",
3290
3370
  "data-group-name": e,
3291
- onClick: (t) => ce(e)
3292
- }, h(e), 9, hc))), 128))])) : v("", !0),
3371
+ onClick: (t) => le(e)
3372
+ }, h(e), 9, xc))), 128))])) : v("", !0),
3293
3373
  T("div", {
3294
3374
  id: $,
3295
3375
  ref_key: "listRef",
3296
- ref: B,
3376
+ ref: z,
3297
3377
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
3298
3378
  role: "listbox",
3299
3379
  "aria-label": y(n).mergeTag.picker.title,
3300
3380
  "data-testid": "merge-tag-picker-list"
3301
- }, [fe.value ? (o(), _("div", _c, h(y(n).mergeTag.picker.empty), 1)) : pe.value ? (o(), _("div", vc, h(y(n).mergeTag.picker.noResults), 1)) : (o(!0), _(O, { key: 2 }, c(F.value, (e, t) => (o(), _(O, { key: t }, [e.kind === "header" ? (o(), _("button", {
3381
+ }, [V.value ? (o(), _("div", Cc, h(y(n).mergeTag.picker.empty), 1)) : pe.value ? (o(), _("div", wc, h(y(n).mergeTag.picker.noResults), 1)) : (o(!0), _(k, { key: 2 }, c(L.value, (e, t) => (o(), _(k, { key: t }, [e.kind === "header" ? (o(), _("button", {
3302
3382
  key: 0,
3303
3383
  ref_for: !0,
3304
- ref: (t) => oe(e.group, t),
3384
+ ref: (t) => se(e.group, t),
3305
3385
  type: "button",
3306
- "aria-expanded": !P(e.group),
3386
+ "aria-expanded": !F(e.group),
3307
3387
  "aria-controls": $,
3308
3388
  class: "tpl:sticky tpl:top-0 tpl:z-10 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-[var(--tpl-bg-elevated)] tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-left tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)]",
3309
3389
  "data-testid": "merge-tag-picker-group-header",
3310
3390
  "data-group-name": e.group,
3311
- "data-group-collapsed": P(e.group) ? "true" : "false",
3312
- onClick: (t) => te(e.group)
3391
+ "data-group-collapsed": F(e.group) ? "true" : "false",
3392
+ onClick: (t) => ee(e.group)
3313
3393
  }, [
3314
- j(y(we), {
3394
+ M(y(re), {
3315
3395
  size: 12,
3316
3396
  "stroke-width": 2,
3317
- class: w(["tpl:transition-transform", P(e.group) ? "tpl:-rotate-90" : ""])
3397
+ class: w(["tpl:transition-transform", F(e.group) ? "tpl:-rotate-90" : ""])
3318
3398
  }, null, 8, ["class"]),
3319
3399
  T("span", null, h(e.group), 1),
3320
- T("span", bc, " (" + h(y(i)(y(n).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
3321
- ], 8, yc)) : (o(), _("button", {
3400
+ T("span", Ec, " (" + h(y(i)(y(n).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
3401
+ ], 8, Tc)) : (o(), _("button", {
3322
3402
  key: 1,
3323
- id: de(e.index),
3403
+ id: fe(e.index),
3324
3404
  type: "button",
3325
3405
  role: "option",
3326
- "aria-selected": e.index === k.value,
3327
- "data-selected": e.index === k.value ? "true" : "false",
3406
+ "aria-selected": e.index === A.value,
3407
+ "data-selected": e.index === A.value ? "true" : "false",
3328
3408
  "data-merge-tag-index": e.index,
3329
3409
  "data-merge-tag-value": e.tag.value,
3330
3410
  title: e.tag.description ? `${e.tag.value} — ${e.tag.description}` : e.tag.value,
3331
- class: w(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === k.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
3411
+ class: w(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === A.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
3332
3412
  "data-testid": "merge-tag-picker-item",
3333
- onMousemove: (t) => k.value = e.index,
3334
- onClick: (t) => L(e.tag)
3413
+ onMousemove: (t) => A.value = e.index,
3414
+ onClick: (t) => ne(e.tag)
3335
3415
  }, [
3336
- T("span", Sc, h(e.tag.label), 1),
3337
- T("span", Cc, h(e.tag.value), 1),
3338
- e.tag.description ? (o(), _("span", wc, h(e.tag.description), 1)) : v("", !0)
3339
- ], 42, xc))], 64))), 128))], 8, gc)
3340
- ], 12, cc)]),
3416
+ T("span", Oc, h(e.tag.label), 1),
3417
+ T("span", kc, h(e.tag.value), 1),
3418
+ e.tag.description ? (o(), _("span", Ac, h(e.tag.description), 1)) : v("", !0)
3419
+ ], 42, Dc))], 64))), 128))], 8, Sc)
3420
+ ], 12, mc)]),
3341
3421
  _: 1
3342
3422
  }, 8, ["visible"]));
3343
3423
  }
3344
3424
  });
3345
3425
  //#endregion
3346
- export { ec as a, rn as c, Ft as d, nc as i, qt as l, sc as n, Zs as o, ic as r, Ks as s, Tc as t, Kt as u };
3426
+ export { oc as a, cn as c, zt as d, cc as i, Zt as l, pc as n, rc as o, uc as r, Qs as s, jc as t, Xt as u };
3347
3427
 
3348
- //# sourceMappingURL=styles-D45rgVq8.js.map
3428
+ //# sourceMappingURL=styles-DiAdtiz9.js.map