@templatical/editor 0.21.0 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/{AiFeatureMenu-CPdNpHpZ.js → AiFeatureMenu-CcqQDHzJ.js} +1 -1
  2. package/dist/{CloudEditor-3a7mqMhe.js → CloudEditor-DOjGJwPe.js} +24 -24
  3. package/dist/{CollaboratorBar-Ds0YZWzV.js → CollaboratorBar-Bj4NZiie.js} +1 -1
  4. package/dist/CountdownBlock-J_Q9JRQM.js +91 -0
  5. package/dist/{ParagraphEditor-CkwBirNl.js → ParagraphEditor--_zWfxps.js} +1 -1
  6. package/dist/{SaveBlockDialog-Cc5BSUBx.js → SaveBlockDialog-CYIEHABH.js} +3 -3
  7. package/dist/{SavedBlockPreviewCanvas-ubttfmKr.js → SavedBlockPreviewCanvas-2-mzAnZE.js} +1 -1
  8. package/dist/{SavedBlocksBrowserModal-LkY_U3lY.js → SavedBlocksBrowserModal-D5V5yF_3.js} +4 -4
  9. package/dist/{SavedBlocksPanels-CET0zvH6.js → SavedBlocksPanels-Dff38YXu.js} +1 -1
  10. package/dist/{SavedBlocksPickBar-poGS4PoI.js → SavedBlocksPickBar-rB6iyji6.js} +1 -1
  11. package/dist/{SnapshotHistory-BvF5IXn1.js → SnapshotHistory-FtzDq8f0.js} +1 -1
  12. package/dist/{TestEmailModal-BRaM_eko.js → TestEmailModal-DL2O1H8M.js} +2 -2
  13. package/dist/{TitleEditor-Bhgzh-iQ.js → TitleEditor-CPda5lh-.js} +1 -1
  14. package/dist/{TplModal-BA-Zsg0O.js → TplModal-C7Koj5gM.js} +1 -1
  15. package/dist/{blockTypeIcons-B1-Yzp-a.js → blockTypeIcons-CgwECCut.js} +1 -1
  16. package/dist/bundle-stats.json +8 -8
  17. package/dist/cdn/chunks/AiChatSidebar-A1CuWGY0.js +203 -0
  18. package/dist/cdn/chunks/AiChatSidebar-A1CuWGY0.js.map +1 -0
  19. package/dist/cdn/chunks/{AiFeatureMenu--PdArSnv.js → AiFeatureMenu-Duwg413F.js} +9 -5
  20. package/dist/cdn/chunks/{AiFeatureMenu--PdArSnv.js.map → AiFeatureMenu-Duwg413F.js.map} +1 -1
  21. package/dist/cdn/chunks/{BlockIssueBadge-DMSd0SIl.js → BlockIssueBadge-Da4yR-mh.js} +7 -5
  22. package/dist/cdn/chunks/{BlockIssueBadge-DMSd0SIl.js.map → BlockIssueBadge-Da4yR-mh.js.map} +1 -1
  23. package/dist/cdn/chunks/{CloudEditor-DnTfI5GU.js → CloudEditor-C0Y4RD4c.js} +162 -153
  24. package/dist/cdn/chunks/CloudEditor-C0Y4RD4c.js.map +1 -0
  25. package/dist/cdn/chunks/{CollaboratorBar-CBqd7ldq.js → CollaboratorBar-BS3rJy6-.js} +7 -6
  26. package/dist/cdn/chunks/{CollaboratorBar-CBqd7ldq.js.map → CollaboratorBar-BS3rJy6-.js.map} +1 -1
  27. package/dist/cdn/chunks/{ColorPicker-DCdWP8YB.js → ColorPicker-DZSzZ5ZP.js} +107 -103
  28. package/dist/cdn/chunks/{ColorPicker-DCdWP8YB.js.map → ColorPicker-DZSzZ5ZP.js.map} +1 -1
  29. package/dist/cdn/chunks/CommentsSidebar-DHdRiGPX.js +412 -0
  30. package/dist/cdn/chunks/CommentsSidebar-DHdRiGPX.js.map +1 -0
  31. package/dist/cdn/chunks/CountdownBlock-Bffpoppw.js +93 -0
  32. package/dist/cdn/chunks/{CountdownBlock-BDnWMAME.js.map → CountdownBlock-Bffpoppw.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownToolbar-BbLoo22S.js → CountdownToolbar-DAnmIZjq.js} +4 -4
  34. package/dist/cdn/chunks/{CountdownToolbar-BbLoo22S.js.map → CountdownToolbar-DAnmIZjq.js.map} +1 -1
  35. package/dist/cdn/chunks/DesignReferenceSidebar-Dre99DTH.js +223 -0
  36. package/dist/cdn/chunks/DesignReferenceSidebar-Dre99DTH.js.map +1 -0
  37. package/dist/cdn/chunks/{IssuesPanel-CfudrI3T.js → IssuesPanel-D80JedOj.js} +11 -10
  38. package/dist/cdn/chunks/{IssuesPanel-CfudrI3T.js.map → IssuesPanel-D80JedOj.js.map} +1 -1
  39. package/dist/cdn/chunks/LoadingTrack-D-CW2tUa.js +12 -0
  40. package/dist/cdn/chunks/LoadingTrack-D-CW2tUa.js.map +1 -0
  41. package/dist/cdn/chunks/{NumberWithSuffix-BmMx9_n_.js → NumberWithSuffix-CjlVNIEe.js} +2 -2
  42. package/dist/cdn/chunks/{NumberWithSuffix-BmMx9_n_.js.map → NumberWithSuffix-CjlVNIEe.js.map} +1 -1
  43. package/dist/cdn/chunks/{ParagraphEditor-DPCUSXpx.js → ParagraphEditor-CtaRa1vr.js} +73 -68
  44. package/dist/cdn/chunks/{ParagraphEditor-DPCUSXpx.js.map → ParagraphEditor-CtaRa1vr.js.map} +1 -1
  45. package/dist/cdn/chunks/{RichTextEditorContent-B8dOiv_D.js → RichTextEditorContent-BbdgJqWM.js} +9 -6
  46. package/dist/cdn/chunks/{RichTextEditorContent-B8dOiv_D.js.map → RichTextEditorContent-BbdgJqWM.js.map} +1 -1
  47. package/dist/cdn/chunks/{SaveBlockDialog-BY3SMnNV.js → SaveBlockDialog-Bb3fdUEZ.js} +30 -26
  48. package/dist/cdn/chunks/{SaveBlockDialog-BY3SMnNV.js.map → SaveBlockDialog-Bb3fdUEZ.js.map} +1 -1
  49. package/dist/cdn/chunks/{SavedBlockPreviewCanvas-LpaOcusq.js → SavedBlockPreviewCanvas-DZOMgNsz.js} +33 -32
  50. package/dist/cdn/chunks/{SavedBlockPreviewCanvas-LpaOcusq.js.map → SavedBlockPreviewCanvas-DZOMgNsz.js.map} +1 -1
  51. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CfIcmyzF.js → SavedBlocksBrowserModal-CeUWcPv0.js} +14 -10
  52. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CfIcmyzF.js.map → SavedBlocksBrowserModal-CeUWcPv0.js.map} +1 -1
  53. package/dist/cdn/chunks/{SavedBlocksPanels-kIowCfh_.js → SavedBlocksPanels-D-pA_wfk.js} +2 -2
  54. package/dist/cdn/chunks/{SavedBlocksPanels-kIowCfh_.js.map → SavedBlocksPanels-D-pA_wfk.js.map} +1 -1
  55. package/dist/cdn/chunks/{SavedBlocksPickBar-WSGe1GiZ.js → SavedBlocksPickBar-1rf1KpqS.js} +6 -4
  56. package/dist/cdn/chunks/{SavedBlocksPickBar-WSGe1GiZ.js.map → SavedBlocksPickBar-1rf1KpqS.js.map} +1 -1
  57. package/dist/cdn/chunks/SnapshotHistory-Bf1uovti.js +121 -0
  58. package/dist/cdn/chunks/SnapshotHistory-Bf1uovti.js.map +1 -0
  59. package/dist/cdn/chunks/TemplateScoringPanel-CTk8WwxU.js +231 -0
  60. package/dist/cdn/chunks/TemplateScoringPanel-CTk8WwxU.js.map +1 -0
  61. package/dist/cdn/chunks/TestEmailModal-BJTDxFHh.js +96 -0
  62. package/dist/cdn/chunks/TestEmailModal-BJTDxFHh.js.map +1 -0
  63. package/dist/cdn/chunks/{TitleEditor-iwd-O9sO.js → TitleEditor-BJ7LFykI.js} +15 -12
  64. package/dist/cdn/chunks/{TitleEditor-iwd-O9sO.js.map → TitleEditor-BJ7LFykI.js.map} +1 -1
  65. package/dist/cdn/chunks/TplModal-CH9RzKF7.js +50 -0
  66. package/dist/cdn/chunks/TplModal-CH9RzKF7.js.map +1 -0
  67. package/dist/cdn/chunks/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  68. package/dist/cdn/chunks/blockTypeIcons-etMMQoVv.js +21 -0
  69. package/dist/cdn/chunks/{blockTypeIcons-BYz0fgLz.js.map → blockTypeIcons-etMMQoVv.js.map} +1 -1
  70. package/dist/cdn/chunks/cloud-BJlbXGTJ.js +1787 -0
  71. package/dist/cdn/chunks/cloud-BJlbXGTJ.js.map +1 -0
  72. package/dist/cdn/chunks/dist-CiBEt0VR.js +163 -0
  73. package/dist/cdn/chunks/dist-CiBEt0VR.js.map +1 -0
  74. package/dist/cdn/chunks/dist-CxTt8FRE.js +403 -0
  75. package/dist/cdn/chunks/dist-CxTt8FRE.js.map +1 -0
  76. package/dist/cdn/chunks/{extensions-DeJh3E9b.js → extensions-ZX2oarW6.js} +17 -15
  77. package/dist/cdn/chunks/{extensions-DeJh3E9b.js.map → extensions-ZX2oarW6.js.map} +1 -1
  78. package/dist/cdn/chunks/formatRelativeTime-CtUU-QZ8.js +12 -0
  79. package/dist/cdn/chunks/formatRelativeTime-CtUU-QZ8.js.map +1 -0
  80. package/dist/cdn/chunks/htmlparser-CZa2V5cF.js +1008 -0
  81. package/dist/cdn/chunks/htmlparser-CZa2V5cF.js.map +1 -0
  82. package/dist/cdn/chunks/icons-CYWw8Xfp.js +1190 -0
  83. package/dist/cdn/chunks/icons-CYWw8Xfp.js.map +1 -0
  84. package/dist/cdn/chunks/keys-D7kUmfpE.js +12 -0
  85. package/dist/cdn/chunks/keys-D7kUmfpE.js.map +1 -0
  86. package/dist/cdn/chunks/src-BKI1x1k7.js +546 -0
  87. package/dist/cdn/chunks/src-BKI1x1k7.js.map +1 -0
  88. package/dist/cdn/chunks/{renderer-Yg1XhsBN.js → src-BuC_IHzN.js} +118 -134
  89. package/dist/cdn/chunks/src-BuC_IHzN.js.map +1 -0
  90. package/dist/cdn/chunks/src-CM0gCvAS.js +1176 -0
  91. package/dist/cdn/chunks/src-CM0gCvAS.js.map +1 -0
  92. package/dist/cdn/chunks/{media-library-mCCZieYO.js → src-D6F_3XkE.js} +1782 -1280
  93. package/dist/cdn/chunks/src-D6F_3XkE.js.map +1 -0
  94. package/dist/cdn/chunks/{styles-Bp5Jsu9J.js → styles-DMOEiSX9.js} +867 -859
  95. package/dist/cdn/chunks/styles-DMOEiSX9.js.map +1 -0
  96. package/dist/cdn/chunks/timeouts-Bmi_yePw.js +6 -0
  97. package/dist/cdn/chunks/timeouts-Bmi_yePw.js.map +1 -0
  98. package/dist/cdn/chunks/useAliveFlag-aanU8uqB.js +12 -0
  99. package/dist/cdn/chunks/useAliveFlag-aanU8uqB.js.map +1 -0
  100. package/dist/cdn/chunks/useCloudI18n-BjNENqkM.js +25 -0
  101. package/dist/cdn/chunks/useCloudI18n-BjNENqkM.js.map +1 -0
  102. package/dist/cdn/chunks/useEditorCore-BA6mspzD.js +3019 -0
  103. package/dist/cdn/chunks/useEditorCore-BA6mspzD.js.map +1 -0
  104. package/dist/cdn/chunks/useI18n-8Wd7G-cq.js +19 -0
  105. package/dist/cdn/chunks/useI18n-8Wd7G-cq.js.map +1 -0
  106. package/dist/cdn/chunks/useMergeTag-C7G31KV-.js +46 -0
  107. package/dist/cdn/chunks/useMergeTag-C7G31KV-.js.map +1 -0
  108. package/dist/cdn/chunks/usePopoverPosition-Bx0QewTv.js +61 -0
  109. package/dist/cdn/chunks/usePopoverPosition-Bx0QewTv.js.map +1 -0
  110. package/dist/cdn/editor.css +1 -1
  111. package/dist/cdn/editor.js +72 -69
  112. package/dist/cdn/editor.js.map +1 -1
  113. package/dist/index.d.ts +15 -1
  114. package/dist/style.css +1 -1
  115. package/dist/{styles-DIDAJdkj.js → styles-PcOPXvLO.js} +547 -549
  116. package/dist/templatical-editor.js +5 -5
  117. package/dist/{useEditorCore-Bd9CA4L_.js → useEditorCore-CT1slufs.js} +3 -3
  118. package/package.json +7 -7
  119. package/dist/CountdownBlock-BUHYIAe9.js +0 -92
  120. package/dist/cdn/chunks/CloudEditor-DnTfI5GU.js.map +0 -1
  121. package/dist/cdn/chunks/CountdownBlock-BDnWMAME.js +0 -93
  122. package/dist/cdn/chunks/blockTypeIcons-BYz0fgLz.js +0 -22
  123. package/dist/cdn/chunks/features-pLfGJWIB.js +0 -7813
  124. package/dist/cdn/chunks/features-pLfGJWIB.js.map +0 -1
  125. package/dist/cdn/chunks/icons-FLemooQz.js +0 -690
  126. package/dist/cdn/chunks/icons-FLemooQz.js.map +0 -1
  127. package/dist/cdn/chunks/media-library-mCCZieYO.js.map +0 -1
  128. package/dist/cdn/chunks/quality-BRbHtAk1.js +0 -2180
  129. package/dist/cdn/chunks/quality-BRbHtAk1.js.map +0 -1
  130. package/dist/cdn/chunks/renderer-Yg1XhsBN.js.map +0 -1
  131. package/dist/cdn/chunks/src-BDJeYiVE.js +0 -509
  132. package/dist/cdn/chunks/src-BDJeYiVE.js.map +0 -1
  133. package/dist/cdn/chunks/styles-Bp5Jsu9J.js.map +0 -1
@@ -1,15 +1,24 @@
1
1
  import { C as e, F as t, G as n, H as r, J as i, K as a, L as o, M as s, N as c, O as l, P as u, T as d, V as f, Y as p, Z as m, b as h, c as g, ct as _, f as v, g as y, h as b, it as x, l as S, m as C, n as w, o as T, ot as E, p as D, s as O, st as k, t as A, u as j, v as M, x as N, y as P, z as F } from "./draggable-D840DIZB.js";
2
- import { $t as ee, At as I, B as L, Dt as R, Et as z, F as B, Fn as te, G as ne, Gn as re, Gt as ie, H as ae, Hn as oe, Ht as se, I as ce, J as le, Jn as V, Jt as ue, K as de, Kn as fe, Kt as pe, L as me, Ln as he, Lt as ge, M as _e, Mn as ve, Mt as ye, N as be, P as xe, Pn as Se, Pt as Ce, R as we, Rn as Te, Sn as Ee, Tt as De, Un as Oe, V as ke, Vn as Ae, Vt as je, W as Me, X as Ne, Y as Pe, Yt as H, Z as Fe, Zn as Ie, Zt as Le, an as Re, at as ze, bn as Be, bt as Ve, cn as He, dn as Ue, dt as We, en as Ge, fn as Ke, ft as qe, gn as Je, gt as Ye, hn as Xe, j as Ze, jt as Qe, k as $e, kn as et, kt as tt, ln as nt, lt as rt, mn as it, mt as at, on as ot, ot as st, pn as ct, q as lt, qn as ut, rn as dt, sn as ft, tn as pt, tt as mt, un as ht, ut as gt, vn as _t, wt as vt, xn as yt, yn as bt, zn as xt } from "./features-pLfGJWIB.js";
3
- import { A as St, F as Ct, G as wt, I as Tt, M as Et, N as Dt, O as Ot, P as kt, T as U, V as At, X as jt, Y as Mt, _ as Nt, b as Pt, c as Ft, h as It, m as Lt, o as Rt, s as zt, u as Bt, v as Vt, y as Ht, z as Ut } from "./icons-FLemooQz.js";
4
- import { t as Wt } from "./readableTextColor-f8Kykfnh.js";
5
- import { t as Gt } from "./CountdownBlock-BDnWMAME.js";
6
- import { t as Kt } from "./blockTypeIcons-BYz0fgLz.js";
7
- import { _ as qt, f as W, g as Jt, h as G, i as Yt, l as Xt, m as K, n as Zt, p as q, t as J, u as Qt } from "./ColorPicker-DCdWP8YB.js";
8
- import { n as $t, r as en } from "./MergeTagSuggestion-D7TsECll.js";
9
- import { i as Y, n as X, r as Z, t as tn } from "./NumberWithSuffix-BmMx9_n_.js";
2
+ import { A as I, F as L, c as R, h as z, i as B, m as V, n as ee, o as te, r as H, s as ne, v as U } from "./src-BKI1x1k7.js";
3
+ import { A as re, C as ie, F as ae, I as oe, N as se, O as ce, _ as le, a as ue, c as de, d as fe, f as pe, g as me, h as he, i as ge, j as _e, k as ve, l as ye, m as be, n as xe, o as Se, p as Ce, r as we, s as Te, v as Ee, y as De } from "./useEditorCore-BA6mspzD.js";
4
+ import { _ as Oe, d as ke } from "./dist-CiBEt0VR.js";
5
+ import { A as Ae, B as je, D as Me, I as Ne, L as Pe, M as Fe, O as Ie, P as Le, R as Re, _ as ze, a as Be, d as Ve, f as He, h as Ue, l as We, m as Ge, n as Ke, o as qe, p as Je, s as Ye, w as Xe, z as Ze } from "./keys-D7kUmfpE.js";
6
+ import { t as W } from "./useI18n-8Wd7G-cq.js";
7
+ import { a as Qe, n as $e } from "./usePopoverPosition-Bx0QewTv.js";
8
+ import { $ as et, A as tt, At as nt, C as rt, Ct as it, E as at, Et as ot, H as G, It as st, J as ct, K as lt, M as ut, N as dt, Ot as ft, Pt as pt, Q as mt, R as ht, S as gt, St as _t, Z as vt, ct as yt, d as bt, dt as xt, ft as St, gt as Ct, h as wt, m as Tt, n as Et, nt as Dt, ot as Ot, p as kt, rt as At, s as jt, tt as Mt, ut as Nt, v as Pt, w as Ft, wt as It } from "./icons-CYWw8Xfp.js";
9
+ import { t as Lt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
10
+ import { t as Rt } from "./useCloudI18n-BjNENqkM.js";
11
+ import { t as zt } from "./useMergeTag-C7G31KV-.js";
12
+ import { t as Bt } from "./useAliveFlag-aanU8uqB.js";
13
+ import { t as Vt } from "./readableTextColor-f8Kykfnh.js";
14
+ import { t as Ht } from "./blockTypeIcons-etMMQoVv.js";
15
+ import { _ as Ut, f as K, g as Wt, h as q, i as Gt, l as Kt, m as J, n as qt, p as Y, t as X, u as Jt } from "./ColorPicker-DZSzZ5ZP.js";
16
+ import { n as Yt, r as Xt } from "./MergeTagSuggestion-D7TsECll.js";
17
+ import { i as Z, n as Q, r as Zt, t as Qt } from "./NumberWithSuffix-CjlVNIEe.js";
18
+ import { t as $t } from "./TplModal-CH9RzKF7.js";
10
19
  //#region src/composables/useSavedBlocksFeature.ts
11
- function nn(e) {
12
- let { provider: t, editor: n } = e, r = Se({
20
+ function en(e) {
21
+ let { provider: t, editor: n } = e, r = ae({
13
22
  provider: t,
14
23
  onError: e.onError
15
24
  }), i = m(!1), a = m(!1), o = m(!1), s = m(/* @__PURE__ */ new Set()), l = v(() => o.value), u = v(() => s.value.size);
@@ -44,7 +53,7 @@ function nn(e) {
44
53
  }
45
54
  function x(e, t) {
46
55
  for (let r = 0; r < e.content.length; r++) {
47
- let i = re(e.content[r]), a = t === void 0 ? void 0 : t + r;
56
+ let i = V(e.content[r]), a = t === void 0 ? void 0 : t + r;
48
57
  n.addBlock(i, void 0, void 0, a);
49
58
  }
50
59
  a.value = !1;
@@ -53,7 +62,7 @@ function nn(e) {
53
62
  r.load().catch(() => {});
54
63
  }
55
64
  let C = v(() => r.savedBlocks.value.length), w = v(() => e.isAvailable?.() ?? !0);
56
- return c(Je, r), {
65
+ return c(Le, r), {
57
66
  headless: r,
58
67
  isPicking: l,
59
68
  pickedIds: s,
@@ -90,7 +99,7 @@ function nn(e) {
90
99
  }
91
100
  //#endregion
92
101
  //#region src/utils/resolveLintOptions.ts
93
- function rn(e) {
102
+ function tn(e) {
94
103
  return {
95
104
  ...e.lint,
96
105
  locale: e.locale
@@ -98,19 +107,19 @@ function rn(e) {
98
107
  }
99
108
  //#endregion
100
109
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
101
- var an = ["aria-label"], on = {
110
+ var nn = ["aria-label"], rn = {
102
111
  key: 0,
103
112
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
104
- }, sn = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, cn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, ln = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, un = {
113
+ }, an = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, on = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, sn = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, cn = {
105
114
  key: 0,
106
115
  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)]"
107
- }, dn = {
116
+ }, ln = {
108
117
  key: 1,
109
118
  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)]"
110
- }, fn = { class: "tpl:relative" }, pn = {
119
+ }, un = { class: "tpl:relative" }, dn = {
111
120
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
112
121
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
113
- }, mn = 96, hn = /*#__PURE__*/ rt(/* @__PURE__ */ N({
122
+ }, fn = 96, pn = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
114
123
  __name: "Canvas",
115
124
  props: {
116
125
  viewport: {},
@@ -127,21 +136,20 @@ var an = ["aria-label"], on = {
127
136
  ],
128
137
  setup(e, { emit: t }) {
129
138
  let n = {
130
- section: ce,
131
- title: me,
132
- paragraph: ae,
133
- image: de,
134
- button: je,
135
- divider: Ne,
136
- spacer: be,
137
- html: Pe,
138
- social: xe,
139
- menu: ne,
140
- table: _e,
141
- video: Ze,
142
- countdown: Gt,
143
- custom: Fe
144
- }, i = e, a = t, { t: c } = H(), { t: l } = st(), p = Ee(nt, "Canvas"), h = d(Re, null), g = d(Ge, null), S = d(pt, {}), w = v(() => (S.plan?.hasFeature("ai_generation") ?? !1) && (S.ai?.isFeatureEnabled("chat") ?? !1)), T = v(() => (S.plan?.hasFeature("ai_generation") ?? !1) && (S.ai?.isFeatureEnabled("designToTemplate") ?? !1)), N = v({
139
+ section: Te,
140
+ title: de,
141
+ paragraph: Ce,
142
+ image: he,
143
+ button: ve,
144
+ divider: Ee,
145
+ spacer: ge,
146
+ html: le,
147
+ social: ue,
148
+ menu: be,
149
+ table: we,
150
+ video: xe,
151
+ custom: De
152
+ }, i = e, a = t, { t: c } = W(), { t: l } = Rt(), p = je(Ue, "Canvas"), h = d(Ve, null), g = d(qe, null), S = d(Ye, {}), w = v(() => (S.plan?.hasFeature("ai_generation") ?? !1) && (S.ai?.isFeatureEnabled("chat") ?? !1)), T = v(() => (S.plan?.hasFeature("ai_generation") ?? !1) && (S.ai?.isFeatureEnabled("designToTemplate") ?? !1)), N = v({
145
153
  get: () => i.content.blocks,
146
154
  set: (e) => {
147
155
  p.setContent({
@@ -154,27 +162,27 @@ var an = ["aria-label"], on = {
154
162
  case "mobile": return 375;
155
163
  default: return i.content.settings.width;
156
164
  }
157
- }), ee = v(() => F.value + mn * 2), I = v(() => L(i.content.settings)), z = v(() => N.value.length === 0 && !i.previewMode), B = m(0), te = v(() => z.value && B.value > 0);
158
- function re() {
159
- z.value && (B.value += 1);
165
+ }), I = v(() => F.value + fn * 2), L = v(() => fe(i.content.settings)), R = v(() => N.value.length === 0 && !i.previewMode), z = m(0), B = v(() => R.value && z.value > 0);
166
+ function V() {
167
+ R.value && (z.value += 1);
160
168
  }
161
- function ie() {
162
- z.value && (B.value = Math.max(0, B.value - 1));
169
+ function ee() {
170
+ R.value && (z.value = Math.max(0, z.value - 1));
163
171
  }
164
- function oe() {
165
- B.value = 0;
172
+ function te() {
173
+ z.value = 0;
166
174
  }
167
- function se(e) {
175
+ function H(e) {
168
176
  i.previewMode || S.savedBlocks?.isPicking.value || e.target === e.currentTarget && a("select-block", null);
169
177
  }
170
- function le(e) {
171
- return ke(e, g, n);
178
+ function ne(e) {
179
+ return pe(e, g, n);
172
180
  }
173
- function V(e) {
181
+ function U(e) {
174
182
  return i.lockedBlocks?.get(e) ?? null;
175
183
  }
176
- function ue(e) {
177
- if (i.previewMode || V(e)) return;
184
+ function re(e) {
185
+ if (i.previewMode || U(e)) return;
178
186
  let t = S.savedBlocks;
179
187
  if (t?.isPicking.value) {
180
188
  t.togglePick(e);
@@ -182,11 +190,11 @@ var an = ["aria-label"], on = {
182
190
  }
183
191
  a("select-block", e);
184
192
  }
185
- function fe(e) {
193
+ function ie(e) {
186
194
  return S.savedBlocks?.isPicked(e) ?? !1;
187
195
  }
188
- let pe = v(() => S.savedBlocks?.isPicking.value === !0);
189
- function he(e, t) {
196
+ let ae = v(() => S.savedBlocks?.isPicking.value === !0);
197
+ function oe(e, t) {
190
198
  e.type === "custom" && p.updateBlock(e.id, {
191
199
  fieldValues: t.fieldValues,
192
200
  dataSourceFetched: t.dataSourceFetched
@@ -195,7 +203,7 @@ var an = ["aria-label"], on = {
195
203
  return (t, n) => (s(), y("div", {
196
204
  class: "tpl-canvas-stage tpl:relative tpl:flex tpl:justify-center tpl:rounded-lg",
197
205
  style: k({
198
- width: `${ee.value}px`,
206
+ width: `${I.value}px`,
199
207
  boxShadow: e.darkMode ? "none" : "var(--tpl-shadow-xl)",
200
208
  transition: "width 300ms cubic-bezier(0.34, 1.56, 0.64, 1)"
201
209
  })
@@ -220,8 +228,8 @@ var an = ["aria-label"], on = {
220
228
  "tpl-canvas--dark-mode": e.darkMode,
221
229
  "tpl-preview-mode": e.previewMode
222
230
  }]),
223
- style: k(I.value),
224
- onClick: se
231
+ style: k(L.value),
232
+ onClick: H
225
233
  }, [P(x(A), {
226
234
  modelValue: N.value,
227
235
  "onUpdate:modelValue": n[2] ||= (e) => N.value = e,
@@ -237,38 +245,38 @@ var an = ["aria-label"], on = {
237
245
  "force-fallback": !0,
238
246
  class: E([
239
247
  "tpl-canvas-blocks",
240
- z.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" : "",
241
- z.value && te.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
242
- z.value && !te.value ? "tpl:border-[var(--tpl-primary)]" : ""
248
+ R.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" : "",
249
+ R.value && B.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
250
+ R.value && !B.value ? "tpl:border-[var(--tpl-primary)]" : ""
243
251
  ]),
244
- onDragenter: re,
245
- onDragleave: ie,
246
- onDrop: oe
252
+ onDragenter: V,
253
+ onDragleave: ee,
254
+ onDrop: te
247
255
  }, {
248
- default: f(() => [z.value ? (s(), y("div", on, [
249
- D("div", sn, [P(x(It), {
256
+ default: f(() => [R.value ? (s(), y("div", rn, [
257
+ D("div", an, [P(x(rt), {
250
258
  size: 48,
251
259
  "stroke-width": 1
252
260
  })]),
253
- D("p", cn, _(x(c).canvas.noBlocks), 1),
254
- D("p", ln, _(x(c).canvas.dragHint), 1),
255
- w.value && x(l) ? (s(), y("p", un, [
261
+ D("p", on, _(x(c).canvas.noBlocks), 1),
262
+ D("p", sn, _(x(c).canvas.dragHint), 1),
263
+ w.value && x(l) ? (s(), y("p", cn, [
256
264
  M(_(x(c).canvas.aiHintChat) + " ", 1),
257
265
  D("button", {
258
266
  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)]",
259
267
  onClick: n[0] ||= (e) => a("open-ai-chat")
260
- }, [P(x(Ye), {
268
+ }, [P(x(Ft), {
261
269
  size: 14,
262
270
  "stroke-width": 2
263
271
  }), M(" " + _(x(l).aiMenu.aiAssistant), 1)]),
264
272
  M(" " + _(x(c).canvas.aiHintChatSuffix), 1)
265
273
  ])) : b("", !0),
266
- T.value && x(l) ? (s(), y("p", dn, [
274
+ T.value && x(l) ? (s(), y("p", ln, [
267
275
  M(_(x(c).canvas.aiHintDesign) + " ", 1),
268
276
  D("button", {
269
277
  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)]",
270
278
  onClick: n[1] ||= (e) => a("open-design-reference")
271
- }, [P(x(R), {
279
+ }, [P(x(St), {
272
280
  size: 14,
273
281
  "stroke-width": 2
274
282
  }), M(" " + _(x(l).aiMenu.designToTemplate), 1)]),
@@ -277,31 +285,31 @@ var an = ["aria-label"], on = {
277
285
  ])) : b("", !0), (s(!0), y(j, null, u(N.value, (t) => r((s(), y("div", {
278
286
  key: t.id,
279
287
  class: "tpl-block-item"
280
- }, [D("div", fn, [V(t.id) ? (s(), y("div", {
288
+ }, [D("div", un, [U(t.id) ? (s(), y("div", {
281
289
  key: 0,
282
290
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
283
291
  style: k({
284
- outline: `2px solid ${V(t.id).color}`,
292
+ outline: `2px solid ${U(t.id).color}`,
285
293
  outlineOffset: "-1px"
286
294
  })
287
295
  }, [D("span", {
288
296
  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",
289
297
  style: k({
290
- backgroundColor: V(t.id).color,
291
- color: x(Wt)(V(t.id).color)
298
+ backgroundColor: U(t.id).color,
299
+ color: x(Vt)(U(t.id).color)
292
300
  })
293
- }, [D("span", pn, _(V(t.id).name.charAt(0)), 1), M(" " + _(V(t.id).name), 1)], 4)], 4)) : b("", !0), P(we, {
301
+ }, [D("span", dn, _(U(t.id).name.charAt(0)), 1), M(" " + _(U(t.id).name), 1)], 4)], 4)) : b("", !0), P(ye, {
294
302
  block: t,
295
- "is-selected": !e.previewMode && !pe.value && e.selectedBlockId === t.id && !V(t.id),
296
- picked: fe(t.id),
303
+ "is-selected": !e.previewMode && !ae.value && e.selectedBlockId === t.id && !U(t.id),
304
+ picked: ie(t.id),
297
305
  viewport: e.viewport,
298
306
  "preview-mode": e.previewMode,
299
- onSelect: (e) => ue(t.id)
307
+ onSelect: (e) => re(t.id)
300
308
  }, {
301
- default: f(() => [(s(), C(o(le(t)), {
309
+ default: f(() => [(s(), C(o(ne(t)), {
302
310
  block: t,
303
311
  viewport: e.viewport,
304
- onFetchData: (e) => he(t, e),
312
+ onFetchData: (e) => oe(t, e),
305
313
  onUpdate: (e) => x(p).updateBlock(t.id, e)
306
314
  }, null, 40, [
307
315
  "block",
@@ -323,12 +331,12 @@ var an = ["aria-label"], on = {
323
331
  "modelValue",
324
332
  "disabled",
325
333
  "class"
326
- ])], 6)], 12, an)], 4));
334
+ ])], 6)], 12, nn)], 4));
327
335
  }
328
- }), [["__scopeId", "data-v-32524265"]]), gn = N({
336
+ }), [["__scopeId", "data-v-68d53416"]]), mn = N({
329
337
  name: "CustomBlockStylesheets",
330
338
  setup() {
331
- let t = d(ft, null);
339
+ let t = d(Je, null);
332
340
  return () => t ? t.value.map((t, n) => e("style", {
333
341
  key: n,
334
342
  "data-tpl-custom-block-stylesheet": "",
@@ -338,7 +346,7 @@ var an = ["aria-label"], on = {
338
346
  });
339
347
  //#endregion
340
348
  //#region src/utils/resolvePaletteBlocks.ts
341
- function _n(e, t) {
349
+ function hn(e, t) {
342
350
  if (!t || t.length === 0) return {
343
351
  items: e,
344
352
  unknown: []
@@ -357,24 +365,24 @@ function _n(e, t) {
357
365
  }
358
366
  //#endregion
359
367
  //#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
360
- var vn = ["aria-label"], yn = {
368
+ var gn = ["aria-label"], _n = {
361
369
  key: 0,
362
370
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
363
- }, bn = ["aria-label"], xn = {
371
+ }, vn = ["aria-label"], yn = {
364
372
  key: 0,
365
373
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
366
- }, Sn = [
374
+ }, bn = [
367
375
  "data-palette-type",
368
376
  "aria-label",
369
377
  "onClick",
370
378
  "onKeydown"
371
- ], Cn = { 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" }, wn = {
379
+ ], xn = { 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 = {
372
380
  key: 0,
373
381
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
374
- }, Tn = /* @__PURE__ */ N({
382
+ }, Cn = /* @__PURE__ */ N({
375
383
  __name: "Sidebar",
376
384
  setup(e) {
377
- let { t, format: n } = H(), r = d(ot, []), i = d(Xe, void 0), a = d(ee, void 0), c = d(nt, null), l = d(pt, {}), p = v(() => l.savedBlocks?.isAvailable.value === !0), h = m(!1), g = m(!1);
385
+ let { t, format: n } = W(), r = d(He, []), i = d(Fe, void 0), a = d(Be, void 0), c = d(Ue, null), l = d(Ye, {}), p = v(() => l.savedBlocks?.isAvailable.value === !0), h = m(!1), g = m(!1);
378
386
  function S() {
379
387
  g.value || (h.value = !1);
380
388
  }
@@ -400,35 +408,35 @@ var vn = ["aria-label"], yn = {
400
408
  ], O = v(() => {
401
409
  let e = E.map((e) => ({
402
410
  type: e,
403
- label: ue(e, t)
411
+ label: se(e, t)
404
412
  }));
405
413
  return l.plan && e.splice(-1, 0, {
406
414
  type: "countdown",
407
- label: ue("countdown", t)
415
+ label: se("countdown", t)
408
416
  }), e;
409
417
  }), M = v(() => r.map((e) => ({
410
418
  type: `custom:${e.type}`,
411
419
  label: e.name,
412
420
  isCustom: !0,
413
421
  icon: e.icon
414
- }))), N = v(() => [...O.value, ...M.value]), I = v(() => _n(N.value, i)), L = v(() => I.value.items), R = /* @__PURE__ */ new Set();
422
+ }))), N = v(() => [...O.value, ...M.value]), I = v(() => hn(N.value, i)), L = v(() => I.value.items), R = /* @__PURE__ */ new Set();
415
423
  F(() => I.value.unknown, (e) => {
416
- for (let t of e) R.has(t) || (R.add(t), pe.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.`));
424
+ for (let t of e) R.has(t) || (R.add(t), _e.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.`));
417
425
  }, { immediate: !0 });
418
- function z(e) {
426
+ function B(e) {
419
427
  if (e.isCustom) {
420
428
  let t = e.type.replace("custom:", ""), n = r.find((e) => e.type === t);
421
- if (n) return ut(n);
429
+ if (n) return U(n);
422
430
  }
423
- return fe(e.type, a);
431
+ return z(e.type, a);
424
432
  }
425
- function B(e) {
433
+ function V(e) {
426
434
  if (!c) return;
427
- let t = z(e);
435
+ let t = B(e);
428
436
  c.addBlock(t), c.selectBlock(t.id);
429
437
  }
430
- function te(e, t) {
431
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), B(t));
438
+ function ee(e, t) {
439
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), V(t));
432
440
  }
433
441
  return (e, r) => (s(), y("aside", {
434
442
  "aria-label": x(t).sidebarNav.palette,
@@ -444,24 +452,24 @@ var vn = ["aria-label"], yn = {
444
452
  onMouseleave: S,
445
453
  onFocusin: r[2] ||= (e) => h.value = !0,
446
454
  onFocusout: r[3] ||= (e) => h.value = !1
447
- }, [p.value ? (s(), y("div", yn, [D("button", {
455
+ }, [p.value ? (s(), y("div", _n, [D("button", {
448
456
  type: "button",
449
457
  "aria-label": x(t).sidebarNav.browseSavedBlocks,
450
458
  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)]",
451
459
  style: k({ justifyContent: h.value ? "flex-start" : "center" }),
452
460
  onClick: r[0] ||= (e) => x(l).savedBlocks?.openBrowser()
453
- }, [P(x(St), {
461
+ }, [P(x(ct), {
454
462
  size: 20,
455
463
  "stroke-width": 1.5,
456
464
  class: "tpl:shrink-0"
457
- }), h.value ? (s(), y("span", xn, _(x(t).savedBlocks.title), 1)) : b("", !0)], 12, bn)])) : b("", !0), P(x(A), {
465
+ }), h.value ? (s(), y("span", yn, _(x(t).savedBlocks.title), 1)) : b("", !0)], 12, vn)])) : b("", !0), P(x(A), {
458
466
  "model-value": L.value,
459
467
  group: {
460
468
  name: "blocks",
461
469
  pull: "clone",
462
470
  put: !1
463
471
  },
464
- clone: z,
472
+ clone: B,
465
473
  sort: !1,
466
474
  animation: 150,
467
475
  "force-fallback": !0,
@@ -476,24 +484,24 @@ var vn = ["aria-label"], yn = {
476
484
  "aria-label": x(n)(x(t).sidebarNav.insertBlock, { block: e.label }),
477
485
  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",
478
486
  style: k({ justifyContent: h.value ? "flex-start" : "center" }),
479
- onClick: (t) => B(e),
480
- onKeydown: (t) => te(t, e)
481
- }, [D("div", Cn, [x(Kt)[e.type] ? (s(), C(o(x(Kt)[e.type]), {
487
+ onClick: (t) => V(e),
488
+ onKeydown: (t) => ee(t, e)
489
+ }, [D("div", xn, [x(Ht)[e.type] ? (s(), C(o(x(Ht)[e.type]), {
482
490
  key: 0,
483
491
  size: 20,
484
492
  "stroke-width": 1.5
485
- })) : e.isCustom ? (s(), C(gt, {
493
+ })) : e.isCustom ? (s(), C(ce, {
486
494
  key: 1,
487
495
  icon: e.icon,
488
496
  size: 20
489
- }, null, 8, ["icon"])) : b("", !0)]), h.value ? (s(), y("span", wn, _(e.label), 1)) : b("", !0)], 44, Sn))), 128))]),
497
+ }, null, 8, ["icon"])) : b("", !0)]), h.value ? (s(), y("span", Sn, _(e.label), 1)) : b("", !0)], 44, bn))), 128))]),
490
498
  _: 1
491
- }, 8, ["model-value"])], 44, vn));
499
+ }, 8, ["model-value"])], 44, gn));
492
500
  }
493
501
  });
494
502
  //#endregion
495
503
  //#region src/utils/mergeTagTrigger.ts
496
- function En(e, t, n, r) {
504
+ function wn(e, t, n, r) {
497
505
  if (!n) return null;
498
506
  let i = e.slice(0, t), a = i.lastIndexOf(n);
499
507
  if (a === -1) return null;
@@ -506,8 +514,8 @@ function En(e, t, n, r) {
506
514
  }
507
515
  //#endregion
508
516
  //#region src/utils/textFieldCaret.ts
509
- var Dn = /* @__PURE__ */ "boxSizing.width.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.lineHeight.fontFamily.textAlign.textTransform.textIndent.letterSpacing.wordSpacing.tabSize.whiteSpace.wordWrap.wordBreak".split(".");
510
- function On(e, t, n) {
517
+ var Tn = /* @__PURE__ */ "boxSizing.width.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.lineHeight.fontFamily.textAlign.textTransform.textIndent.letterSpacing.wordSpacing.tabSize.whiteSpace.wordWrap.wordBreak".split(".");
518
+ function En(e, t, n) {
511
519
  return {
512
520
  left: e,
513
521
  top: t,
@@ -520,7 +528,7 @@ function On(e, t, n) {
520
528
  toJSON: () => ({})
521
529
  };
522
530
  }
523
- function kn(e, t) {
531
+ function Dn(e, t) {
524
532
  let n = e.ownerDocument, r = n.defaultView;
525
533
  if (!r) return null;
526
534
  let i = e.tagName === "INPUT", a = r.getComputedStyle(e), o = n.createElement("div");
@@ -528,7 +536,7 @@ function kn(e, t) {
528
536
  let s = o.style;
529
537
  s.position = "absolute", s.visibility = "hidden", s.top = "0", s.left = "0", s.overflow = "hidden", s.whiteSpace = i ? "pre" : "pre-wrap", s.wordWrap = i ? "normal" : "break-word";
530
538
  let c = s, l = a;
531
- for (let e of Dn) c[e] = l[e];
539
+ for (let e of Tn) c[e] = l[e];
532
540
  i && (s.width = "auto", s.whiteSpace = "pre");
533
541
  let u = e.value, d = u.slice(0, t);
534
542
  i && (d = d.replace(/\s/g, "\xA0")), o.textContent = d;
@@ -537,26 +545,26 @@ function kn(e, t) {
537
545
  let p = f.offsetTop, m = f.offsetLeft;
538
546
  n.body.removeChild(o);
539
547
  let h = e.getBoundingClientRect(), g = parseFloat(a.borderTopWidth) || 0, _ = parseFloat(a.borderLeftWidth) || 0, v = parseFloat(a.lineHeight) || parseFloat(a.fontSize) || 0, y = h.left + m + _ - e.scrollLeft;
540
- if (i) return On(y, h.top, h.bottom);
548
+ if (i) return En(y, h.top, h.bottom);
541
549
  let b = h.top + p + g - e.scrollTop;
542
- return On(y, b, b + v);
550
+ return En(y, b, b + v);
543
551
  }
544
552
  //#endregion
545
553
  //#region src/composables/useMergeTagAutocomplete.ts
546
- var An = /* @__PURE__ */ new Set([
554
+ var On = /* @__PURE__ */ new Set([
547
555
  "ArrowLeft",
548
556
  "ArrowRight",
549
557
  "Home",
550
558
  "End"
551
559
  ]);
552
- function jn(e) {
553
- let { elementRef: t, modelValue: r, emit: o, mergeTags: s, syntax: c, enabled: u, onInsert: f } = e, p = oe(c), m = Ae(c), h = u && p !== null && s.length > 0, g = d(Be, null), _ = $t((a(g) ? g.value : g)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", Me()), v = !1;
560
+ function kn(e) {
561
+ let { elementRef: t, modelValue: r, emit: o, mergeTags: s, syntax: c, enabled: u, onInsert: f } = e, p = ne(c), m = te(c), h = u && p !== null && s.length > 0, g = d(Re, null), _ = Yt((a(g) ? g.value : g)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", $e()), v = !1;
554
562
  n() && i(() => {
555
563
  v = !0, _.close();
556
564
  });
557
565
  function y(e) {
558
566
  let t = e.value ?? "";
559
- return En(t, e.selectionStart ?? t.length, p, m);
567
+ return wn(t, e.selectionStart ?? t.length, p, m);
560
568
  }
561
569
  function b(e, n, i) {
562
570
  let a = e.value ?? r(), s = a.slice(n.caret), c = m && s.startsWith(m) ? m.length : 0, u = a.slice(0, n.triggerStart), d = a.slice(n.caret + c), p = u + i.value + d, h = u.length + i.value.length;
@@ -578,7 +586,7 @@ function jn(e) {
578
586
  _.close();
579
587
  return;
580
588
  }
581
- let r = en(s, n.query), i = () => kn(e, n.triggerStart), a = (t) => b(e, n, t);
589
+ let r = Xt(s, n.query), i = () => Dn(e, n.triggerStart), a = (t) => b(e, n, t);
582
590
  _.isOpen() ? _.update({
583
591
  items: r,
584
592
  getRect: i,
@@ -591,7 +599,7 @@ function jn(e) {
591
599
  });
592
600
  }
593
601
  function S(e) {
594
- return _.isOpen() ? e.key === "Escape" ? (_.close(), !0) : An.has(e.key) ? (_.close(), !1) : _.handleKeyDown(e) : !1;
602
+ return _.isOpen() ? e.key === "Escape" ? (_.close(), !0) : On.has(e.key) ? (_.close(), !1) : _.handleKeyDown(e) : !1;
595
603
  }
596
604
  return {
597
605
  available: h,
@@ -603,12 +611,12 @@ function jn(e) {
603
611
  }
604
612
  //#endregion
605
613
  //#region src/composables/useMergeTagField.ts
606
- function Mn(e) {
607
- let { modelValue: t, emit: r, elementRef: a } = e, { mergeTags: o, canRequestMergeTag: s, isRequesting: c, isMergeTagValue: u, getMergeTagLabel: d, requestMergeTag: f, syntax: p, autocomplete: h } = ze(), { canInsertLogicTag: g, isRequesting: _, requestLogicTag: y } = mt(), b = m(!1), x = !1, S = !1;
614
+ function An(e) {
615
+ let { modelValue: t, emit: r, elementRef: a } = e, { mergeTags: o, canRequestMergeTag: s, isRequesting: c, isMergeTagValue: u, getMergeTagLabel: d, requestMergeTag: f, syntax: p, autocomplete: h } = zt(), { canInsertLogicTag: g, isRequesting: _, requestLogicTag: y } = ie(), b = m(!1), x = !1, S = !1;
608
616
  n() && i(() => {
609
617
  S = !0;
610
618
  });
611
- let C = jn({
619
+ let C = kn({
612
620
  elementRef: a,
613
621
  modelValue: t,
614
622
  emit: r,
@@ -632,10 +640,10 @@ function Mn(e) {
632
640
  type: "mergeTag",
633
641
  value: t,
634
642
  label: d(t)
635
- }) : Oe(t, p) ? n.push({
643
+ }) : R(t, p) ? n.push({
636
644
  type: "logicMergeTag",
637
645
  value: t,
638
- keyword: xt(t, p)
646
+ keyword: B(t, p)
639
647
  }) : n.push({
640
648
  type: "text",
641
649
  value: t
@@ -730,10 +738,10 @@ function Mn(e) {
730
738
  }
731
739
  //#endregion
732
740
  //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
733
- var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip"], In = {
741
+ var jn = ["aria-label", "onKeydown"], Mn = ["data-tooltip"], Nn = ["data-tooltip"], Pn = {
734
742
  key: 2,
735
743
  class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
736
- }, Ln = ["aria-label", "title"], Rn = /* @__PURE__ */ N({
744
+ }, Fn = ["aria-label", "title"], In = /* @__PURE__ */ N({
737
745
  __name: "MergeTagSegments",
738
746
  props: {
739
747
  segments: {},
@@ -742,7 +750,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
742
750
  },
743
751
  emits: ["edit", "clear"],
744
752
  setup(e, { emit: t }) {
745
- let n = t, { t: r } = H();
753
+ let n = t, { t: r } = W();
746
754
  function i() {
747
755
  n("edit");
748
756
  }
@@ -761,7 +769,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
761
769
  "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
762
770
  color: "var(--tpl-primary)"
763
771
  }
764
- }, _(e.label), 9, Pn)) : e.type === "logicMergeTag" ? (s(), y("span", {
772
+ }, _(e.label), 9, Mn)) : e.type === "logicMergeTag" ? (s(), y("span", {
765
773
  key: 1,
766
774
  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",
767
775
  "data-tooltip": e.value,
@@ -770,75 +778,75 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
770
778
  border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
771
779
  color: "var(--tpl-primary)"
772
780
  }
773
- }, _(e.keyword), 9, Fn)) : (s(), y("span", In, _(e.value), 1))], 64))), 128)), D("button", {
781
+ }, _(e.keyword), 9, Nn)) : (s(), y("span", Pn, _(e.value), 1))], 64))), 128)), D("button", {
774
782
  type: "button",
775
783
  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",
776
784
  "aria-label": x(r).mergeTag.remove,
777
785
  title: x(r).mergeTag.remove,
778
786
  onClick: a[0] ||= S((e) => n("clear"), ["stop"])
779
- }, [P(x(We), {
787
+ }, [P(x(Et), {
780
788
  size: 12,
781
789
  "stroke-width": 2.5
782
- })], 8, Ln)], 42, Nn));
790
+ })], 8, Fn)], 42, jn));
783
791
  }
784
- }), zn = [
792
+ }), Ln = [
785
793
  "aria-label",
786
794
  "title",
787
795
  "disabled"
788
- ], Bn = "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__ */ N({
796
+ ], Rn = "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)]", zn = /* @__PURE__ */ N({
789
797
  __name: "MergeTagInsertButton",
790
798
  props: { disabled: { type: Boolean } },
791
799
  emits: ["insert"],
792
800
  setup(e) {
793
- let { t } = H();
801
+ let { t } = W();
794
802
  return (n, r) => (s(), y("button", {
795
803
  type: "button",
796
- class: E([Bn, "tpl:mt-1.5"]),
804
+ class: E([Rn, "tpl:mt-1.5"]),
797
805
  "aria-label": x(t).mergeTag.insert,
798
806
  title: x(t).mergeTag.insert,
799
807
  disabled: e.disabled,
800
808
  onMousedown: r[0] ||= S(() => {}, ["prevent"]),
801
809
  onClick: r[1] ||= (e) => n.$emit("insert")
802
- }, [P(x(Pt), {
810
+ }, [P(x(dt), {
803
811
  size: 12,
804
812
  "stroke-width": 2
805
- }), M(" " + _(x(t).mergeTag.insertShort), 1)], 42, zn));
813
+ }), M(" " + _(x(t).mergeTag.insertShort), 1)], 42, Ln));
806
814
  }
807
- }), Hn = [
815
+ }), Bn = [
808
816
  "aria-label",
809
817
  "title",
810
818
  "disabled"
811
- ], Un = "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)]", Wn = /* @__PURE__ */ N({
819
+ ], Vn = "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)]", Hn = /* @__PURE__ */ N({
812
820
  __name: "LogicTagInsertButton",
813
821
  props: { disabled: { type: Boolean } },
814
822
  emits: ["insert"],
815
823
  setup(e) {
816
- let { t } = H();
824
+ let { t } = W();
817
825
  return (n, r) => (s(), y("button", {
818
826
  type: "button",
819
- class: E([Un, "tpl:mt-1.5"]),
827
+ class: E([Vn, "tpl:mt-1.5"]),
820
828
  "aria-label": x(t).logicTag.insert,
821
829
  title: x(t).logicTag.insert,
822
830
  disabled: e.disabled,
823
831
  "data-testid": "field-insert-logic-button",
824
832
  onMousedown: r[0] ||= S(() => {}, ["prevent"]),
825
833
  onClick: r[1] ||= (e) => n.$emit("insert")
826
- }, [P(x(jt), {
834
+ }, [P(x(st), {
827
835
  size: 12,
828
836
  "stroke-width": 2
829
- }), M(" " + _(x(t).logicTag.insertShort), 1)], 42, Hn));
837
+ }), M(" " + _(x(t).logicTag.insertShort), 1)], 42, Bn));
830
838
  }
831
- }), Gn = { key: 0 }, Kn = {
839
+ }), Un = { key: 0 }, Wn = {
832
840
  key: 0,
833
841
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
834
- }, qn = { key: 1 }, Jn = [
842
+ }, Gn = { key: 1 }, Kn = [
835
843
  "value",
836
844
  "placeholder",
837
845
  "rows"
838
- ], Yn = {
846
+ ], qn = {
839
847
  key: 0,
840
848
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
841
- }, Xn = "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)]", Zn = "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)]", Qn = /* @__PURE__ */ N({
849
+ }, Jn = "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)]", Xn = /* @__PURE__ */ N({
842
850
  __name: "MergeTagTextarea",
843
851
  props: {
844
852
  modelValue: {},
@@ -847,32 +855,32 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
847
855
  },
848
856
  emits: ["update:modelValue"],
849
857
  setup(e, { emit: t }) {
850
- let n = e, r = t, i = m(null), { segments: a, hasMergeTags: o, canRequestMergeTag: c, isRequestingMergeTag: l, canInsertLogicTag: u, isRequestingLogicTag: d, isEditing: f, startEditing: p, handleInput: h, handleKeydown: g, handleClick: _, handleBlur: v, clearValue: S, insertMergeTag: w, insertLogicTag: T } = Mn({
858
+ let n = e, r = t, i = m(null), { segments: a, hasMergeTags: o, canRequestMergeTag: c, isRequestingMergeTag: l, canInsertLogicTag: u, isRequestingLogicTag: d, isEditing: f, startEditing: p, handleInput: h, handleKeydown: g, handleClick: _, handleBlur: v, clearValue: S, insertMergeTag: w, insertLogicTag: T } = An({
851
859
  modelValue: () => n.modelValue,
852
860
  emit: (e) => r("update:modelValue", e),
853
861
  elementRef: i
854
862
  });
855
- return (t, n) => x(o) && !x(f) ? (s(), y("div", Gn, [P(Rn, {
863
+ return (t, n) => x(o) && !x(f) ? (s(), y("div", Un, [P(In, {
856
864
  segments: x(a),
857
- "display-class": Zn,
865
+ "display-class": Yn,
858
866
  onEdit: x(p),
859
867
  onClear: x(S)
860
868
  }, null, 8, [
861
869
  "segments",
862
870
  "onEdit",
863
871
  "onClear"
864
- ]), x(c) || x(u) ? (s(), y("div", Kn, [x(c) ? (s(), C(Vn, {
872
+ ]), x(c) || x(u) ? (s(), y("div", Wn, [x(c) ? (s(), C(zn, {
865
873
  key: 0,
866
874
  disabled: x(l),
867
875
  onInsert: x(w)
868
- }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Wn, {
876
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Hn, {
869
877
  key: 1,
870
878
  disabled: x(d),
871
879
  onInsert: x(T)
872
- }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)])) : (s(), y("div", qn, [D("textarea", {
880
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)])) : (s(), y("div", Gn, [D("textarea", {
873
881
  ref_key: "textareaRef",
874
882
  ref: i,
875
- class: E(Xn),
883
+ class: E(Jn),
876
884
  value: e.modelValue,
877
885
  placeholder: e.placeholder,
878
886
  rows: e.rows,
@@ -880,22 +888,22 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
880
888
  onKeydown: n[1] ||= (...e) => x(g) && x(g)(...e),
881
889
  onClick: n[2] ||= (...e) => x(_) && x(_)(...e),
882
890
  onBlur: n[3] ||= (...e) => x(v) && x(v)(...e)
883
- }, null, 40, Jn), x(c) || x(u) ? (s(), y("div", Yn, [x(c) ? (s(), C(Vn, {
891
+ }, null, 40, Kn), x(c) || x(u) ? (s(), y("div", qn, [x(c) ? (s(), C(zn, {
884
892
  key: 0,
885
893
  disabled: x(l),
886
894
  onInsert: x(w)
887
- }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Wn, {
895
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Hn, {
888
896
  key: 1,
889
897
  disabled: x(d),
890
898
  onInsert: x(T)
891
899
  }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)]));
892
900
  }
893
- }), $n = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, er = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, tr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, nr = { class: "tpl:mb-3.5" }, rr = { 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)]" }, ir = ["onClick"], ar = { class: "tpl:flex tpl:items-stretch" }, or = ["value"], sr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, cr = { class: "tpl:mb-3.5" }, lr = { class: "tpl:mb-3.5" }, ur = { class: "tpl:mb-3.5" }, dr = { class: "tpl:mb-3.5" }, fr = ["value"], pr = ["value"], mr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, hr = ["value"], gr = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, _r = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vr = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, yr = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, br = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, xr = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Sr = { 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)]" }, Cr = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, wr = { class: "tpl:mb-1 tpl:last:mb-0" }, Tr = { class: "tpl:mb-1 tpl:last:mb-0" }, Er = { class: "tpl:mb-1 tpl:last:mb-0" }, Dr = 150, Or = /* @__PURE__ */ N({
901
+ }), Zn = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, Qn = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, $n = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, er = { class: "tpl:mb-3.5" }, tr = { 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)]" }, nr = ["onClick"], rr = { class: "tpl:flex tpl:items-stretch" }, ir = ["value"], ar = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, or = { class: "tpl:mb-3.5" }, sr = { class: "tpl:mb-3.5" }, cr = { class: "tpl:mb-3.5" }, lr = { class: "tpl:mb-3.5" }, ur = ["value"], dr = ["value"], fr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, pr = ["value"], mr = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, hr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, gr = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, _r = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, vr = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, yr = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, br = { 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)]" }, xr = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Sr = { class: "tpl:mb-1 tpl:last:mb-0" }, Cr = { class: "tpl:mb-1 tpl:last:mb-0" }, wr = { class: "tpl:mb-1 tpl:last:mb-0" }, Tr = 150, Er = /* @__PURE__ */ N({
894
902
  __name: "TemplateSettings",
895
903
  props: { settings: {} },
896
904
  emits: ["update"],
897
905
  setup(e, { emit: t }) {
898
- let n = e, r = t, { t: i } = H(), a = Ee(ht, "TemplateSettings"), o = v(() => a.fonts.value), c = v(() => o.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : a.defaultFont.value), l = [
906
+ let n = e, r = t, { t: i } = W(), a = je(ze, "TemplateSettings"), o = v(() => a.fonts.value), c = v(() => o.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : a.defaultFont.value), l = [
899
907
  {
900
908
  value: 480,
901
909
  label: "480px"
@@ -913,14 +921,14 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
913
921
  label: "800px"
914
922
  }
915
923
  ];
916
- return (t, n) => (s(), y("aside", $n, [D("div", er, [
917
- D("div", { class: E(x(Qt)) }, [
918
- D("div", tr, [P(x(Lt), {
924
+ return (t, n) => (s(), y("aside", Zn, [D("div", Qn, [
925
+ D("div", { class: E(x(Jt)) }, [
926
+ D("div", $n, [P(x(gt), {
919
927
  class: "tpl:text-[var(--tpl-text-muted)]",
920
928
  size: 14,
921
929
  "stroke-width": 2
922
930
  }), D("span", null, _(x(i).templateSettings.layout), 1)]),
923
- D("div", nr, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.widthPreset), 3), D("div", rr, [(s(), y(j, null, u(l, (t) => D("button", {
931
+ D("div", er, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.widthPreset), 3), D("div", tr, [(s(), y(j, null, u(l, (t) => D("button", {
924
932
  key: t.value,
925
933
  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)]",
926
934
  style: k({
@@ -929,101 +937,101 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
929
937
  boxShadow: e.settings.width === t.value ? "var(--tpl-shadow)" : "none"
930
938
  }),
931
939
  onClick: (e) => r("update", { width: t.value })
932
- }, _(t.label), 13, ir)), 64))])]),
933
- D("div", null, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.customWidth), 3), D("div", ar, [D("input", {
940
+ }, _(t.label), 13, nr)), 64))])]),
941
+ D("div", null, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.customWidth), 3), D("div", rr, [D("input", {
934
942
  type: "number",
935
- class: E(x(q)),
943
+ class: E(x(Y)),
936
944
  value: e.settings.width,
937
945
  min: "300",
938
946
  max: "900",
939
947
  onInput: n[0] ||= (e) => r("update", { width: Number(e.target.value) })
940
- }, null, 42, or), D("span", { class: E(x(K)) }, "px", 2)])])
948
+ }, null, 42, ir), D("span", { class: E(x(J)) }, "px", 2)])])
941
949
  ], 2),
942
- D("div", { class: E(x(Qt)) }, [
943
- D("div", sr, [P(x(Mt), {
950
+ D("div", { class: E(x(Jt)) }, [
951
+ D("div", ar, [P(x(ft), {
944
952
  class: "tpl:text-[var(--tpl-text-muted)]",
945
953
  size: 14,
946
954
  "stroke-width": 2
947
955
  }), D("span", null, _(x(i).templateSettings.appearance), 1)]),
948
- D("div", cr, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.backgroundColor), 3), P(J, {
956
+ D("div", or, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.backgroundColor), 3), P(X, {
949
957
  "model-value": e.settings.backgroundColor,
950
- placeholder: x(Zt),
958
+ placeholder: x(qt),
951
959
  "onUpdate:modelValue": n[1] ||= (e) => r("update", { backgroundColor: e })
952
960
  }, null, 8, ["model-value", "placeholder"])]),
953
- D("div", lr, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.textColor), 3), P(J, {
961
+ D("div", sr, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.textColor), 3), P(X, {
954
962
  "model-value": e.settings.textColor ?? "",
955
963
  "seed-color": "#1a1a1a",
956
964
  "onUpdate:modelValue": n[2] ||= (e) => r("update", { textColor: e })
957
965
  }, null, 8, ["model-value"])]),
958
- D("div", ur, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.linkColor), 3), P(J, {
966
+ D("div", cr, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.linkColor), 3), P(X, {
959
967
  "model-value": e.settings.linkColor ?? "",
960
968
  "seed-color": "#0066cc",
961
969
  "onUpdate:modelValue": n[3] ||= (e) => r("update", { linkColor: e || void 0 })
962
970
  }, null, 8, ["model-value"])]),
963
- D("div", dr, [P(Y, {
971
+ D("div", lr, [P(Z, {
964
972
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
965
973
  "model-value": e.settings.linkUnderline,
966
974
  label: x(i).templateSettings.linkUnderline,
967
975
  "onUpdate:modelValue": n[4] ||= (e) => r("update", { linkUnderline: e })
968
976
  }, null, 8, ["model-value", "label"])]),
969
- D("div", null, [D("label", { class: E(x(G)) }, _(x(i).templateSettings.fontFamily), 3), D("select", {
970
- class: E(x(W)),
977
+ D("div", null, [D("label", { class: E(x(q)) }, _(x(i).templateSettings.fontFamily), 3), D("select", {
978
+ class: E(x(K)),
971
979
  value: c.value,
972
980
  onChange: n[5] ||= (e) => r("update", { fontFamily: e.target.value })
973
981
  }, [(s(!0), y(j, null, u(o.value, (e) => (s(), y("option", {
974
982
  key: e.value,
975
983
  value: e.value
976
- }, _(e.label), 9, pr))), 128))], 42, fr)])
984
+ }, _(e.label), 9, dr))), 128))], 42, ur)])
977
985
  ], 2),
978
- D("div", { class: E(x(Qt)) }, [D("div", mr, [P(x(wt), {
986
+ D("div", { class: E(x(Jt)) }, [D("div", fr, [P(x(Ct), {
979
987
  class: "tpl:text-[var(--tpl-text-muted)]",
980
988
  size: 14,
981
989
  "stroke-width": 2
982
990
  }), D("span", null, _(x(i).templateSettings.language), 1)]), D("div", null, [
983
- D("label", { class: E(x(G)) }, _(x(i).templateSettings.contentLocale), 3),
991
+ D("label", { class: E(x(q)) }, _(x(i).templateSettings.contentLocale), 3),
984
992
  D("input", {
985
993
  type: "text",
986
- class: E(x(W)),
994
+ class: E(x(K)),
987
995
  value: e.settings.locale ?? "",
988
996
  placeholder: "en",
989
997
  spellcheck: "false",
990
998
  autocapitalize: "off",
991
999
  autocomplete: "off",
992
1000
  onInput: n[6] ||= (e) => r("update", { locale: e.target.value.trim() || void 0 })
993
- }, null, 42, hr),
994
- D("p", gr, _(x(i).templateSettings.contentLocaleHint), 1)
1001
+ }, null, 42, pr),
1002
+ D("p", mr, _(x(i).templateSettings.contentLocaleHint), 1)
995
1003
  ])], 2),
996
- D("div", { class: E(x(Qt)) }, [D("div", _r, [P(x(tt), {
1004
+ D("div", { class: E(x(Jt)) }, [D("div", hr, [P(x(_t), {
997
1005
  class: "tpl:text-[var(--tpl-text-muted)]",
998
1006
  size: 14,
999
1007
  "stroke-width": 2
1000
- }), D("span", null, _(x(i).templateSettings.preheaderText), 1)]), D("div", null, [P(Qn, {
1008
+ }), D("span", null, _(x(i).templateSettings.preheaderText), 1)]), D("div", null, [P(Xn, {
1001
1009
  "model-value": e.settings.preheaderText ?? "",
1002
1010
  placeholder: x(i).templateSettings.preheaderTextPlaceholder,
1003
1011
  rows: 2,
1004
1012
  "onUpdate:modelValue": n[7] ||= (e) => r("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
1005
- }, null, 8, ["model-value", "placeholder"]), D("div", vr, [D("span", yr, _(x(i).templateSettings.preheaderTextHint), 1), D("span", br, _((e.settings.preheaderText ?? "").length) + "/" + _(Dr), 1)])])], 2),
1006
- D("div", xr, [D("div", Sr, [P(x(De), {
1013
+ }, null, 8, ["model-value", "placeholder"]), D("div", gr, [D("span", _r, _(x(i).templateSettings.preheaderTextHint), 1), D("span", vr, _((e.settings.preheaderText ?? "").length) + "/" + _(Tr), 1)])])], 2),
1014
+ D("div", yr, [D("div", br, [P(x(Nt), {
1007
1015
  size: 14,
1008
1016
  "stroke-width": 2
1009
- }), D("span", null, _(x(i).templateSettings.tips), 1)]), D("ul", Cr, [
1010
- D("li", wr, _(x(i).templateSettings.tip1), 1),
1011
- D("li", Tr, _(x(i).templateSettings.tip2), 1),
1012
- D("li", Er, _(x(i).templateSettings.tip3), 1)
1017
+ }), D("span", null, _(x(i).templateSettings.tips), 1)]), D("ul", xr, [
1018
+ D("li", Sr, _(x(i).templateSettings.tip1), 1),
1019
+ D("li", Cr, _(x(i).templateSettings.tip2), 1),
1020
+ D("li", wr, _(x(i).templateSettings.tip3), 1)
1013
1021
  ])])
1014
1022
  ])]));
1015
1023
  }
1016
- }), kr = { key: 0 }, Ar = {
1024
+ }), Dr = { key: 0 }, Or = {
1017
1025
  key: 0,
1018
1026
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1019
- }, jr = { key: 1 }, Mr = [
1027
+ }, kr = { key: 1 }, Ar = [
1020
1028
  "type",
1021
1029
  "value",
1022
1030
  "placeholder"
1023
- ], Nr = {
1031
+ ], jr = {
1024
1032
  key: 0,
1025
1033
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1026
- }, Pr = "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)]", Q = /*#__PURE__*/ rt(/* @__PURE__ */ N({
1034
+ }, Mr = "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)]", $ = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
1027
1035
  __name: "MergeTagInput",
1028
1036
  props: {
1029
1037
  modelValue: {},
@@ -1036,14 +1044,14 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1036
1044
  },
1037
1045
  emits: ["update:modelValue"],
1038
1046
  setup(e, { emit: t }) {
1039
- let n = e, r = t, i = m(null), { segments: a, hasMergeTags: o, canRequestMergeTag: c, isRequestingMergeTag: l, canInsertLogicTag: u, isRequestingLogicTag: d, isEditing: f, startEditing: p, handleInput: h, handleKeydown: g, handleClick: _, handleBlur: v, clearValue: S, insertMergeTag: w, insertLogicTag: T } = Mn({
1047
+ let n = e, r = t, i = m(null), { segments: a, hasMergeTags: o, canRequestMergeTag: c, isRequestingMergeTag: l, canInsertLogicTag: u, isRequestingLogicTag: d, isEditing: f, startEditing: p, handleInput: h, handleKeydown: g, handleClick: _, handleBlur: v, clearValue: S, insertMergeTag: w, insertLogicTag: T } = An({
1040
1048
  modelValue: () => n.modelValue,
1041
1049
  emit: (e) => r("update:modelValue", e),
1042
1050
  elementRef: i
1043
1051
  });
1044
- return (t, n) => x(o) && !x(f) ? (s(), y("div", kr, [P(Rn, {
1052
+ return (t, n) => x(o) && !x(f) ? (s(), y("div", Dr, [P(In, {
1045
1053
  segments: x(a),
1046
- "display-class": Pr,
1054
+ "display-class": Mr,
1047
1055
  pulse: e.pulse,
1048
1056
  onEdit: x(p),
1049
1057
  onClear: x(S)
@@ -1052,39 +1060,39 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1052
1060
  "pulse",
1053
1061
  "onEdit",
1054
1062
  "onClear"
1055
- ]), x(c) || x(u) ? (s(), y("div", Ar, [x(c) ? (s(), C(Vn, {
1063
+ ]), x(c) || x(u) ? (s(), y("div", Or, [x(c) ? (s(), C(zn, {
1056
1064
  key: 0,
1057
1065
  disabled: x(l),
1058
1066
  onInsert: x(w)
1059
- }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Wn, {
1067
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Hn, {
1060
1068
  key: 1,
1061
1069
  disabled: x(d),
1062
1070
  onInsert: x(T)
1063
- }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)])) : (s(), y("div", jr, [D("input", {
1071
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)])) : (s(), y("div", kr, [D("input", {
1064
1072
  ref_key: "inputRef",
1065
1073
  ref: i,
1066
1074
  type: e.type,
1067
- class: E([x(W), { "tpl-pulse-fill": e.pulse }]),
1075
+ class: E([x(K), { "tpl-pulse-fill": e.pulse }]),
1068
1076
  value: e.modelValue,
1069
1077
  placeholder: e.placeholder,
1070
1078
  onInput: n[0] ||= (...e) => x(h) && x(h)(...e),
1071
1079
  onKeydown: n[1] ||= (...e) => x(g) && x(g)(...e),
1072
1080
  onClick: n[2] ||= (...e) => x(_) && x(_)(...e),
1073
1081
  onBlur: n[3] ||= (...e) => x(v) && x(v)(...e)
1074
- }, null, 42, Mr), x(c) || x(u) ? (s(), y("div", Nr, [x(c) ? (s(), C(Vn, {
1082
+ }, null, 42, Ar), x(c) || x(u) ? (s(), y("div", jr, [x(c) ? (s(), C(zn, {
1075
1083
  key: 0,
1076
1084
  disabled: x(l),
1077
1085
  onInsert: x(w)
1078
- }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Wn, {
1086
+ }, null, 8, ["disabled", "onInsert"])) : b("", !0), x(u) ? (s(), C(Hn, {
1079
1087
  key: 1,
1080
1088
  disabled: x(d),
1081
1089
  onInsert: x(T)
1082
1090
  }, null, 8, ["disabled", "onInsert"])) : b("", !0)])) : b("", !0)]));
1083
1091
  }
1084
- }), [["__scopeId", "data-v-d6563be6"]]), Fr = { class: "tpl:mb-3.5" }, Ir = ["value"], Lr = { value: "" }, Rr = ["value"], zr = { class: "tpl:mb-3.5" }, Br = { class: "tpl:mb-3.5" }, Vr = { class: "tpl:mb-3.5" }, Hr = { class: "tpl:mb-3.5" }, Ur = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Wr = { class: "tpl:mb-3.5" }, Gr = { class: "tpl:flex tpl:items-stretch" }, Kr = ["value"], qr = { class: "tpl:mb-3.5" }, Jr = { class: "tpl:flex tpl:items-stretch" }, Yr = ["value"], Xr = { class: "tpl:mb-3.5" }, Zr = ["value"], Qr = { value: "auto" }, $r = { value: "full" }, ei = { value: "custom" }, ti = {
1092
+ }), [["__scopeId", "data-v-d6563be6"]]), Nr = { class: "tpl:mb-3.5" }, Pr = ["value"], Fr = { value: "" }, Ir = ["value"], Lr = { class: "tpl:mb-3.5" }, Rr = { class: "tpl:mb-3.5" }, zr = { class: "tpl:mb-3.5" }, Br = { class: "tpl:mb-3.5" }, Vr = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Hr = { class: "tpl:mb-3.5" }, Ur = { class: "tpl:flex tpl:items-stretch" }, Wr = ["value"], Gr = { class: "tpl:mb-3.5" }, Kr = { class: "tpl:flex tpl:items-stretch" }, qr = ["value"], Jr = { class: "tpl:mb-3.5" }, Yr = ["value"], Xr = { value: "auto" }, Zr = { value: "full" }, Qr = { value: "custom" }, $r = {
1085
1093
  key: 0,
1086
1094
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
1087
- }, ni = ["value"], ri = 200, ii = /* @__PURE__ */ N({
1095
+ }, ei = ["value"], ti = 200, ni = /* @__PURE__ */ N({
1088
1096
  __name: "ButtonToolbar",
1089
1097
  props: {
1090
1098
  block: {},
@@ -1092,7 +1100,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1092
1100
  },
1093
1101
  emits: ["update"],
1094
1102
  setup(e, { emit: t }) {
1095
- let n = e, r = t, { t: i } = H(), a = v(() => n.block.width === "full" ? "full" : typeof n.block.width == "number" ? "custom" : "auto");
1103
+ let n = e, r = t, { t: i } = W(), a = v(() => n.block.width === "full" ? "full" : typeof n.block.width == "number" ? "custom" : "auto");
1096
1104
  function o(e, t) {
1097
1105
  r("update", { [e]: t });
1098
1106
  }
@@ -1102,7 +1110,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1102
1110
  return;
1103
1111
  }
1104
1112
  if (e === "custom") {
1105
- o("width", typeof n.block.width == "number" ? n.block.width : ri);
1113
+ o("width", typeof n.block.width == "number" ? n.block.width : ti);
1106
1114
  return;
1107
1115
  }
1108
1116
  o("width", void 0);
@@ -1112,28 +1120,28 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1112
1120
  !Number.isFinite(t) || t <= 0 || o("width", t);
1113
1121
  }
1114
1122
  return (t, n) => (s(), y(j, null, [
1115
- D("div", Fr, [D("label", { class: E(x(G)) }, _(x(i).button.fontFamily), 3), D("select", {
1116
- class: E(x(W)),
1123
+ D("div", Nr, [D("label", { class: E(x(q)) }, _(x(i).button.fontFamily), 3), D("select", {
1124
+ class: E(x(K)),
1117
1125
  value: e.block.fontFamily || "",
1118
1126
  onChange: n[0] ||= (e) => o("fontFamily", e.target.value || void 0)
1119
- }, [D("option", Lr, _(x(i).button.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
1127
+ }, [D("option", Fr, _(x(i).button.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
1120
1128
  key: e.value,
1121
1129
  value: e.value
1122
- }, _(e.label), 9, Rr))), 128))], 42, Ir)]),
1123
- D("div", zr, [D("label", { class: E(x(G)) }, _(x(i).button.text), 3), P(Q, {
1130
+ }, _(e.label), 9, Ir))), 128))], 42, Pr)]),
1131
+ D("div", Lr, [D("label", { class: E(x(q)) }, _(x(i).button.text), 3), P($, {
1124
1132
  "model-value": e.block.text,
1125
1133
  type: "text",
1126
1134
  "onUpdate:modelValue": n[1] ||= (e) => o("text", e)
1127
1135
  }, null, 8, ["model-value"])]),
1128
- D("div", Br, [
1129
- D("label", { class: E(x(G)) }, _(x(i).button.url), 3),
1130
- P(Q, {
1136
+ D("div", Rr, [
1137
+ D("label", { class: E(x(q)) }, _(x(i).button.url), 3),
1138
+ P($, {
1131
1139
  "model-value": e.block.url,
1132
1140
  type: "url",
1133
1141
  placeholder: x(i).button.urlPlaceholder,
1134
1142
  "onUpdate:modelValue": n[2] ||= (e) => o("url", e)
1135
1143
  }, null, 8, ["model-value", "placeholder"]),
1136
- e.block.url ? (s(), C(Y, {
1144
+ e.block.url ? (s(), C(Z, {
1137
1145
  key: 0,
1138
1146
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
1139
1147
  "model-value": e.block.openInNewTab ?? !1,
@@ -1141,51 +1149,51 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1141
1149
  "onUpdate:modelValue": n[3] ||= (e) => o("openInNewTab", e)
1142
1150
  }, null, 8, ["model-value", "label"])) : b("", !0)
1143
1151
  ]),
1144
- D("div", Vr, [D("label", { class: E(x(G)) }, _(x(i).button.background), 3), P(J, {
1152
+ D("div", zr, [D("label", { class: E(x(q)) }, _(x(i).button.background), 3), P(X, {
1145
1153
  "model-value": e.block.backgroundColor,
1146
1154
  "onUpdate:modelValue": n[4] ||= (e) => o("backgroundColor", e)
1147
1155
  }, null, 8, ["model-value"])]),
1148
- D("div", Hr, [D("label", { class: E(x(G)) }, _(x(i).button.textColor), 3), P(J, {
1156
+ D("div", Br, [D("label", { class: E(x(q)) }, _(x(i).button.textColor), 3), P(X, {
1149
1157
  "model-value": e.block.textColor,
1150
1158
  "onUpdate:modelValue": n[5] ||= (e) => o("textColor", e)
1151
1159
  }, null, 8, ["model-value"])]),
1152
- D("div", Ur, [D("div", Wr, [D("label", { class: E(x(G)) }, _(x(i).button.borderRadius), 3), D("div", Gr, [D("input", {
1160
+ D("div", Vr, [D("div", Hr, [D("label", { class: E(x(q)) }, _(x(i).button.borderRadius), 3), D("div", Ur, [D("input", {
1153
1161
  type: "number",
1154
- class: E(x(q)),
1162
+ class: E(x(Y)),
1155
1163
  value: e.block.borderRadius,
1156
1164
  min: "0",
1157
1165
  max: "50",
1158
1166
  onInput: n[6] ||= (e) => o("borderRadius", Number(e.target.value))
1159
- }, null, 42, Kr), D("span", { class: E(x(K)) }, "px", 2)])]), D("div", qr, [D("label", { class: E(x(G)) }, _(x(i).button.fontSize), 3), D("div", Jr, [D("input", {
1167
+ }, null, 42, Wr), D("span", { class: E(x(J)) }, "px", 2)])]), D("div", Gr, [D("label", { class: E(x(q)) }, _(x(i).button.fontSize), 3), D("div", Kr, [D("input", {
1160
1168
  type: "number",
1161
- class: E(x(q)),
1169
+ class: E(x(Y)),
1162
1170
  value: e.block.fontSize,
1163
1171
  min: "10",
1164
1172
  max: "36",
1165
1173
  onInput: n[7] ||= (e) => o("fontSize", Number(e.target.value))
1166
- }, null, 42, Yr), D("span", { class: E(x(K)) }, "px", 2)])])]),
1167
- D("div", Xr, [
1168
- D("label", { class: E(x(G)) }, _(x(i).button.width), 3),
1174
+ }, null, 42, qr), D("span", { class: E(x(J)) }, "px", 2)])])]),
1175
+ D("div", Jr, [
1176
+ D("label", { class: E(x(q)) }, _(x(i).button.width), 3),
1169
1177
  D("select", {
1170
- class: E(x(W)),
1178
+ class: E(x(K)),
1171
1179
  value: a.value,
1172
1180
  onChange: n[8] ||= (e) => c(e.target.value)
1173
1181
  }, [
1174
- D("option", Qr, _(x(i).button.widthAuto), 1),
1175
- D("option", $r, _(x(i).button.fullWidth), 1),
1176
- D("option", ei, _(x(i).button.widthCustom), 1)
1177
- ], 42, Zr),
1178
- a.value === "custom" ? (s(), y("div", ti, [D("input", {
1182
+ D("option", Xr, _(x(i).button.widthAuto), 1),
1183
+ D("option", Zr, _(x(i).button.fullWidth), 1),
1184
+ D("option", Qr, _(x(i).button.widthCustom), 1)
1185
+ ], 42, Yr),
1186
+ a.value === "custom" ? (s(), y("div", $r, [D("input", {
1179
1187
  type: "number",
1180
- class: E(x(q)),
1181
- value: typeof e.block.width == "number" ? e.block.width : ri,
1188
+ class: E(x(Y)),
1189
+ value: typeof e.block.width == "number" ? e.block.width : ti,
1182
1190
  min: "20",
1183
1191
  onInput: n[9] ||= (e) => l(e.target.value)
1184
- }, null, 42, ni), D("span", { class: E(x(K)) }, "px", 2)])) : b("", !0)
1192
+ }, null, 42, ei), D("span", { class: E(x(J)) }, "px", 2)])) : b("", !0)
1185
1193
  ])
1186
1194
  ], 64));
1187
1195
  }
1188
- }), ai = { class: "spacing-control" }, oi = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, si = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, ci = { class: "tpl:flex tpl:items-center" }, li = ["aria-label"], ui = ["value", "aria-label"], di = ["aria-label"], fi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, pi = { class: "tpl:flex tpl:items-center" }, mi = ["aria-label"], hi = ["value", "aria-label"], gi = ["aria-label"], _i = ["aria-label", "title"], vi = { class: "tpl:flex tpl:items-center" }, yi = ["aria-label"], bi = ["value", "aria-label"], xi = ["aria-label"], Si = { class: "tpl:flex tpl:items-center" }, Ci = ["aria-label"], wi = ["value", "aria-label"], Ti = ["aria-label"], $ = "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)]", Ei = "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)]", Di = /*#__PURE__*/ rt(/* @__PURE__ */ N({
1196
+ }), ri = { class: "spacing-control" }, ii = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ai = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, oi = { class: "tpl:flex tpl:items-center" }, si = ["aria-label"], ci = ["value", "aria-label"], li = ["aria-label"], ui = { class: "tpl:flex tpl:items-center tpl:gap-2" }, di = { class: "tpl:flex tpl:items-center" }, fi = ["aria-label"], pi = ["value", "aria-label"], mi = ["aria-label"], hi = ["aria-label", "title"], gi = { class: "tpl:flex tpl:items-center" }, _i = ["aria-label"], vi = ["value", "aria-label"], yi = ["aria-label"], bi = { class: "tpl:flex tpl:items-center" }, xi = ["aria-label"], Si = ["value", "aria-label"], Ci = ["aria-label"], wi = "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)]", Ti = "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)]", Ei = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
1189
1197
  __name: "SpacingControl",
1190
1198
  props: {
1191
1199
  modelValue: {},
@@ -1193,7 +1201,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1193
1201
  },
1194
1202
  emits: ["update:modelValue"],
1195
1203
  setup(e, { emit: t }) {
1196
- let n = e, r = t, { t: i } = H(), a = v(() => n.modelValue.top === n.modelValue.right && n.modelValue.right === n.modelValue.bottom && n.modelValue.bottom === n.modelValue.left), o = m(a.value);
1204
+ let n = e, r = t, { t: i } = W(), a = v(() => n.modelValue.top === n.modelValue.right && n.modelValue.right === n.modelValue.bottom && n.modelValue.bottom === n.modelValue.left), o = m(a.value);
1197
1205
  F(a, (e) => {
1198
1206
  !e && o.value && (o.value = !1);
1199
1207
  });
@@ -1232,130 +1240,130 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1232
1240
  });
1233
1241
  }
1234
1242
  }
1235
- return (t, n) => (s(), y("div", ai, [D("label", oi, _(e.label), 1), D("div", si, [
1236
- D("div", ci, [
1243
+ return (t, n) => (s(), y("div", ri, [D("label", ii, _(e.label), 1), D("div", ai, [
1244
+ D("div", oi, [
1237
1245
  D("button", {
1238
1246
  "aria-label": x(i).spacingControl.decreaseTop,
1239
- class: E([$, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1247
+ class: E([wi, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1240
1248
  onClick: n[0] ||= (e) => c("top", -1)
1241
- }, [P(x(kt), {
1249
+ }, [P(x(et), {
1242
1250
  size: 12,
1243
1251
  "stroke-width": 2
1244
- })], 10, li),
1252
+ })], 10, si),
1245
1253
  D("input", {
1246
1254
  type: "number",
1247
- class: E(Ei),
1255
+ class: E(Ti),
1248
1256
  value: e.modelValue.top,
1249
1257
  "aria-label": x(i).spacingControl.top,
1250
1258
  min: "0",
1251
1259
  onInput: n[1] ||= (e) => l("top", Number(e.target.value))
1252
- }, null, 40, ui),
1260
+ }, null, 40, ci),
1253
1261
  D("button", {
1254
1262
  "aria-label": x(i).spacingControl.increaseTop,
1255
- class: E([$, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1263
+ class: E([wi, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1256
1264
  onClick: n[2] ||= (e) => c("top", 1)
1257
- }, [P(x(U), {
1265
+ }, [P(x(G), {
1258
1266
  size: 12,
1259
1267
  "stroke-width": 2
1260
- })], 10, di)
1268
+ })], 10, li)
1261
1269
  ]),
1262
- D("div", fi, [
1263
- D("div", pi, [
1270
+ D("div", ui, [
1271
+ D("div", di, [
1264
1272
  D("button", {
1265
1273
  "aria-label": x(i).spacingControl.decreaseLeft,
1266
- class: E([$, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1274
+ class: E([wi, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1267
1275
  onClick: n[3] ||= (e) => c("left", -1)
1268
- }, [P(x(kt), {
1276
+ }, [P(x(et), {
1269
1277
  size: 12,
1270
1278
  "stroke-width": 2
1271
- })], 10, mi),
1279
+ })], 10, fi),
1272
1280
  D("input", {
1273
1281
  type: "number",
1274
- class: E(Ei),
1282
+ class: E(Ti),
1275
1283
  value: e.modelValue.left,
1276
1284
  "aria-label": x(i).spacingControl.left,
1277
1285
  min: "0",
1278
1286
  onInput: n[4] ||= (e) => l("left", Number(e.target.value))
1279
- }, null, 40, hi),
1287
+ }, null, 40, pi),
1280
1288
  D("button", {
1281
1289
  "aria-label": x(i).spacingControl.increaseLeft,
1282
- class: E([$, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1290
+ class: E([wi, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1283
1291
  onClick: n[5] ||= (e) => c("left", 1)
1284
- }, [P(x(U), {
1292
+ }, [P(x(G), {
1285
1293
  size: 12,
1286
1294
  "stroke-width": 2
1287
- })], 10, gi)
1295
+ })], 10, mi)
1288
1296
  ]),
1289
1297
  D("button", {
1290
1298
  class: E(["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)]", o.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)]"]),
1291
1299
  "aria-label": o.value ? x(i).spacingControl.unlock : x(i).spacingControl.lockAll,
1292
1300
  title: o.value ? x(i).spacingControl.unlock : x(i).spacingControl.lockAll,
1293
1301
  onClick: u
1294
- }, [o.value ? (s(), C(x(Ct), {
1302
+ }, [o.value ? (s(), C(x(Mt), {
1295
1303
  key: 0,
1296
1304
  size: 14,
1297
1305
  "stroke-width": 2
1298
- })) : (s(), C(x(Tt), {
1306
+ })) : (s(), C(x(Dt), {
1299
1307
  key: 1,
1300
1308
  size: 14,
1301
1309
  "stroke-width": 2
1302
- }))], 10, _i),
1303
- D("div", vi, [
1310
+ }))], 10, hi),
1311
+ D("div", gi, [
1304
1312
  D("button", {
1305
1313
  "aria-label": x(i).spacingControl.decreaseRight,
1306
- class: E([$, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1314
+ class: E([wi, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1307
1315
  onClick: n[6] ||= (e) => c("right", -1)
1308
- }, [P(x(kt), {
1316
+ }, [P(x(et), {
1309
1317
  size: 12,
1310
1318
  "stroke-width": 2
1311
- })], 10, yi),
1319
+ })], 10, _i),
1312
1320
  D("input", {
1313
1321
  type: "number",
1314
- class: E(Ei),
1322
+ class: E(Ti),
1315
1323
  value: e.modelValue.right,
1316
1324
  "aria-label": x(i).spacingControl.right,
1317
1325
  min: "0",
1318
1326
  onInput: n[7] ||= (e) => l("right", Number(e.target.value))
1319
- }, null, 40, bi),
1327
+ }, null, 40, vi),
1320
1328
  D("button", {
1321
1329
  "aria-label": x(i).spacingControl.increaseRight,
1322
- class: E([$, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1330
+ class: E([wi, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1323
1331
  onClick: n[8] ||= (e) => c("right", 1)
1324
- }, [P(x(U), {
1332
+ }, [P(x(G), {
1325
1333
  size: 12,
1326
1334
  "stroke-width": 2
1327
- })], 10, xi)
1335
+ })], 10, yi)
1328
1336
  ])
1329
1337
  ]),
1330
- D("div", Si, [
1338
+ D("div", bi, [
1331
1339
  D("button", {
1332
1340
  "aria-label": x(i).spacingControl.decreaseBottom,
1333
- class: E([$, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1341
+ class: E([wi, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1334
1342
  onClick: n[9] ||= (e) => c("bottom", -1)
1335
- }, [P(x(kt), {
1343
+ }, [P(x(et), {
1336
1344
  size: 12,
1337
1345
  "stroke-width": 2
1338
- })], 10, Ci),
1346
+ })], 10, xi),
1339
1347
  D("input", {
1340
1348
  type: "number",
1341
- class: E(Ei),
1349
+ class: E(Ti),
1342
1350
  value: e.modelValue.bottom,
1343
1351
  "aria-label": x(i).spacingControl.bottom,
1344
1352
  min: "0",
1345
1353
  onInput: n[10] ||= (e) => l("bottom", Number(e.target.value))
1346
- }, null, 40, wi),
1354
+ }, null, 40, Si),
1347
1355
  D("button", {
1348
1356
  "aria-label": x(i).spacingControl.increaseBottom,
1349
- class: E([$, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1357
+ class: E([wi, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1350
1358
  onClick: n[11] ||= (e) => c("bottom", 1)
1351
- }, [P(x(U), {
1359
+ }, [P(x(G), {
1352
1360
  size: 12,
1353
1361
  "stroke-width": 2
1354
- })], 10, Ti)
1362
+ })], 10, Ci)
1355
1363
  ])
1356
1364
  ])]));
1357
1365
  }
1358
- }), [["__scopeId", "data-v-9a9c8a07"]]), Oi = { class: "tpl:mt-3" }, ki = /* @__PURE__ */ N({
1366
+ }), [["__scopeId", "data-v-9a9c8a07"]]), Di = { class: "tpl:mt-3" }, Oi = /* @__PURE__ */ N({
1359
1367
  __name: "CollapsibleSection",
1360
1368
  props: {
1361
1369
  title: {},
@@ -1368,25 +1376,25 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1368
1376
  type: "button",
1369
1377
  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)]",
1370
1378
  onClick: i[0] ||= (e) => n.$emit("toggle")
1371
- }, [P(x(ge), {
1379
+ }, [P(x(pt), {
1372
1380
  class: E(["tpl:transition-transform tpl:duration-200", e.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
1373
1381
  size: 12,
1374
1382
  "stroke-width": 2
1375
- }, null, 8, ["class"]), D("span", null, _(e.title), 1)]), r(D("div", Oi, [t(n.$slots, "default")], 512), [[O, e.open]])], 2));
1383
+ }, null, 8, ["class"]), D("span", null, _(e.title), 1)]), r(D("div", Di, [t(n.$slots, "default")], 512), [[O, e.open]])], 2));
1376
1384
  }
1377
- }), Ai = { class: "tpl:space-y-2" }, ji = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Mi = { class: "tpl:space-y-2" }, Ni = ["value"], Pi = { value: "" }, Fi = ["label"], Ii = ["value"], Li = ["value"], Ri = {
1385
+ }), ki = { class: "tpl:space-y-2" }, Ai = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ji = { class: "tpl:space-y-2" }, Mi = ["value"], Ni = { value: "" }, Pi = ["label"], Fi = ["value"], Ii = ["value"], Li = {
1378
1386
  key: 0,
1379
1387
  value: "__custom__"
1380
- }, zi = {
1388
+ }, Ri = {
1381
1389
  key: 0,
1382
1390
  class: "tpl:space-y-2"
1383
- }, Bi = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Vi = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Hi = { class: "tpl:flex tpl:justify-end" }, Ui = ["disabled"], Wi = {
1391
+ }, zi = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Bi = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Vi = { class: "tpl:flex tpl:justify-end" }, Hi = ["disabled"], Ui = {
1384
1392
  key: 0,
1385
1393
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
1386
- }, Gi = { class: "tpl:space-y-1" }, Ki = { 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)]" }, qi = {
1394
+ }, Wi = { class: "tpl:space-y-1" }, Gi = { 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)]" }, Ki = {
1387
1395
  key: 0,
1388
1396
  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)]"
1389
- }, Ji = /* @__PURE__ */ N({
1397
+ }, qi = /* @__PURE__ */ N({
1390
1398
  __name: "CommonBlockSettings",
1391
1399
  props: {
1392
1400
  block: {},
@@ -1394,23 +1402,23 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1394
1402
  },
1395
1403
  emits: ["update"],
1396
1404
  setup(e, { emit: t }) {
1397
- let n = e, i = t, { t: a } = H(), c = d(He, []), l = d(Le, !1), h = p(/* @__PURE__ */ new Set()), g = m(!1), S = m(""), w = m(""), O = [{
1405
+ let n = e, i = t, { t: a } = W(), c = d(Ge, []), l = d(Ke, !1), h = p(/* @__PURE__ */ new Set()), g = m(!1), S = m(""), w = m(""), O = [{
1398
1406
  key: "desktop",
1399
- icon: Dt,
1407
+ icon: mt,
1400
1408
  labelKey: "showOnDesktop"
1401
1409
  }, {
1402
1410
  key: "mobile",
1403
- icon: Nt,
1411
+ icon: at,
1404
1412
  labelKey: "showOnMobile"
1405
1413
  }];
1406
1414
  function k(e) {
1407
1415
  h.has(e) ? h.delete(e) : h.add(e);
1408
1416
  }
1409
1417
  let A = v(() => c.length > 0 || l), N = v(() => n.block.displayCondition ? !c.some((e) => e.label === n.block.displayCondition?.label) : !1);
1410
- function ee() {
1418
+ function I() {
1411
1419
  g.value = !0, N.value && n.block.displayCondition ? (S.value = n.block.displayCondition.before, w.value = n.block.displayCondition.after ?? "") : (S.value = "", w.value = "");
1412
1420
  }
1413
- function I() {
1421
+ function L() {
1414
1422
  S.value.trim() && (i("update", { displayCondition: {
1415
1423
  label: a.blockSettings.customCondition,
1416
1424
  before: S.value.trim(),
@@ -1424,7 +1432,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1424
1432
  }
1425
1433
  N.value && (S.value = e.before, w.value = e.after ?? "");
1426
1434
  }, { immediate: !0 });
1427
- let L = v(() => {
1435
+ let R = v(() => {
1428
1436
  let e = {};
1429
1437
  for (let t of c) {
1430
1438
  let n = t.group ?? "";
@@ -1432,33 +1440,33 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1432
1440
  }
1433
1441
  return e;
1434
1442
  });
1435
- function R(e, t) {
1443
+ function z(e, t) {
1436
1444
  i("update", { styles: {
1437
1445
  ...n.block.styles,
1438
1446
  [e]: t
1439
1447
  } });
1440
1448
  }
1441
- function z(e) {
1449
+ function B(e) {
1442
1450
  return n.block.visibility?.[e] !== !1;
1443
1451
  }
1444
- function B(e) {
1452
+ function V(e) {
1445
1453
  let t = {
1446
- desktop: z("desktop"),
1447
- mobile: z("mobile")
1454
+ desktop: B("desktop"),
1455
+ mobile: B("mobile")
1448
1456
  };
1449
1457
  t[e] = !t[e], i("update", { visibility: t });
1450
1458
  }
1451
1459
  return (t, n) => (s(), y("div", { class: E(["tpl:flex tpl:flex-col", e.isFirstSection ? "" : "tpl:mt-4"]) }, [
1452
- P(ki, {
1460
+ P(Oi, {
1453
1461
  title: x(a).blockSettings.spacing,
1454
1462
  open: h.has("spacing"),
1455
1463
  "no-border": e.isFirstSection,
1456
1464
  onToggle: n[1] ||= (e) => k("spacing")
1457
1465
  }, {
1458
- default: f(() => [P(Di, {
1466
+ default: f(() => [P(Ei, {
1459
1467
  label: x(a).blockSettings.padding,
1460
1468
  "model-value": e.block.styles.padding,
1461
- "onUpdate:modelValue": n[0] ||= (e) => R("padding", e)
1469
+ "onUpdate:modelValue": n[0] ||= (e) => z("padding", e)
1462
1470
  }, null, 8, ["label", "model-value"])]),
1463
1471
  _: 1
1464
1472
  }, 8, [
@@ -1466,30 +1474,30 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1466
1474
  "open",
1467
1475
  "no-border"
1468
1476
  ]),
1469
- P(ki, {
1477
+ P(Oi, {
1470
1478
  title: x(a).blockSettings.background,
1471
1479
  open: h.has("bg"),
1472
1480
  onToggle: n[3] ||= (e) => k("bg")
1473
1481
  }, {
1474
- default: f(() => [D("label", { class: E(x(G)) }, _(x(a).blockSettings.color), 3), P(J, {
1482
+ default: f(() => [D("label", { class: E(x(q)) }, _(x(a).blockSettings.color), 3), P(X, {
1475
1483
  "model-value": e.block.styles.backgroundColor ?? "",
1476
- "onUpdate:modelValue": n[2] ||= (e) => R("backgroundColor", e)
1484
+ "onUpdate:modelValue": n[2] ||= (e) => z("backgroundColor", e)
1477
1485
  }, null, 8, ["model-value"])]),
1478
1486
  _: 1
1479
1487
  }, 8, ["title", "open"]),
1480
- P(ki, {
1488
+ P(Oi, {
1481
1489
  title: x(a).blockSettings.display,
1482
1490
  open: h.has("display"),
1483
1491
  onToggle: n[4] ||= (e) => k("display")
1484
1492
  }, {
1485
- default: f(() => [D("div", Ai, [(s(), y(j, null, u(O, (e) => P(Y, {
1493
+ default: f(() => [D("div", ki, [(s(), y(j, null, u(O, (e) => P(Z, {
1486
1494
  key: e.key,
1487
1495
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
1488
- "model-value": z(e.key),
1496
+ "model-value": B(e.key),
1489
1497
  label: x(a).blockSettings[e.labelKey],
1490
- "onUpdate:modelValue": (t) => B(e.key)
1498
+ "onUpdate:modelValue": (t) => V(e.key)
1491
1499
  }, {
1492
- default: f(() => [D("span", ji, [(s(), C(o(e.icon), {
1500
+ default: f(() => [D("span", Ai, [(s(), C(o(e.icon), {
1493
1501
  size: 14,
1494
1502
  "stroke-width": 1.5
1495
1503
  })), M(" " + _(x(a).blockSettings[e.labelKey]), 1)])]),
@@ -1501,19 +1509,19 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1501
1509
  ])), 64))])]),
1502
1510
  _: 1
1503
1511
  }, 8, ["title", "open"]),
1504
- A.value ? (s(), C(ki, {
1512
+ A.value ? (s(), C(Oi, {
1505
1513
  key: 0,
1506
1514
  title: x(a).blockSettings.displayCondition,
1507
1515
  open: h.has("condition"),
1508
1516
  onToggle: n[8] ||= (e) => k("condition")
1509
1517
  }, {
1510
- default: f(() => [D("div", Mi, [D("select", {
1518
+ default: f(() => [D("div", ji, [D("select", {
1511
1519
  class: E(["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)]"]),
1512
1520
  value: g.value || N.value ? "__custom__" : e.block.displayCondition?.label ?? "",
1513
1521
  onChange: n[5] ||= (e) => {
1514
1522
  let t = e.target.value;
1515
1523
  if (t === "__custom__") {
1516
- ee();
1524
+ I();
1517
1525
  return;
1518
1526
  }
1519
1527
  if (g.value = !1, !t) {
@@ -1524,41 +1532,41 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1524
1532
  n && i("update", { displayCondition: n });
1525
1533
  }
1526
1534
  }, [
1527
- D("option", Pi, _(x(a).blockSettings.noCondition), 1),
1528
- (s(!0), y(j, null, u(L.value, (e, t) => (s(), y(j, { key: t }, [t ? (s(), y("optgroup", {
1535
+ D("option", Ni, _(x(a).blockSettings.noCondition), 1),
1536
+ (s(!0), y(j, null, u(R.value, (e, t) => (s(), y(j, { key: t }, [t ? (s(), y("optgroup", {
1529
1537
  key: 0,
1530
1538
  label: String(t)
1531
1539
  }, [(s(!0), y(j, null, u(e, (e) => (s(), y("option", {
1532
1540
  key: e.label,
1533
1541
  value: e.label
1534
- }, _(e.label), 9, Ii))), 128))], 8, Fi)) : (s(!0), y(j, { key: 1 }, u(e, (e) => (s(), y("option", {
1542
+ }, _(e.label), 9, Fi))), 128))], 8, Pi)) : (s(!0), y(j, { key: 1 }, u(e, (e) => (s(), y("option", {
1535
1543
  key: e.label,
1536
1544
  value: e.label
1537
- }, _(e.label), 9, Li))), 128))], 64))), 128)),
1538
- x(l) ? (s(), y("option", Ri, _(x(a).blockSettings.customCondition), 1)) : b("", !0)
1539
- ], 42, Ni), g.value || N.value ? (s(), y("div", zi, [
1540
- D("div", null, [D("label", Bi, _(x(a).blockSettings.customConditionBefore), 1), r(D("textarea", {
1545
+ }, _(e.label), 9, Ii))), 128))], 64))), 128)),
1546
+ x(l) ? (s(), y("option", Li, _(x(a).blockSettings.customCondition), 1)) : b("", !0)
1547
+ ], 42, Mi), g.value || N.value ? (s(), y("div", Ri, [
1548
+ D("div", null, [D("label", zi, _(x(a).blockSettings.customConditionBefore), 1), r(D("textarea", {
1541
1549
  "onUpdate:modelValue": n[6] ||= (e) => S.value = e,
1542
1550
  rows: "2",
1543
- class: E(x(Jt))
1551
+ class: E(x(Wt))
1544
1552
  }, null, 2), [[T, S.value]])]),
1545
- D("div", null, [D("label", Vi, _(x(a).blockSettings.customConditionAfter), 1), r(D("textarea", {
1553
+ D("div", null, [D("label", Bi, _(x(a).blockSettings.customConditionAfter), 1), r(D("textarea", {
1546
1554
  "onUpdate:modelValue": n[7] ||= (e) => w.value = e,
1547
1555
  rows: "2",
1548
- class: E(x(Jt))
1556
+ class: E(x(Wt))
1549
1557
  }, null, 2), [[T, w.value]])]),
1550
- D("div", Hi, [D("button", {
1558
+ D("div", Vi, [D("button", {
1551
1559
  type: "button",
1552
1560
  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",
1553
1561
  disabled: !S.value.trim(),
1554
- onClick: I
1555
- }, _(x(a).blockSettings.applyCondition), 9, Ui)])
1556
- ])) : e.block.displayCondition && !N.value ? (s(), y(j, { key: 1 }, [e.block.displayCondition.description ? (s(), y("p", Wi, _(e.block.displayCondition.description), 1)) : b("", !0), D("div", Gi, [D("pre", Ki, _(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (s(), y("pre", qi, _(e.block.displayCondition.after), 1)) : b("", !0)])], 64)) : b("", !0)])]),
1562
+ onClick: L
1563
+ }, _(x(a).blockSettings.applyCondition), 9, Hi)])
1564
+ ])) : e.block.displayCondition && !N.value ? (s(), y(j, { key: 1 }, [e.block.displayCondition.description ? (s(), y("p", Ui, _(e.block.displayCondition.description), 1)) : b("", !0), D("div", Wi, [D("pre", Gi, _(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (s(), y("pre", Ki, _(e.block.displayCondition.after), 1)) : b("", !0)])], 64)) : b("", !0)])]),
1557
1565
  _: 1
1558
1566
  }, 8, ["title", "open"])) : b("", !0)
1559
1567
  ], 2));
1560
1568
  }
1561
- }), Yi = ["title"], Xi = /* @__PURE__ */ N({
1569
+ }), Ji = ["title"], Yi = /* @__PURE__ */ N({
1562
1570
  __name: "BooleanField",
1563
1571
  props: {
1564
1572
  field: {},
@@ -1567,11 +1575,11 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1567
1575
  },
1568
1576
  emits: ["update:modelValue"],
1569
1577
  setup(e, { emit: t }) {
1570
- let n = t, { t: r } = H();
1578
+ let n = t, { t: r } = W();
1571
1579
  return (t, i) => (s(), y("div", {
1572
1580
  class: "tpl:mb-3.5",
1573
1581
  title: e.readOnly ? x(r).customBlocks.dataSource.readOnlyTooltip : void 0
1574
- }, [P(Y, {
1582
+ }, [P(Z, {
1575
1583
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1576
1584
  "model-value": e.modelValue,
1577
1585
  label: e.field.label,
@@ -1579,7 +1587,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1579
1587
  disabled: e.readOnly,
1580
1588
  "onUpdate:modelValue": i[0] ||= (e) => n("update:modelValue", e)
1581
1589
  }, {
1582
- default: f(() => [M(_(e.field.label) + " ", 1), e.readOnly ? (s(), C(x(Ct), {
1590
+ default: f(() => [M(_(e.field.label) + " ", 1), e.readOnly ? (s(), C(x(Mt), {
1583
1591
  key: 0,
1584
1592
  size: 12,
1585
1593
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
@@ -1590,12 +1598,12 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1590
1598
  "label",
1591
1599
  "required",
1592
1600
  "disabled"
1593
- ])], 8, Yi));
1601
+ ])], 8, Ji));
1594
1602
  }
1595
- }), Zi = { class: "tpl:mb-3.5" }, Qi = {
1603
+ }), Xi = { class: "tpl:mb-3.5" }, Zi = {
1596
1604
  key: 1,
1597
1605
  class: "tpl:text-[var(--tpl-danger)]"
1598
- }, $i = /* @__PURE__ */ N({
1606
+ }, Qi = /* @__PURE__ */ N({
1599
1607
  __name: "FieldWrapper",
1600
1608
  props: {
1601
1609
  label: {},
@@ -1603,17 +1611,17 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1603
1611
  readOnly: { type: Boolean }
1604
1612
  },
1605
1613
  setup(e) {
1606
- return (n, r) => (s(), y("div", Zi, [D("label", { class: E(x(G)) }, [
1614
+ return (n, r) => (s(), y("div", Xi, [D("label", { class: E(x(q)) }, [
1607
1615
  M(_(e.label) + " ", 1),
1608
- e.readOnly ? (s(), C(x(Ct), {
1616
+ e.readOnly ? (s(), C(x(Mt), {
1609
1617
  key: 0,
1610
1618
  size: 12,
1611
1619
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1612
1620
  })) : b("", !0),
1613
- e.required ? (s(), y("span", Qi, "*")) : b("", !0)
1621
+ e.required ? (s(), y("span", Zi, "*")) : b("", !0)
1614
1622
  ], 2), t(n.$slots, "default")]));
1615
1623
  }
1616
- }), ea = /* @__PURE__ */ N({
1624
+ }), $i = /* @__PURE__ */ N({
1617
1625
  __name: "ColorField",
1618
1626
  props: {
1619
1627
  field: {},
@@ -1622,13 +1630,13 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1622
1630
  },
1623
1631
  emits: ["update:modelValue"],
1624
1632
  setup(e, { emit: t }) {
1625
- let n = e, r = t, { t: i } = H(), a = d(dt, ie), o = v(() => se(n.field, a));
1626
- return (t, n) => (s(), C($i, {
1633
+ let n = e, r = t, { t: i } = W(), a = d(We, Qe), o = v(() => re(n.field, a));
1634
+ return (t, n) => (s(), C(Qi, {
1627
1635
  label: e.field.label,
1628
1636
  required: e.field.required,
1629
1637
  "read-only": e.readOnly
1630
1638
  }, {
1631
- default: f(() => [P(J, {
1639
+ default: f(() => [P(X, {
1632
1640
  "model-value": e.modelValue,
1633
1641
  placeholder: e.field.placeholder,
1634
1642
  disabled: e.readOnly,
@@ -1651,15 +1659,15 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1651
1659
  "read-only"
1652
1660
  ]));
1653
1661
  }
1654
- }), ta = {
1662
+ }), ea = {
1655
1663
  key: 0,
1656
1664
  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)]",
1657
1665
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
1658
- }, na = [
1666
+ }, ta = [
1659
1667
  "value",
1660
1668
  "placeholder",
1661
1669
  "title"
1662
- ], ra = ["value", "placeholder"], ia = /* @__PURE__ */ N({
1670
+ ], na = ["value", "placeholder"], ra = /* @__PURE__ */ N({
1663
1671
  __name: "ImageField",
1664
1672
  props: {
1665
1673
  field: {},
@@ -1668,7 +1676,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1668
1676
  },
1669
1677
  emits: ["update:modelValue"],
1670
1678
  setup(e, { emit: t }) {
1671
- let n = e, r = t, { t: i } = H(), a = d(it, null), o = le(), c = v(() => !!a);
1679
+ let n = e, r = t, { t: i } = W(), a = d(Ae, null), o = Bt(), c = v(() => !!a);
1672
1680
  async function l() {
1673
1681
  let e = await a?.({ accept: ["images"] });
1674
1682
  o.alive && e && r("update:modelValue", e.url);
@@ -1689,12 +1697,12 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1689
1697
  }
1690
1698
  }
1691
1699
  }
1692
- let { isOver: S } = lt({
1700
+ let { isOver: S } = me({
1693
1701
  target: u,
1694
1702
  enabled: h,
1695
1703
  onFiles: g
1696
1704
  });
1697
- return (t, n) => (s(), C($i, {
1705
+ return (t, n) => (s(), C(Qi, {
1698
1706
  label: e.field.label,
1699
1707
  required: e.field.required,
1700
1708
  "read-only": e.readOnly
@@ -1704,35 +1712,35 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1704
1712
  ref: u,
1705
1713
  class: "tpl:relative"
1706
1714
  }, [
1707
- h.value && (x(S) || p.value) ? (s(), y("div", ta, [p.value ? (s(), y(j, { key: 0 }, [P(x(vt), {
1715
+ h.value && (x(S) || p.value) ? (s(), y("div", ea, [p.value ? (s(), y(j, { key: 0 }, [P(x(At), {
1708
1716
  class: "tpl-spinner",
1709
1717
  size: 18,
1710
1718
  "stroke-width": 2
1711
- }), M(" " + _(x(i).image.uploading), 1)], 64)) : (s(), y(j, { key: 1 }, [P(x(qe), {
1719
+ }), M(" " + _(x(i).image.uploading), 1)], 64)) : (s(), y(j, { key: 1 }, [P(x(jt), {
1712
1720
  size: 18,
1713
1721
  "stroke-width": 1.5
1714
1722
  }), M(" " + _(x(i).image.dropToUpload), 1)], 64))])) : b("", !0),
1715
1723
  e.readOnly ? (s(), y("input", {
1716
1724
  key: 1,
1717
1725
  type: "url",
1718
- class: E([x(W), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1726
+ class: E([x(K), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1719
1727
  value: e.modelValue,
1720
1728
  placeholder: e.field.placeholder || "https://...",
1721
1729
  disabled: "",
1722
1730
  title: x(i).customBlocks.dataSource.readOnlyTooltip
1723
- }, null, 10, na)) : (s(), y("input", {
1731
+ }, null, 10, ta)) : (s(), y("input", {
1724
1732
  key: 2,
1725
1733
  type: "url",
1726
- class: E(x(W)),
1734
+ class: E(x(K)),
1727
1735
  value: e.modelValue,
1728
1736
  placeholder: e.field.placeholder || "https://...",
1729
1737
  onInput: n[0] ||= (e) => r("update:modelValue", e.target.value)
1730
- }, null, 42, ra)),
1738
+ }, null, 42, na)),
1731
1739
  c.value && !e.readOnly ? (s(), y("button", {
1732
1740
  key: 3,
1733
1741
  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)]",
1734
1742
  onClick: n[1] ||= (e) => l()
1735
- }, [P(x(z), {
1743
+ }, [P(x(xt), {
1736
1744
  size: 14,
1737
1745
  "stroke-width": 1.5
1738
1746
  }), M(" " + _(x(i).image.browseMedia), 1)])) : b("", !0)
@@ -1744,7 +1752,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1744
1752
  "read-only"
1745
1753
  ]));
1746
1754
  }
1747
- }), aa = [
1755
+ }), ia = [
1748
1756
  "value",
1749
1757
  "placeholder",
1750
1758
  "min",
@@ -1752,7 +1760,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1752
1760
  "step",
1753
1761
  "disabled",
1754
1762
  "title"
1755
- ], oa = /* @__PURE__ */ N({
1763
+ ], aa = /* @__PURE__ */ N({
1756
1764
  __name: "NumberField",
1757
1765
  props: {
1758
1766
  field: {},
@@ -1761,15 +1769,15 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1761
1769
  },
1762
1770
  emits: ["update:modelValue"],
1763
1771
  setup(e, { emit: t }) {
1764
- let n = t, { t: r } = H();
1765
- return (t, i) => (s(), C($i, {
1772
+ let n = t, { t: r } = W();
1773
+ return (t, i) => (s(), C(Qi, {
1766
1774
  label: e.field.label,
1767
1775
  required: e.field.required,
1768
1776
  "read-only": e.readOnly
1769
1777
  }, {
1770
1778
  default: f(() => [D("input", {
1771
1779
  type: "number",
1772
- class: E([x(W), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
1780
+ class: E([x(K), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
1773
1781
  value: e.modelValue,
1774
1782
  placeholder: e.field.placeholder,
1775
1783
  min: e.field.min,
@@ -1778,7 +1786,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1778
1786
  disabled: e.readOnly,
1779
1787
  title: e.readOnly ? x(r).customBlocks.dataSource.readOnlyTooltip : void 0,
1780
1788
  onInput: i[0] ||= (t) => !e.readOnly && n("update:modelValue", Number(t.target.value))
1781
- }, null, 42, aa)]),
1789
+ }, null, 42, ia)]),
1782
1790
  _: 1
1783
1791
  }, 8, [
1784
1792
  "label",
@@ -1786,10 +1794,10 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1786
1794
  "read-only"
1787
1795
  ]));
1788
1796
  }
1789
- }), sa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ca = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, la = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, ua = ["title", "onClick"], da = {
1797
+ }), oa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, sa = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, ca = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, la = ["title", "onClick"], ua = {
1790
1798
  key: 1,
1791
1799
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1792
- }, fa = /* @__PURE__ */ N({
1800
+ }, da = /* @__PURE__ */ N({
1793
1801
  __name: "RepeatableField",
1794
1802
  props: {
1795
1803
  field: {},
@@ -1798,7 +1806,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1798
1806
  },
1799
1807
  emits: ["update:modelValue"],
1800
1808
  setup(e, { emit: t }) {
1801
- let n = e, r = t, { t: i } = H(), a = v(() => n.modelValue || []), c = v(() => !n.field.maxItems || a.value.length < n.field.maxItems), l = v(() => !n.field.minItems || a.value.length > n.field.minItems);
1809
+ let n = e, r = t, { t: i } = W(), a = v(() => n.modelValue || []), c = v(() => !n.field.maxItems || a.value.length < n.field.maxItems), l = v(() => !n.field.minItems || a.value.length > n.field.minItems);
1802
1810
  function d() {
1803
1811
  if (!c.value || n.readOnly) return;
1804
1812
  let e = {};
@@ -1817,25 +1825,25 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1817
1825
  } : r);
1818
1826
  r("update:modelValue", i);
1819
1827
  }
1820
- return (t, n) => (s(), C($i, {
1828
+ return (t, n) => (s(), C(Qi, {
1821
1829
  label: e.field.label,
1822
1830
  required: e.field.required,
1823
1831
  "read-only": e.readOnly
1824
1832
  }, {
1825
- default: f(() => [D("div", sa, [
1833
+ default: f(() => [D("div", oa, [
1826
1834
  (s(!0), y(j, null, u(a.value, (t, n) => (s(), y("div", {
1827
1835
  key: `${e.field.key}-${n}`,
1828
1836
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
1829
- }, [D("div", ca, [D("span", la, " #" + _(n + 1), 1), l.value && !e.readOnly ? (s(), y("button", {
1837
+ }, [D("div", sa, [D("span", ca, " #" + _(n + 1), 1), l.value && !e.readOnly ? (s(), y("button", {
1830
1838
  key: 0,
1831
1839
  type: "button",
1832
1840
  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)]",
1833
1841
  title: x(i).customBlocks.fields.removeItem,
1834
1842
  onClick: (e) => p(n)
1835
- }, [P(x(at), {
1843
+ }, [P(x(bt), {
1836
1844
  size: 12,
1837
1845
  "stroke-width": 2
1838
- })], 8, ua)) : b("", !0)]), (s(!0), y(j, null, u(e.field.fields, (r) => (s(), C(o(x(xa)(r.type)), {
1846
+ })], 8, la)) : b("", !0)]), (s(!0), y(j, null, u(e.field.fields, (r) => (s(), C(o(x(ba)(r.type)), {
1839
1847
  key: r.key,
1840
1848
  field: r,
1841
1849
  "model-value": t[r.key],
@@ -1850,13 +1858,13 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1850
1858
  c.value && !e.readOnly ? (s(), y("button", {
1851
1859
  key: 0,
1852
1860
  type: "button",
1853
- class: E(x(Xt)),
1861
+ class: E(x(Kt)),
1854
1862
  onClick: d
1855
- }, [P(x(U), {
1863
+ }, [P(x(G), {
1856
1864
  size: 14,
1857
1865
  "stroke-width": 2
1858
1866
  }), M(" " + _(x(i).customBlocks.fields.addItem), 1)], 2)) : b("", !0),
1859
- !c.value && !e.readOnly ? (s(), y("p", da, _(x(i).customBlocks.fields.maxItemsReached), 1)) : b("", !0)
1867
+ !c.value && !e.readOnly ? (s(), y("p", ua, _(x(i).customBlocks.fields.maxItemsReached), 1)) : b("", !0)
1860
1868
  ])]),
1861
1869
  _: 1
1862
1870
  }, 8, [
@@ -1865,11 +1873,11 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1865
1873
  "read-only"
1866
1874
  ]));
1867
1875
  }
1868
- }), pa = [
1876
+ }), fa = [
1869
1877
  "value",
1870
1878
  "disabled",
1871
1879
  "title"
1872
- ], ma = ["value"], ha = /* @__PURE__ */ N({
1880
+ ], pa = ["value"], ma = /* @__PURE__ */ N({
1873
1881
  __name: "SelectField",
1874
1882
  props: {
1875
1883
  field: {},
@@ -1878,14 +1886,14 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1878
1886
  },
1879
1887
  emits: ["update:modelValue"],
1880
1888
  setup(e, { emit: t }) {
1881
- let n = t, { t: r } = H();
1882
- return (t, i) => (s(), C($i, {
1889
+ let n = t, { t: r } = W();
1890
+ return (t, i) => (s(), C(Qi, {
1883
1891
  label: e.field.label,
1884
1892
  required: e.field.required,
1885
1893
  "read-only": e.readOnly
1886
1894
  }, {
1887
1895
  default: f(() => [D("select", {
1888
- class: E([x(W), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
1896
+ class: E([x(K), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
1889
1897
  value: e.modelValue,
1890
1898
  disabled: e.readOnly,
1891
1899
  title: e.readOnly ? x(r).customBlocks.dataSource.readOnlyTooltip : void 0,
@@ -1893,7 +1901,7 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1893
1901
  }, [(s(!0), y(j, null, u(e.field.options, (e) => (s(), y("option", {
1894
1902
  key: e.value,
1895
1903
  value: e.value
1896
- }, _(e.label), 9, ma))), 128))], 42, pa)]),
1904
+ }, _(e.label), 9, pa))), 128))], 42, fa)]),
1897
1905
  _: 1
1898
1906
  }, 8, [
1899
1907
  "label",
@@ -1901,11 +1909,11 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1901
1909
  "read-only"
1902
1910
  ]));
1903
1911
  }
1904
- }), ga = [
1912
+ }), ha = [
1905
1913
  "value",
1906
1914
  "placeholder",
1907
1915
  "title"
1908
- ], _a = /* @__PURE__ */ N({
1916
+ ], ga = /* @__PURE__ */ N({
1909
1917
  __name: "TextField",
1910
1918
  props: {
1911
1919
  field: {},
@@ -1914,8 +1922,8 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1914
1922
  },
1915
1923
  emits: ["update:modelValue"],
1916
1924
  setup(e, { emit: t }) {
1917
- let n = t, { t: r } = H();
1918
- return (t, i) => (s(), C($i, {
1925
+ let n = t, { t: r } = W();
1926
+ return (t, i) => (s(), C(Qi, {
1919
1927
  label: e.field.label,
1920
1928
  required: e.field.required,
1921
1929
  "read-only": e.readOnly
@@ -1923,12 +1931,12 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1923
1931
  default: f(() => [e.readOnly ? (s(), y("input", {
1924
1932
  key: 0,
1925
1933
  type: "text",
1926
- class: E([x(W), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1934
+ class: E([x(K), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1927
1935
  value: e.modelValue,
1928
1936
  placeholder: e.field.placeholder,
1929
1937
  disabled: "",
1930
1938
  title: x(r).customBlocks.dataSource.readOnlyTooltip
1931
- }, null, 10, ga)) : (s(), C(Q, {
1939
+ }, null, 10, ha)) : (s(), C($, {
1932
1940
  key: 1,
1933
1941
  "model-value": e.modelValue,
1934
1942
  placeholder: e.field.placeholder,
@@ -1941,12 +1949,12 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1941
1949
  "read-only"
1942
1950
  ]));
1943
1951
  }
1944
- }), va = [
1952
+ }), _a = [
1945
1953
  "value",
1946
1954
  "placeholder",
1947
1955
  "title"
1948
- ], ya = "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", ba = {
1949
- text: _a,
1956
+ ], va = "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", ya = {
1957
+ text: ga,
1950
1958
  textarea: /* @__PURE__ */ N({
1951
1959
  __name: "TextareaField",
1952
1960
  props: {
@@ -1956,8 +1964,8 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1956
1964
  },
1957
1965
  emits: ["update:modelValue"],
1958
1966
  setup(e, { emit: t }) {
1959
- let n = t, { t: r } = H();
1960
- return (t, i) => (s(), C($i, {
1967
+ let n = t, { t: r } = W();
1968
+ return (t, i) => (s(), C(Qi, {
1961
1969
  label: e.field.label,
1962
1970
  required: e.field.required,
1963
1971
  "read-only": e.readOnly
@@ -1969,8 +1977,8 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1969
1977
  rows: "3",
1970
1978
  disabled: "",
1971
1979
  title: x(r).customBlocks.dataSource.readOnlyTooltip,
1972
- class: E(ya)
1973
- }, null, 8, va)) : (s(), C(Qn, {
1980
+ class: E(va)
1981
+ }, null, 8, _a)) : (s(), C(Xn, {
1974
1982
  key: 1,
1975
1983
  "model-value": e.modelValue,
1976
1984
  placeholder: e.field.placeholder,
@@ -1984,42 +1992,42 @@ var Nn = ["aria-label", "onKeydown"], Pn = ["data-tooltip"], Fn = ["data-tooltip
1984
1992
  ]));
1985
1993
  }
1986
1994
  }),
1987
- image: ia,
1988
- color: ea,
1989
- number: oa,
1990
- select: ha,
1991
- boolean: Xi,
1992
- repeatable: fa
1995
+ image: ra,
1996
+ color: $i,
1997
+ number: aa,
1998
+ select: ma,
1999
+ boolean: Yi,
2000
+ repeatable: da
1993
2001
  };
1994
- function xa(e) {
1995
- return ba[e] ?? _a;
2002
+ function ba(e) {
2003
+ return ya[e] ?? ga;
1996
2004
  }
1997
2005
  //#endregion
1998
2006
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
1999
- var Sa = {
2007
+ var xa = {
2000
2008
  key: 0,
2001
2009
  class: "tpl:p-4"
2002
- }, Ca = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wa = { key: 1 }, Ta = {
2010
+ }, Sa = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ca = { key: 1 }, wa = {
2003
2011
  key: 0,
2004
2012
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2005
- }, Ea = {
2013
+ }, Ta = {
2006
2014
  key: 1,
2007
2015
  class: "tpl:mb-4"
2008
- }, Da = {
2016
+ }, Ea = {
2009
2017
  key: 1,
2010
2018
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
2011
- }, Oa = {
2019
+ }, Da = {
2012
2020
  key: 0,
2013
2021
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
2014
- }, ka = {
2022
+ }, Oa = {
2015
2023
  key: 2,
2016
2024
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
2017
- }, Aa = /* @__PURE__ */ N({
2025
+ }, ka = /* @__PURE__ */ N({
2018
2026
  __name: "CustomBlockToolbar",
2019
2027
  props: { block: {} },
2020
2028
  emits: ["updateFieldValues", "updateDataSourceFetched"],
2021
2029
  setup(e, { emit: t }) {
2022
- let n = e, r = t, { t: i } = H(), a = d(ot, []), c = v(() => a.find((e) => e.type === n.block.customType)), { isFetching: l, fetchError: f, fetch: p, hasDataSource: m, needsFetch: h } = te({
2030
+ let n = e, r = t, { t: i } = W(), a = d(He, []), c = v(() => a.find((e) => e.type === n.block.customType)), { isFetching: l, fetchError: f, fetch: p, hasDataSource: m, needsFetch: h } = oe({
2023
2031
  definition: c,
2024
2032
  block: v(() => n.block),
2025
2033
  onUpdate: (e, t) => {
@@ -2035,23 +2043,23 @@ var Sa = {
2035
2043
  [e]: t
2036
2044
  });
2037
2045
  }
2038
- return (t, n) => c.value ? (s(), y("div", wa, [
2039
- c.value.description ? (s(), y("p", Ta, _(c.value.description), 1)) : b("", !0),
2040
- x(m) ? (s(), y("div", Ea, [x(h) && !x(l) ? (s(), y("button", {
2046
+ return (t, n) => c.value ? (s(), y("div", Ca, [
2047
+ c.value.description ? (s(), y("p", wa, _(c.value.description), 1)) : b("", !0),
2048
+ x(m) ? (s(), y("div", Ta, [x(h) && !x(l) ? (s(), y("button", {
2041
2049
  key: 0,
2042
2050
  type: "button",
2043
2051
  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)]",
2044
2052
  onClick: n[0] ||= (...e) => x(p) && x(p)(...e)
2045
- }, _(c.value?.dataSource?.label || x(i).customBlocks.dataSource.fetchButton), 1)) : (s(), y("div", Da, [x(l) ? (s(), y("div", Oa, _(x(i).customBlocks.dataSource.fetching), 1)) : (s(), y("button", {
2053
+ }, _(c.value?.dataSource?.label || x(i).customBlocks.dataSource.fetchButton), 1)) : (s(), y("div", Ea, [x(l) ? (s(), y("div", Da, _(x(i).customBlocks.dataSource.fetching), 1)) : (s(), y("button", {
2046
2054
  key: 1,
2047
2055
  type: "button",
2048
2056
  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)]",
2049
2057
  onClick: n[1] ||= (...e) => x(p) && x(p)(...e)
2050
- }, [P(x(Ve), { size: 12 }), M(" " + _(x(i).customBlocks.dataSource.changeButton), 1)]))])), x(f) ? (s(), y("p", ka, [P(x(Ce), {
2058
+ }, [P(x(ht), { size: 12 }), M(" " + _(x(i).customBlocks.dataSource.changeButton), 1)]))])), x(f) ? (s(), y("p", Oa, [P(x(nt), {
2051
2059
  size: 14,
2052
2060
  class: "tpl:shrink-0"
2053
2061
  }), M(" " + _(x(i).customBlocks.dataSource.fetchError), 1)])) : b("", !0)])) : b("", !0),
2054
- (s(!0), y(j, null, u(c.value.fields, (t) => (s(), C(o(x(xa)(t.type)), {
2062
+ (s(!0), y(j, null, u(c.value.fields, (t) => (s(), C(o(x(ba)(t.type)), {
2055
2063
  key: t.key,
2056
2064
  field: t,
2057
2065
  "model-value": e.block.fieldValues[t.key],
@@ -2063,19 +2071,19 @@ var Sa = {
2063
2071
  "read-only",
2064
2072
  "onUpdate:modelValue"
2065
2073
  ]))), 128))
2066
- ])) : (s(), y("div", Sa, [D("p", Ca, _(x(i).customBlocks.toolbar.noDefinition), 1)]));
2074
+ ])) : (s(), y("div", xa, [D("p", Sa, _(x(i).customBlocks.toolbar.noDefinition), 1)]));
2067
2075
  }
2068
- }), ja = { class: "tpl:mb-3.5" }, Ma = { class: "tpl:mb-3.5" }, Na = { class: "tpl:mb-3.5" }, Pa = { class: "tpl:flex tpl:items-stretch" }, Fa = ["value"], Ia = /* @__PURE__ */ N({
2076
+ }), Aa = { class: "tpl:mb-3.5" }, ja = { class: "tpl:mb-3.5" }, Ma = { class: "tpl:mb-3.5" }, Na = { class: "tpl:flex tpl:items-stretch" }, Pa = ["value"], Fa = /* @__PURE__ */ N({
2069
2077
  __name: "DividerToolbar",
2070
2078
  props: { block: {} },
2071
2079
  emits: ["update"],
2072
2080
  setup(e, { emit: t }) {
2073
- let n = t, { t: r } = H();
2081
+ let n = t, { t: r } = W();
2074
2082
  function i(e, t) {
2075
2083
  n("update", { [e]: t });
2076
2084
  }
2077
2085
  return (t, n) => (s(), y(j, null, [
2078
- D("div", ja, [D("label", { class: E(x(G)) }, _(x(r).divider.style), 3), P(Z, {
2086
+ D("div", Aa, [D("label", { class: E(x(q)) }, _(x(r).divider.style), 3), P(Zt, {
2079
2087
  options: [
2080
2088
  {
2081
2089
  value: "solid",
@@ -2093,57 +2101,57 @@ var Sa = {
2093
2101
  "model-value": e.block.lineStyle,
2094
2102
  "onUpdate:modelValue": n[0] ||= (e) => i("lineStyle", e)
2095
2103
  }, null, 8, ["options", "model-value"])]),
2096
- D("div", Ma, [D("label", { class: E(x(G)) }, _(x(r).divider.color), 3), P(J, {
2104
+ D("div", ja, [D("label", { class: E(x(q)) }, _(x(r).divider.color), 3), P(X, {
2097
2105
  "model-value": e.block.color,
2098
2106
  "onUpdate:modelValue": n[1] ||= (e) => i("color", e)
2099
2107
  }, null, 8, ["model-value"])]),
2100
- D("div", Na, [D("label", { class: E(x(G)) }, _(x(r).divider.thickness), 3), D("div", Pa, [D("input", {
2108
+ D("div", Ma, [D("label", { class: E(x(q)) }, _(x(r).divider.thickness), 3), D("div", Na, [D("input", {
2101
2109
  type: "number",
2102
- class: E(x(q)),
2110
+ class: E(x(Y)),
2103
2111
  value: e.block.thickness,
2104
2112
  min: "1",
2105
2113
  max: "10",
2106
2114
  onInput: n[2] ||= (e) => i("thickness", Number(e.target.value))
2107
- }, null, 42, Fa), D("span", { class: E(x(K)) }, "px", 2)])])
2115
+ }, null, 42, Pa), D("span", { class: E(x(J)) }, "px", 2)])])
2108
2116
  ], 64));
2109
2117
  }
2110
- }), La = { class: "tpl:mb-3.5" }, Ra = ["value"], za = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ba = /* @__PURE__ */ N({
2118
+ }), Ia = { class: "tpl:mb-3.5" }, La = ["value"], Ra = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, za = /* @__PURE__ */ N({
2111
2119
  __name: "HtmlToolbar",
2112
2120
  props: { block: {} },
2113
2121
  emits: ["update"],
2114
2122
  setup(e, { emit: t }) {
2115
- let n = t, { t: r } = H();
2116
- return (t, i) => (s(), y("div", La, [
2117
- D("label", { class: E(x(G)) }, _(x(r).html.content), 3),
2123
+ let n = t, { t: r } = W();
2124
+ return (t, i) => (s(), y("div", Ia, [
2125
+ D("label", { class: E(x(q)) }, _(x(r).html.content), 3),
2118
2126
  D("textarea", {
2119
2127
  value: e.block.content,
2120
2128
  placeholder: "<div>...</div>",
2121
2129
  rows: "10",
2122
- class: E(x(Jt)),
2130
+ class: E(x(Wt)),
2123
2131
  onInput: i[0] ||= (e) => n("update", { content: e.target.value })
2124
- }, null, 42, Ra),
2125
- D("p", za, [P(x(De), {
2132
+ }, null, 42, La),
2133
+ D("p", Ra, [P(x(Nt), {
2126
2134
  size: 12,
2127
2135
  class: "tpl:mt-0.5 tpl:shrink-0"
2128
2136
  }), M(" " + _(x(r).html.sanitizationHint), 1)])
2129
2137
  ]));
2130
2138
  }
2131
- }), Va = { class: "tpl:mb-3.5" }, Ha = {
2139
+ }), Ba = { class: "tpl:mb-3.5" }, Va = {
2132
2140
  key: 0,
2133
2141
  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)]",
2134
2142
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
2135
- }, Ua = {
2143
+ }, Ha = {
2136
2144
  key: 0,
2137
2145
  class: "tpl:mb-3.5"
2138
- }, Wa = ["value", "placeholder"], Ga = { class: "tpl:mb-3.5" }, Ka = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, qa = { class: "tpl:mb-3.5" }, Ja = ["value"], Ya = { value: "full" }, Xa = { value: "custom" }, Za = {
2146
+ }, Ua = ["value", "placeholder"], Wa = { class: "tpl:mb-3.5" }, Ga = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, Ka = { class: "tpl:mb-3.5" }, qa = ["value"], Ja = { value: "full" }, Ya = { value: "custom" }, Xa = {
2139
2147
  key: 0,
2140
2148
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
2141
- }, Qa = ["value"], $a = { class: "tpl:mb-3.5" }, eo = { class: "tpl:mb-3.5" }, to = 350, no = /* @__PURE__ */ N({
2149
+ }, Za = ["value"], Qa = { class: "tpl:mb-3.5" }, $a = { class: "tpl:mb-3.5" }, eo = 350, to = /* @__PURE__ */ N({
2142
2150
  __name: "ImageToolbar",
2143
2151
  props: { block: {} },
2144
2152
  emits: ["update"],
2145
2153
  setup(e, { emit: t }) {
2146
- let n = e, r = t, { t: i } = H(), a = d(it, null), o = d(ct, he.liquid), c = le(), l = v(() => !!a), u = m(!1), p = m(!1), { start: h } = ve(() => {
2154
+ let n = e, r = t, { t: i } = W(), a = d(Ae, null), o = d(Ie, ee.liquid), c = Bt(), l = v(() => !!a), u = m(!1), p = m(!1), { start: h } = Oe(() => {
2147
2155
  u.value = !1;
2148
2156
  }, 1e3, { immediate: !1 }), g = [
2149
2157
  300,
@@ -2159,7 +2167,7 @@ var Sa = {
2159
2167
  function T(e) {
2160
2168
  if (e === "custom") {
2161
2169
  let e = n.block.width;
2162
- (typeof e != "number" || g.includes(e)) && w("width", to);
2170
+ (typeof e != "number" || g.includes(e)) && w("width", eo);
2163
2171
  return;
2164
2172
  }
2165
2173
  w("width", e === "full" ? "full" : Number(e));
@@ -2172,8 +2180,8 @@ var Sa = {
2172
2180
  let e = await a?.({ accept: ["images"] });
2173
2181
  c.alive && e && (w("src", e.url), e.alt && (w("alt", e.alt), p.value = !0), u.value = !0, h());
2174
2182
  }
2175
- let A = m(), N = m(!1), F = v(() => Te(n.block.src, o)), ee = v(() => l.value && !N.value && !F.value);
2176
- async function I(e) {
2183
+ let A = m(), N = m(!1), F = v(() => H(n.block.src, o)), I = v(() => l.value && !N.value && !F.value);
2184
+ async function L(e) {
2177
2185
  if (a) {
2178
2186
  N.value = !0;
2179
2187
  try {
@@ -2188,26 +2196,26 @@ var Sa = {
2188
2196
  }
2189
2197
  }
2190
2198
  }
2191
- let { isOver: L } = lt({
2199
+ let { isOver: R } = me({
2192
2200
  target: A,
2193
- enabled: ee,
2194
- onFiles: I
2201
+ enabled: I,
2202
+ onFiles: L
2195
2203
  });
2196
2204
  return (t, n) => (s(), y(j, null, [
2197
- D("div", Va, [D("label", { class: E(x(G)) }, _(x(i).image.imageUrl), 3), D("div", {
2205
+ D("div", Ba, [D("label", { class: E(x(q)) }, _(x(i).image.imageUrl), 3), D("div", {
2198
2206
  ref_key: "dropZoneRef",
2199
2207
  ref: A,
2200
2208
  class: "tpl:relative"
2201
2209
  }, [
2202
- ee.value && (x(L) || N.value) ? (s(), y("div", Ha, [N.value ? (s(), y(j, { key: 0 }, [P(x(vt), {
2210
+ I.value && (x(R) || N.value) ? (s(), y("div", Va, [N.value ? (s(), y(j, { key: 0 }, [P(x(At), {
2203
2211
  class: "tpl-spinner",
2204
2212
  size: 18,
2205
2213
  "stroke-width": 2
2206
- }), M(" " + _(x(i).image.uploading), 1)], 64)) : (s(), y(j, { key: 1 }, [P(x(qe), {
2214
+ }), M(" " + _(x(i).image.uploading), 1)], 64)) : (s(), y(j, { key: 1 }, [P(x(jt), {
2207
2215
  size: 18,
2208
2216
  "stroke-width": 1.5
2209
2217
  }), M(" " + _(x(i).image.dropToUpload), 1)], 64))])) : b("", !0),
2210
- P(Q, {
2218
+ P($, {
2211
2219
  "model-value": e.block.src,
2212
2220
  type: "url",
2213
2221
  placeholder: x(i).image.imageUrlPlaceholder,
@@ -2227,21 +2235,21 @@ var Sa = {
2227
2235
  "background-color": "var(--tpl-bg)"
2228
2236
  },
2229
2237
  onClick: k
2230
- }, [P(x(z), {
2238
+ }, [P(x(xt), {
2231
2239
  size: 14,
2232
2240
  "stroke-width": 1.5
2233
2241
  }), M(" " + _(x(i).image.browseMedia), 1)])) : b("", !0)
2234
2242
  ], 512)]),
2235
- x(Te)(e.block.src, x(o)) ? (s(), y("div", Ua, [D("label", { class: E(x(G)) }, [M(_(x(i).image.placeholderUrl) + " ", 1), n[9] ||= D("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, _("(optional)"), -1)], 2), D("input", {
2243
+ x(H)(e.block.src, x(o)) ? (s(), y("div", Ha, [D("label", { class: E(x(q)) }, [M(_(x(i).image.placeholderUrl) + " ", 1), n[9] ||= D("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, _("(optional)"), -1)], 2), D("input", {
2236
2244
  type: "url",
2237
- class: E(x(W)),
2245
+ class: E(x(K)),
2238
2246
  value: e.block.placeholderUrl || "",
2239
2247
  placeholder: x(i).image.placeholderUrlPlaceholder,
2240
2248
  onInput: n[1] ||= (e) => w("placeholderUrl", e.target.value)
2241
- }, null, 42, Wa)])) : b("", !0),
2242
- D("div", Ga, [
2243
- D("label", { class: E(x(G)) }, _(x(i).image.altText), 3),
2244
- P(Q, {
2249
+ }, null, 42, Ua)])) : b("", !0),
2250
+ D("div", Wa, [
2251
+ D("label", { class: E(x(q)) }, _(x(i).image.altText), 3),
2252
+ P($, {
2245
2253
  "model-value": e.block.alt,
2246
2254
  type: "text",
2247
2255
  placeholder: x(i).image.altTextPlaceholder,
@@ -2254,38 +2262,38 @@ var Sa = {
2254
2262
  "pulse",
2255
2263
  "disabled"
2256
2264
  ]),
2257
- P(Y, {
2265
+ P(Z, {
2258
2266
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
2259
2267
  "model-value": e.block.decorative === !0,
2260
2268
  label: x(i).image.decorative,
2261
2269
  "onUpdate:modelValue": n[3] ||= (e) => w("decorative", e)
2262
2270
  }, {
2263
- default: f(() => [D("span", null, [M(_(x(i).image.decorative) + " ", 1), D("span", Ka, _(x(i).image.decorativeHint), 1)])]),
2271
+ default: f(() => [D("span", null, [M(_(x(i).image.decorative) + " ", 1), D("span", Ga, _(x(i).image.decorativeHint), 1)])]),
2264
2272
  _: 1
2265
2273
  }, 8, ["model-value", "label"])
2266
2274
  ]),
2267
- D("div", qa, [
2268
- D("label", { class: E(x(G)) }, _(x(i).image.width), 3),
2275
+ D("div", Ka, [
2276
+ D("label", { class: E(x(q)) }, _(x(i).image.width), 3),
2269
2277
  D("select", {
2270
- class: E(x(W)),
2278
+ class: E(x(K)),
2271
2279
  value: S.value,
2272
2280
  onChange: n[4] ||= (e) => T(e.target.value)
2273
2281
  }, [
2274
- D("option", Ya, _(x(i).image.fullWidth), 1),
2282
+ D("option", Ja, _(x(i).image.fullWidth), 1),
2275
2283
  n[10] ||= D("option", { value: "300" }, "300px", -1),
2276
2284
  n[11] ||= D("option", { value: "400" }, "400px", -1),
2277
2285
  n[12] ||= D("option", { value: "500" }, "500px", -1),
2278
- D("option", Xa, _(x(i).image.widthCustom), 1)
2279
- ], 42, Ja),
2280
- S.value === "custom" ? (s(), y("div", Za, [D("input", {
2286
+ D("option", Ya, _(x(i).image.widthCustom), 1)
2287
+ ], 42, qa),
2288
+ S.value === "custom" ? (s(), y("div", Xa, [D("input", {
2281
2289
  type: "number",
2282
- class: E(x(q)),
2283
- value: typeof e.block.width == "number" ? e.block.width : to,
2290
+ class: E(x(Y)),
2291
+ value: typeof e.block.width == "number" ? e.block.width : eo,
2284
2292
  min: "20",
2285
2293
  onInput: n[5] ||= (e) => O(e.target.value)
2286
- }, null, 42, Qa), D("span", { class: E(x(K)) }, "px", 2)])) : b("", !0)
2294
+ }, null, 42, Za), D("span", { class: E(x(J)) }, "px", 2)])) : b("", !0)
2287
2295
  ]),
2288
- D("div", $a, [D("label", { class: E(x(G)) }, _(x(i).title.align), 3), P(Z, {
2296
+ D("div", Qa, [D("label", { class: E(x(q)) }, _(x(i).title.align), 3), P(Zt, {
2289
2297
  options: [
2290
2298
  {
2291
2299
  value: "left",
@@ -2303,15 +2311,15 @@ var Sa = {
2303
2311
  "model-value": e.block.align,
2304
2312
  "onUpdate:modelValue": n[6] ||= (e) => w("align", e)
2305
2313
  }, null, 8, ["options", "model-value"])]),
2306
- D("div", eo, [
2307
- D("label", { class: E(x(G)) }, _(x(i).image.linkUrl), 3),
2308
- P(Q, {
2314
+ D("div", $a, [
2315
+ D("label", { class: E(x(q)) }, _(x(i).image.linkUrl), 3),
2316
+ P($, {
2309
2317
  "model-value": e.block.linkUrl || "",
2310
2318
  type: "url",
2311
2319
  placeholder: x(i).image.imageUrlPlaceholder,
2312
2320
  "onUpdate:modelValue": n[7] ||= (e) => w("linkUrl", e)
2313
2321
  }, null, 8, ["model-value", "placeholder"]),
2314
- e.block.linkUrl ? (s(), C(Y, {
2322
+ e.block.linkUrl ? (s(), C(Z, {
2315
2323
  key: 0,
2316
2324
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
2317
2325
  "model-value": e.block.linkOpenInNewTab ?? !1,
@@ -2321,11 +2329,11 @@ var Sa = {
2321
2329
  ])
2322
2330
  ], 64));
2323
2331
  }
2324
- }), ro = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, io = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ao = [
2332
+ }), no = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ro = { class: "tpl:flex tpl:items-center tpl:gap-2" }, io = [
2325
2333
  "value",
2326
2334
  "placeholder",
2327
2335
  "onInput"
2328
- ], oo = ["title", "onClick"], so = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, co = { class: "tpl:flex tpl:items-center tpl:gap-2" }, lo = ["value"], uo = { value: "" }, fo = ["value"], po = ["value"], mo = /* @__PURE__ */ N({
2336
+ ], ao = ["title", "onClick"], oo = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, so = { class: "tpl:flex tpl:items-center tpl:gap-2" }, co = ["value"], lo = { value: "" }, uo = ["value"], fo = ["value"], po = /* @__PURE__ */ N({
2329
2337
  __name: "MenuToolbar",
2330
2338
  props: {
2331
2339
  block: {},
@@ -2333,7 +2341,7 @@ var Sa = {
2333
2341
  },
2334
2342
  emits: ["update"],
2335
2343
  setup(e, { emit: t }) {
2336
- let n = e, r = t, { t: i } = H(), a = v(() => [
2344
+ let n = e, r = t, { t: i } = W(), a = v(() => [
2337
2345
  {
2338
2346
  key: "openInNewTab",
2339
2347
  label: i.menu.openInNewTab
@@ -2350,17 +2358,17 @@ var Sa = {
2350
2358
  {
2351
2359
  value: "left",
2352
2360
  label: i.title.alignLeft,
2353
- icon: Rt
2361
+ icon: kt
2354
2362
  },
2355
2363
  {
2356
2364
  value: "center",
2357
2365
  label: i.title.alignCenter,
2358
- icon: Ft
2366
+ icon: wt
2359
2367
  },
2360
2368
  {
2361
2369
  value: "right",
2362
2370
  label: i.title.alignRight,
2363
- icon: zt
2371
+ icon: Tt
2364
2372
  }
2365
2373
  ]);
2366
2374
  function c(e, t) {
@@ -2368,7 +2376,7 @@ var Sa = {
2368
2376
  }
2369
2377
  function l() {
2370
2378
  let e = {
2371
- id: V(),
2379
+ id: I(),
2372
2380
  text: "",
2373
2381
  url: "",
2374
2382
  openInNewTab: !1,
@@ -2388,26 +2396,26 @@ var Sa = {
2388
2396
  r("update", { items: n.block.items.filter((t) => t.id !== e) });
2389
2397
  }
2390
2398
  return (t, n) => (s(), y(j, null, [
2391
- P(X, { label: x(i).menu.items }, {
2392
- default: f(() => [D("div", ro, [(s(!0), y(j, null, u(e.block.items, (t) => (s(), y("div", {
2399
+ P(Q, { label: x(i).menu.items }, {
2400
+ default: f(() => [D("div", no, [(s(!0), y(j, null, u(e.block.items, (t) => (s(), y("div", {
2393
2401
  key: t.id,
2394
2402
  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"
2395
2403
  }, [
2396
- D("div", io, [D("input", {
2404
+ D("div", ro, [D("input", {
2397
2405
  type: "text",
2398
- class: E([x(W), "tpl:flex-1"]),
2406
+ class: E([x(K), "tpl:flex-1"]),
2399
2407
  value: t.text,
2400
2408
  placeholder: x(i).menu.text,
2401
2409
  onInput: (e) => d(t.id, "text", e.target.value)
2402
- }, null, 42, ao), D("button", {
2403
- class: E(x(qt)),
2410
+ }, null, 42, io), D("button", {
2411
+ class: E(x(Ut)),
2404
2412
  title: x(i).menu.removeItem,
2405
2413
  onClick: (e) => p(t.id)
2406
- }, [P(x(We), {
2414
+ }, [P(x(Et), {
2407
2415
  size: 14,
2408
2416
  "stroke-width": 2
2409
- })], 10, oo)]),
2410
- P(Q, {
2417
+ })], 10, ao)]),
2418
+ P($, {
2411
2419
  "model-value": t.url,
2412
2420
  type: "url",
2413
2421
  placeholder: x(i).menu.urlPlaceholder,
@@ -2417,7 +2425,7 @@ var Sa = {
2417
2425
  "placeholder",
2418
2426
  "onUpdate:modelValue"
2419
2427
  ]),
2420
- D("div", so, [(s(!0), y(j, null, u(a.value, (e) => (s(), C(Y, {
2428
+ D("div", oo, [(s(!0), y(j, null, u(a.value, (e) => (s(), C(Z, {
2421
2429
  key: e.key,
2422
2430
  "model-value": t[e.key],
2423
2431
  label: e.label,
@@ -2427,33 +2435,33 @@ var Sa = {
2427
2435
  "label",
2428
2436
  "onUpdate:modelValue"
2429
2437
  ]))), 128))]),
2430
- D("div", co, [D("label", { class: E([x(G), "tpl:!mb-0"]) }, _(x(i).menu.color), 3), P(J, {
2438
+ D("div", so, [D("label", { class: E([x(q), "tpl:!mb-0"]) }, _(x(i).menu.color), 3), P(X, {
2431
2439
  "swatch-only": "",
2432
2440
  "model-value": t.color || e.block.linkColor || e.block.color || "",
2433
2441
  "onUpdate:modelValue": (e) => d(t.id, "color", e)
2434
2442
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
2435
2443
  ]))), 128)), D("button", {
2436
- class: E(x(Xt)),
2444
+ class: E(x(Kt)),
2437
2445
  onClick: l
2438
- }, [P(x(U), {
2446
+ }, [P(x(G), {
2439
2447
  size: 14,
2440
2448
  "stroke-width": 2
2441
2449
  }), M(" " + _(x(i).menu.addItem), 1)], 2)])]),
2442
2450
  _: 1
2443
2451
  }, 8, ["label"]),
2444
- P(X, { label: x(i).menu.fontFamily }, {
2452
+ P(Q, { label: x(i).menu.fontFamily }, {
2445
2453
  default: f(() => [D("select", {
2446
- class: E(x(W)),
2454
+ class: E(x(K)),
2447
2455
  value: e.block.fontFamily || "",
2448
2456
  onChange: n[0] ||= (e) => c("fontFamily", e.target.value || void 0)
2449
- }, [D("option", uo, _(x(i).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2457
+ }, [D("option", lo, _(x(i).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2450
2458
  key: e.value,
2451
2459
  value: e.value
2452
- }, _(e.label), 9, fo))), 128))], 42, lo)]),
2460
+ }, _(e.label), 9, uo))), 128))], 42, co)]),
2453
2461
  _: 1
2454
2462
  }, 8, ["label"]),
2455
- P(X, { label: x(i).menu.fontSize }, {
2456
- default: f(() => [P(tn, {
2463
+ P(Q, { label: x(i).menu.fontSize }, {
2464
+ default: f(() => [P(Qt, {
2457
2465
  "model-value": e.block.fontSize,
2458
2466
  min: 8,
2459
2467
  max: 48,
@@ -2462,46 +2470,46 @@ var Sa = {
2462
2470
  }, null, 8, ["model-value"])]),
2463
2471
  _: 1
2464
2472
  }, 8, ["label"]),
2465
- P(X, { label: x(i).menu.color }, {
2466
- default: f(() => [P(J, {
2473
+ P(Q, { label: x(i).menu.color }, {
2474
+ default: f(() => [P(X, {
2467
2475
  "model-value": e.block.color ?? "",
2468
2476
  "onUpdate:modelValue": n[2] ||= (e) => c("color", e || void 0)
2469
2477
  }, null, 8, ["model-value"])]),
2470
2478
  _: 1
2471
2479
  }, 8, ["label"]),
2472
- P(X, { label: x(i).menu.linkColor }, {
2473
- default: f(() => [P(J, {
2480
+ P(Q, { label: x(i).menu.linkColor }, {
2481
+ default: f(() => [P(X, {
2474
2482
  "model-value": e.block.linkColor || e.block.color || "",
2475
2483
  "onUpdate:modelValue": n[3] ||= (e) => c("linkColor", e || void 0)
2476
2484
  }, null, 8, ["model-value"])]),
2477
2485
  _: 1
2478
2486
  }, 8, ["label"]),
2479
- P(X, { label: x(i).menu.textAlign }, {
2480
- default: f(() => [P(Z, {
2487
+ P(Q, { label: x(i).menu.textAlign }, {
2488
+ default: f(() => [P(Zt, {
2481
2489
  options: o.value,
2482
2490
  "model-value": e.block.textAlign,
2483
2491
  "onUpdate:modelValue": n[4] ||= (e) => c("textAlign", e)
2484
2492
  }, null, 8, ["options", "model-value"])]),
2485
2493
  _: 1
2486
2494
  }, 8, ["label"]),
2487
- P(X, { label: x(i).menu.separator }, {
2495
+ P(Q, { label: x(i).menu.separator }, {
2488
2496
  default: f(() => [D("input", {
2489
2497
  type: "text",
2490
- class: E(x(W)),
2498
+ class: E(x(K)),
2491
2499
  value: e.block.separator,
2492
2500
  onInput: n[5] ||= (e) => c("separator", e.target.value)
2493
- }, null, 42, po)]),
2501
+ }, null, 42, fo)]),
2494
2502
  _: 1
2495
2503
  }, 8, ["label"]),
2496
- P(X, { label: x(i).menu.separatorColor }, {
2497
- default: f(() => [P(J, {
2504
+ P(Q, { label: x(i).menu.separatorColor }, {
2505
+ default: f(() => [P(X, {
2498
2506
  "model-value": e.block.separatorColor,
2499
2507
  "onUpdate:modelValue": n[6] ||= (e) => c("separatorColor", e)
2500
2508
  }, null, 8, ["model-value"])]),
2501
2509
  _: 1
2502
2510
  }, 8, ["label"]),
2503
- P(X, { label: x(i).menu.spacing }, {
2504
- default: f(() => [P(tn, {
2511
+ P(Q, { label: x(i).menu.spacing }, {
2512
+ default: f(() => [P(Qt, {
2505
2513
  "model-value": e.block.spacing,
2506
2514
  min: 0,
2507
2515
  max: 50,
@@ -2515,11 +2523,11 @@ var Sa = {
2515
2523
  });
2516
2524
  //#endregion
2517
2525
  //#region src/utils/rebalanceColumnChildren.ts
2518
- function ho(e) {
2526
+ function mo(e) {
2519
2527
  return e === "1" ? 1 : e === "3" ? 3 : 2;
2520
2528
  }
2521
- function go(e, t) {
2522
- let n = ho(t);
2529
+ function ho(e, t) {
2530
+ let n = mo(t);
2523
2531
  if (e.length === n) return e;
2524
2532
  if (e.length < n) {
2525
2533
  let t = Array.from({ length: n - e.length }, () => []);
@@ -2530,18 +2538,18 @@ function go(e, t) {
2530
2538
  }
2531
2539
  //#endregion
2532
2540
  //#region src/components/toolbar/SectionToolbar.vue?vue&type=script&setup=true&lang.ts
2533
- var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2541
+ var go = { class: "tpl:mb-3.5" }, _o = ["value"], vo = ["value"], yo = {
2534
2542
  key: 0,
2535
2543
  class: "tpl:mb-3.5"
2536
- }, xo = { class: "tpl:mb-3.5" }, So = { class: "tpl:flex tpl:items-stretch" }, Co = ["value"], wo = { class: "tpl:mb-3.5" }, To = {
2544
+ }, bo = { class: "tpl:mb-3.5" }, xo = { class: "tpl:flex tpl:items-stretch" }, So = ["value"], Co = { class: "tpl:mb-3.5" }, wo = {
2537
2545
  key: 0,
2538
2546
  class: "tpl:mt-3 tpl:ml-0.5 tpl:space-y-3 tpl:border-l tpl:border-[var(--tpl-border)] tpl:pl-3"
2539
- }, Eo = { class: "tpl:flex tpl:items-stretch" }, Do = ["value"], Oo = /* @__PURE__ */ N({
2547
+ }, To = { class: "tpl:flex tpl:items-stretch" }, Eo = ["value"], Do = /* @__PURE__ */ N({
2540
2548
  __name: "SectionToolbar",
2541
2549
  props: { block: {} },
2542
2550
  emits: ["update"],
2543
2551
  setup(e, { emit: t }) {
2544
- let n = e, r = t, { t: i } = H(), a = v(() => [
2552
+ let n = e, r = t, { t: i } = W(), a = v(() => [
2545
2553
  {
2546
2554
  value: "1",
2547
2555
  label: i.section.column1
@@ -2564,7 +2572,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2564
2572
  }
2565
2573
  ]);
2566
2574
  function o(e) {
2567
- let t = e.target.value, i = go(n.block.children, t);
2575
+ let t = e.target.value, i = ho(n.block.children, t);
2568
2576
  r("update", {
2569
2577
  columns: t,
2570
2578
  children: i
@@ -2598,39 +2606,39 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2598
2606
  f({ borderRadius: Number(e.target.value) });
2599
2607
  }
2600
2608
  return (t, n) => (s(), y(j, null, [
2601
- D("div", _o, [D("label", { class: E(x(G)) }, _(x(i).section.columns), 3), D("select", {
2602
- class: E(x(W)),
2609
+ D("div", go, [D("label", { class: E(x(q)) }, _(x(i).section.columns), 3), D("select", {
2610
+ class: E(x(K)),
2603
2611
  value: e.block.columns,
2604
2612
  onChange: o
2605
2613
  }, [(s(!0), y(j, null, u(a.value, (e) => (s(), y("option", {
2606
2614
  key: e.value,
2607
2615
  value: e.value
2608
- }, _(e.label), 9, yo))), 128))], 42, vo)]),
2609
- e.block.columns === "1" ? b("", !0) : (s(), y("div", bo, [P(Y, {
2616
+ }, _(e.label), 9, vo))), 128))], 42, _o)]),
2617
+ e.block.columns === "1" ? b("", !0) : (s(), y("div", yo, [P(Z, {
2610
2618
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
2611
2619
  "model-value": e.block.stackOnMobile !== !1,
2612
2620
  label: x(i).section.stackOnMobile,
2613
2621
  "onUpdate:modelValue": n[0] ||= (e) => c(e)
2614
2622
  }, null, 8, ["model-value", "label"])])),
2615
- D("div", xo, [D("label", { class: E(x(G)) }, _(x(i).section.borderRadius), 3), D("div", So, [D("input", {
2623
+ D("div", bo, [D("label", { class: E(x(q)) }, _(x(i).section.borderRadius), 3), D("div", xo, [D("input", {
2616
2624
  type: "number",
2617
- class: E(x(q)),
2625
+ class: E(x(Y)),
2618
2626
  value: e.block.borderRadius ?? 0,
2619
2627
  min: "0",
2620
2628
  max: "50",
2621
2629
  onInput: l
2622
- }, null, 42, Co), D("span", { class: E(x(K)) }, "px", 2)])]),
2623
- D("div", wo, [P(Y, {
2630
+ }, null, 42, So), D("span", { class: E(x(J)) }, "px", 2)])]),
2631
+ D("div", Co, [P(Z, {
2624
2632
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
2625
2633
  "model-value": !!e.block.wrapper,
2626
2634
  label: x(i).section.wrapperEnable,
2627
2635
  "onUpdate:modelValue": n[1] ||= (e) => d(e)
2628
- }, null, 8, ["model-value", "label"]), e.block.wrapper ? (s(), y("div", To, [
2629
- D("div", null, [D("label", { class: E(x(G)) }, _(x(i).blockSettings.color), 3), P(J, {
2636
+ }, null, 8, ["model-value", "label"]), e.block.wrapper ? (s(), y("div", wo, [
2637
+ D("div", null, [D("label", { class: E(x(q)) }, _(x(i).blockSettings.color), 3), P(X, {
2630
2638
  "model-value": e.block.wrapper.backgroundColor ?? "",
2631
2639
  "onUpdate:modelValue": n[2] ||= (e) => f({ backgroundColor: e })
2632
2640
  }, null, 8, ["model-value"])]),
2633
- P(Di, {
2641
+ P(Ei, {
2634
2642
  label: x(i).blockSettings.padding,
2635
2643
  "model-value": e.block.wrapper.padding ?? {
2636
2644
  top: 0,
@@ -2640,29 +2648,29 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2640
2648
  },
2641
2649
  "onUpdate:modelValue": p
2642
2650
  }, null, 8, ["label", "model-value"]),
2643
- D("div", null, [D("label", { class: E(x(G)) }, _(x(i).section.borderRadius), 3), D("div", Eo, [D("input", {
2651
+ D("div", null, [D("label", { class: E(x(q)) }, _(x(i).section.borderRadius), 3), D("div", To, [D("input", {
2644
2652
  type: "number",
2645
- class: E(x(q)),
2653
+ class: E(x(Y)),
2646
2654
  value: e.block.wrapper.borderRadius ?? 0,
2647
2655
  min: "0",
2648
2656
  max: "50",
2649
2657
  onInput: m
2650
- }, null, 42, Do), D("span", { class: E(x(K)) }, "px", 2)])])
2658
+ }, null, 42, Eo), D("span", { class: E(x(J)) }, "px", 2)])])
2651
2659
  ])) : b("", !0)])
2652
2660
  ], 64));
2653
2661
  }
2654
- }), ko = { class: "tpl:mb-3.5" }, Ao = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, jo = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Mo = ["value", "onChange"], No = ["value"], Po = ["title", "onClick"], Fo = { class: "tpl:mb-3.5" }, Io = ["value"], Lo = { value: "solid" }, Ro = { value: "outlined" }, zo = { value: "rounded" }, Bo = { value: "square" }, Vo = { value: "circle" }, Ho = { class: "tpl:mb-3.5" }, Uo = { class: "tpl:mb-3.5" }, Wo = { class: "tpl:flex tpl:items-stretch" }, Go = ["value"], Ko = { class: "tpl:mb-3.5" }, qo = /* @__PURE__ */ N({
2662
+ }), Oo = { class: "tpl:mb-3.5" }, ko = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Ao = { class: "tpl:flex tpl:items-center tpl:gap-2" }, jo = ["value", "onChange"], Mo = ["value"], No = ["title", "onClick"], Po = { class: "tpl:mb-3.5" }, Fo = ["value"], Io = { value: "solid" }, Lo = { value: "outlined" }, Ro = { value: "rounded" }, zo = { value: "square" }, Bo = { value: "circle" }, Vo = { class: "tpl:mb-3.5" }, Ho = { class: "tpl:mb-3.5" }, Uo = { class: "tpl:flex tpl:items-stretch" }, Wo = ["value"], Go = { class: "tpl:mb-3.5" }, Ko = /* @__PURE__ */ N({
2655
2663
  __name: "SocialToolbar",
2656
2664
  props: { block: {} },
2657
2665
  emits: ["update"],
2658
2666
  setup(e, { emit: t }) {
2659
- let n = e, r = t, { t: i } = H();
2667
+ let n = e, r = t, { t: i } = W();
2660
2668
  function a(e, t) {
2661
2669
  r("update", { [e]: t });
2662
2670
  }
2663
2671
  function o() {
2664
2672
  let e = {
2665
- id: V(),
2673
+ id: I(),
2666
2674
  platform: "facebook",
2667
2675
  url: ""
2668
2676
  };
@@ -2679,25 +2687,25 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2679
2687
  r("update", { icons: n.block.icons.filter((t) => t.id !== e) });
2680
2688
  }
2681
2689
  return (t, n) => (s(), y(j, null, [
2682
- D("div", ko, [D("label", { class: E(x(G)) }, _(x(i).social.icons), 3), D("div", Ao, [(s(!0), y(j, null, u(e.block.icons, (e) => (s(), y("div", {
2690
+ D("div", Oo, [D("label", { class: E(x(q)) }, _(x(i).social.icons), 3), D("div", ko, [(s(!0), y(j, null, u(e.block.icons, (e) => (s(), y("div", {
2683
2691
  key: e.id,
2684
2692
  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"
2685
- }, [D("div", jo, [D("select", {
2693
+ }, [D("div", Ao, [D("select", {
2686
2694
  "data-testid": "social-platform-select",
2687
- class: E([x(W), "tpl:flex-1"]),
2695
+ class: E([x(K), "tpl:flex-1"]),
2688
2696
  value: e.platform,
2689
2697
  onChange: (t) => c(e.id, "platform", t.target.value)
2690
- }, [(s(!0), y(j, null, u(x(B), (e) => (s(), y("option", {
2698
+ }, [(s(!0), y(j, null, u(x(Se), (e) => (s(), y("option", {
2691
2699
  key: e,
2692
2700
  value: e
2693
- }, _(x(i).social.platforms[e]), 9, No))), 128))], 42, Mo), D("button", {
2694
- class: E(x(qt)),
2701
+ }, _(x(i).social.platforms[e]), 9, Mo))), 128))], 42, jo), D("button", {
2702
+ class: E(x(Ut)),
2695
2703
  title: x(i).social.removeIcon,
2696
2704
  onClick: (t) => l(e.id)
2697
- }, [P(x(We), {
2705
+ }, [P(x(Et), {
2698
2706
  size: 14,
2699
2707
  "stroke-width": 2
2700
- })], 10, Po)]), P(Q, {
2708
+ })], 10, No)]), P($, {
2701
2709
  "model-value": e.url,
2702
2710
  type: "url",
2703
2711
  placeholder: x(i).social.urlPlaceholder,
@@ -2707,24 +2715,24 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2707
2715
  "placeholder",
2708
2716
  "onUpdate:modelValue"
2709
2717
  ])]))), 128)), D("button", {
2710
- class: E(x(Xt)),
2718
+ class: E(x(Kt)),
2711
2719
  onClick: o
2712
- }, [P(x(U), {
2720
+ }, [P(x(G), {
2713
2721
  size: 14,
2714
2722
  "stroke-width": 2
2715
2723
  }), M(" " + _(x(i).social.addIcon), 1)], 2)])]),
2716
- D("div", Fo, [D("label", { class: E(x(G)) }, _(x(i).social.style), 3), D("select", {
2717
- class: E(x(W)),
2724
+ D("div", Po, [D("label", { class: E(x(q)) }, _(x(i).social.style), 3), D("select", {
2725
+ class: E(x(K)),
2718
2726
  value: e.block.iconStyle,
2719
2727
  onChange: n[0] ||= (e) => a("iconStyle", e.target.value)
2720
2728
  }, [
2721
- D("option", Lo, _(x(i).social.styleSolid), 1),
2722
- D("option", Ro, _(x(i).social.styleOutlined), 1),
2723
- D("option", zo, _(x(i).social.styleRounded), 1),
2724
- D("option", Bo, _(x(i).social.styleSquare), 1),
2725
- D("option", Vo, _(x(i).social.styleCircle), 1)
2726
- ], 42, Io)]),
2727
- D("div", Ho, [D("label", { class: E(x(G)) }, _(x(i).social.size), 3), P(Z, {
2729
+ D("option", Io, _(x(i).social.styleSolid), 1),
2730
+ D("option", Lo, _(x(i).social.styleOutlined), 1),
2731
+ D("option", Ro, _(x(i).social.styleRounded), 1),
2732
+ D("option", zo, _(x(i).social.styleSquare), 1),
2733
+ D("option", Bo, _(x(i).social.styleCircle), 1)
2734
+ ], 42, Fo)]),
2735
+ D("div", Vo, [D("label", { class: E(x(q)) }, _(x(i).social.size), 3), P(Zt, {
2728
2736
  options: [
2729
2737
  {
2730
2738
  value: "small",
@@ -2742,30 +2750,30 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2742
2750
  "model-value": e.block.iconSize,
2743
2751
  "onUpdate:modelValue": n[1] ||= (e) => a("iconSize", e)
2744
2752
  }, null, 8, ["options", "model-value"])]),
2745
- D("div", Uo, [D("label", { class: E(x(G)) }, _(x(i).social.spacing), 3), D("div", Wo, [D("input", {
2753
+ D("div", Ho, [D("label", { class: E(x(q)) }, _(x(i).social.spacing), 3), D("div", Uo, [D("input", {
2746
2754
  type: "number",
2747
- class: E(x(q)),
2755
+ class: E(x(Y)),
2748
2756
  value: e.block.spacing,
2749
2757
  min: "0",
2750
2758
  max: "50",
2751
2759
  onInput: n[2] ||= (e) => a("spacing", Number(e.target.value))
2752
- }, null, 42, Go), D("span", { class: E(x(K)) }, "px", 2)])]),
2753
- D("div", Ko, [D("label", { class: E(x(G)) }, _(x(i).social.align), 3), P(Z, {
2760
+ }, null, 42, Wo), D("span", { class: E(x(J)) }, "px", 2)])]),
2761
+ D("div", Go, [D("label", { class: E(x(q)) }, _(x(i).social.align), 3), P(Zt, {
2754
2762
  options: [
2755
2763
  {
2756
2764
  value: "left",
2757
2765
  label: x(i).title.alignLeft,
2758
- icon: x(Rt)
2766
+ icon: x(kt)
2759
2767
  },
2760
2768
  {
2761
2769
  value: "center",
2762
2770
  label: x(i).title.alignCenter,
2763
- icon: x(Ft)
2771
+ icon: x(wt)
2764
2772
  },
2765
2773
  {
2766
2774
  value: "right",
2767
2775
  label: x(i).title.alignRight,
2768
- icon: x(zt)
2776
+ icon: x(Tt)
2769
2777
  }
2770
2778
  ],
2771
2779
  "model-value": e.block.align,
@@ -2773,22 +2781,22 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2773
2781
  }, null, 8, ["options", "model-value"])])
2774
2782
  ], 64));
2775
2783
  }
2776
- }), Jo = { class: "tpl:mb-3.5" }, Yo = { class: "tpl:flex tpl:items-stretch" }, Xo = ["value"], Zo = ["value"], Qo = /* @__PURE__ */ N({
2784
+ }), qo = { class: "tpl:mb-3.5" }, Jo = { class: "tpl:flex tpl:items-stretch" }, Yo = ["value"], Xo = ["value"], Zo = /* @__PURE__ */ N({
2777
2785
  __name: "SpacerToolbar",
2778
2786
  props: { block: {} },
2779
2787
  emits: ["update"],
2780
2788
  setup(e, { emit: t }) {
2781
- let n = t, { t: r } = H();
2782
- return (t, i) => (s(), y("div", Jo, [
2783
- D("label", { class: E(x(G)) }, _(x(r).spacer.height), 3),
2784
- D("div", Yo, [D("input", {
2789
+ let n = t, { t: r } = W();
2790
+ return (t, i) => (s(), y("div", qo, [
2791
+ D("label", { class: E(x(q)) }, _(x(r).spacer.height), 3),
2792
+ D("div", Jo, [D("input", {
2785
2793
  type: "number",
2786
- class: E(x(q)),
2794
+ class: E(x(Y)),
2787
2795
  value: e.block.height,
2788
2796
  min: "10",
2789
2797
  max: "100",
2790
2798
  onInput: i[0] ||= (e) => n("update", { height: Number(e.target.value) })
2791
- }, null, 42, Xo), D("span", { class: E(x(K)) }, "px", 2)]),
2799
+ }, null, 42, Yo), D("span", { class: E(x(J)) }, "px", 2)]),
2792
2800
  D("input", {
2793
2801
  type: "range",
2794
2802
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -2796,13 +2804,13 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2796
2804
  min: "10",
2797
2805
  max: "100",
2798
2806
  onInput: i[1] ||= (e) => n("update", { height: Number(e.target.value) })
2799
- }, null, 40, Zo)
2807
+ }, null, 40, Xo)
2800
2808
  ]));
2801
2809
  }
2802
- }), $o = { class: "tpl:mb-3.5" }, es = { class: "tpl:flex tpl:items-center tpl:gap-3" }, ts = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ns = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, rs = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, is = ["disabled"], as = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, os = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ss = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, cs = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, ls = ["disabled"], us = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, ds = { class: "tpl:mb-3.5" }, fs = {
2810
+ }), Qo = { class: "tpl:mb-3.5" }, $o = { class: "tpl:flex tpl:items-center tpl:gap-3" }, es = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ts = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ns = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, rs = ["disabled"], is = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, as = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, os = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ss = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, cs = ["disabled"], ls = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, us = { class: "tpl:mb-3.5" }, ds = {
2803
2811
  key: 0,
2804
2812
  class: "tpl:mb-3.5"
2805
- }, ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:mb-3.5" }, hs = { class: "tpl:flex tpl:items-stretch" }, gs = ["value"], _s = { class: "tpl:mb-3.5" }, vs = { class: "tpl:flex tpl:items-stretch" }, ys = ["value"], bs = { class: "tpl:mb-3.5" }, xs = ["value"], Ss = { value: "" }, Cs = ["value"], ws = { class: "tpl:mb-3.5" }, Ts = { class: "tpl:flex tpl:items-stretch" }, Es = ["value"], Ds = { class: "tpl:mb-3.5" }, Os = { class: "tpl:mb-3.5" }, ks = /* @__PURE__ */ N({
2813
+ }, fs = { class: "tpl:mb-3.5" }, ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:flex tpl:items-stretch" }, hs = ["value"], gs = { class: "tpl:mb-3.5" }, _s = { class: "tpl:flex tpl:items-stretch" }, vs = ["value"], ys = { class: "tpl:mb-3.5" }, bs = ["value"], xs = { value: "" }, Ss = ["value"], Cs = { class: "tpl:mb-3.5" }, ws = { class: "tpl:flex tpl:items-stretch" }, Ts = ["value"], Es = { class: "tpl:mb-3.5" }, Ds = { class: "tpl:mb-3.5" }, Os = /* @__PURE__ */ N({
2806
2814
  __name: "TableToolbar",
2807
2815
  props: {
2808
2816
  block: {},
@@ -2810,15 +2818,15 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2810
2818
  },
2811
2819
  emits: ["update"],
2812
2820
  setup(e, { emit: t }) {
2813
- let n = e, r = t, { t: i } = H(), a = v(() => n.block.rows.length > 0 ? n.block.rows[0].cells.length : 0);
2821
+ let n = e, r = t, { t: i } = W(), a = v(() => n.block.rows.length > 0 ? n.block.rows[0].cells.length : 0);
2814
2822
  function o(e, t) {
2815
2823
  r("update", { [e]: t });
2816
2824
  }
2817
2825
  function c() {
2818
2826
  let e = n.block.rows.length > 0 ? n.block.rows[0].cells.length : 3, t = {
2819
- id: V(),
2827
+ id: I(),
2820
2828
  cells: Array.from({ length: e }, () => ({
2821
- id: V(),
2829
+ id: I(),
2822
2830
  content: ""
2823
2831
  }))
2824
2832
  };
@@ -2831,7 +2839,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2831
2839
  let e = n.block.rows.map((e) => ({
2832
2840
  ...e,
2833
2841
  cells: [...e.cells, {
2834
- id: V(),
2842
+ id: I(),
2835
2843
  content: ""
2836
2844
  }]
2837
2845
  }));
@@ -2845,50 +2853,50 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2845
2853
  r("update", { rows: t });
2846
2854
  }
2847
2855
  return (t, n) => (s(), y(j, null, [
2848
- D("div", $o, [D("label", { class: E(x(G)) }, _(x(i).table.dimensions), 3), D("div", es, [D("div", ts, [D("span", ns, _(x(i).table.rows), 1), D("div", rs, [
2856
+ D("div", Qo, [D("label", { class: E(x(q)) }, _(x(i).table.dimensions), 3), D("div", $o, [D("div", es, [D("span", ts, _(x(i).table.rows), 1), D("div", ns, [
2849
2857
  D("button", {
2850
2858
  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",
2851
2859
  disabled: e.block.rows.length <= 1,
2852
2860
  onClick: n[0] ||= (t) => l(e.block.rows[e.block.rows.length - 1].id)
2853
- }, [P(x(kt), {
2861
+ }, [P(x(et), {
2854
2862
  size: 12,
2855
2863
  "stroke-width": 2
2856
- })], 8, is),
2857
- D("span", as, _(e.block.rows.length), 1),
2864
+ })], 8, rs),
2865
+ D("span", is, _(e.block.rows.length), 1),
2858
2866
  D("button", {
2859
2867
  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)]",
2860
2868
  onClick: c
2861
- }, [P(x(U), {
2869
+ }, [P(x(G), {
2862
2870
  size: 12,
2863
2871
  "stroke-width": 2
2864
2872
  })])
2865
- ])]), D("div", os, [D("span", ss, _(x(i).table.columns), 1), D("div", cs, [
2873
+ ])]), D("div", as, [D("span", os, _(x(i).table.columns), 1), D("div", ss, [
2866
2874
  D("button", {
2867
2875
  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",
2868
2876
  disabled: a.value <= 1,
2869
2877
  onClick: n[1] ||= (e) => f(a.value - 1)
2870
- }, [P(x(kt), {
2878
+ }, [P(x(et), {
2871
2879
  size: 12,
2872
2880
  "stroke-width": 2
2873
- })], 8, ls),
2874
- D("span", us, _(a.value), 1),
2881
+ })], 8, cs),
2882
+ D("span", ls, _(a.value), 1),
2875
2883
  D("button", {
2876
2884
  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)]",
2877
2885
  onClick: d
2878
- }, [P(x(U), {
2886
+ }, [P(x(G), {
2879
2887
  size: 12,
2880
2888
  "stroke-width": 2
2881
2889
  })])
2882
2890
  ])])])]),
2883
- D("div", ds, [P(Y, {
2891
+ D("div", us, [P(Z, {
2884
2892
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
2885
2893
  "model-value": e.block.hasHeaderRow,
2886
2894
  label: x(i).table.hasHeaderRow,
2887
2895
  "onUpdate:modelValue": n[2] ||= (e) => o("hasHeaderRow", e)
2888
2896
  }, null, 8, ["model-value", "label"])]),
2889
- e.block.hasHeaderRow ? (s(), y("div", fs, [D("label", { class: E(x(G)) }, _(x(i).table.headerBackgroundColor), 3), P(J, {
2897
+ e.block.hasHeaderRow ? (s(), y("div", ds, [D("label", { class: E(x(q)) }, _(x(i).table.headerBackgroundColor), 3), P(X, {
2890
2898
  "model-value": e.block.headerBackgroundColor ?? "",
2891
- "seed-color": x(Yt),
2899
+ "seed-color": x(Gt),
2892
2900
  placeholder: x(i).table.noHeaderBg,
2893
2901
  "onUpdate:modelValue": n[3] ||= (e) => o("headerBackgroundColor", e || null)
2894
2902
  }, null, 8, [
@@ -2896,62 +2904,62 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2896
2904
  "seed-color",
2897
2905
  "placeholder"
2898
2906
  ])])) : b("", !0),
2899
- D("div", ps, [D("label", { class: E(x(G)) }, _(x(i).table.borderColor), 3), P(J, {
2907
+ D("div", fs, [D("label", { class: E(x(q)) }, _(x(i).table.borderColor), 3), P(X, {
2900
2908
  "model-value": e.block.borderColor,
2901
2909
  "onUpdate:modelValue": n[4] ||= (e) => o("borderColor", e)
2902
2910
  }, null, 8, ["model-value"])]),
2903
- D("div", ms, [D("label", { class: E(x(G)) }, _(x(i).table.borderWidth), 3), D("div", hs, [D("input", {
2911
+ D("div", ps, [D("label", { class: E(x(q)) }, _(x(i).table.borderWidth), 3), D("div", ms, [D("input", {
2904
2912
  type: "number",
2905
- class: E(x(q)),
2913
+ class: E(x(Y)),
2906
2914
  value: e.block.borderWidth,
2907
2915
  min: "0",
2908
2916
  max: "10",
2909
2917
  onInput: n[5] ||= (e) => o("borderWidth", Number(e.target.value))
2910
- }, null, 42, gs), D("span", { class: E(x(K)) }, "px", 2)])]),
2911
- D("div", _s, [D("label", { class: E(x(G)) }, _(x(i).table.cellPadding), 3), D("div", vs, [D("input", {
2918
+ }, null, 42, hs), D("span", { class: E(x(J)) }, "px", 2)])]),
2919
+ D("div", gs, [D("label", { class: E(x(q)) }, _(x(i).table.cellPadding), 3), D("div", _s, [D("input", {
2912
2920
  type: "number",
2913
- class: E(x(q)),
2921
+ class: E(x(Y)),
2914
2922
  value: e.block.cellPadding,
2915
2923
  min: "0",
2916
2924
  max: "30",
2917
2925
  onInput: n[6] ||= (e) => o("cellPadding", Number(e.target.value))
2918
- }, null, 42, ys), D("span", { class: E(x(K)) }, "px", 2)])]),
2919
- D("div", bs, [D("label", { class: E(x(G)) }, _(x(i).table.fontFamily), 3), D("select", {
2920
- class: E(x(W)),
2926
+ }, null, 42, vs), D("span", { class: E(x(J)) }, "px", 2)])]),
2927
+ D("div", ys, [D("label", { class: E(x(q)) }, _(x(i).table.fontFamily), 3), D("select", {
2928
+ class: E(x(K)),
2921
2929
  value: e.block.fontFamily || "",
2922
2930
  onChange: n[7] ||= (e) => o("fontFamily", e.target.value || void 0)
2923
- }, [D("option", Ss, _(x(i).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2931
+ }, [D("option", xs, _(x(i).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2924
2932
  key: e.value,
2925
2933
  value: e.value
2926
- }, _(e.label), 9, Cs))), 128))], 42, xs)]),
2927
- D("div", ws, [D("label", { class: E(x(G)) }, _(x(i).table.fontSize), 3), D("div", Ts, [D("input", {
2934
+ }, _(e.label), 9, Ss))), 128))], 42, bs)]),
2935
+ D("div", Cs, [D("label", { class: E(x(q)) }, _(x(i).table.fontSize), 3), D("div", ws, [D("input", {
2928
2936
  type: "number",
2929
- class: E(x(q)),
2937
+ class: E(x(Y)),
2930
2938
  value: e.block.fontSize,
2931
2939
  min: "10",
2932
2940
  max: "32",
2933
2941
  onInput: n[8] ||= (e) => o("fontSize", Number(e.target.value))
2934
- }, null, 42, Es), D("span", { class: E(x(K)) }, "px", 2)])]),
2935
- D("div", Ds, [D("label", { class: E(x(G)) }, _(x(i).table.color), 3), P(J, {
2942
+ }, null, 42, Ts), D("span", { class: E(x(J)) }, "px", 2)])]),
2943
+ D("div", Es, [D("label", { class: E(x(q)) }, _(x(i).table.color), 3), P(X, {
2936
2944
  "model-value": e.block.color ?? "",
2937
2945
  "onUpdate:modelValue": n[9] ||= (e) => o("color", e || void 0)
2938
2946
  }, null, 8, ["model-value"])]),
2939
- D("div", Os, [D("label", { class: E(x(G)) }, _(x(i).table.textAlign), 3), P(Z, {
2947
+ D("div", Ds, [D("label", { class: E(x(q)) }, _(x(i).table.textAlign), 3), P(Zt, {
2940
2948
  options: [
2941
2949
  {
2942
2950
  value: "left",
2943
2951
  label: x(i).title.alignLeft,
2944
- icon: x(Rt)
2952
+ icon: x(kt)
2945
2953
  },
2946
2954
  {
2947
2955
  value: "center",
2948
2956
  label: x(i).title.alignCenter,
2949
- icon: x(Ft)
2957
+ icon: x(wt)
2950
2958
  },
2951
2959
  {
2952
2960
  value: "right",
2953
2961
  label: x(i).title.alignRight,
2954
- icon: x(zt)
2962
+ icon: x(Tt)
2955
2963
  }
2956
2964
  ],
2957
2965
  "model-value": e.block.textAlign,
@@ -2959,7 +2967,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2959
2967
  }, null, 8, ["options", "model-value"])])
2960
2968
  ], 64));
2961
2969
  }
2962
- }), As = { class: "tpl:mb-3.5" }, js = ["value"], Ms = { value: 1 }, Ns = { value: 2 }, Ps = { value: 3 }, Fs = { value: 4 }, Is = { class: "tpl:mb-3.5" }, Ls = ["value"], Rs = { value: "" }, zs = ["value"], Bs = { class: "tpl:mb-3.5" }, Vs = { class: "tpl:mb-3.5" }, Hs = /* @__PURE__ */ N({
2970
+ }), ks = { class: "tpl:mb-3.5" }, As = ["value"], js = { value: 1 }, Ms = { value: 2 }, Ns = { value: 3 }, Ps = { value: 4 }, Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = { value: "" }, Rs = ["value"], zs = { class: "tpl:mb-3.5" }, Bs = { class: "tpl:mb-3.5" }, Vs = /* @__PURE__ */ N({
2963
2971
  __name: "TitleToolbar",
2964
2972
  props: {
2965
2973
  block: {},
@@ -2967,49 +2975,49 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
2967
2975
  },
2968
2976
  emits: ["update"],
2969
2977
  setup(e, { emit: t }) {
2970
- let n = t, { t: r } = H();
2978
+ let n = t, { t: r } = W();
2971
2979
  function i(e, t) {
2972
2980
  n("update", { [e]: t });
2973
2981
  }
2974
2982
  return (t, n) => (s(), y(j, null, [
2975
- D("div", As, [D("label", { class: E(x(G)) }, _(x(r).title.level), 3), D("select", {
2976
- class: E(x(W)),
2983
+ D("div", ks, [D("label", { class: E(x(q)) }, _(x(r).title.level), 3), D("select", {
2984
+ class: E(x(K)),
2977
2985
  value: e.block.level,
2978
2986
  onChange: n[0] ||= (e) => i("level", Number(e.target.value))
2979
2987
  }, [
2980
- D("option", Ms, _(x(r).title.heading1), 1),
2981
- D("option", Ns, _(x(r).title.heading2), 1),
2982
- D("option", Ps, _(x(r).title.heading3), 1),
2983
- D("option", Fs, _(x(r).title.heading4), 1)
2984
- ], 42, js)]),
2985
- D("div", Is, [D("label", { class: E(x(G)) }, _(x(r).title.fontFamily), 3), D("select", {
2986
- class: E(x(W)),
2988
+ D("option", js, _(x(r).title.heading1), 1),
2989
+ D("option", Ms, _(x(r).title.heading2), 1),
2990
+ D("option", Ns, _(x(r).title.heading3), 1),
2991
+ D("option", Ps, _(x(r).title.heading4), 1)
2992
+ ], 42, As)]),
2993
+ D("div", Fs, [D("label", { class: E(x(q)) }, _(x(r).title.fontFamily), 3), D("select", {
2994
+ class: E(x(K)),
2987
2995
  value: e.block.fontFamily || "",
2988
2996
  onChange: n[1] ||= (e) => i("fontFamily", e.target.value || void 0)
2989
- }, [D("option", Rs, _(x(r).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2997
+ }, [D("option", Ls, _(x(r).title.inheritFont), 1), (s(!0), y(j, null, u(e.fontFamilies, (e) => (s(), y("option", {
2990
2998
  key: e.value,
2991
2999
  value: e.value
2992
- }, _(e.label), 9, zs))), 128))], 42, Ls)]),
2993
- D("div", Bs, [D("label", { class: E(x(G)) }, _(x(r).title.color), 3), P(J, {
3000
+ }, _(e.label), 9, Rs))), 128))], 42, Is)]),
3001
+ D("div", zs, [D("label", { class: E(x(q)) }, _(x(r).title.color), 3), P(X, {
2994
3002
  "model-value": e.block.color ?? "",
2995
3003
  "onUpdate:modelValue": n[2] ||= (e) => i("color", e || void 0)
2996
3004
  }, null, 8, ["model-value"])]),
2997
- D("div", Vs, [D("label", { class: E(x(G)) }, _(x(r).title.align), 3), P(Z, {
3005
+ D("div", Bs, [D("label", { class: E(x(q)) }, _(x(r).title.align), 3), P(Zt, {
2998
3006
  options: [
2999
3007
  {
3000
3008
  value: "left",
3001
3009
  label: x(r).title.alignLeft,
3002
- icon: x(Rt)
3010
+ icon: x(kt)
3003
3011
  },
3004
3012
  {
3005
3013
  value: "center",
3006
3014
  label: x(r).title.alignCenter,
3007
- icon: x(Ft)
3015
+ icon: x(wt)
3008
3016
  },
3009
3017
  {
3010
3018
  value: "right",
3011
3019
  label: x(r).title.alignRight,
3012
- icon: x(zt)
3020
+ icon: x(Tt)
3013
3021
  }
3014
3022
  ],
3015
3023
  "model-value": e.block.textAlign,
@@ -3017,19 +3025,19 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3017
3025
  }, null, 8, ["options", "model-value"])])
3018
3026
  ], 64));
3019
3027
  }
3020
- }), Us = { class: "tpl:mb-3.5" }, Ws = {
3028
+ }), Hs = { class: "tpl:mb-3.5" }, Us = {
3021
3029
  key: 0,
3022
3030
  class: "tpl:mb-3.5"
3023
- }, Gs = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Ks = [
3031
+ }, Ws = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Gs = [
3024
3032
  "value",
3025
3033
  "placeholder",
3026
3034
  "title"
3027
- ], qs = { class: "tpl:mb-3.5" }, Js = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Ys = { class: "tpl:mb-3.5" }, Xs = { class: "tpl:mb-3.5" }, Zs = ["value"], Qs = { value: "full" }, $s = { class: "tpl:mb-3.5" }, ec = /* @__PURE__ */ N({
3035
+ ], Ks = { class: "tpl:mb-3.5" }, qs = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Js = { class: "tpl:mb-3.5" }, Ys = { class: "tpl:mb-3.5" }, Xs = ["value"], Zs = { value: "full" }, Qs = { class: "tpl:mb-3.5" }, $s = /* @__PURE__ */ N({
3028
3036
  __name: "VideoToolbar",
3029
3037
  props: { block: {} },
3030
3038
  emits: ["update"],
3031
3039
  setup(e, { emit: t }) {
3032
- let n = e, r = t, { t: i } = H(), a = d(it, null), o = d(ct, he.liquid), c = le(), l = v(() => !!a), u = v(() => Te(n.block.url, o)), f = m(!1), { start: p } = ve(() => {
3040
+ let n = e, r = t, { t: i } = W(), a = d(Ae, null), o = d(Ie, ee.liquid), c = Bt(), l = v(() => !!a), u = v(() => H(n.block.url, o)), f = m(!1), { start: p } = Oe(() => {
3033
3041
  f.value = !1;
3034
3042
  }, 1e3, { immediate: !1 });
3035
3043
  function h(e, t) {
@@ -3040,15 +3048,15 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3040
3048
  c.alive && e && (h("thumbnailUrl", e.url), f.value = !0, p());
3041
3049
  }
3042
3050
  return (t, n) => (s(), y(j, null, [
3043
- D("div", Us, [
3044
- D("label", { class: E(x(G)) }, _(x(i).video.videoUrl), 3),
3045
- P(Q, {
3051
+ D("div", Hs, [
3052
+ D("label", { class: E(x(q)) }, _(x(i).video.videoUrl), 3),
3053
+ P($, {
3046
3054
  "model-value": e.block.url,
3047
3055
  type: "url",
3048
3056
  placeholder: x(i).video.videoUrlPlaceholder,
3049
3057
  "onUpdate:modelValue": n[0] ||= (e) => h("url", e)
3050
3058
  }, null, 8, ["model-value", "placeholder"]),
3051
- e.block.url ? (s(), C(Y, {
3059
+ e.block.url ? (s(), C(Z, {
3052
3060
  key: 0,
3053
3061
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
3054
3062
  "model-value": e.block.openInNewTab ?? !1,
@@ -3056,17 +3064,17 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3056
3064
  "onUpdate:modelValue": n[1] ||= (e) => h("openInNewTab", e)
3057
3065
  }, null, 8, ["model-value", "label"])) : b("", !0)
3058
3066
  ]),
3059
- u.value ? (s(), y("div", Ws, [D("label", { class: E(x(G)) }, [M(_(x(i).video.placeholderUrl) + " ", 1), D("span", Gs, _(x(i).video.optional), 1)], 2), D("input", {
3067
+ u.value ? (s(), y("div", Us, [D("label", { class: E(x(q)) }, [M(_(x(i).video.placeholderUrl) + " ", 1), D("span", Ws, _(x(i).video.optional), 1)], 2), D("input", {
3060
3068
  type: "url",
3061
- class: E(x(W)),
3069
+ class: E(x(K)),
3062
3070
  value: e.block.placeholderUrl || "",
3063
3071
  placeholder: x(i).video.placeholderUrlPlaceholder,
3064
3072
  title: x(i).video.placeholderUrlTooltip,
3065
3073
  onInput: n[2] ||= (e) => h("placeholderUrl", e.target.value)
3066
- }, null, 42, Ks)])) : b("", !0),
3067
- D("div", qs, [
3068
- D("label", { class: E(x(G)) }, [M(_(x(i).video.customThumbnail) + " ", 1), D("span", Js, _(x(i).video.optional), 1)], 2),
3069
- P(Q, {
3074
+ }, null, 42, Gs)])) : b("", !0),
3075
+ D("div", Ks, [
3076
+ D("label", { class: E(x(q)) }, [M(_(x(i).video.customThumbnail) + " ", 1), D("span", qs, _(x(i).video.optional), 1)], 2),
3077
+ P($, {
3070
3078
  "model-value": e.block.thumbnailUrl,
3071
3079
  type: "url",
3072
3080
  placeholder: x(i).video.thumbnailPlaceholder,
@@ -3086,28 +3094,28 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3086
3094
  "background-color": "var(--tpl-bg)"
3087
3095
  },
3088
3096
  onClick: g
3089
- }, [P(x(z), {
3097
+ }, [P(x(xt), {
3090
3098
  size: 14,
3091
3099
  "stroke-width": 1.5
3092
3100
  }), M(" " + _(x(i).image.browseMedia), 1)])) : b("", !0)
3093
3101
  ]),
3094
- D("div", Ys, [D("label", { class: E(x(G)) }, _(x(i).video.altText), 3), P(Q, {
3102
+ D("div", Js, [D("label", { class: E(x(q)) }, _(x(i).video.altText), 3), P($, {
3095
3103
  "model-value": e.block.alt,
3096
3104
  type: "text",
3097
3105
  placeholder: x(i).video.altTextPlaceholder,
3098
3106
  "onUpdate:modelValue": n[4] ||= (e) => h("alt", e)
3099
3107
  }, null, 8, ["model-value", "placeholder"])]),
3100
- D("div", Xs, [D("label", { class: E(x(G)) }, _(x(i).video.width), 3), D("select", {
3101
- class: E(x(W)),
3108
+ D("div", Ys, [D("label", { class: E(x(q)) }, _(x(i).video.width), 3), D("select", {
3109
+ class: E(x(K)),
3102
3110
  value: e.block.width,
3103
3111
  onChange: n[5] ||= (e) => h("width", e.target.value === "full" ? "full" : Number(e.target.value))
3104
3112
  }, [
3105
- D("option", Qs, _(x(i).video.fullWidth), 1),
3113
+ D("option", Zs, _(x(i).video.fullWidth), 1),
3106
3114
  n[7] ||= D("option", { value: "300" }, "300px", -1),
3107
3115
  n[8] ||= D("option", { value: "400" }, "400px", -1),
3108
3116
  n[9] ||= D("option", { value: "500" }, "500px", -1)
3109
- ], 42, Zs)]),
3110
- D("div", $s, [D("label", { class: E(x(G)) }, _(x(i).title.align), 3), P(Z, {
3117
+ ], 42, Xs)]),
3118
+ D("div", Qs, [D("label", { class: E(x(q)) }, _(x(i).title.align), 3), P(Zt, {
3111
3119
  options: [
3112
3120
  {
3113
3121
  value: "left",
@@ -3127,7 +3135,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3127
3135
  }, null, 8, ["options", "model-value"])])
3128
3136
  ], 64));
3129
3137
  }
3130
- }), tc = ["aria-label"], nc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, rc = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, ic = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ac = { class: "tpl:flex tpl:gap-1" }, oc = ["title"], sc = ["title"], cc = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, lc = /*#__PURE__*/ rt(/* @__PURE__ */ N({
3138
+ }), ec = ["aria-label"], tc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, nc = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, rc = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ic = { class: "tpl:flex tpl:gap-1" }, ac = ["title"], oc = ["title"], sc = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, cc = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
3131
3139
  __name: "Toolbar",
3132
3140
  props: { block: {} },
3133
3141
  emits: [
@@ -3136,87 +3144,87 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3136
3144
  "duplicate"
3137
3145
  ],
3138
3146
  setup(e, { emit: t }) {
3139
- let n = h(() => import("./CountdownToolbar-BbLoo22S.js")), r = e, i = t, { t: a } = H(), c = Ee(ht, "Toolbar"), l = d(ot, []), u = v(() => r.block.type), f = v(() => Ie(r.block)), p = v(() => {
3147
+ let n = h(() => import("./CountdownToolbar-DAnmIZjq.js")), r = e, i = t, { t: a } = W(), c = je(ze, "Toolbar"), l = d(He, []), u = v(() => r.block.type), f = v(() => L(r.block)), p = v(() => {
3140
3148
  if (f.value) return l.find((e) => e.type === r.block.customType);
3141
- }), m = v(() => f.value ? p.value?.name ?? r.block.customType : ue(u.value, a)), g = c.fonts;
3149
+ }), m = v(() => f.value ? p.value?.name ?? r.block.customType : se(u.value, a)), g = c.fonts;
3142
3150
  function S(e) {
3143
3151
  i("update", e);
3144
3152
  }
3145
3153
  return (t, r) => (s(), y("aside", {
3146
3154
  "aria-label": x(a).landmarks.blockToolbar,
3147
3155
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
3148
- }, [D("div", nc, [D("div", rc, [x(Kt)[u.value] ? (s(), C(o(x(Kt)[u.value]), {
3156
+ }, [D("div", tc, [D("div", nc, [x(Ht)[u.value] ? (s(), C(o(x(Ht)[u.value]), {
3149
3157
  key: 0,
3150
3158
  size: 16,
3151
3159
  "stroke-width": 1.5
3152
- })) : f.value ? (s(), C(x(ye), {
3160
+ })) : f.value ? (s(), C(x(ot), {
3153
3161
  key: 1,
3154
3162
  size: 16,
3155
3163
  "stroke-width": 1.5
3156
- })) : b("", !0), D("h3", ic, _(m.value), 1)]), D("div", ac, [D("button", {
3164
+ })) : b("", !0), D("h3", rc, _(m.value), 1)]), D("div", ic, [D("button", {
3157
3165
  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)]",
3158
3166
  title: x(a).toolbar.duplicate,
3159
3167
  onClick: r[0] ||= (e) => i("duplicate")
3160
- }, [P(x(Qe), {
3168
+ }, [P(x(It), {
3161
3169
  size: 14,
3162
3170
  "stroke-width": 2
3163
- })], 8, oc), D("button", {
3171
+ })], 8, ac), D("button", {
3164
3172
  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)]",
3165
3173
  title: x(a).toolbar.delete,
3166
3174
  onClick: r[1] ||= (e) => i("delete")
3167
- }, [P(x(at), {
3175
+ }, [P(x(bt), {
3168
3176
  size: 14,
3169
3177
  "stroke-width": 2
3170
- })], 8, sc)])]), D("div", cc, [f.value ? (s(), C(Aa, {
3178
+ })], 8, oc)])]), D("div", sc, [f.value ? (s(), C(ka, {
3171
3179
  key: 0,
3172
3180
  block: e.block,
3173
3181
  onUpdateFieldValues: r[2] ||= (e) => i("update", { fieldValues: e }),
3174
3182
  onUpdateDataSourceFetched: r[3] ||= (e) => i("update", { dataSourceFetched: e })
3175
- }, null, 8, ["block"])) : u.value === "section" ? (s(), C(Oo, {
3183
+ }, null, 8, ["block"])) : u.value === "section" ? (s(), C(Do, {
3176
3184
  key: 1,
3177
3185
  block: e.block,
3178
3186
  onUpdate: S
3179
- }, null, 8, ["block"])) : u.value === "title" ? (s(), C(Hs, {
3187
+ }, null, 8, ["block"])) : u.value === "title" ? (s(), C(Vs, {
3180
3188
  key: 2,
3181
3189
  block: e.block,
3182
3190
  "font-families": x(g),
3183
3191
  onUpdate: S
3184
- }, null, 8, ["block", "font-families"])) : u.value === "paragraph" ? (s(), y(j, { key: 3 }, [], 64)) : u.value === "image" ? (s(), C(no, {
3192
+ }, null, 8, ["block", "font-families"])) : u.value === "paragraph" ? (s(), y(j, { key: 3 }, [], 64)) : u.value === "image" ? (s(), C(to, {
3185
3193
  key: 4,
3186
3194
  block: e.block,
3187
3195
  onUpdate: S
3188
- }, null, 8, ["block"])) : u.value === "video" ? (s(), C(ec, {
3196
+ }, null, 8, ["block"])) : u.value === "video" ? (s(), C($s, {
3189
3197
  key: 5,
3190
3198
  block: e.block,
3191
3199
  onUpdate: S
3192
- }, null, 8, ["block"])) : u.value === "button" ? (s(), C(ii, {
3200
+ }, null, 8, ["block"])) : u.value === "button" ? (s(), C(ni, {
3193
3201
  key: 6,
3194
3202
  block: e.block,
3195
3203
  "font-families": x(g),
3196
3204
  onUpdate: S
3197
- }, null, 8, ["block", "font-families"])) : u.value === "divider" ? (s(), C(Ia, {
3205
+ }, null, 8, ["block", "font-families"])) : u.value === "divider" ? (s(), C(Fa, {
3198
3206
  key: 7,
3199
3207
  block: e.block,
3200
3208
  onUpdate: S
3201
- }, null, 8, ["block"])) : u.value === "social" ? (s(), C(qo, {
3209
+ }, null, 8, ["block"])) : u.value === "social" ? (s(), C(Ko, {
3202
3210
  key: 8,
3203
3211
  block: e.block,
3204
3212
  onUpdate: S
3205
- }, null, 8, ["block"])) : u.value === "menu" ? (s(), C(mo, {
3213
+ }, null, 8, ["block"])) : u.value === "menu" ? (s(), C(po, {
3206
3214
  key: 9,
3207
3215
  block: e.block,
3208
3216
  "font-families": x(g),
3209
3217
  onUpdate: S
3210
- }, null, 8, ["block", "font-families"])) : u.value === "table" ? (s(), C(ks, {
3218
+ }, null, 8, ["block", "font-families"])) : u.value === "table" ? (s(), C(Os, {
3211
3219
  key: 10,
3212
3220
  block: e.block,
3213
3221
  "font-families": x(g),
3214
3222
  onUpdate: S
3215
- }, null, 8, ["block", "font-families"])) : u.value === "spacer" ? (s(), C(Qo, {
3223
+ }, null, 8, ["block", "font-families"])) : u.value === "spacer" ? (s(), C(Zo, {
3216
3224
  key: 11,
3217
3225
  block: e.block,
3218
3226
  onUpdate: S
3219
- }, null, 8, ["block"])) : u.value === "html" ? (s(), C(Ba, {
3227
+ }, null, 8, ["block"])) : u.value === "html" ? (s(), C(za, {
3220
3228
  key: 12,
3221
3229
  block: e.block,
3222
3230
  onUpdate: S
@@ -3225,52 +3233,52 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3225
3233
  block: e.block,
3226
3234
  "font-families": x(g),
3227
3235
  onUpdate: S
3228
- }, null, 8, ["block", "font-families"])) : b("", !0), P(Ji, {
3236
+ }, null, 8, ["block", "font-families"])) : b("", !0), P(qi, {
3229
3237
  block: e.block,
3230
3238
  "is-first-section": u.value === "paragraph",
3231
3239
  onUpdate: S
3232
- }, null, 8, ["block", "is-first-section"])])], 8, tc));
3240
+ }, null, 8, ["block", "is-first-section"])])], 8, ec));
3233
3241
  }
3234
- }), [["__scopeId", "data-v-2ac88283"]]), uc = ["aria-label"], dc = {
3242
+ }), [["__scopeId", "data-v-2ac88283"]]), lc = ["aria-label"], uc = {
3235
3243
  role: "tablist",
3236
3244
  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"
3237
- }, fc = [
3245
+ }, dc = [
3238
3246
  "aria-selected",
3239
3247
  "aria-label",
3240
3248
  "title"
3241
- ], pc = { key: 0 }, mc = [
3249
+ ], fc = { key: 0 }, pc = [
3242
3250
  "aria-selected",
3243
3251
  "aria-label",
3244
3252
  "title"
3245
- ], hc = { key: 0 }, gc = [
3253
+ ], mc = { key: 0 }, hc = [
3246
3254
  "aria-selected",
3247
3255
  "aria-label",
3248
3256
  "title"
3249
- ], _c = { key: 0 }, vc = {
3257
+ ], gc = { key: 0 }, _c = {
3250
3258
  key: 1,
3251
3259
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
3252
- }, yc = {
3260
+ }, vc = {
3253
3261
  key: 0,
3254
3262
  id: "tpl-tabpanel-content",
3255
3263
  role: "tabpanel",
3256
3264
  "aria-labelledby": "tpl-tab-content",
3257
3265
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3258
- }, bc = {
3266
+ }, yc = {
3259
3267
  key: 1,
3260
3268
  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)]"
3261
- }, xc = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Sc = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Cc = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, wc = {
3269
+ }, bc = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, xc = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Sc = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Cc = {
3262
3270
  key: 1,
3263
3271
  id: "tpl-tabpanel-settings",
3264
3272
  role: "tabpanel",
3265
3273
  "aria-labelledby": "tpl-tab-settings",
3266
3274
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3267
- }, Tc = {
3275
+ }, wc = {
3268
3276
  key: 2,
3269
3277
  id: "tpl-tabpanel-issues",
3270
3278
  role: "tabpanel",
3271
3279
  "aria-labelledby": "tpl-tab-issues",
3272
3280
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3273
- }, Ec = /* @__PURE__ */ N({
3281
+ }, Tc = /* @__PURE__ */ N({
3274
3282
  __name: "RightSidebar",
3275
3283
  props: {
3276
3284
  selectedBlock: {},
@@ -3284,7 +3292,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3284
3292
  "update-settings"
3285
3293
  ],
3286
3294
  setup(e, { emit: t }) {
3287
- let n = h(() => import("./IssuesPanel-CfudrI3T.js")), r = e, i = t, { t: a } = H(), o = m("content"), c = d(_t, null), l = v(() => c !== null), u = v(() => c?.issues.value.length ?? 0);
3295
+ let n = h(() => import("./IssuesPanel-D80JedOj.js")), r = e, i = t, { t: a } = W(), o = m("content"), c = d(Ne, null), l = v(() => c !== null), u = v(() => c?.issues.value.length ?? 0);
3288
3296
  function f(e) {
3289
3297
  return o.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)]";
3290
3298
  }
@@ -3300,7 +3308,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3300
3308
  "aria-label": x(a).landmarks.rightSidebar,
3301
3309
  class: E(["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"])
3302
3310
  }, [
3303
- D("div", dc, [
3311
+ D("div", uc, [
3304
3312
  D("button", {
3305
3313
  id: "tpl-tab-content",
3306
3314
  role: "tab",
@@ -3311,10 +3319,10 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3311
3319
  class: E(["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)]", f("content")]),
3312
3320
  style: k(p("content")),
3313
3321
  onClick: r[0] ||= (e) => o.value = "content"
3314
- }, [P(x(Ot), {
3322
+ }, [P(x(lt), {
3315
3323
  size: 14,
3316
3324
  "stroke-width": 2
3317
- }), o.value === "content" ? (s(), y("span", pc, _(x(a).sidebar.content), 1)) : b("", !0)], 14, fc),
3325
+ }), o.value === "content" ? (s(), y("span", fc, _(x(a).sidebar.content), 1)) : b("", !0)], 14, dc),
3318
3326
  D("button", {
3319
3327
  id: "tpl-tab-settings",
3320
3328
  role: "tab",
@@ -3325,10 +3333,10 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3325
3333
  class: E(["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)]", f("settings")]),
3326
3334
  style: k(p("settings")),
3327
3335
  onClick: r[1] ||= (e) => o.value = "settings"
3328
- }, [P(x(Vt), {
3336
+ }, [P(x(tt), {
3329
3337
  size: 14,
3330
3338
  "stroke-width": 1.5
3331
- }), o.value === "settings" ? (s(), y("span", hc, _(x(a).sidebar.settings), 1)) : b("", !0)], 14, mc),
3339
+ }), o.value === "settings" ? (s(), y("span", mc, _(x(a).sidebar.settings), 1)) : b("", !0)], 14, pc),
3332
3340
  l.value ? (s(), y("button", {
3333
3341
  key: 0,
3334
3342
  id: "tpl-tab-issues",
@@ -3341,64 +3349,64 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3341
3349
  style: k(p("issues")),
3342
3350
  onClick: r[2] ||= (e) => o.value = "issues"
3343
3351
  }, [
3344
- P(x(Ut), {
3352
+ P(x(Ot), {
3345
3353
  size: 14,
3346
3354
  "stroke-width": 1.5
3347
3355
  }),
3348
- o.value === "issues" ? (s(), y("span", _c, _(x(a).issues.panelTabLabel), 1)) : b("", !0),
3349
- u.value > 0 ? (s(), y("span", vc, _(u.value), 1)) : b("", !0)
3350
- ], 14, gc)) : b("", !0)
3356
+ o.value === "issues" ? (s(), y("span", gc, _(x(a).issues.panelTabLabel), 1)) : b("", !0),
3357
+ u.value > 0 ? (s(), y("span", _c, _(u.value), 1)) : b("", !0)
3358
+ ], 14, hc)) : b("", !0)
3351
3359
  ]),
3352
- o.value === "content" ? (s(), y("div", yc, [e.selectedBlock ? (s(), C(lc, {
3360
+ o.value === "content" ? (s(), y("div", vc, [e.selectedBlock ? (s(), C(cc, {
3353
3361
  key: 0,
3354
3362
  block: e.selectedBlock,
3355
3363
  onUpdate: r[3] ||= (e) => i("update-block", e),
3356
3364
  onDelete: r[4] ||= (e) => i("delete-block"),
3357
3365
  onDuplicate: r[5] ||= (e) => i("duplicate-block")
3358
- }, null, 8, ["block"])) : (s(), y("div", bc, [
3359
- D("div", xc, [P(x(At), {
3366
+ }, null, 8, ["block"])) : (s(), y("div", yc, [
3367
+ D("div", bc, [P(x(yt), {
3360
3368
  size: 40,
3361
3369
  "stroke-width": 1.5
3362
3370
  })]),
3363
- D("h3", Sc, _(x(a).sidebar.noSelection), 1),
3364
- D("p", Cc, _(x(a).sidebar.noSelectionHint), 1)
3371
+ D("h3", xc, _(x(a).sidebar.noSelection), 1),
3372
+ D("p", Sc, _(x(a).sidebar.noSelectionHint), 1)
3365
3373
  ]))])) : b("", !0),
3366
- o.value === "settings" ? (s(), y("div", wc, [P(Or, {
3374
+ o.value === "settings" ? (s(), y("div", Cc, [P(Er, {
3367
3375
  settings: e.settings,
3368
3376
  onUpdate: r[6] ||= (e) => i("update-settings", e)
3369
3377
  }, null, 8, ["settings"])])) : b("", !0),
3370
- o.value === "issues" && l.value ? (s(), y("div", Tc, [P(x(n))])) : b("", !0)
3371
- ], 10, uc));
3378
+ o.value === "issues" && l.value ? (s(), y("div", wc, [P(x(n))])) : b("", !0)
3379
+ ], 10, lc));
3372
3380
  }
3373
- }), Dc = {
3381
+ }), Ec = {
3374
3382
  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)]",
3375
3383
  style: { "z-index": "10001" },
3376
3384
  role: "status",
3377
3385
  "data-testid": "small-screen-notice"
3378
- }, Oc = { class: "tpl:text-[var(--tpl-text-dim)]" }, kc = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ac = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, jc = /* @__PURE__ */ N({
3386
+ }, Dc = { class: "tpl:text-[var(--tpl-text-dim)]" }, Oc = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, kc = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, Ac = /* @__PURE__ */ N({
3379
3387
  __name: "SmallScreenNotice",
3380
3388
  setup(e) {
3381
- let { t } = H();
3382
- return (e, n) => (s(), y("div", Dc, [
3383
- D("div", Oc, [P(x(Dt), {
3389
+ let { t } = W();
3390
+ return (e, n) => (s(), y("div", Ec, [
3391
+ D("div", Dc, [P(x(mt), {
3384
3392
  size: 48,
3385
3393
  "stroke-width": 1.5
3386
3394
  })]),
3387
- D("h2", kc, _(x(t).smallScreen.title), 1),
3388
- D("p", Ac, _(x(t).smallScreen.message), 1)
3395
+ D("h2", Oc, _(x(t).smallScreen.title), 1),
3396
+ D("p", kc, _(x(t).smallScreen.message), 1)
3389
3397
  ]));
3390
3398
  }
3391
- }), Mc = ["aria-label"], Nc = [
3399
+ }), jc = ["aria-label"], Mc = [
3392
3400
  "aria-checked",
3393
3401
  "aria-label",
3394
3402
  "title",
3395
3403
  "onClick"
3396
- ], Pc = /* @__PURE__ */ N({
3404
+ ], Nc = /* @__PURE__ */ N({
3397
3405
  __name: "ViewportToggle",
3398
3406
  props: { viewport: {} },
3399
3407
  emits: ["change"],
3400
3408
  setup(e, { emit: t }) {
3401
- let n = e, r = t, { t: i } = H(), a = v(() => [{
3409
+ let n = e, r = t, { t: i } = W(), a = v(() => [{
3402
3410
  value: "desktop",
3403
3411
  label: i.viewport.desktop
3404
3412
  }, {
@@ -3435,26 +3443,26 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3435
3443
  }),
3436
3444
  title: t.label,
3437
3445
  onClick: (e) => r("change", t.value)
3438
- }, [t.value === "desktop" ? (s(), C(x(Dt), {
3446
+ }, [t.value === "desktop" ? (s(), C(x(mt), {
3439
3447
  key: 0,
3440
3448
  size: 18,
3441
3449
  "stroke-width": 1.5
3442
- })) : (s(), C(x(Nt), {
3450
+ })) : (s(), C(x(at), {
3443
3451
  key: 1,
3444
3452
  size: 18,
3445
3453
  "stroke-width": 1.5
3446
- })), D("span", null, _(t.label), 1)], 12, Nc))), 128))], 12, Mc));
3454
+ })), D("span", null, _(t.label), 1)], 12, Mc))), 128))], 12, jc));
3447
3455
  }
3448
- }), Fc = [
3456
+ }), Pc = [
3449
3457
  "aria-label",
3450
3458
  "title",
3451
3459
  "aria-pressed"
3452
- ], Ic = /*#__PURE__*/ rt(/* @__PURE__ */ N({
3460
+ ], Fc = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
3453
3461
  __name: "PreviewToggle",
3454
3462
  props: { previewMode: { type: Boolean } },
3455
3463
  emits: ["change"],
3456
3464
  setup(e, { emit: t }) {
3457
- let n = t, { t: r } = H();
3465
+ let n = t, { t: r } = W();
3458
3466
  return (t, i) => (s(), y("button", {
3459
3467
  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",
3460
3468
  style: k({
@@ -3472,28 +3480,28 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3472
3480
  "leave-to-class": "tpl-icon-leave-to",
3473
3481
  mode: "out-in"
3474
3482
  }, {
3475
- default: f(() => [e.previewMode ? (s(), C(x(tt), {
3483
+ default: f(() => [e.previewMode ? (s(), C(x(_t), {
3476
3484
  key: "eye",
3477
3485
  size: 18,
3478
3486
  "stroke-width": 1.5
3479
- })) : (s(), C(x(I), {
3487
+ })) : (s(), C(x(it), {
3480
3488
  key: "eye-off",
3481
3489
  size: 18,
3482
3490
  "stroke-width": 1.5
3483
3491
  }))]),
3484
3492
  _: 1
3485
- })], 12, Fc));
3493
+ })], 12, Pc));
3486
3494
  }
3487
- }), [["__scopeId", "data-v-af87d02a"]]), Lc = [
3495
+ }), [["__scopeId", "data-v-af87d02a"]]), Ic = [
3488
3496
  "aria-label",
3489
3497
  "title",
3490
3498
  "aria-pressed"
3491
- ], Rc = /*#__PURE__*/ rt(/* @__PURE__ */ N({
3499
+ ], Lc = /*#__PURE__*/ Lt(/* @__PURE__ */ N({
3492
3500
  __name: "DarkModeToggle",
3493
3501
  props: { darkMode: { type: Boolean } },
3494
3502
  emits: ["change"],
3495
3503
  setup(e, { emit: t }) {
3496
- let n = t, { t: r } = H();
3504
+ let n = t, { t: r } = W();
3497
3505
  return (t, i) => (s(), y("button", {
3498
3506
  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",
3499
3507
  style: k({
@@ -3511,37 +3519,37 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3511
3519
  "leave-to-class": "tpl-icon-leave-to",
3512
3520
  mode: "out-in"
3513
3521
  }, {
3514
- default: f(() => [e.darkMode ? (s(), C(x(Et), {
3522
+ default: f(() => [e.darkMode ? (s(), C(x(vt), {
3515
3523
  key: "moon",
3516
3524
  size: 18,
3517
3525
  "stroke-width": 1.5
3518
- })) : (s(), C(x(Bt), {
3526
+ })) : (s(), C(x(Pt), {
3519
3527
  key: "sun",
3520
3528
  size: 18,
3521
3529
  "stroke-width": 1.5
3522
3530
  }))]),
3523
3531
  _: 1
3524
- })], 12, Lc));
3532
+ })], 12, Ic));
3525
3533
  }
3526
- }), [["__scopeId", "data-v-f8694f76"]]), zc = {
3534
+ }), [["__scopeId", "data-v-f8694f76"]]), Rc = {
3527
3535
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
3528
3536
  style: {
3529
3537
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
3530
3538
  "backdrop-filter": "blur(8px)",
3531
3539
  "-webkit-backdrop-filter": "blur(8px)"
3532
3540
  }
3533
- }, Bc = {
3541
+ }, zc = {
3534
3542
  href: "https://github.com/templatical/sdk",
3535
3543
  target: "_blank",
3536
3544
  rel: "noopener noreferrer",
3537
3545
  class: "tpl:transition-colors tpl:duration-150 hover:tpl:opacity-80 tpl:text-[var(--tpl-text-dim)]",
3538
3546
  style: { "text-decoration": "none" }
3539
- }, Vc = /* @__PURE__ */ N({
3547
+ }, Bc = /* @__PURE__ */ N({
3540
3548
  __name: "EditorFooter",
3541
3549
  props: { positionClass: {} },
3542
3550
  setup(e) {
3543
- let { t } = H();
3544
- return (n, r) => (s(), y("footer", { class: E(["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]) }, [D("div", zc, [
3551
+ let { t } = W();
3552
+ return (n, r) => (s(), y("footer", { class: E(["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]) }, [D("div", Rc, [
3545
3553
  D("span", null, _(x(t).footer.poweredBy), 1),
3546
3554
  r[0] ||= D("a", {
3547
3555
  href: "https://templatical.com",
@@ -3556,32 +3564,32 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3556
3564
  alt: ""
3557
3565
  }), M(" Templatical ")], -1),
3558
3566
  r[1] ||= D("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
3559
- D("a", Bc, _(x(t).footer.openSource), 1)
3567
+ D("a", zc, _(x(t).footer.openSource), 1)
3560
3568
  ])], 2));
3561
3569
  }
3562
- }), Hc = ["aria-labelledby", "data-tpl-theme"], Uc = { 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" }, Wc = ["id"], Gc = ["aria-label"], Kc = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, qc = [
3570
+ }), Vc = ["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" }, Uc = ["id"], Wc = ["aria-label"], Gc = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Kc = [
3563
3571
  "id",
3564
3572
  "placeholder",
3565
3573
  "aria-label",
3566
3574
  "aria-activedescendant"
3567
- ], Jc = {
3575
+ ], qc = {
3568
3576
  key: 0,
3569
3577
  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",
3570
3578
  "data-testid": "merge-tag-picker-group-pills"
3571
- }, Yc = ["data-group-name", "onClick"], Xc = ["aria-label"], Zc = {
3579
+ }, Jc = ["data-group-name", "onClick"], Yc = ["aria-label"], Xc = {
3572
3580
  key: 0,
3573
3581
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3574
3582
  "data-testid": "merge-tag-picker-empty"
3575
- }, Qc = {
3583
+ }, Zc = {
3576
3584
  key: 1,
3577
3585
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3578
3586
  "data-testid": "merge-tag-picker-empty"
3579
- }, $c = [
3587
+ }, Qc = [
3580
3588
  "aria-expanded",
3581
3589
  "data-group-name",
3582
3590
  "data-group-collapsed",
3583
3591
  "onClick"
3584
- ], el = { class: "tpl:ml-1 tpl:font-normal" }, tl = [
3592
+ ], $c = { class: "tpl:ml-1 tpl:font-normal" }, el = [
3585
3593
  "id",
3586
3594
  "aria-selected",
3587
3595
  "data-selected",
@@ -3590,28 +3598,28 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3590
3598
  "title",
3591
3599
  "onMousemove",
3592
3600
  "onClick"
3593
- ], nl = { class: "tpl:text-sm tpl:font-medium" }, rl = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, il = {
3601
+ ], tl = { class: "tpl:text-sm tpl:font-medium" }, nl = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, rl = {
3594
3602
  key: 0,
3595
3603
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3596
- }, al = "tpl-merge-tag-picker-list", ol = /* @__PURE__ */ N({
3604
+ }, il = "tpl-merge-tag-picker-list", al = /* @__PURE__ */ N({
3597
3605
  __name: "MergeTagPickerModal",
3598
3606
  setup(e) {
3599
- let t = Ee(Ke, "MergeTagPickerModal"), { t: n, format: i } = H(), a = d(bt, null), o = d(yt, null), c = m(""), p = et(c, 200), h = m(null), w = v(() => p.value.trim().length > 0), O = m(0), A = v(() => t.tags.value.some((e) => !!e.group)), M = m(/* @__PURE__ */ new Set());
3607
+ let t = je(Me, "MergeTagPickerModal"), { t: n, format: i } = W(), a = d(Pe, null), o = d(Ze, null), c = m(""), p = ke(c, 200), h = m(null), w = v(() => p.value.trim().length > 0), O = m(0), A = v(() => t.tags.value.some((e) => !!e.group)), M = m(/* @__PURE__ */ new Set());
3600
3608
  function N(e) {
3601
3609
  return M.value.has(e);
3602
3610
  }
3603
- function ee(e) {
3611
+ function I(e) {
3604
3612
  let t = new Set(M.value);
3605
3613
  t.has(e) ? t.delete(e) : t.add(e), M.value = t, O.value = 0;
3606
3614
  }
3607
- let I = v(() => {
3615
+ let L = v(() => {
3608
3616
  let e = p.value.trim().toLowerCase();
3609
3617
  return e ? t.tags.value.filter((t) => [
3610
3618
  t.label,
3611
3619
  t.value,
3612
3620
  t.description ?? ""
3613
3621
  ].join(" ").toLowerCase().includes(e)) : t.tags.value;
3614
- }), L = v(() => {
3622
+ }), R = v(() => {
3615
3623
  if (!A.value) return [];
3616
3624
  let e = n.mergeTag.picker.otherGroup, r = /* @__PURE__ */ new Set(), i = [];
3617
3625
  for (let n of t.tags.value) {
@@ -3619,8 +3627,8 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3619
3627
  r.has(t) || (r.add(t), i.push(t));
3620
3628
  }
3621
3629
  return i;
3622
- }), R = v(() => {
3623
- let e = I.value;
3630
+ }), z = v(() => {
3631
+ let e = L.value;
3624
3632
  if (!A.value || w.value) return e.map((e, t) => ({
3625
3633
  kind: "tag",
3626
3634
  tag: e,
@@ -3645,42 +3653,42 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3645
3653
  }), o++;
3646
3654
  }
3647
3655
  return a;
3648
- }), z = v(() => R.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3656
+ }), B = v(() => z.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3649
3657
  F(() => t.isOpen.value, (e) => {
3650
3658
  e && (c.value = "", O.value = 0, M.value = /* @__PURE__ */ new Set(), l(() => {
3651
3659
  h.value?.focus();
3652
3660
  }));
3653
- }), F(z, (e) => {
3661
+ }), F(B, (e) => {
3654
3662
  O.value >= e.length && (O.value = Math.max(0, e.length - 1));
3655
3663
  });
3656
- function B(e) {
3664
+ function V(e) {
3657
3665
  t.resolve(e);
3658
3666
  }
3659
- function te() {
3667
+ function ee() {
3660
3668
  t.resolve(null);
3661
3669
  }
3662
- function ne(e) {
3663
- if (z.value.length === 0) return;
3670
+ function te(e) {
3671
+ if (B.value.length === 0) return;
3664
3672
  let t = O.value + e;
3665
- O.value = Math.max(0, Math.min(z.value.length - 1, t)), oe();
3673
+ O.value = Math.max(0, Math.min(B.value.length - 1, t)), re();
3666
3674
  }
3667
- let re = m(null), ie = m({});
3668
- function ae(e, t) {
3669
- ie.value[e] = t ?? null;
3675
+ let H = m(null), ne = m({});
3676
+ function U(e, t) {
3677
+ ne.value[e] = t ?? null;
3670
3678
  }
3671
- function oe() {
3679
+ function re() {
3672
3680
  l(() => {
3673
- let e = re.value;
3681
+ let e = H.value;
3674
3682
  e && e.querySelector(`[data-merge-tag-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
3675
3683
  });
3676
3684
  }
3677
- function se(e) {
3685
+ function ie(e) {
3678
3686
  if (M.value.has(e)) {
3679
3687
  let t = new Set(M.value);
3680
3688
  t.delete(e), M.value = t;
3681
3689
  }
3682
3690
  l(() => {
3683
- let t = re.value;
3691
+ let t = H.value;
3684
3692
  if (!t) return;
3685
3693
  let n = 0, r = !1;
3686
3694
  for (let i of Array.from(t.children)) {
@@ -3696,55 +3704,55 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3696
3704
  });
3697
3705
  });
3698
3706
  }
3699
- function ce(e) {
3700
- if (e.key === "ArrowDown") e.preventDefault(), ne(1);
3701
- else if (e.key === "ArrowUp") e.preventDefault(), ne(-1);
3707
+ function ae(e) {
3708
+ if (e.key === "ArrowDown") e.preventDefault(), te(1);
3709
+ else if (e.key === "ArrowUp") e.preventDefault(), te(-1);
3702
3710
  else if (e.key === "Enter") {
3703
3711
  e.preventDefault();
3704
- let t = z.value[O.value];
3705
- t && B(t);
3712
+ let t = B.value[O.value];
3713
+ t && V(t);
3706
3714
  }
3707
3715
  }
3708
- function le() {
3709
- if (z.value.length !== 0) return `${al}-opt-${O.value}`;
3716
+ function oe() {
3717
+ if (B.value.length !== 0) return `${il}-opt-${O.value}`;
3710
3718
  }
3711
- function V(e) {
3712
- return `${al}-opt-${e}`;
3719
+ function se(e) {
3720
+ return `${il}-opt-${e}`;
3713
3721
  }
3714
- let ue = v(() => t.tags.value.length === 0), de = v(() => !ue.value && I.value.length === 0), fe = v(() => A.value && L.value.length > 1 && !w.value);
3715
- return (e, l) => (s(), C($e, {
3722
+ let ce = v(() => t.tags.value.length === 0), le = v(() => !ce.value && L.value.length === 0), ue = v(() => A.value && R.value.length > 1 && !w.value);
3723
+ return (e, l) => (s(), C($t, {
3716
3724
  visible: x(t).isOpen.value,
3717
- onClose: te,
3718
- onKeydown: ce
3725
+ onClose: ee,
3726
+ onKeydown: ae
3719
3727
  }, {
3720
3728
  default: f(() => [D("div", {
3721
3729
  role: "dialog",
3722
3730
  "aria-modal": "true",
3723
- "aria-labelledby": `${al}-title`,
3731
+ "aria-labelledby": `${il}-title`,
3724
3732
  "data-tpl-theme": x(o),
3725
3733
  "data-testid": "merge-tag-picker-modal",
3726
3734
  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)]",
3727
3735
  style: k(x(a))
3728
3736
  }, [
3729
- D("header", Uc, [D("h2", {
3730
- id: `${al}-title`,
3737
+ D("header", Hc, [D("h2", {
3738
+ id: `${il}-title`,
3731
3739
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
3732
- }, _(x(n).mergeTag.picker.title), 9, Wc), D("button", {
3740
+ }, _(x(n).mergeTag.picker.title), 9, Uc), D("button", {
3733
3741
  type: "button",
3734
3742
  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)]",
3735
3743
  "aria-label": x(n).mergeTag.picker.close,
3736
3744
  "data-testid": "merge-tag-picker-close",
3737
- onClick: te
3738
- }, [P(x(We), {
3745
+ onClick: ee
3746
+ }, [P(x(Et), {
3739
3747
  size: 16,
3740
3748
  "stroke-width": 2
3741
- })], 8, Gc)]),
3742
- D("div", Kc, [P(x(Ht), {
3749
+ })], 8, Wc)]),
3750
+ D("div", Gc, [P(x(ut), {
3743
3751
  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)]",
3744
3752
  size: 14,
3745
3753
  "stroke-width": 2
3746
3754
  }), r(D("input", {
3747
- id: `${al}-search`,
3755
+ id: `${il}-search`,
3748
3756
  ref_key: "searchInputRef",
3749
3757
  ref: h,
3750
3758
  "onUpdate:modelValue": l[0] ||= (e) => c.value = e,
@@ -3752,50 +3760,50 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3752
3760
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)]",
3753
3761
  placeholder: x(n).mergeTag.picker.searchPlaceholder,
3754
3762
  "aria-label": x(n).mergeTag.picker.searchAriaLabel,
3755
- "aria-controls": al,
3756
- "aria-activedescendant": le(),
3763
+ "aria-controls": il,
3764
+ "aria-activedescendant": oe(),
3757
3765
  "data-testid": "merge-tag-picker-search",
3758
3766
  onKeydown: l[1] ||= g(S(() => {}, ["prevent"]), ["enter"])
3759
- }, null, 40, qc), [[T, c.value]])]),
3760
- fe.value ? (s(), y("div", Jc, [(s(!0), y(j, null, u(L.value, (e) => (s(), y("button", {
3767
+ }, null, 40, Kc), [[T, c.value]])]),
3768
+ ue.value ? (s(), y("div", qc, [(s(!0), y(j, null, u(R.value, (e) => (s(), y("button", {
3761
3769
  key: e,
3762
3770
  type: "button",
3763
3771
  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)]",
3764
3772
  "data-testid": "merge-tag-picker-group-pill",
3765
3773
  "data-group-name": e,
3766
- onClick: (t) => se(e)
3767
- }, _(e), 9, Yc))), 128))])) : b("", !0),
3774
+ onClick: (t) => ie(e)
3775
+ }, _(e), 9, Jc))), 128))])) : b("", !0),
3768
3776
  D("div", {
3769
- id: al,
3777
+ id: il,
3770
3778
  ref_key: "listRef",
3771
- ref: re,
3779
+ ref: H,
3772
3780
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
3773
3781
  role: "listbox",
3774
3782
  "aria-label": x(n).mergeTag.picker.title,
3775
3783
  "data-testid": "merge-tag-picker-list"
3776
- }, [ue.value ? (s(), y("div", Zc, _(x(n).mergeTag.picker.empty), 1)) : de.value ? (s(), y("div", Qc, _(x(n).mergeTag.picker.noResults), 1)) : (s(!0), y(j, { key: 2 }, u(R.value, (e, t) => (s(), y(j, { key: t }, [e.kind === "header" ? (s(), y("button", {
3784
+ }, [ce.value ? (s(), y("div", Xc, _(x(n).mergeTag.picker.empty), 1)) : le.value ? (s(), y("div", Zc, _(x(n).mergeTag.picker.noResults), 1)) : (s(!0), y(j, { key: 2 }, u(z.value, (e, t) => (s(), y(j, { key: t }, [e.kind === "header" ? (s(), y("button", {
3777
3785
  key: 0,
3778
3786
  ref_for: !0,
3779
- ref: (t) => ae(e.group, t),
3787
+ ref: (t) => U(e.group, t),
3780
3788
  type: "button",
3781
3789
  "aria-expanded": !N(e.group),
3782
- "aria-controls": al,
3790
+ "aria-controls": il,
3783
3791
  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)]",
3784
3792
  "data-testid": "merge-tag-picker-group-header",
3785
3793
  "data-group-name": e.group,
3786
3794
  "data-group-collapsed": N(e.group) ? "true" : "false",
3787
- onClick: (t) => ee(e.group)
3795
+ onClick: (t) => I(e.group)
3788
3796
  }, [
3789
- P(x(ge), {
3797
+ P(x(pt), {
3790
3798
  size: 12,
3791
3799
  "stroke-width": 2,
3792
3800
  class: E(["tpl:transition-transform", N(e.group) ? "tpl:-rotate-90" : ""])
3793
3801
  }, null, 8, ["class"]),
3794
3802
  D("span", null, _(e.group), 1),
3795
- D("span", el, " (" + _(x(i)(x(n).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
3796
- ], 8, $c)) : (s(), y("button", {
3803
+ D("span", $c, " (" + _(x(i)(x(n).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
3804
+ ], 8, Qc)) : (s(), y("button", {
3797
3805
  key: 1,
3798
- id: V(e.index),
3806
+ id: se(e.index),
3799
3807
  type: "button",
3800
3808
  role: "option",
3801
3809
  "aria-selected": e.index === O.value,
@@ -3806,24 +3814,24 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3806
3814
  class: E(["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 === O.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)]"]),
3807
3815
  "data-testid": "merge-tag-picker-item",
3808
3816
  onMousemove: (t) => O.value = e.index,
3809
- onClick: (t) => B(e.tag)
3817
+ onClick: (t) => V(e.tag)
3810
3818
  }, [
3811
- D("span", nl, _(e.tag.label), 1),
3812
- D("span", rl, _(e.tag.value), 1),
3813
- e.tag.description ? (s(), y("span", il, _(e.tag.description), 1)) : b("", !0)
3814
- ], 42, tl))], 64))), 128))], 8, Xc)
3815
- ], 12, Hc)]),
3819
+ D("span", tl, _(e.tag.label), 1),
3820
+ D("span", nl, _(e.tag.value), 1),
3821
+ e.tag.description ? (s(), y("span", rl, _(e.tag.description), 1)) : b("", !0)
3822
+ ], 42, el))], 64))), 128))], 8, Yc)
3823
+ ], 12, Vc)]),
3816
3824
  _: 1
3817
3825
  }, 8, ["visible"]));
3818
3826
  }
3819
- }), sl = ["data-logic-keyword"], cl = /* @__PURE__ */ N({
3827
+ }), ol = ["data-logic-keyword"], sl = /* @__PURE__ */ N({
3820
3828
  __name: "LogicTagBadge",
3821
3829
  props: {
3822
3830
  value: {},
3823
3831
  syntax: {}
3824
3832
  },
3825
3833
  setup(e) {
3826
- let t = e, n = v(() => Oe(t.value, t.syntax)), r = v(() => xt(t.value, t.syntax));
3834
+ let t = e, n = v(() => R(t.value, t.syntax)), r = v(() => B(t.value, t.syntax));
3827
3835
  return (e, t) => n.value ? (s(), y("span", {
3828
3836
  key: 0,
3829
3837
  class: "tpl:inline-flex tpl:flex-shrink-0 tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:leading-none tpl:font-bold tpl:tracking-wide tpl:uppercase",
@@ -3833,22 +3841,22 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3833
3841
  },
3834
3842
  "data-testid": "merge-tag-logic-badge",
3835
3843
  "data-logic-keyword": r.value
3836
- }, _(r.value), 9, sl)) : b("", !0);
3844
+ }, _(r.value), 9, ol)) : b("", !0);
3837
3845
  }
3838
- }), ll = ["aria-labelledby", "data-tpl-theme"], ul = { 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" }, dl = ["id"], fl = ["aria-label"], pl = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, ml = [
3846
+ }), cl = ["aria-labelledby", "data-tpl-theme"], ll = { 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" }, ul = ["id"], dl = ["aria-label"], fl = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, pl = [
3839
3847
  "id",
3840
3848
  "placeholder",
3841
3849
  "aria-label",
3842
3850
  "aria-activedescendant"
3843
- ], hl = ["aria-label"], gl = {
3851
+ ], ml = ["aria-label"], hl = {
3844
3852
  key: 0,
3845
3853
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3846
3854
  "data-testid": "logic-picker-empty"
3847
- }, _l = {
3855
+ }, gl = {
3848
3856
  key: 1,
3849
3857
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3850
3858
  "data-testid": "logic-picker-empty"
3851
- }, vl = ["data-group-name"], yl = [
3859
+ }, _l = ["data-group-name"], vl = [
3852
3860
  "id",
3853
3861
  "aria-selected",
3854
3862
  "data-selected",
@@ -3856,19 +3864,19 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3856
3864
  "data-logic-kind",
3857
3865
  "onMousemove",
3858
3866
  "onClick"
3859
- ], bl = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, xl = { class: "tpl:text-sm tpl:font-medium" }, Sl = {
3867
+ ], yl = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, bl = { class: "tpl:text-sm tpl:font-medium" }, xl = {
3860
3868
  key: 0,
3861
3869
  class: "tpl:flex tpl:items-center"
3862
- }, Cl = {
3870
+ }, Sl = {
3863
3871
  key: 1,
3864
3872
  class: "tpl:flex tpl:items-center tpl:gap-1"
3865
- }, wl = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Tl = {
3873
+ }, Cl = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, wl = {
3866
3874
  key: 0,
3867
3875
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3868
- }, El = "tpl-logic-picker-list", Dl = /* @__PURE__ */ N({
3876
+ }, Tl = "tpl-logic-picker-list", El = /* @__PURE__ */ N({
3869
3877
  __name: "LogicTagPickerModal",
3870
3878
  setup(e) {
3871
- let t = Ee(Ue, "LogicTagPickerModal"), { t: n } = H(), i = d(ct, he.liquid), a = d(bt, null), o = d(yt, null), c = m(""), p = et(c, 200), h = m(null), w = v(() => p.value.trim().length > 0), O = m(0);
3879
+ let t = je(Xe, "LogicTagPickerModal"), { t: n } = W(), i = d(Ie, ee.liquid), a = d(Pe, null), o = d(Ze, null), c = m(""), p = ke(c, 200), h = m(null), w = v(() => p.value.trim().length > 0), O = m(0);
3872
3880
  function A(e) {
3873
3881
  let t = p.value.trim().toLowerCase();
3874
3882
  return !t || e.filter(Boolean).join(" ").toLowerCase().includes(t);
@@ -3882,7 +3890,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3882
3890
  e.before,
3883
3891
  e.after,
3884
3892
  e.description
3885
- ]))), ee = v(() => [...N.value.map((e) => ({
3893
+ ]))), I = v(() => [...N.value.map((e) => ({
3886
3894
  kind: "pair",
3887
3895
  pair: e,
3888
3896
  group: e.group
@@ -3890,8 +3898,8 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3890
3898
  kind: "tag",
3891
3899
  tag: e,
3892
3900
  group: e.group
3893
- }))]), I = v(() => t.tags.value.some((e) => !!e.group) || t.pairs.value.some((e) => !!e.group));
3894
- function L(e) {
3901
+ }))]), L = v(() => t.tags.value.some((e) => !!e.group) || t.pairs.value.some((e) => !!e.group));
3902
+ function R(e) {
3895
3903
  let t = n.logicTag.picker.otherGroup, r = /* @__PURE__ */ new Map(), i = [];
3896
3904
  for (let n of e) {
3897
3905
  let e = n.group ?? t;
@@ -3899,7 +3907,7 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3899
3907
  }
3900
3908
  return i.map((e) => [e, r.get(e)]);
3901
3909
  }
3902
- let R = v(() => {
3910
+ let z = v(() => {
3903
3911
  let e = [], t = [], n = 0, r = (r) => {
3904
3912
  r.kind === "tag" ? (e.push({
3905
3913
  kind: "tag",
@@ -3910,9 +3918,9 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3910
3918
  pair: r.pair,
3911
3919
  index: n
3912
3920
  }), t.push(r.pair)), n++;
3913
- }, i = ee.value;
3914
- if (w.value || !I.value) for (let e of i) r(e);
3915
- else for (let [t, n] of L(i)) {
3921
+ }, i = I.value;
3922
+ if (w.value || !L.value) for (let e of i) r(e);
3923
+ else for (let [t, n] of R(i)) {
3916
3924
  e.push({
3917
3925
  kind: "header",
3918
3926
  label: t
@@ -3923,72 +3931,72 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3923
3931
  rows: e,
3924
3932
  items: t
3925
3933
  };
3926
- }), z = v(() => R.value.items), B = v(() => t.tags.value.length === 0 && t.pairs.value.length === 0), te = v(() => !B.value && z.value.length === 0);
3934
+ }), B = v(() => z.value.items), V = v(() => t.tags.value.length === 0 && t.pairs.value.length === 0), te = v(() => !V.value && B.value.length === 0);
3927
3935
  F(() => t.isOpen.value, (e) => {
3928
3936
  e && (c.value = "", O.value = 0, l(() => h.value?.focus()));
3929
- }), F(z, (e) => {
3937
+ }), F(B, (e) => {
3930
3938
  O.value >= e.length && (O.value = Math.max(0, e.length - 1));
3931
3939
  });
3932
- let ne = m(null);
3933
- function re(e) {
3940
+ let H = m(null);
3941
+ function ne(e) {
3934
3942
  t.resolve(e);
3935
3943
  }
3936
- function ie() {
3944
+ function U() {
3937
3945
  t.resolve(null);
3938
3946
  }
3939
- function ae(e) {
3940
- z.value.length !== 0 && (O.value = Math.max(0, Math.min(z.value.length - 1, O.value + e)), l(() => {
3941
- ne.value?.querySelector(`[data-logic-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
3947
+ function re(e) {
3948
+ B.value.length !== 0 && (O.value = Math.max(0, Math.min(B.value.length - 1, O.value + e)), l(() => {
3949
+ H.value?.querySelector(`[data-logic-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
3942
3950
  }));
3943
3951
  }
3944
- function oe(e) {
3945
- if (e.key === "ArrowDown") e.preventDefault(), ae(1);
3946
- else if (e.key === "ArrowUp") e.preventDefault(), ae(-1);
3952
+ function ie(e) {
3953
+ if (e.key === "ArrowDown") e.preventDefault(), re(1);
3954
+ else if (e.key === "ArrowUp") e.preventDefault(), re(-1);
3947
3955
  else if (e.key === "Enter") {
3948
3956
  e.preventDefault();
3949
- let t = z.value[O.value];
3950
- t && re(t);
3957
+ let t = B.value[O.value];
3958
+ t && ne(t);
3951
3959
  }
3952
3960
  }
3953
- function se(e) {
3954
- return `${El}-opt-${e}`;
3961
+ function ae(e) {
3962
+ return `${Tl}-opt-${e}`;
3955
3963
  }
3956
- function ce() {
3957
- return z.value.length === 0 ? void 0 : `${El}-opt-${O.value}`;
3964
+ function oe() {
3965
+ return B.value.length === 0 ? void 0 : `${Tl}-opt-${O.value}`;
3958
3966
  }
3959
- return (e, l) => (s(), C($e, {
3967
+ return (e, l) => (s(), C($t, {
3960
3968
  visible: x(t).isOpen.value,
3961
- onClose: ie,
3962
- onKeydown: oe
3969
+ onClose: U,
3970
+ onKeydown: ie
3963
3971
  }, {
3964
3972
  default: f(() => [D("div", {
3965
3973
  role: "dialog",
3966
3974
  "aria-modal": "true",
3967
- "aria-labelledby": `${El}-title`,
3975
+ "aria-labelledby": `${Tl}-title`,
3968
3976
  "data-tpl-theme": x(o),
3969
3977
  "data-testid": "logic-picker-modal",
3970
3978
  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)]",
3971
3979
  style: k(x(a))
3972
3980
  }, [
3973
- D("header", ul, [D("h2", {
3974
- id: `${El}-title`,
3981
+ D("header", ll, [D("h2", {
3982
+ id: `${Tl}-title`,
3975
3983
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
3976
- }, _(x(n).logicTag.picker.title), 9, dl), D("button", {
3984
+ }, _(x(n).logicTag.picker.title), 9, ul), D("button", {
3977
3985
  type: "button",
3978
3986
  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)]",
3979
3987
  "aria-label": x(n).logicTag.picker.close,
3980
3988
  "data-testid": "logic-picker-close",
3981
- onClick: ie
3982
- }, [P(x(We), {
3989
+ onClick: U
3990
+ }, [P(x(Et), {
3983
3991
  size: 16,
3984
3992
  "stroke-width": 2
3985
- })], 8, fl)]),
3986
- D("div", pl, [P(x(Ht), {
3993
+ })], 8, dl)]),
3994
+ D("div", fl, [P(x(ut), {
3987
3995
  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)]",
3988
3996
  size: 14,
3989
3997
  "stroke-width": 2
3990
3998
  }), r(D("input", {
3991
- id: `${El}-search`,
3999
+ id: `${Tl}-search`,
3992
4000
  ref_key: "searchInputRef",
3993
4001
  ref: h,
3994
4002
  "onUpdate:modelValue": l[0] ||= (e) => c.value = e,
@@ -3996,27 +4004,27 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
3996
4004
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)]",
3997
4005
  placeholder: x(n).logicTag.picker.searchPlaceholder,
3998
4006
  "aria-label": x(n).logicTag.picker.searchAriaLabel,
3999
- "aria-controls": El,
4000
- "aria-activedescendant": ce(),
4007
+ "aria-controls": Tl,
4008
+ "aria-activedescendant": oe(),
4001
4009
  "data-testid": "logic-picker-search",
4002
4010
  onKeydown: l[1] ||= g(S(() => {}, ["prevent"]), ["enter"])
4003
- }, null, 40, ml), [[T, c.value]])]),
4011
+ }, null, 40, pl), [[T, c.value]])]),
4004
4012
  D("div", {
4005
- id: El,
4013
+ id: Tl,
4006
4014
  ref_key: "listRef",
4007
- ref: ne,
4015
+ ref: H,
4008
4016
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
4009
4017
  role: "listbox",
4010
4018
  "aria-label": x(n).logicTag.picker.title,
4011
4019
  "data-testid": "logic-picker-list"
4012
- }, [B.value ? (s(), y("div", gl, _(x(n).logicTag.picker.empty), 1)) : te.value ? (s(), y("div", _l, _(x(n).logicTag.picker.noResults), 1)) : (s(!0), y(j, { key: 2 }, u(R.value.rows, (e, t) => (s(), y(j, { key: t }, [e.kind === "header" ? (s(), y("div", {
4020
+ }, [V.value ? (s(), y("div", hl, _(x(n).logicTag.picker.empty), 1)) : te.value ? (s(), y("div", gl, _(x(n).logicTag.picker.noResults), 1)) : (s(!0), y(j, { key: 2 }, u(z.value.rows, (e, t) => (s(), y(j, { key: t }, [e.kind === "header" ? (s(), y("div", {
4013
4021
  key: 0,
4014
4022
  class: "tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]",
4015
4023
  "data-testid": "logic-picker-header",
4016
4024
  "data-group-name": e.label
4017
- }, _(e.label), 9, vl)) : (s(), y("button", {
4025
+ }, _(e.label), 9, _l)) : (s(), y("button", {
4018
4026
  key: 1,
4019
- id: se(e.index),
4027
+ id: ae(e.index),
4020
4028
  type: "button",
4021
4029
  role: "option",
4022
4030
  "aria-selected": e.index === O.value,
@@ -4026,31 +4034,31 @@ var _o = { class: "tpl:mb-3.5" }, vo = ["value"], yo = ["value"], bo = {
4026
4034
  class: E(["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 === O.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)]"]),
4027
4035
  "data-testid": "logic-picker-item",
4028
4036
  onMousemove: (t) => O.value = e.index,
4029
- onClick: (t) => re(e.kind === "tag" ? e.tag : e.pair)
4037
+ onClick: (t) => ne(e.kind === "tag" ? e.tag : e.pair)
4030
4038
  }, [
4031
- D("span", bl, [D("span", xl, _(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (s(), y("span", Sl, [P(cl, {
4039
+ D("span", yl, [D("span", bl, _(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (s(), y("span", xl, [P(sl, {
4032
4040
  value: e.tag.value,
4033
4041
  syntax: x(i)
4034
- }, null, 8, ["value", "syntax"])])) : (s(), y("span", Cl, [
4035
- P(cl, {
4042
+ }, null, 8, ["value", "syntax"])])) : (s(), y("span", Sl, [
4043
+ P(sl, {
4036
4044
  value: e.pair.before,
4037
4045
  syntax: x(i)
4038
4046
  }, null, 8, ["value", "syntax"]),
4039
4047
  l[2] ||= D("span", { class: "tpl:text-[var(--tpl-text-dim)]" }, "…", -1),
4040
- P(cl, {
4048
+ P(sl, {
4041
4049
  value: e.pair.after,
4042
4050
  syntax: x(i)
4043
4051
  }, null, 8, ["value", "syntax"])
4044
4052
  ]))]),
4045
- D("span", wl, _(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4046
- (e.kind === "tag" ? e.tag.description : e.pair.description) ? (s(), y("span", Tl, _(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : b("", !0)
4047
- ], 42, yl))], 64))), 128))], 8, hl)
4048
- ], 12, ll)]),
4053
+ D("span", Cl, _(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4054
+ (e.kind === "tag" ? e.tag.description : e.pair.description) ? (s(), y("span", wl, _(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : b("", !0)
4055
+ ], 42, vl))], 64))), 128))], 8, ml)
4056
+ ], 12, cl)]),
4049
4057
  _: 1
4050
4058
  }, 8, ["visible"]));
4051
4059
  }
4052
4060
  });
4053
4061
  //#endregion
4054
- export { Ic as a, Ec as c, hn as d, rn as f, Rc as i, Tn as l, ol as n, Pc as o, nn as p, Vc as r, jc as s, Dl as t, gn as u };
4062
+ export { Fc as a, Tc as c, pn as d, tn as f, Lc as i, Cn as l, al as n, Nc as o, en as p, Bc as r, Ac as s, El as t, mn as u };
4055
4063
 
4056
- //# sourceMappingURL=styles-Bp5Jsu9J.js.map
4064
+ //# sourceMappingURL=styles-DMOEiSX9.js.map