@templatical/editor 0.8.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/{AiChatSidebar-uhkhnXQd.js → AiChatSidebar-BUKj9n02.js} +4 -4
  2. package/dist/{AiFeatureMenu-DXNKvXP5.js → AiFeatureMenu-Co14YVJt.js} +3 -3
  3. package/dist/{BlockIssueBadge-DM-vXeD6.js → BlockIssueBadge-DThKKeub.js} +2 -2
  4. package/dist/{CloudEditor-BSkPQjwo.js → CloudEditor-CAtw_sFC.js} +217 -216
  5. package/dist/{CollaboratorBar-CP76Sh6c.js → CollaboratorBar-Bc6q0gB9.js} +2 -2
  6. package/dist/{CommentsSidebar-_llWQ4VT.js → CommentsSidebar-DiH4R4F0.js} +3 -3
  7. package/dist/{CountdownBlock-I99sC0C5.js → CountdownBlock-BTPefclD.js} +2 -2
  8. package/dist/{CountdownToolbar-BUhOUiQ9.js → CountdownToolbar-Dvr2icg-.js} +2 -2
  9. package/dist/{DesignReferenceSidebar-CfJqJ7l6.js → DesignReferenceSidebar-BP32MgpS.js} +2 -2
  10. package/dist/{IssuesPanel-4MKZe8yP.js → IssuesPanel-B1LT91IX.js} +2 -2
  11. package/dist/{ModuleBrowserModal-BFQTm6uY.js → ModuleBrowserModal-CWegFoOA.js} +77 -85
  12. package/dist/{ModulePreviewCanvas-DeqMpo73.js → ModulePreviewCanvas-D9WUSSRT.js} +2 -2
  13. package/dist/{NumberWithSuffix-CxMFy_j3.js → NumberWithSuffix-CxUBW_V2.js} +2 -2
  14. package/dist/{ParagraphEditor-DqomSbW3.js → ParagraphEditor-DrAz2yot.js} +115 -115
  15. package/dist/{RichTextEditorContent-B_KCY6T1.js → RichTextEditorContent-gR169m1-.js} +4 -4
  16. package/dist/{SaveModuleDialog-DKcpPeWd.js → SaveModuleDialog-DWidA0c9.js} +6 -6
  17. package/dist/{SnapshotHistory-Z9RQj53S.js → SnapshotHistory-CIo2Jaw-.js} +4 -4
  18. package/dist/{TemplateScoringPanel-BIwEwFxD.js → TemplateScoringPanel-seBvvn8O.js} +2 -2
  19. package/dist/{TestEmailModal-C8DhylO1.js → TestEmailModal-BuCuWp3N.js} +3 -3
  20. package/dist/{TitleEditor-CgLrn6R3.js → TitleEditor-BmW0uMl7.js} +64 -64
  21. package/dist/{TplModal-CbwRwmR3.js → TplModal-YFpBaiLj.js} +4 -4
  22. package/dist/{blockTypeIcons-CccKujXP.js → blockTypeIcons-DCkHXPhx.js} +19 -11
  23. package/dist/bundle-stats.json +8 -8
  24. package/dist/cdn/chunks/{AiFeatureMenu-ChNv7XXj.js → AiFeatureMenu-Dayzk2H7.js} +2 -2
  25. package/dist/cdn/chunks/{AiFeatureMenu-ChNv7XXj.js.map → AiFeatureMenu-Dayzk2H7.js.map} +1 -1
  26. package/dist/cdn/chunks/{BlockIssueBadge-BovmWgok.js → BlockIssueBadge-D_US2wqo.js} +4 -4
  27. package/dist/cdn/chunks/{BlockIssueBadge-BovmWgok.js.map → BlockIssueBadge-D_US2wqo.js.map} +1 -1
  28. package/dist/cdn/chunks/{CloudEditor-CHF_P5OL.js → CloudEditor-CyJItWsK.js} +186 -185
  29. package/dist/cdn/chunks/{CloudEditor-CHF_P5OL.js.map → CloudEditor-CyJItWsK.js.map} +1 -1
  30. package/dist/cdn/chunks/{CollaboratorBar-Bjr5YSh0.js → CollaboratorBar-C4CFs5EJ.js} +3 -3
  31. package/dist/cdn/chunks/{CollaboratorBar-Bjr5YSh0.js.map → CollaboratorBar-C4CFs5EJ.js.map} +1 -1
  32. package/dist/cdn/chunks/{CountdownBlock-KyzvhjMF.js → CountdownBlock-D6lCXhZA.js} +2 -2
  33. package/dist/cdn/chunks/{CountdownBlock-KyzvhjMF.js.map → CountdownBlock-D6lCXhZA.js.map} +1 -1
  34. package/dist/cdn/chunks/{CountdownToolbar-bJtMHGYz.js → CountdownToolbar-BsGUxoRv.js} +3 -3
  35. package/dist/cdn/chunks/{CountdownToolbar-bJtMHGYz.js.map → CountdownToolbar-BsGUxoRv.js.map} +1 -1
  36. package/dist/cdn/chunks/{IssuesPanel-DFSYTQXy.js → IssuesPanel-DeHTmRDz.js} +5 -5
  37. package/dist/cdn/chunks/{IssuesPanel-DFSYTQXy.js.map → IssuesPanel-DeHTmRDz.js.map} +1 -1
  38. package/dist/cdn/chunks/{ModuleBrowserModal-DS0BGRhZ.js → ModuleBrowserModal-Cgjz4xAz.js} +8 -8
  39. package/dist/cdn/chunks/ModuleBrowserModal-Cgjz4xAz.js.map +1 -0
  40. package/dist/cdn/chunks/{ModulePreviewCanvas-Dwn2cA5a.js → ModulePreviewCanvas-CeS9PsAA.js} +2 -2
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-Dwn2cA5a.js.map → ModulePreviewCanvas-CeS9PsAA.js.map} +1 -1
  42. package/dist/cdn/chunks/{NumberWithSuffix-BNBeHv0P.js → NumberWithSuffix-Bp-idLCc.js} +2 -2
  43. package/dist/cdn/chunks/{NumberWithSuffix-BNBeHv0P.js.map → NumberWithSuffix-Bp-idLCc.js.map} +1 -1
  44. package/dist/cdn/chunks/{ParagraphEditor-C4TrTIOm.js → ParagraphEditor-fM9aFu8T.js} +105 -105
  45. package/dist/cdn/chunks/ParagraphEditor-fM9aFu8T.js.map +1 -0
  46. package/dist/cdn/chunks/{RichTextEditorContent-HNFFL4aK.js → RichTextEditorContent-DwNPE5H5.js} +4 -4
  47. package/dist/cdn/chunks/{RichTextEditorContent-HNFFL4aK.js.map → RichTextEditorContent-DwNPE5H5.js.map} +1 -1
  48. package/dist/cdn/chunks/{SaveModuleDialog-CbHqqeID.js → SaveModuleDialog-BrtDXzIz.js} +4 -4
  49. package/dist/cdn/chunks/SaveModuleDialog-BrtDXzIz.js.map +1 -0
  50. package/dist/cdn/chunks/TitleEditor-D0rSnye0.js +175 -0
  51. package/dist/cdn/chunks/TitleEditor-D0rSnye0.js.map +1 -0
  52. package/dist/cdn/chunks/{blockTypeIcons-BUlgu9JL.js → blockTypeIcons-YOEe5mDE.js} +3 -3
  53. package/dist/cdn/chunks/{blockTypeIcons-BUlgu9JL.js.map → blockTypeIcons-YOEe5mDE.js.map} +1 -1
  54. package/dist/{de-ED7c5RpG.js → cdn/chunks/de-CATfXDKV.js} +14 -1
  55. package/dist/cdn/chunks/{de-ED7c5RpG.js.map → de-CATfXDKV.js.map} +1 -1
  56. package/dist/cdn/chunks/{en-ivilDUn0.js → en-CwCAgYL5.js} +13 -2
  57. package/dist/cdn/chunks/{en-ivilDUn0.js.map → en-CwCAgYL5.js.map} +1 -1
  58. package/dist/cdn/chunks/{extensions-DK_lVs7A.js → extensions-GYsbQFPr.js} +25 -22
  59. package/dist/cdn/chunks/extensions-GYsbQFPr.js.map +1 -0
  60. package/dist/cdn/chunks/{features-LiilsBqW.js → features-D-2kVhHY.js} +1232 -1189
  61. package/dist/cdn/chunks/features-D-2kVhHY.js.map +1 -0
  62. package/dist/cdn/chunks/{icons-Bn2SIR30.js → icons-fZoyKV_s.js} +2 -2
  63. package/dist/cdn/chunks/{icons-Bn2SIR30.js.map → icons-fZoyKV_s.js.map} +1 -1
  64. package/dist/cdn/chunks/{media-library-Bb2PavAd.js → media-library-CO2WOETY.js} +240 -240
  65. package/dist/cdn/chunks/{media-library-Bb2PavAd.js.map → media-library-CO2WOETY.js.map} +1 -1
  66. package/dist/{pt-BR-B5tm2iBl.js → cdn/chunks/pt-BR-D3Mg7AKe.js} +14 -1
  67. package/dist/cdn/chunks/{pt-BR-B5tm2iBl.js.map → pt-BR-D3Mg7AKe.js.map} +1 -1
  68. package/dist/cdn/chunks/{quality-Bpj6kNxR.js → quality-BxPiS-wv.js} +464 -464
  69. package/dist/cdn/chunks/{quality-Bpj6kNxR.js.map → quality-BxPiS-wv.js.map} +1 -1
  70. package/dist/cdn/chunks/{renderer-CYYyu-Di.js → renderer-7z2t_bYQ.js} +68 -68
  71. package/dist/cdn/chunks/{renderer-CYYyu-Di.js.map → renderer-7z2t_bYQ.js.map} +1 -1
  72. package/dist/cdn/chunks/{src-CQjZnxvw.js → src-ftxPuuQh.js} +4 -4
  73. package/dist/cdn/chunks/{src-CQjZnxvw.js.map → src-ftxPuuQh.js.map} +1 -1
  74. package/dist/cdn/chunks/{styles-5g8XOS68.js → styles-o0HIrw9F.js} +877 -622
  75. package/dist/cdn/chunks/styles-o0HIrw9F.js.map +1 -0
  76. package/dist/cdn/editor.css +1 -1
  77. package/dist/cdn/editor.js +102 -101
  78. package/dist/cdn/editor.js.map +1 -1
  79. package/dist/{cdn/chunks/de-ED7c5RpG.js → de-CATfXDKV.js} +12 -3
  80. package/dist/{dist-HO0vjY5Z.js → dist-CNLAS2v2.js} +130 -124
  81. package/dist/{en-ivilDUn0.js → en-CwCAgYL5.js} +12 -1
  82. package/dist/{extensions-DeNHyWwh.js → extensions-Mj2-D8uK.js} +6 -3
  83. package/dist/{keys-B8K7Z7Ef.js → keys-BiQlvx51.js} +3 -3
  84. package/dist/{cdn/chunks/pt-BR-B5tm2iBl.js → pt-BR-D3Mg7AKe.js} +12 -3
  85. package/dist/style.css +1 -1
  86. package/dist/{styles-Bgqv7rLA.js → styles-CJtcKmsx.js} +857 -601
  87. package/dist/templatical-editor.js +104 -103
  88. package/dist/{useCloudI18n-DFzVgYhJ.js → useCloudI18n-DKWJg6rJ.js} +1 -1
  89. package/dist/{useEditorCore-CaOVDL_m.js → useEditorCore-CEkf_VWX.js} +662 -632
  90. package/dist/{useI18n-CBbStVlD.js → useI18n-Besvmtxy.js} +1 -1
  91. package/dist/useMergeTag-WNzaCpXR.js +44 -0
  92. package/dist/{usePopoverRoot-62PlZQQ3.js → usePopoverRoot-CKt956u-.js} +1 -1
  93. package/package.json +7 -7
  94. package/dist/cdn/chunks/ModuleBrowserModal-DS0BGRhZ.js.map +0 -1
  95. package/dist/cdn/chunks/ParagraphEditor-C4TrTIOm.js.map +0 -1
  96. package/dist/cdn/chunks/SaveModuleDialog-CbHqqeID.js.map +0 -1
  97. package/dist/cdn/chunks/TitleEditor-gr-eBUq_.js +0 -175
  98. package/dist/cdn/chunks/TitleEditor-gr-eBUq_.js.map +0 -1
  99. package/dist/cdn/chunks/extensions-DK_lVs7A.js.map +0 -1
  100. package/dist/cdn/chunks/features-LiilsBqW.js.map +0 -1
  101. package/dist/cdn/chunks/styles-5g8XOS68.js.map +0 -1
  102. package/dist/useMergeTag-RWsgUcSh.js +0 -34
@@ -1,36 +1,37 @@
1
1
  import { A as e, B as t, E as n, F as r, J as i, L as a, M as o, N as s, U as c, X as l, _ as u, a as d, at as f, b as p, c as m, d as h, f as g, h as _, l as v, m as y, o as b, ot as x, p as S, q as C, rt as w, s as T, st as E, t as D, v as O, w as k, y as A, z as j } from "./vue.runtime.esm-bundler-BDSGA5hA.js";
2
- import { C as ee, D as M, E as te, S as N, a as P, l as F, n as ne, o as I } from "./dist-CIV3Brg-.js";
3
- import { A as L, F as re, I as ie, M as ae, N as oe, T as R, _ as se, a as ce, c as le, d as ue, g as de, h as fe, i as pe, j as me, k as he, l as ge, m as _e, n as ve, o as ye, p as be, r as xe, s as Se, u as Ce, v as we, y as Te } from "./useEditorCore-CaOVDL_m.js";
4
- import { s as Ee } from "./dist-HO0vjY5Z.js";
5
- import { A as De, E as Oe, a as ke, b as Ae, d as je, f as Me, h as Ne, n as Pe, o as Fe, p as Ie, s as Le, u as Re, x as ze } from "./keys-B8K7Z7Ef.js";
6
- import { t as z } from "./useI18n-CBbStVlD.js";
7
- import { t as B } from "./createLucideIcon-XgXOJ05E.js";
2
+ import { C as ee, D as M, E as N, S as P, a as F, l as I, n as L, o as R } from "./dist-CIV3Brg-.js";
3
+ import { A as z, F as te, I as ne, M as re, N as ie, T as B, _ as ae, a as oe, c as se, d as ce, g as le, h as ue, i as de, j as fe, k as pe, l as me, m as he, n as ge, o as _e, p as ve, r as ye, s as be, u as xe, v as Se, y as Ce } from "./useEditorCore-CEkf_VWX.js";
4
+ import { a as we, c as Te } from "./dist-CNLAS2v2.js";
5
+ import { D as Ee, S as De, a as Oe, b as ke, d as Ae, f as je, h as Me, j as Ne, n as Pe, o as Fe, p as Ie, s as Le, u as Re, x as ze } from "./keys-BiQlvx51.js";
6
+ import { t as V } from "./useI18n-Besvmtxy.js";
7
+ import { t as H } from "./createLucideIcon-XgXOJ05E.js";
8
8
  import { t as Be } from "./chevron-down-DJjo0jSV.js";
9
9
  import { t as Ve } from "./circle-alert-CPH6l3Lc.js";
10
- import { n as He, r as V, t as Ue } from "./blockTypeIcons-CccKujXP.js";
11
- import { n as We, t as Ge } from "./refresh-cw-CvWF4jfR.js";
12
- import { t as Ke } from "./image-up-CPBCOMit.js";
13
- import { t as qe } from "./info-DIY9mguM.js";
14
- import { t as Je } from "./list-checks-CSCyu3fH.js";
15
- import { t as Ye } from "./scan-line-wanvAFDr.js";
16
- import { t as Xe } from "./sparkles-CrUN0KWY.js";
17
- import { n as Ze, r as Qe, t as $e } from "./text-align-end-Bkq8oBrD.js";
18
- import { t as et } from "./trash-2-BpY5BCLT.js";
19
- import { t as tt } from "./x-rcnxRG8Y.js";
20
- import { t as H } from "./_plugin-vue_export-helper-B3ysoDQm.js";
21
- import { t as nt } from "./useCloudI18n-DFzVgYhJ.js";
22
- import { t as rt } from "./useMergeTag-RWsgUcSh.js";
23
- import { t as it } from "./useAliveFlag-BLyG8L4d.js";
24
- import { t as at } from "./readableTextColor-f8Kykfnh.js";
25
- import { t as ot } from "./CountdownBlock-I99sC0C5.js";
26
- import { _ as st, c as ct, f as U, g as lt, h as W, l as ut, m as G, p as K, t as dt } from "./styleConstants-lGobwiLH.js";
27
- import { i as q, n as J, r as Y, t as ft } from "./NumberWithSuffix-CxMFy_j3.js";
28
- var pt = B("circle", [["circle", {
10
+ import { i as He, n as Ue, r as We, t as Ge } from "./blockTypeIcons-DCkHXPhx.js";
11
+ import { n as Ke, t as qe } from "./refresh-cw-CvWF4jfR.js";
12
+ import { t as Je } from "./image-up-CPBCOMit.js";
13
+ import { t as Ye } from "./info-DIY9mguM.js";
14
+ import { t as Xe } from "./list-checks-CSCyu3fH.js";
15
+ import { t as Ze } from "./scan-line-wanvAFDr.js";
16
+ import { t as Qe } from "./sparkles-CrUN0KWY.js";
17
+ import { n as $e, r as et, t as tt } from "./text-align-end-Bkq8oBrD.js";
18
+ import { t as nt } from "./trash-2-BpY5BCLT.js";
19
+ import { t as rt } from "./x-rcnxRG8Y.js";
20
+ import { t as it } from "./_plugin-vue_export-helper-B3ysoDQm.js";
21
+ import { t as at } from "./useCloudI18n-DKWJg6rJ.js";
22
+ import { t as ot } from "./useMergeTag-WNzaCpXR.js";
23
+ import { t as st } from "./useAliveFlag-BLyG8L4d.js";
24
+ import { t as ct } from "./readableTextColor-f8Kykfnh.js";
25
+ import { t as lt } from "./CountdownBlock-BTPefclD.js";
26
+ import { _ as ut, c as dt, f as U, g as ft, h as W, l as pt, m as G, p as K, t as mt } from "./styleConstants-lGobwiLH.js";
27
+ import { i as q, n as J, r as Y, t as ht } from "./NumberWithSuffix-CxUBW_V2.js";
28
+ import { t as gt } from "./TplModal-YFpBaiLj.js";
29
+ var _t = H("circle", [["circle", {
29
30
  cx: "12",
30
31
  cy: "12",
31
32
  r: "10",
32
33
  key: "1mglay"
33
- }]]), mt = B("globe", [
34
+ }]]), vt = H("globe", [
34
35
  ["circle", {
35
36
  cx: "12",
36
37
  cy: "12",
@@ -45,7 +46,7 @@ var pt = B("circle", [["circle", {
45
46
  d: "M2 12h20",
46
47
  key: "9i4pu4"
47
48
  }]
48
- ]), ht = B("layout-template", [
49
+ ]), yt = H("layout-template", [
49
50
  ["rect", {
50
51
  width: "18",
51
52
  height: "7",
@@ -70,7 +71,7 @@ var pt = B("circle", [["circle", {
70
71
  rx: "1",
71
72
  key: "q5h2i8"
72
73
  }]
73
- ]), gt = B("lock-open", [["rect", {
74
+ ]), bt = H("lock-open", [["rect", {
74
75
  width: "18",
75
76
  height: "11",
76
77
  x: "3",
@@ -81,7 +82,7 @@ var pt = B("circle", [["circle", {
81
82
  }], ["path", {
82
83
  d: "M7 11V7a5 5 0 0 1 9.9-1",
83
84
  key: "1mm8w8"
84
- }]]), _t = B("lock", [["rect", {
85
+ }]]), xt = H("lock", [["rect", {
85
86
  width: "18",
86
87
  height: "11",
87
88
  x: "3",
@@ -92,7 +93,7 @@ var pt = B("circle", [["circle", {
92
93
  }], ["path", {
93
94
  d: "M7 11V7a5 5 0 0 1 10 0v4",
94
95
  key: "fwvmzm"
95
- }]]), vt = B("monitor", [
96
+ }]]), St = H("monitor", [
96
97
  ["rect", {
97
98
  width: "20",
98
99
  height: "14",
@@ -115,10 +116,10 @@ var pt = B("circle", [["circle", {
115
116
  y2: "21",
116
117
  key: "vw1qmm"
117
118
  }]
118
- ]), yt = B("moon", [["path", {
119
+ ]), Ct = H("moon", [["path", {
119
120
  d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
120
121
  key: "kfwtm"
121
- }]]), bt = B("panel-top", [["rect", {
122
+ }]]), wt = H("panel-top", [["rect", {
122
123
  width: "18",
123
124
  height: "18",
124
125
  x: "3",
@@ -128,19 +129,19 @@ var pt = B("circle", [["circle", {
128
129
  }], ["path", {
129
130
  d: "M3 9h18",
130
131
  key: "1pudct"
131
- }]]), X = B("plus", [["path", {
132
+ }]]), X = H("plus", [["path", {
132
133
  d: "M5 12h14",
133
134
  key: "1ays0h"
134
135
  }], ["path", {
135
136
  d: "M12 5v14",
136
137
  key: "s699le"
137
- }]]), xt = B("rotate-ccw", [["path", {
138
+ }]]), Tt = H("rotate-ccw", [["path", {
138
139
  d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
139
140
  key: "1357e3"
140
141
  }], ["path", {
141
142
  d: "M3 3v5h5",
142
143
  key: "1xhq8a"
143
- }]]), St = B("settings", [["path", {
144
+ }]]), Et = H("settings", [["path", {
144
145
  d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
145
146
  key: "1i5ecw"
146
147
  }], ["circle", {
@@ -148,7 +149,7 @@ var pt = B("circle", [["circle", {
148
149
  cy: "12",
149
150
  r: "3",
150
151
  key: "1v7zrd"
151
- }]]), Ct = B("smartphone", [["rect", {
152
+ }]]), Dt = H("smartphone", [["rect", {
152
153
  width: "14",
153
154
  height: "20",
154
155
  x: "5",
@@ -159,7 +160,7 @@ var pt = B("circle", [["circle", {
159
160
  }], ["path", {
160
161
  d: "M12 18h.01",
161
162
  key: "mhygvu"
162
- }]]), wt = B("square-plus", [
163
+ }]]), Ot = H("square-plus", [
163
164
  ["rect", {
164
165
  width: "18",
165
166
  height: "18",
@@ -176,14 +177,14 @@ var pt = B("circle", [["circle", {
176
177
  d: "M12 8v8",
177
178
  key: "napkw2"
178
179
  }]
179
- ]), Tt = B("square", [["rect", {
180
+ ]), kt = H("square", [["rect", {
180
181
  width: "18",
181
182
  height: "18",
182
183
  x: "3",
183
184
  y: "3",
184
185
  rx: "2",
185
186
  key: "afitv7"
186
- }]]), Et = B("sun", [
187
+ }]]), At = H("sun", [
187
188
  ["circle", {
188
189
  cx: "12",
189
190
  cy: "12",
@@ -222,7 +223,7 @@ var pt = B("circle", [["circle", {
222
223
  d: "m19.07 4.93-1.41 1.41",
223
224
  key: "1shlcs"
224
225
  }]
225
- ]), Dt = B("tablet", [["rect", {
226
+ ]), jt = H("tablet", [["rect", {
226
227
  width: "16",
227
228
  height: "20",
228
229
  x: "4",
@@ -239,7 +240,7 @@ var pt = B("circle", [["circle", {
239
240
  }]]);
240
241
  //#endregion
241
242
  //#region src/utils/resolveLintOptions.ts
242
- function Ot(e) {
243
+ function Mt(e) {
243
244
  return {
244
245
  ...e.lint,
245
246
  locale: e.locale
@@ -247,19 +248,19 @@ function Ot(e) {
247
248
  }
248
249
  //#endregion
249
250
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
250
- var kt = ["aria-label"], At = {
251
+ var Nt = ["aria-label"], Pt = {
251
252
  key: 0,
252
253
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
253
- }, jt = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Mt = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Nt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Pt = {
254
+ }, Ft = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, It = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Lt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Rt = {
254
255
  key: 0,
255
256
  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)]"
256
- }, Ft = {
257
+ }, zt = {
257
258
  key: 1,
258
259
  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)]"
259
- }, It = { class: "tpl:relative" }, Lt = {
260
+ }, Bt = { class: "tpl:relative" }, Vt = {
260
261
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
261
262
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
262
- }, Rt = /* @__PURE__ */ H(/* @__PURE__ */ p({
263
+ }, Ht = /* @__PURE__ */ it(/* @__PURE__ */ p({
263
264
  __name: "Canvas",
264
265
  props: {
265
266
  viewport: {},
@@ -276,21 +277,21 @@ var kt = ["aria-label"], At = {
276
277
  ],
277
278
  setup(n, { emit: i }) {
278
279
  let a = {
279
- section: le,
280
- title: Ce,
281
- paragraph: _e,
282
- image: de,
283
- button: oe,
284
- divider: we,
285
- spacer: pe,
286
- html: se,
287
- social: ce,
288
- menu: fe,
289
- table: xe,
290
- video: ve,
291
- countdown: ot,
292
- custom: Te
293
- }, s = n, c = i, { t: d } = z(), { t: p } = nt(), m = De(Ie, "Canvas"), C = k(Re, null), T = k(Fe, null), D = k(Le, {}), A = h(() => (D.plan?.hasFeature("ai_generation") ?? !1) && (D.ai?.isFeatureEnabled("chat") ?? !1)), ee = h(() => (D.plan?.hasFeature("ai_generation") ?? !1) && (D.ai?.isFeatureEnabled("designToTemplate") ?? !1)), M = h({
280
+ section: se,
281
+ title: xe,
282
+ paragraph: he,
283
+ image: le,
284
+ button: ie,
285
+ divider: Se,
286
+ spacer: de,
287
+ html: ae,
288
+ social: oe,
289
+ menu: ue,
290
+ table: ye,
291
+ video: ge,
292
+ countdown: lt,
293
+ custom: Ce
294
+ }, s = n, c = i, { t: d } = V(), { t: p } = at(), m = Ne(Ie, "Canvas"), C = k(Re, null), T = k(Fe, null), D = k(Le, {}), A = h(() => (D.plan?.hasFeature("ai_generation") ?? !1) && (D.ai?.isFeatureEnabled("chat") ?? !1)), ee = h(() => (D.plan?.hasFeature("ai_generation") ?? !1) && (D.ai?.isFeatureEnabled("designToTemplate") ?? !1)), M = h({
294
295
  get: () => s.content.blocks,
295
296
  set: (e) => {
296
297
  m.setContent({
@@ -298,32 +299,32 @@ var kt = ["aria-label"], At = {
298
299
  blocks: e
299
300
  });
300
301
  }
301
- }), te = h(() => {
302
+ }), N = h(() => {
302
303
  switch (s.viewport) {
303
304
  case "mobile": return 375;
304
305
  case "tablet": return 768;
305
306
  default: return s.content.settings.width;
306
307
  }
307
- }), N = h(() => ({ fontFamily: s.content.settings.fontFamily })), P = h(() => M.value.length === 0 && !s.previewMode), F = l(0), ne = h(() => P.value && F.value > 0);
308
- function I() {
309
- P.value && (F.value += 1);
308
+ }), P = h(() => ({ fontFamily: s.content.settings.fontFamily })), F = h(() => M.value.length === 0 && !s.previewMode), I = l(0), L = h(() => F.value && I.value > 0);
309
+ function R() {
310
+ F.value && (I.value += 1);
310
311
  }
311
- function L() {
312
- P.value && (F.value = Math.max(0, F.value - 1));
312
+ function z() {
313
+ F.value && (I.value = Math.max(0, I.value - 1));
313
314
  }
314
- function re() {
315
- F.value = 0;
315
+ function te() {
316
+ I.value = 0;
316
317
  }
317
- function ie(e) {
318
+ function ne(e) {
318
319
  s.previewMode || e.target === e.currentTarget && c("select-block", null);
319
320
  }
320
- function ae(e) {
321
- return be(e, T, a);
321
+ function re(e) {
322
+ return ve(e, T, a);
322
323
  }
323
- function R(e) {
324
+ function B(e) {
324
325
  return s.lockedBlocks?.get(e) ?? null;
325
326
  }
326
- function me(e, t) {
327
+ function fe(e, t) {
327
328
  e.type === "custom" && m.updateBlock(e.id, {
328
329
  fieldValues: t.fieldValues,
329
330
  dataSourceFetched: t.dataSourceFetched
@@ -335,7 +336,7 @@ var kt = ["aria-label"], At = {
335
336
  "aria-label": w(d).landmarks.canvas,
336
337
  class: "tpl-canvas-wrapper tpl:relative tpl:rounded-lg",
337
338
  style: x({
338
- width: `${te.value}px`,
339
+ width: `${N.value}px`,
339
340
  boxShadow: n.darkMode ? "none" : "var(--tpl-shadow-xl)",
340
341
  transition: "width 300ms cubic-bezier(0.34, 1.56, 0.64, 1)"
341
342
  })
@@ -351,9 +352,9 @@ var kt = ["aria-label"], At = {
351
352
  "tpl-canvas--dark-mode": n.darkMode,
352
353
  "tpl-preview-mode": n.previewMode
353
354
  }]),
354
- style: x(N.value),
355
- onClick: ie
356
- }, [O(w(ge), {
355
+ style: x(P.value),
356
+ onClick: ne
357
+ }, [O(w(me), {
357
358
  modelValue: M.value,
358
359
  "onUpdate:modelValue": a[2] ||= (e) => M.value = e,
359
360
  group: "blocks",
@@ -368,38 +369,38 @@ var kt = ["aria-label"], At = {
368
369
  "force-fallback": !0,
369
370
  class: f([
370
371
  "tpl-canvas-blocks",
371
- P.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" : "",
372
- P.value && ne.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
373
- P.value && !ne.value ? "tpl:border-[var(--tpl-primary)]" : ""
372
+ F.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" : "",
373
+ F.value && L.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
374
+ F.value && !L.value ? "tpl:border-[var(--tpl-primary)]" : ""
374
375
  ]),
375
- onDragenter: I,
376
- onDragleave: L,
377
- onDrop: re
376
+ onDragenter: R,
377
+ onDragleave: z,
378
+ onDrop: te
378
379
  }, {
379
- default: j(() => [P.value ? (e(), _("div", At, [
380
- g("div", jt, [O(w(wt), {
380
+ default: j(() => [F.value ? (e(), _("div", Pt, [
381
+ g("div", Ft, [O(w(Ot), {
381
382
  size: 48,
382
383
  "stroke-width": 1
383
384
  })]),
384
- g("p", Mt, E(w(d).canvas.noBlocks), 1),
385
- g("p", Nt, E(w(d).canvas.dragHint), 1),
386
- A.value && w(p) ? (e(), _("p", Pt, [
385
+ g("p", It, E(w(d).canvas.noBlocks), 1),
386
+ g("p", Lt, E(w(d).canvas.dragHint), 1),
387
+ A.value && w(p) ? (e(), _("p", Rt, [
387
388
  u(E(w(d).canvas.aiHintChat) + " ", 1),
388
389
  g("button", {
389
390
  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)]",
390
391
  onClick: a[0] ||= (e) => c("open-ai-chat")
391
- }, [O(w(Xe), {
392
+ }, [O(w(Qe), {
392
393
  size: 14,
393
394
  "stroke-width": 2
394
395
  }), u(" " + E(w(p).aiMenu.aiAssistant), 1)]),
395
396
  u(" " + E(w(d).canvas.aiHintChatSuffix), 1)
396
397
  ])) : y("", !0),
397
- ee.value && w(p) ? (e(), _("p", Ft, [
398
+ ee.value && w(p) ? (e(), _("p", zt, [
398
399
  u(E(w(d).canvas.aiHintDesign) + " ", 1),
399
400
  g("button", {
400
401
  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)]",
401
402
  onClick: a[1] ||= (e) => c("open-design-reference")
402
- }, [O(w(Ke), {
403
+ }, [O(w(Je), {
403
404
  size: 14,
404
405
  "stroke-width": 2
405
406
  }), u(" " + E(w(p).aiMenu.designToTemplate), 1)]),
@@ -408,30 +409,30 @@ var kt = ["aria-label"], At = {
408
409
  ])) : y("", !0), (e(!0), _(v, null, o(M.value, (i) => t((e(), _("div", {
409
410
  key: i.id,
410
411
  class: "tpl-block-item"
411
- }, [g("div", It, [R(i.id) ? (e(), _("div", {
412
+ }, [g("div", Bt, [B(i.id) ? (e(), _("div", {
412
413
  key: 0,
413
414
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
414
415
  style: x({
415
- outline: `2px solid ${R(i.id).color}`,
416
+ outline: `2px solid ${B(i.id).color}`,
416
417
  outlineOffset: "-1px"
417
418
  })
418
419
  }, [g("span", {
419
420
  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",
420
421
  style: x({
421
- backgroundColor: R(i.id).color,
422
- color: w(at)(R(i.id).color)
422
+ backgroundColor: B(i.id).color,
423
+ color: w(ct)(B(i.id).color)
423
424
  })
424
- }, [g("span", Lt, E(R(i.id).name.charAt(0)), 1), u(" " + E(R(i.id).name), 1)], 4)], 4)) : y("", !0), O(ue, {
425
+ }, [g("span", Vt, E(B(i.id).name.charAt(0)), 1), u(" " + E(B(i.id).name), 1)], 4)], 4)) : y("", !0), O(ce, {
425
426
  block: i,
426
- "is-selected": !n.previewMode && n.selectedBlockId === i.id && !R(i.id),
427
+ "is-selected": !n.previewMode && n.selectedBlockId === i.id && !B(i.id),
427
428
  viewport: n.viewport,
428
429
  "preview-mode": n.previewMode,
429
- onSelect: (e) => n.previewMode || R(i.id) ? void 0 : c("select-block", i.id)
430
+ onSelect: (e) => n.previewMode || B(i.id) ? void 0 : c("select-block", i.id)
430
431
  }, {
431
- default: j(() => [(e(), S(r(ae(i)), {
432
+ default: j(() => [(e(), S(r(re(i)), {
432
433
  block: i,
433
434
  viewport: n.viewport,
434
- onFetchData: (e) => me(i, e),
435
+ onFetchData: (e) => fe(i, e),
435
436
  onUpdate: (e) => w(m).updateBlock(i.id, e)
436
437
  }, null, 40, [
437
438
  "block",
@@ -452,29 +453,29 @@ var kt = ["aria-label"], At = {
452
453
  "modelValue",
453
454
  "disabled",
454
455
  "class"
455
- ])], 6)], 12, kt));
456
+ ])], 6)], 12, Nt));
456
457
  }
457
- }), [["__scopeId", "data-v-a4d3fa2d"]]), zt = ["aria-label"], Bt = {
458
+ }), [["__scopeId", "data-v-a4d3fa2d"]]), Ut = ["aria-label"], Wt = {
458
459
  key: 0,
459
460
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
460
- }, Vt = ["aria-label"], Ht = {
461
+ }, Gt = ["aria-label"], Kt = {
461
462
  key: 0,
462
463
  class: "tpl:flex-1 tpl:truncate tpl:text-sm tpl:font-medium"
463
- }, Ut = {
464
+ }, qt = {
464
465
  key: 1,
465
466
  class: "tpl:shrink-0 tpl:rounded-full tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]"
466
- }, Wt = [
467
+ }, Jt = [
467
468
  "data-palette-type",
468
469
  "aria-label",
469
470
  "onClick",
470
471
  "onKeydown"
471
- ], Gt = { 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" }, Kt = {
472
+ ], Yt = { 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" }, Xt = {
472
473
  key: 0,
473
474
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
474
- }, qt = /* @__PURE__ */ p({
475
+ }, Zt = /* @__PURE__ */ p({
475
476
  __name: "Sidebar",
476
477
  setup(t) {
477
- let { t: n, format: i } = z(), { t: a } = nt(), s = k(je, []), c = k(ke, void 0), u = k(Ie, null), d = k(Le, {}), f = h(() => (d.savedModules?.moduleCount.value ?? 0) > 0), p = l(!1), m = l(!1);
478
+ let { t: n, format: i } = V(), { t: a } = at(), s = k(Ae, []), c = k(Oe, void 0), u = k(Ie, null), d = k(Le, {}), f = h(() => (d.savedModules?.moduleCount.value ?? 0) > 0), p = l(!1), m = l(!1);
478
479
  function b() {
479
480
  m.value || (p.value = !1);
480
481
  }
@@ -500,11 +501,11 @@ var kt = ["aria-label"], At = {
500
501
  ], A = h(() => {
501
502
  let e = D.map((e) => ({
502
503
  type: e,
503
- label: re(e, n)
504
+ label: te(e, n)
504
505
  }));
505
506
  return d.plan && e.splice(-1, 0, {
506
507
  type: "countdown",
507
- label: re("countdown", n)
508
+ label: te("countdown", n)
508
509
  }), e;
509
510
  }), ee = h(() => s.map((e) => ({
510
511
  type: `custom:${e.type}`,
@@ -512,20 +513,20 @@ var kt = ["aria-label"], At = {
512
513
  isCustom: !0,
513
514
  icon: e.icon
514
515
  }))), M = h(() => [...A.value, ...ee.value]);
515
- function te(e) {
516
+ function N(e) {
516
517
  if (e.isCustom) {
517
518
  let t = e.type.replace("custom:", ""), n = s.find((e) => e.type === t);
518
- if (n) return F(n);
519
+ if (n) return I(n);
519
520
  }
520
- return I(e.type, c);
521
+ return R(e.type, c);
521
522
  }
522
- function N(e) {
523
+ function P(e) {
523
524
  if (!u) return;
524
- let t = te(e);
525
+ let t = N(e);
525
526
  u.addBlock(t), u.selectBlock(t.id);
526
527
  }
527
- function P(e, t) {
528
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), N(t));
528
+ function F(e, t) {
529
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), P(t));
529
530
  }
530
531
  return (t, s) => (e(), _("aside", {
531
532
  "aria-label": w(n).sidebarNav.palette,
@@ -541,28 +542,28 @@ var kt = ["aria-label"], At = {
541
542
  onMouseleave: b,
542
543
  onFocusin: s[2] ||= (e) => p.value = !0,
543
544
  onFocusout: s[3] ||= (e) => p.value = !1
544
- }, [f.value && w(a) ? (e(), _("div", Bt, [g("button", {
545
+ }, [f.value && w(a) ? (e(), _("div", Wt, [g("button", {
545
546
  type: "button",
546
547
  "aria-label": w(n).sidebarNav.browseModules,
547
548
  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)]",
548
549
  style: x({ justifyContent: p.value ? "flex-start" : "center" }),
549
550
  onClick: s[0] ||= (e) => w(d).savedModules?.openBrowser()
550
551
  }, [
551
- O(w(He), {
552
+ O(w(We), {
552
553
  size: 20,
553
554
  "stroke-width": 1.5,
554
555
  class: "tpl:shrink-0"
555
556
  }),
556
- p.value ? (e(), _("span", Ht, E(w(a).modules.title), 1)) : y("", !0),
557
- p.value ? (e(), _("span", Ut, E(w(d).savedModules?.moduleCount.value ?? 0), 1)) : y("", !0)
558
- ], 12, Vt)])) : y("", !0), O(w(ge), {
557
+ p.value ? (e(), _("span", Kt, E(w(a).modules.title), 1)) : y("", !0),
558
+ p.value ? (e(), _("span", qt, E(w(d).savedModules?.moduleCount.value ?? 0), 1)) : y("", !0)
559
+ ], 12, Gt)])) : y("", !0), O(w(me), {
559
560
  "model-value": M.value,
560
561
  group: {
561
562
  name: "blocks",
562
563
  pull: "clone",
563
564
  put: !1
564
565
  },
565
- clone: te,
566
+ clone: N,
566
567
  sort: !1,
567
568
  animation: 150,
568
569
  "ghost-class": "tpl-ghost",
@@ -578,25 +579,25 @@ var kt = ["aria-label"], At = {
578
579
  "aria-label": w(i)(w(n).sidebarNav.insertBlock, { block: t.label }),
579
580
  class: "tpl:flex tpl:h-10 tpl:w-full 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",
580
581
  style: x({ justifyContent: p.value ? "flex-start" : "center" }),
581
- onClick: (e) => N(t),
582
- onKeydown: (e) => P(e, t)
583
- }, [g("div", Gt, [w(Ue)[t.type] ? (e(), S(r(w(Ue)[t.type]), {
582
+ onClick: (e) => P(t),
583
+ onKeydown: (e) => F(e, t)
584
+ }, [g("div", Yt, [w(Ge)[t.type] ? (e(), S(r(w(Ge)[t.type]), {
584
585
  key: 0,
585
586
  size: 20,
586
587
  "stroke-width": 1.5
587
- })) : t.isCustom ? (e(), S(R, {
588
+ })) : t.isCustom ? (e(), S(B, {
588
589
  key: 1,
589
590
  icon: t.icon,
590
591
  size: 20
591
- }, null, 8, ["icon"])) : y("", !0)]), p.value ? (e(), _("span", Kt, E(t.label), 1)) : y("", !0)], 44, Wt))), 128))]),
592
+ }, null, 8, ["icon"])) : y("", !0)]), p.value ? (e(), _("span", Xt, E(t.label), 1)) : y("", !0)], 44, Jt))), 128))]),
592
593
  _: 1
593
- }, 8, ["model-value"])], 44, zt));
594
+ }, 8, ["model-value"])], 44, Ut));
594
595
  }
595
596
  });
596
597
  //#endregion
597
598
  //#region src/composables/useMergeTagField.ts
598
- function Jt(e) {
599
- let { modelValue: t, emit: r, elementRef: i } = e, { canRequestMergeTag: a, isRequesting: o, isMergeTagValue: s, getMergeTagLabel: u, requestMergeTag: d, syntax: f } = rt(), p = l(!1), m = !1, g = !1;
599
+ function Qt(e) {
600
+ let { modelValue: t, emit: r, elementRef: i } = e, { canRequestMergeTag: a, isRequesting: o, isMergeTagValue: s, getMergeTagLabel: u, requestMergeTag: d, syntax: f } = ot(), p = l(!1), m = !1, g = !1;
600
601
  c() && C(() => {
601
602
  g = !0;
602
603
  });
@@ -677,10 +678,10 @@ function Jt(e) {
677
678
  }
678
679
  //#endregion
679
680
  //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
680
- var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip"], Qt = {
681
+ var $t = ["aria-label", "onKeydown"], en = ["data-tooltip"], tn = ["data-tooltip"], nn = {
681
682
  key: 2,
682
683
  class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
683
- }, $t = ["aria-label", "title"], en = /* @__PURE__ */ p({
684
+ }, rn = ["aria-label", "title"], an = /* @__PURE__ */ p({
684
685
  __name: "MergeTagSegments",
685
686
  props: {
686
687
  segments: {},
@@ -689,7 +690,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
689
690
  },
690
691
  emits: ["edit", "clear"],
691
692
  setup(t, { emit: n }) {
692
- let r = n, { t: i } = z();
693
+ let r = n, { t: i } = V();
693
694
  function a() {
694
695
  r("edit");
695
696
  }
@@ -708,7 +709,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
708
709
  "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
709
710
  color: "var(--tpl-primary)"
710
711
  }
711
- }, E(t.label), 9, Xt)) : t.type === "logicMergeTag" ? (e(), _("span", {
712
+ }, E(t.label), 9, en)) : t.type === "logicMergeTag" ? (e(), _("span", {
712
713
  key: 1,
713
714
  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",
714
715
  "data-tooltip": t.value,
@@ -717,44 +718,44 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
717
718
  border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
718
719
  color: "var(--tpl-primary)"
719
720
  }
720
- }, E(t.keyword), 9, Zt)) : (e(), _("span", Qt, E(t.value), 1))], 64))), 128)), g("button", {
721
+ }, E(t.keyword), 9, tn)) : (e(), _("span", nn, E(t.value), 1))], 64))), 128)), g("button", {
721
722
  type: "button",
722
723
  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",
723
724
  "aria-label": w(i).mergeTag.remove,
724
725
  title: w(i).mergeTag.remove,
725
726
  onClick: s[0] ||= m((e) => r("clear"), ["stop"])
726
- }, [O(w(tt), {
727
+ }, [O(w(rt), {
727
728
  size: 12,
728
729
  "stroke-width": 2.5
729
- })], 8, $t)], 42, Yt));
730
+ })], 8, rn)], 42, $t));
730
731
  }
731
- }), tn = [
732
+ }), on = [
732
733
  "aria-label",
733
734
  "title",
734
735
  "disabled"
735
- ], nn = "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)]", rn = /* @__PURE__ */ p({
736
+ ], sn = "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)]", cn = /* @__PURE__ */ p({
736
737
  __name: "MergeTagInsertButton",
737
738
  props: { disabled: { type: Boolean } },
738
739
  emits: ["insert"],
739
740
  setup(t) {
740
- let { t: n } = z();
741
+ let { t: n } = V();
741
742
  return (r, i) => (e(), _("button", {
742
743
  type: "button",
743
- class: f([nn, "tpl:mt-1.5"]),
744
+ class: f([sn, "tpl:mt-1.5"]),
744
745
  "aria-label": w(n).mergeTag.insert,
745
746
  title: w(n).mergeTag.insert,
746
747
  disabled: t.disabled,
747
748
  onClick: i[0] ||= (e) => r.$emit("insert")
748
- }, [O(w(Ye), {
749
+ }, [O(w(Ze), {
749
750
  size: 12,
750
751
  "stroke-width": 2
751
- }), u(" " + E(w(n).mergeTag.insert), 1)], 10, tn));
752
+ }), u(" " + E(w(n).mergeTag.insert), 1)], 10, on));
752
753
  }
753
- }), an = { key: 0 }, on = { key: 1 }, sn = [
754
+ }), ln = { key: 0 }, un = { key: 1 }, dn = [
754
755
  "value",
755
756
  "placeholder",
756
757
  "rows"
757
- ], cn = "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)]", ln = "tpl:flex tpl:w-full tpl:min-h-[5rem] 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)]", un = /* @__PURE__ */ p({
758
+ ], fn = "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)]", pn = "tpl:flex tpl:w-full tpl:min-h-[5rem] 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)]", mn = /* @__PURE__ */ p({
758
759
  __name: "MergeTagTextarea",
759
760
  props: {
760
761
  modelValue: {},
@@ -763,46 +764,46 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
763
764
  },
764
765
  emits: ["update:modelValue"],
765
766
  setup(t, { emit: n }) {
766
- let r = t, i = n, a = l(null), { segments: o, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: u, isEditing: d, startEditing: p, stopEditing: m, handleInput: h, clearValue: v, insertMergeTag: b } = Jt({
767
+ let r = t, i = n, a = l(null), { segments: o, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: u, isEditing: d, startEditing: p, stopEditing: m, handleInput: h, clearValue: v, insertMergeTag: b } = Qt({
767
768
  modelValue: () => r.modelValue,
768
769
  emit: (e) => i("update:modelValue", e),
769
770
  elementRef: a
770
771
  });
771
- return (n, r) => w(s) && !w(d) ? (e(), _("div", an, [O(en, {
772
+ return (n, r) => w(s) && !w(d) ? (e(), _("div", ln, [O(an, {
772
773
  segments: w(o),
773
- "display-class": ln,
774
+ "display-class": pn,
774
775
  onEdit: w(p),
775
776
  onClear: w(v)
776
777
  }, null, 8, [
777
778
  "segments",
778
779
  "onEdit",
779
780
  "onClear"
780
- ]), w(c) ? (e(), S(rn, {
781
+ ]), w(c) ? (e(), S(cn, {
781
782
  key: 0,
782
783
  disabled: w(u),
783
784
  onInsert: w(b)
784
- }, null, 8, ["disabled", "onInsert"])) : y("", !0)])) : (e(), _("div", on, [g("textarea", {
785
+ }, null, 8, ["disabled", "onInsert"])) : y("", !0)])) : (e(), _("div", un, [g("textarea", {
785
786
  ref_key: "textareaRef",
786
787
  ref: a,
787
- class: f(cn),
788
+ class: f(fn),
788
789
  value: t.modelValue,
789
790
  placeholder: t.placeholder,
790
791
  rows: t.rows,
791
792
  onInput: r[0] ||= (...e) => w(h) && w(h)(...e),
792
793
  onBlur: r[1] ||= (...e) => w(m) && w(m)(...e),
793
794
  onKeydown: r[2] ||= T((...e) => w(m) && w(m)(...e), ["escape"])
794
- }, null, 40, sn), w(c) ? (e(), S(rn, {
795
+ }, null, 40, dn), w(c) ? (e(), S(cn, {
795
796
  key: 0,
796
797
  disabled: w(u),
797
798
  onInsert: w(b)
798
799
  }, null, 8, ["disabled", "onInsert"])) : y("", !0)]));
799
800
  }
800
- }), dn = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, fn = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, pn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, mn = { class: "tpl:mb-3.5" }, hn = { 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)]" }, gn = ["onClick"], _n = { class: "tpl:flex tpl:items-stretch" }, vn = ["value"], yn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, bn = { class: "tpl:mb-3.5" }, xn = ["value"], Sn = ["value"], Cn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, wn = ["value"], Tn = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, En = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Dn = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, On = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, kn = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, An = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, jn = { 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)]" }, Mn = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Nn = { class: "tpl:mb-1 tpl:last:mb-0" }, Pn = { class: "tpl:mb-1 tpl:last:mb-0" }, Fn = { class: "tpl:mb-1 tpl:last:mb-0" }, In = 150, Ln = /* @__PURE__ */ p({
801
+ }), hn = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, gn = { 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)]" }, vn = { class: "tpl:mb-3.5" }, yn = { 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)]" }, bn = ["onClick"], xn = { class: "tpl:flex tpl:items-stretch" }, Sn = ["value"], Cn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, wn = { class: "tpl:mb-3.5" }, Tn = ["value"], En = ["value"], Dn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, On = ["value"], kn = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, An = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, jn = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Mn = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Nn = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Pn = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Fn = { 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)]" }, In = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Ln = { class: "tpl:mb-1 tpl:last:mb-0" }, Rn = { class: "tpl:mb-1 tpl:last:mb-0" }, zn = { class: "tpl:mb-1 tpl:last:mb-0" }, Bn = 150, Vn = /* @__PURE__ */ p({
801
802
  __name: "TemplateSettings",
802
803
  props: { settings: {} },
803
804
  emits: ["update"],
804
805
  setup(t, { emit: n }) {
805
- let r = t, i = n, { t: a } = z(), s = De(Ne, "TemplateSettings"), c = h(() => s.fonts.value), l = h(() => c.value.some((e) => e.value === r.settings.fontFamily) ? r.settings.fontFamily : s.defaultFont.value), u = [
806
+ let r = t, i = n, { t: a } = V(), s = Ne(Me, "TemplateSettings"), c = h(() => s.fonts.value), l = h(() => c.value.some((e) => e.value === r.settings.fontFamily) ? r.settings.fontFamily : s.defaultFont.value), u = [
806
807
  {
807
808
  value: 480,
808
809
  label: "480px"
@@ -820,14 +821,14 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
820
821
  label: "800px"
821
822
  }
822
823
  ];
823
- return (n, r) => (e(), _("aside", dn, [g("div", fn, [
824
- g("div", { class: f(w(ut)) }, [
825
- g("div", pn, [O(w(Tt), {
824
+ return (n, r) => (e(), _("aside", hn, [g("div", gn, [
825
+ g("div", { class: f(w(pt)) }, [
826
+ g("div", _n, [O(w(kt), {
826
827
  class: "tpl:text-[var(--tpl-text-muted)]",
827
828
  size: 14,
828
829
  "stroke-width": 2
829
830
  }), g("span", null, E(w(a).templateSettings.layout), 1)]),
830
- g("div", mn, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.widthPreset), 3), g("div", hn, [(e(), _(v, null, o(u, (e) => g("button", {
831
+ g("div", vn, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.widthPreset), 3), g("div", yn, [(e(), _(v, null, o(u, (e) => g("button", {
831
832
  key: e.value,
832
833
  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)]",
833
834
  style: x({
@@ -836,25 +837,25 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
836
837
  boxShadow: t.settings.width === e.value ? "var(--tpl-shadow)" : "none"
837
838
  }),
838
839
  onClick: (t) => i("update", { width: e.value })
839
- }, E(e.label), 13, gn)), 64))])]),
840
- g("div", null, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.customWidth), 3), g("div", _n, [g("input", {
840
+ }, E(e.label), 13, bn)), 64))])]),
841
+ g("div", null, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.customWidth), 3), g("div", xn, [g("input", {
841
842
  type: "number",
842
843
  class: f(w(K)),
843
844
  value: t.settings.width,
844
845
  min: "300",
845
846
  max: "900",
846
847
  onInput: r[0] ||= (e) => i("update", { width: Number(e.target.value) })
847
- }, null, 42, vn), g("span", { class: f(w(G)) }, "px", 2)])])
848
+ }, null, 42, Sn), g("span", { class: f(w(G)) }, "px", 2)])])
848
849
  ], 2),
849
- g("div", { class: f(w(ut)) }, [
850
- g("div", yn, [O(w(pt), {
850
+ g("div", { class: f(w(pt)) }, [
851
+ g("div", Cn, [O(w(_t), {
851
852
  class: "tpl:text-[var(--tpl-text-muted)]",
852
853
  size: 14,
853
854
  "stroke-width": 2
854
855
  }), g("span", null, E(w(a).templateSettings.appearance), 1)]),
855
- g("div", bn, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.backgroundColor), 3), O(q, {
856
+ g("div", wn, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.backgroundColor), 3), O(q, {
856
857
  "model-value": t.settings.backgroundColor,
857
- placeholder: w(dt),
858
+ placeholder: w(mt),
858
859
  "onUpdate:modelValue": r[1] ||= (e) => i("update", { backgroundColor: e })
859
860
  }, null, 8, ["model-value", "placeholder"])]),
860
861
  g("div", null, [g("label", { class: f(w(W)) }, E(w(a).templateSettings.fontFamily), 3), g("select", {
@@ -864,9 +865,9 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
864
865
  }, [(e(!0), _(v, null, o(c.value, (t) => (e(), _("option", {
865
866
  key: t.value,
866
867
  value: t.value
867
- }, E(t.label), 9, Sn))), 128))], 42, xn)])
868
+ }, E(t.label), 9, En))), 128))], 42, Tn)])
868
869
  ], 2),
869
- g("div", { class: f(w(ut)) }, [g("div", Cn, [O(w(mt), {
870
+ g("div", { class: f(w(pt)) }, [g("div", Dn, [O(w(vt), {
870
871
  class: "tpl:text-[var(--tpl-text-muted)]",
871
872
  size: 14,
872
873
  "stroke-width": 2
@@ -881,34 +882,34 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
881
882
  autocapitalize: "off",
882
883
  autocomplete: "off",
883
884
  onInput: r[3] ||= (e) => i("update", { locale: e.target.value.trim() || void 0 })
884
- }, null, 42, wn),
885
- g("p", Tn, E(w(a).templateSettings.contentLocaleHint), 1)
885
+ }, null, 42, On),
886
+ g("p", kn, E(w(a).templateSettings.contentLocaleHint), 1)
886
887
  ])], 2),
887
- g("div", { class: f(w(ut)) }, [g("div", En, [O(w(We), {
888
+ g("div", { class: f(w(pt)) }, [g("div", An, [O(w(Ke), {
888
889
  class: "tpl:text-[var(--tpl-text-muted)]",
889
890
  size: 14,
890
891
  "stroke-width": 2
891
- }), g("span", null, E(w(a).templateSettings.preheaderText), 1)]), g("div", null, [O(un, {
892
+ }), g("span", null, E(w(a).templateSettings.preheaderText), 1)]), g("div", null, [O(mn, {
892
893
  "model-value": t.settings.preheaderText ?? "",
893
894
  placeholder: w(a).templateSettings.preheaderTextPlaceholder,
894
895
  rows: 2,
895
896
  "onUpdate:modelValue": r[4] ||= (e) => i("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
896
- }, null, 8, ["model-value", "placeholder"]), g("div", Dn, [g("span", On, E(w(a).templateSettings.preheaderTextHint), 1), g("span", kn, E((t.settings.preheaderText ?? "").length) + "/" + E(In), 1)])])], 2),
897
- g("div", An, [g("div", jn, [O(w(qe), {
897
+ }, null, 8, ["model-value", "placeholder"]), g("div", jn, [g("span", Mn, E(w(a).templateSettings.preheaderTextHint), 1), g("span", Nn, E((t.settings.preheaderText ?? "").length) + "/" + E(Bn), 1)])])], 2),
898
+ g("div", Pn, [g("div", Fn, [O(w(Ye), {
898
899
  size: 14,
899
900
  "stroke-width": 2
900
- }), g("span", null, E(w(a).templateSettings.tips), 1)]), g("ul", Mn, [
901
- g("li", Nn, E(w(a).templateSettings.tip1), 1),
902
- g("li", Pn, E(w(a).templateSettings.tip2), 1),
903
- g("li", Fn, E(w(a).templateSettings.tip3), 1)
901
+ }), g("span", null, E(w(a).templateSettings.tips), 1)]), g("ul", In, [
902
+ g("li", Ln, E(w(a).templateSettings.tip1), 1),
903
+ g("li", Rn, E(w(a).templateSettings.tip2), 1),
904
+ g("li", zn, E(w(a).templateSettings.tip3), 1)
904
905
  ])])
905
906
  ])]));
906
907
  }
907
- }), Rn = { key: 0 }, zn = { key: 1 }, Bn = [
908
+ }), Hn = { key: 0 }, Un = { key: 1 }, Wn = [
908
909
  "type",
909
910
  "value",
910
911
  "placeholder"
911
- ], Vn = "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)]", Z = /* @__PURE__ */ H(/* @__PURE__ */ p({
912
+ ], Gn = "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)]", Z = /* @__PURE__ */ it(/* @__PURE__ */ p({
912
913
  __name: "MergeTagInput",
913
914
  props: {
914
915
  modelValue: {},
@@ -921,14 +922,14 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
921
922
  },
922
923
  emits: ["update:modelValue"],
923
924
  setup(t, { emit: n }) {
924
- let r = t, i = n, a = l(null), { segments: o, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: u, isEditing: d, startEditing: p, stopEditing: m, handleInput: h, clearValue: v, insertMergeTag: b } = Jt({
925
+ let r = t, i = n, a = l(null), { segments: o, hasMergeTags: s, canRequestMergeTag: c, isRequestingMergeTag: u, isEditing: d, startEditing: p, stopEditing: m, handleInput: h, clearValue: v, insertMergeTag: b } = Qt({
925
926
  modelValue: () => r.modelValue,
926
927
  emit: (e) => i("update:modelValue", e),
927
928
  elementRef: a
928
929
  });
929
- return (n, r) => w(s) && !w(d) ? (e(), _("div", Rn, [O(en, {
930
+ return (n, r) => w(s) && !w(d) ? (e(), _("div", Hn, [O(an, {
930
931
  segments: w(o),
931
- "display-class": Vn,
932
+ "display-class": Gn,
932
933
  pulse: t.pulse,
933
934
  onEdit: w(p),
934
935
  onClear: w(v)
@@ -937,11 +938,11 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
937
938
  "pulse",
938
939
  "onEdit",
939
940
  "onClear"
940
- ]), w(c) ? (e(), S(rn, {
941
+ ]), w(c) ? (e(), S(cn, {
941
942
  key: 0,
942
943
  disabled: w(u),
943
944
  onInsert: w(b)
944
- }, null, 8, ["disabled", "onInsert"])) : y("", !0)])) : (e(), _("div", zn, [g("input", {
945
+ }, null, 8, ["disabled", "onInsert"])) : y("", !0)])) : (e(), _("div", Un, [g("input", {
945
946
  ref_key: "inputRef",
946
947
  ref: a,
947
948
  type: t.type,
@@ -951,16 +952,16 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
951
952
  onInput: r[0] ||= (...e) => w(h) && w(h)(...e),
952
953
  onBlur: r[1] ||= (...e) => w(m) && w(m)(...e),
953
954
  onKeydown: r[2] ||= T((...e) => w(m) && w(m)(...e), ["escape"])
954
- }, null, 42, Bn), w(c) ? (e(), S(rn, {
955
+ }, null, 42, Wn), w(c) ? (e(), S(cn, {
955
956
  key: 0,
956
957
  disabled: w(u),
957
958
  onInsert: w(b)
958
959
  }, null, 8, ["disabled", "onInsert"])) : y("", !0)]));
959
960
  }
960
- }), [["__scopeId", "data-v-358207dd"]]), Hn = { class: "tpl:mb-3.5" }, Un = ["value"], Wn = { value: "" }, Gn = ["value"], Kn = { class: "tpl:mb-3.5" }, qn = { class: "tpl:mb-3.5" }, Jn = {
961
+ }), [["__scopeId", "data-v-358207dd"]]), Kn = { class: "tpl:mb-3.5" }, qn = ["value"], Jn = { value: "" }, Yn = ["value"], Xn = { class: "tpl:mb-3.5" }, Zn = { class: "tpl:mb-3.5" }, Qn = {
961
962
  key: 0,
962
963
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
963
- }, Yn = ["checked"], Xn = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Zn = { class: "tpl:mb-3.5" }, Qn = { class: "tpl:mb-3.5" }, $n = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, er = { class: "tpl:mb-3.5" }, tr = { class: "tpl:flex tpl:items-stretch" }, nr = ["value"], rr = { class: "tpl:mb-3.5" }, ir = { class: "tpl:flex tpl:items-stretch" }, ar = ["value"], or = /* @__PURE__ */ p({
964
+ }, $n = ["checked"], er = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, tr = { class: "tpl:mb-3.5" }, nr = { class: "tpl:mb-3.5" }, rr = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, ir = { class: "tpl:mb-3.5" }, ar = { class: "tpl:flex tpl:items-stretch" }, or = ["value"], sr = { class: "tpl:mb-3.5" }, cr = { class: "tpl:flex tpl:items-stretch" }, lr = ["value"], ur = /* @__PURE__ */ p({
964
965
  __name: "ButtonToolbar",
965
966
  props: {
966
967
  block: {},
@@ -968,25 +969,25 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
968
969
  },
969
970
  emits: ["update"],
970
971
  setup(t, { emit: n }) {
971
- let r = n, { t: i } = z();
972
+ let r = n, { t: i } = V();
972
973
  function a(e, t) {
973
974
  r("update", { [e]: t });
974
975
  }
975
976
  return (n, r) => (e(), _(v, null, [
976
- g("div", Hn, [g("label", { class: f(w(W)) }, E(w(i).button.fontFamily), 3), g("select", {
977
+ g("div", Kn, [g("label", { class: f(w(W)) }, E(w(i).button.fontFamily), 3), g("select", {
977
978
  class: f(w(U)),
978
979
  value: t.block.fontFamily || "",
979
980
  onChange: r[0] ||= (e) => a("fontFamily", e.target.value || void 0)
980
- }, [g("option", Wn, E(w(i).button.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
981
+ }, [g("option", Jn, E(w(i).button.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
981
982
  key: t.value,
982
983
  value: t.value
983
- }, E(t.label), 9, Gn))), 128))], 42, Un)]),
984
- g("div", Kn, [g("label", { class: f(w(W)) }, E(w(i).button.text), 3), O(Z, {
984
+ }, E(t.label), 9, Yn))), 128))], 42, qn)]),
985
+ g("div", Xn, [g("label", { class: f(w(W)) }, E(w(i).button.text), 3), O(Z, {
985
986
  "model-value": t.block.text,
986
987
  type: "text",
987
988
  "onUpdate:modelValue": r[1] ||= (e) => a("text", e)
988
989
  }, null, 8, ["model-value"])]),
989
- g("div", qn, [
990
+ g("div", Zn, [
990
991
  g("label", { class: f(w(W)) }, E(w(i).button.url), 3),
991
992
  O(Z, {
992
993
  "model-value": t.block.url,
@@ -994,38 +995,38 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
994
995
  placeholder: w(i).button.urlPlaceholder,
995
996
  "onUpdate:modelValue": r[2] ||= (e) => a("url", e)
996
997
  }, null, 8, ["model-value", "placeholder"]),
997
- t.block.url ? (e(), _("label", Jn, [g("input", {
998
+ t.block.url ? (e(), _("label", Qn, [g("input", {
998
999
  type: "checkbox",
999
1000
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
1000
1001
  checked: t.block.openInNewTab ?? !1,
1001
1002
  onChange: r[3] ||= (e) => a("openInNewTab", e.target.checked)
1002
- }, null, 40, Yn), u(" " + E(w(i).button.openInNewTab), 1)])) : y("", !0)
1003
+ }, null, 40, $n), u(" " + E(w(i).button.openInNewTab), 1)])) : y("", !0)
1003
1004
  ]),
1004
- g("div", Xn, [g("div", Zn, [g("label", { class: f(w(W)) }, E(w(i).button.background), 3), O(q, {
1005
+ g("div", er, [g("div", tr, [g("label", { class: f(w(W)) }, E(w(i).button.background), 3), O(q, {
1005
1006
  "model-value": t.block.backgroundColor,
1006
1007
  "onUpdate:modelValue": r[4] ||= (e) => a("backgroundColor", e)
1007
- }, null, 8, ["model-value"])]), g("div", Qn, [g("label", { class: f(w(W)) }, E(w(i).button.textColor), 3), O(q, {
1008
+ }, null, 8, ["model-value"])]), g("div", nr, [g("label", { class: f(w(W)) }, E(w(i).button.textColor), 3), O(q, {
1008
1009
  "model-value": t.block.textColor,
1009
1010
  "onUpdate:modelValue": r[5] ||= (e) => a("textColor", e)
1010
1011
  }, null, 8, ["model-value"])])]),
1011
- g("div", $n, [g("div", er, [g("label", { class: f(w(W)) }, E(w(i).button.borderRadius), 3), g("div", tr, [g("input", {
1012
+ g("div", rr, [g("div", ir, [g("label", { class: f(w(W)) }, E(w(i).button.borderRadius), 3), g("div", ar, [g("input", {
1012
1013
  type: "number",
1013
1014
  class: f(w(K)),
1014
1015
  value: t.block.borderRadius,
1015
1016
  min: "0",
1016
1017
  max: "50",
1017
1018
  onInput: r[6] ||= (e) => a("borderRadius", Number(e.target.value))
1018
- }, null, 42, nr), g("span", { class: f(w(G)) }, "px", 2)])]), g("div", rr, [g("label", { class: f(w(W)) }, E(w(i).button.fontSize), 3), g("div", ir, [g("input", {
1019
+ }, null, 42, or), g("span", { class: f(w(G)) }, "px", 2)])]), g("div", sr, [g("label", { class: f(w(W)) }, E(w(i).button.fontSize), 3), g("div", cr, [g("input", {
1019
1020
  type: "number",
1020
1021
  class: f(w(K)),
1021
1022
  value: t.block.fontSize,
1022
1023
  min: "10",
1023
1024
  max: "36",
1024
1025
  onInput: r[7] ||= (e) => a("fontSize", Number(e.target.value))
1025
- }, null, 42, ar), g("span", { class: f(w(G)) }, "px", 2)])])])
1026
+ }, null, 42, lr), g("span", { class: f(w(G)) }, "px", 2)])])])
1026
1027
  ], 64));
1027
1028
  }
1028
- }), sr = { class: "spacing-control" }, cr = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, lr = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, ur = { class: "tpl:flex tpl:items-center" }, dr = ["aria-label"], fr = ["value", "aria-label"], pr = ["aria-label"], mr = { class: "tpl:flex tpl:items-center tpl:gap-2" }, hr = { class: "tpl:flex tpl:items-center" }, gr = ["aria-label"], _r = ["value", "aria-label"], vr = ["aria-label"], yr = ["aria-label", "title"], br = { class: "tpl:flex tpl:items-center" }, xr = ["aria-label"], Sr = ["value", "aria-label"], Cr = ["aria-label"], wr = { class: "tpl:flex tpl:items-center" }, Tr = ["aria-label"], Er = ["value", "aria-label"], Dr = ["aria-label"], Q = "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)]", Or = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", kr = /* @__PURE__ */ H(/* @__PURE__ */ p({
1029
+ }), dr = { class: "spacing-control" }, fr = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, pr = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, mr = { class: "tpl:flex tpl:items-center" }, hr = ["aria-label"], gr = ["value", "aria-label"], _r = ["aria-label"], vr = { class: "tpl:flex tpl:items-center tpl:gap-2" }, yr = { class: "tpl:flex tpl:items-center" }, br = ["aria-label"], xr = ["value", "aria-label"], Sr = ["aria-label"], Cr = ["aria-label", "title"], wr = { class: "tpl:flex tpl:items-center" }, Tr = ["aria-label"], Er = ["value", "aria-label"], Dr = ["aria-label"], Or = { class: "tpl:flex tpl:items-center" }, kr = ["aria-label"], Ar = ["value", "aria-label"], jr = ["aria-label"], Q = "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)]", Mr = "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)]", Nr = /* @__PURE__ */ it(/* @__PURE__ */ p({
1029
1030
  __name: "SpacingControl",
1030
1031
  props: {
1031
1032
  modelValue: {},
@@ -1033,7 +1034,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1033
1034
  },
1034
1035
  emits: ["update:modelValue"],
1035
1036
  setup(t, { emit: n }) {
1036
- let r = t, i = n, { t: o } = z(), s = h(() => r.modelValue.top === r.modelValue.right && r.modelValue.right === r.modelValue.bottom && r.modelValue.bottom === r.modelValue.left), c = l(s.value);
1037
+ let r = t, i = n, { t: o } = V(), s = h(() => r.modelValue.top === r.modelValue.right && r.modelValue.right === r.modelValue.bottom && r.modelValue.bottom === r.modelValue.left), c = l(s.value);
1037
1038
  a(s, (e) => {
1038
1039
  !e && c.value && (c.value = !1);
1039
1040
  });
@@ -1072,24 +1073,24 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1072
1073
  });
1073
1074
  }
1074
1075
  }
1075
- return (n, r) => (e(), _("div", sr, [g("label", cr, E(t.label), 1), g("div", lr, [
1076
- g("div", ur, [
1076
+ return (n, r) => (e(), _("div", dr, [g("label", fr, E(t.label), 1), g("div", pr, [
1077
+ g("div", mr, [
1077
1078
  g("button", {
1078
1079
  "aria-label": w(o).spacingControl.decreaseTop,
1079
1080
  class: f([Q, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1080
1081
  onClick: r[0] ||= (e) => u("top", -1)
1081
- }, [O(w(V), {
1082
+ }, [O(w(He), {
1082
1083
  size: 12,
1083
1084
  "stroke-width": 2
1084
- })], 10, dr),
1085
+ })], 10, hr),
1085
1086
  g("input", {
1086
1087
  type: "number",
1087
- class: f(Or),
1088
+ class: f(Mr),
1088
1089
  value: t.modelValue.top,
1089
1090
  "aria-label": w(o).spacingControl.top,
1090
1091
  min: "0",
1091
1092
  onInput: r[1] ||= (e) => d("top", Number(e.target.value))
1092
- }, null, 40, fr),
1093
+ }, null, 40, gr),
1093
1094
  g("button", {
1094
1095
  "aria-label": w(o).spacingControl.increaseTop,
1095
1096
  class: f([Q, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
@@ -1097,26 +1098,26 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1097
1098
  }, [O(w(X), {
1098
1099
  size: 12,
1099
1100
  "stroke-width": 2
1100
- })], 10, pr)
1101
+ })], 10, _r)
1101
1102
  ]),
1102
- g("div", mr, [
1103
- g("div", hr, [
1103
+ g("div", vr, [
1104
+ g("div", yr, [
1104
1105
  g("button", {
1105
1106
  "aria-label": w(o).spacingControl.decreaseLeft,
1106
1107
  class: f([Q, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1107
1108
  onClick: r[3] ||= (e) => u("left", -1)
1108
- }, [O(w(V), {
1109
+ }, [O(w(He), {
1109
1110
  size: 12,
1110
1111
  "stroke-width": 2
1111
- })], 10, gr),
1112
+ })], 10, br),
1112
1113
  g("input", {
1113
1114
  type: "number",
1114
- class: f(Or),
1115
+ class: f(Mr),
1115
1116
  value: t.modelValue.left,
1116
1117
  "aria-label": w(o).spacingControl.left,
1117
1118
  min: "0",
1118
1119
  onInput: r[4] ||= (e) => d("left", Number(e.target.value))
1119
- }, null, 40, _r),
1120
+ }, null, 40, xr),
1120
1121
  g("button", {
1121
1122
  "aria-label": w(o).spacingControl.increaseLeft,
1122
1123
  class: f([Q, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
@@ -1124,39 +1125,39 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1124
1125
  }, [O(w(X), {
1125
1126
  size: 12,
1126
1127
  "stroke-width": 2
1127
- })], 10, vr)
1128
+ })], 10, Sr)
1128
1129
  ]),
1129
1130
  g("button", {
1130
1131
  class: f(["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)]", c.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)]"]),
1131
1132
  "aria-label": c.value ? w(o).spacingControl.unlock : w(o).spacingControl.lockAll,
1132
1133
  title: c.value ? w(o).spacingControl.unlock : w(o).spacingControl.lockAll,
1133
1134
  onClick: p
1134
- }, [c.value ? (e(), S(w(_t), {
1135
+ }, [c.value ? (e(), S(w(xt), {
1135
1136
  key: 0,
1136
1137
  size: 14,
1137
1138
  "stroke-width": 2
1138
- })) : (e(), S(w(gt), {
1139
+ })) : (e(), S(w(bt), {
1139
1140
  key: 1,
1140
1141
  size: 14,
1141
1142
  "stroke-width": 2
1142
- }))], 10, yr),
1143
- g("div", br, [
1143
+ }))], 10, Cr),
1144
+ g("div", wr, [
1144
1145
  g("button", {
1145
1146
  "aria-label": w(o).spacingControl.decreaseRight,
1146
1147
  class: f([Q, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1147
1148
  onClick: r[6] ||= (e) => u("right", -1)
1148
- }, [O(w(V), {
1149
+ }, [O(w(He), {
1149
1150
  size: 12,
1150
1151
  "stroke-width": 2
1151
- })], 10, xr),
1152
+ })], 10, Tr),
1152
1153
  g("input", {
1153
1154
  type: "number",
1154
- class: f(Or),
1155
+ class: f(Mr),
1155
1156
  value: t.modelValue.right,
1156
1157
  "aria-label": w(o).spacingControl.right,
1157
1158
  min: "0",
1158
1159
  onInput: r[7] ||= (e) => d("right", Number(e.target.value))
1159
- }, null, 40, Sr),
1160
+ }, null, 40, Er),
1160
1161
  g("button", {
1161
1162
  "aria-label": w(o).spacingControl.increaseRight,
1162
1163
  class: f([Q, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
@@ -1164,26 +1165,26 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1164
1165
  }, [O(w(X), {
1165
1166
  size: 12,
1166
1167
  "stroke-width": 2
1167
- })], 10, Cr)
1168
+ })], 10, Dr)
1168
1169
  ])
1169
1170
  ]),
1170
- g("div", wr, [
1171
+ g("div", Or, [
1171
1172
  g("button", {
1172
1173
  "aria-label": w(o).spacingControl.decreaseBottom,
1173
1174
  class: f([Q, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1174
1175
  onClick: r[9] ||= (e) => u("bottom", -1)
1175
- }, [O(w(V), {
1176
+ }, [O(w(He), {
1176
1177
  size: 12,
1177
1178
  "stroke-width": 2
1178
- })], 10, Tr),
1179
+ })], 10, kr),
1179
1180
  g("input", {
1180
1181
  type: "number",
1181
- class: f(Or),
1182
+ class: f(Mr),
1182
1183
  value: t.modelValue.bottom,
1183
1184
  "aria-label": w(o).spacingControl.bottom,
1184
1185
  min: "0",
1185
1186
  onInput: r[10] ||= (e) => d("bottom", Number(e.target.value))
1186
- }, null, 40, Er),
1187
+ }, null, 40, Ar),
1187
1188
  g("button", {
1188
1189
  "aria-label": w(o).spacingControl.increaseBottom,
1189
1190
  class: f([Q, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
@@ -1191,11 +1192,11 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1191
1192
  }, [O(w(X), {
1192
1193
  size: 12,
1193
1194
  "stroke-width": 2
1194
- })], 10, Dr)
1195
+ })], 10, jr)
1195
1196
  ])
1196
1197
  ])]));
1197
1198
  }
1198
- }), [["__scopeId", "data-v-9a9c8a07"]]), Ar = { class: "tpl:mt-3" }, jr = /* @__PURE__ */ p({
1199
+ }), [["__scopeId", "data-v-9a9c8a07"]]), Pr = { class: "tpl:mt-3" }, Fr = /* @__PURE__ */ p({
1199
1200
  __name: "CollapsibleSection",
1200
1201
  props: {
1201
1202
  title: {},
@@ -1212,21 +1213,21 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1212
1213
  class: f(["tpl:transition-transform tpl:duration-200", n.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
1213
1214
  size: 12,
1214
1215
  "stroke-width": 2
1215
- }, null, 8, ["class"]), g("span", null, E(n.title), 1)]), t(g("div", Ar, [s(r.$slots, "default")], 512), [[b, n.open]])], 2));
1216
+ }, null, 8, ["class"]), g("span", null, E(n.title), 1)]), t(g("div", Pr, [s(r.$slots, "default")], 512), [[b, n.open]])], 2));
1216
1217
  }
1217
- }), Mr = { class: "tpl:mt-4" }, Nr = { class: "tpl:space-y-2" }, Pr = ["checked", "onChange"], Fr = ["value", "placeholder"], Ir = { class: "tpl:space-y-2" }, Lr = ["value"], Rr = { value: "" }, zr = ["label"], Br = ["value"], Vr = ["value"], Hr = {
1218
+ }), Ir = { class: "tpl:mt-4" }, Lr = { class: "tpl:space-y-2" }, Rr = ["checked", "onChange"], zr = ["value", "placeholder"], Br = { class: "tpl:space-y-2" }, Vr = ["value"], Hr = { value: "" }, Ur = ["label"], Wr = ["value"], Gr = ["value"], Kr = {
1218
1219
  key: 0,
1219
1220
  value: "__custom__"
1220
- }, Ur = {
1221
+ }, qr = {
1221
1222
  key: 0,
1222
1223
  class: "tpl:space-y-2"
1223
- }, Wr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Gr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Kr = { class: "tpl:flex tpl:justify-end" }, qr = ["disabled"], Jr = {
1224
+ }, Jr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Yr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Xr = { class: "tpl:flex tpl:justify-end" }, Zr = ["disabled"], Qr = {
1224
1225
  key: 0,
1225
1226
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
1226
- }, Yr = { class: "tpl:space-y-1" }, Xr = { 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)]" }, Zr = {
1227
+ }, $r = { class: "tpl:space-y-1" }, ei = { 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)]" }, ti = {
1227
1228
  key: 0,
1228
1229
  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)]"
1229
- }, Qr = /* @__PURE__ */ p({
1230
+ }, ni = /* @__PURE__ */ p({
1230
1231
  __name: "CommonBlockSettings",
1231
1232
  props: {
1232
1233
  block: {},
@@ -1234,31 +1235,31 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1234
1235
  },
1235
1236
  emits: ["update"],
1236
1237
  setup(n, { emit: s }) {
1237
- let c = n, p = s, { t: m } = z(), b = k(Me, []), x = k(Pe, !1), C = i(/* @__PURE__ */ new Set()), T = l(!1), D = l(""), A = l(""), ee = [
1238
+ let c = n, p = s, { t: m } = V(), b = k(je, []), x = k(Pe, !1), C = i(/* @__PURE__ */ new Set()), T = l(!1), D = l(""), A = l(""), ee = [
1238
1239
  {
1239
1240
  key: "desktop",
1240
- icon: vt,
1241
+ icon: St,
1241
1242
  labelKey: "showOnDesktop"
1242
1243
  },
1243
1244
  {
1244
1245
  key: "tablet",
1245
- icon: Dt,
1246
+ icon: jt,
1246
1247
  labelKey: "showOnTablet"
1247
1248
  },
1248
1249
  {
1249
1250
  key: "mobile",
1250
- icon: Ct,
1251
+ icon: Dt,
1251
1252
  labelKey: "showOnMobile"
1252
1253
  }
1253
1254
  ];
1254
1255
  function M(e) {
1255
1256
  C.has(e) ? C.delete(e) : C.add(e);
1256
1257
  }
1257
- let te = h(() => b.length > 0 || x), N = h(() => c.block.displayCondition ? !b.some((e) => e.label === c.block.displayCondition?.label) : !1);
1258
- function P() {
1259
- T.value = !0, N.value && c.block.displayCondition ? (D.value = c.block.displayCondition.before, A.value = c.block.displayCondition.after ?? "") : (D.value = "", A.value = "");
1260
- }
1258
+ let N = h(() => b.length > 0 || x), P = h(() => c.block.displayCondition ? !b.some((e) => e.label === c.block.displayCondition?.label) : !1);
1261
1259
  function F() {
1260
+ T.value = !0, P.value && c.block.displayCondition ? (D.value = c.block.displayCondition.before, A.value = c.block.displayCondition.after ?? "") : (D.value = "", A.value = "");
1261
+ }
1262
+ function I() {
1262
1263
  D.value.trim() && (p("update", { displayCondition: {
1263
1264
  label: m.blockSettings.customCondition,
1264
1265
  before: D.value.trim(),
@@ -1270,9 +1271,9 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1270
1271
  T.value = !1, D.value = "", A.value = "";
1271
1272
  return;
1272
1273
  }
1273
- N.value && (D.value = e.before, A.value = e.after ?? "");
1274
+ P.value && (D.value = e.before, A.value = e.after ?? "");
1274
1275
  }, { immediate: !0 });
1275
- let ne = h(() => {
1276
+ let L = h(() => {
1276
1277
  let e = {};
1277
1278
  for (let t of b) {
1278
1279
  let n = t.group ?? "";
@@ -1280,38 +1281,38 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1280
1281
  }
1281
1282
  return e;
1282
1283
  });
1283
- function I(e, t) {
1284
+ function R(e, t) {
1284
1285
  p("update", { styles: {
1285
1286
  ...c.block.styles,
1286
1287
  [e]: t
1287
1288
  } });
1288
1289
  }
1289
- function L(e) {
1290
+ function z(e) {
1290
1291
  return c.block.visibility?.[e] !== !1;
1291
1292
  }
1292
- function re(e) {
1293
+ function te(e) {
1293
1294
  let t = {
1294
- desktop: L("desktop"),
1295
- tablet: L("tablet"),
1296
- mobile: L("mobile")
1295
+ desktop: z("desktop"),
1296
+ tablet: z("tablet"),
1297
+ mobile: z("mobile")
1297
1298
  };
1298
1299
  t[e] = !t[e], p("update", { visibility: t });
1299
1300
  }
1300
1301
  return (i, a) => (e(), _("div", { class: f(["tpl:flex tpl:flex-col", n.isFirstSection ? "" : "tpl:mt-4"]) }, [
1301
- O(jr, {
1302
+ O(Fr, {
1302
1303
  title: w(m).blockSettings.spacing,
1303
1304
  open: C.has("spacing"),
1304
1305
  "no-border": n.isFirstSection,
1305
1306
  onToggle: a[2] ||= (e) => M("spacing")
1306
1307
  }, {
1307
- default: j(() => [O(kr, {
1308
+ default: j(() => [O(Nr, {
1308
1309
  label: w(m).blockSettings.padding,
1309
1310
  "model-value": n.block.styles.padding,
1310
- "onUpdate:modelValue": a[0] ||= (e) => I("padding", e)
1311
- }, null, 8, ["label", "model-value"]), g("div", Mr, [O(kr, {
1311
+ "onUpdate:modelValue": a[0] ||= (e) => R("padding", e)
1312
+ }, null, 8, ["label", "model-value"]), g("div", Ir, [O(Nr, {
1312
1313
  label: w(m).blockSettings.margin,
1313
1314
  "model-value": n.block.styles.margin,
1314
- "onUpdate:modelValue": a[1] ||= (e) => I("margin", e)
1315
+ "onUpdate:modelValue": a[1] ||= (e) => R("margin", e)
1315
1316
  }, null, 8, ["label", "model-value"])])]),
1316
1317
  _: 1
1317
1318
  }, 8, [
@@ -1319,7 +1320,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1319
1320
  "open",
1320
1321
  "no-border"
1321
1322
  ]),
1322
- O(jr, {
1323
+ O(Fr, {
1323
1324
  title: w(m).blockSettings.background,
1324
1325
  open: C.has("bg"),
1325
1326
  onToggle: a[4] ||= (e) => M("bg")
@@ -1327,25 +1328,25 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1327
1328
  default: j(() => [g("label", { class: f(w(W)) }, E(w(m).blockSettings.color), 3), O(q, {
1328
1329
  size: "large",
1329
1330
  "model-value": n.block.styles.backgroundColor || w("#ffffff"),
1330
- "onUpdate:modelValue": a[3] ||= (e) => I("backgroundColor", e)
1331
+ "onUpdate:modelValue": a[3] ||= (e) => R("backgroundColor", e)
1331
1332
  }, null, 8, ["model-value"])]),
1332
1333
  _: 1
1333
1334
  }, 8, ["title", "open"]),
1334
- O(jr, {
1335
+ O(Fr, {
1335
1336
  title: w(m).blockSettings.display,
1336
1337
  open: C.has("display"),
1337
1338
  onToggle: a[5] ||= (e) => M("display")
1338
1339
  }, {
1339
- default: j(() => [g("div", Nr, [(e(), _(v, null, o(ee, (t) => g("label", {
1340
+ default: j(() => [g("div", Lr, [(e(), _(v, null, o(ee, (t) => g("label", {
1340
1341
  key: t.key,
1341
1342
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:text-[var(--tpl-text)]"
1342
1343
  }, [
1343
1344
  g("input", {
1344
1345
  type: "checkbox",
1345
1346
  class: "tpl:accent-[var(--tpl-primary)]",
1346
- checked: L(t.key),
1347
- onChange: (e) => re(t.key)
1348
- }, null, 40, Pr),
1347
+ checked: z(t.key),
1348
+ onChange: (e) => te(t.key)
1349
+ }, null, 40, Rr),
1349
1350
  (e(), S(r(t.icon), {
1350
1351
  size: 14,
1351
1352
  "stroke-width": 1.5
@@ -1354,7 +1355,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1354
1355
  ])), 64))])]),
1355
1356
  _: 1
1356
1357
  }, 8, ["title", "open"]),
1357
- O(jr, {
1358
+ O(Fr, {
1358
1359
  title: w(m).blockSettings.customCss,
1359
1360
  open: C.has("css"),
1360
1361
  onToggle: a[7] ||= (e) => M("css")
@@ -1363,24 +1364,24 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1363
1364
  value: n.block.customCss || "",
1364
1365
  placeholder: w(m).blockSettings.cssPlaceholder,
1365
1366
  rows: "3",
1366
- class: f(w(lt)),
1367
+ class: f(w(ft)),
1367
1368
  onInput: a[6] ||= (e) => p("update", { customCss: e.target.value })
1368
- }, null, 42, Fr)]),
1369
+ }, null, 42, zr)]),
1369
1370
  _: 1
1370
1371
  }, 8, ["title", "open"]),
1371
- te.value ? (e(), S(jr, {
1372
+ N.value ? (e(), S(Fr, {
1372
1373
  key: 0,
1373
1374
  title: w(m).blockSettings.displayCondition,
1374
1375
  open: C.has("condition"),
1375
1376
  onToggle: a[11] ||= (e) => M("condition")
1376
1377
  }, {
1377
- default: j(() => [g("div", Ir, [g("select", {
1378
+ default: j(() => [g("div", Br, [g("select", {
1378
1379
  class: f(["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)]", n.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)]"]),
1379
- value: T.value || N.value ? "__custom__" : n.block.displayCondition?.label ?? "",
1380
+ value: T.value || P.value ? "__custom__" : n.block.displayCondition?.label ?? "",
1380
1381
  onChange: a[8] ||= (e) => {
1381
1382
  let t = e.target.value;
1382
1383
  if (t === "__custom__") {
1383
- P();
1384
+ F();
1384
1385
  return;
1385
1386
  }
1386
1387
  if (T.value = !1, !t) {
@@ -1391,48 +1392,48 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1391
1392
  n && p("update", { displayCondition: n });
1392
1393
  }
1393
1394
  }, [
1394
- g("option", Rr, E(w(m).blockSettings.noCondition), 1),
1395
- (e(!0), _(v, null, o(ne.value, (t, n) => (e(), _(v, { key: n }, [n ? (e(), _("optgroup", {
1395
+ g("option", Hr, E(w(m).blockSettings.noCondition), 1),
1396
+ (e(!0), _(v, null, o(L.value, (t, n) => (e(), _(v, { key: n }, [n ? (e(), _("optgroup", {
1396
1397
  key: 0,
1397
1398
  label: String(n)
1398
1399
  }, [(e(!0), _(v, null, o(t, (t) => (e(), _("option", {
1399
1400
  key: t.label,
1400
1401
  value: t.label
1401
- }, E(t.label), 9, Br))), 128))], 8, zr)) : (e(!0), _(v, { key: 1 }, o(t, (t) => (e(), _("option", {
1402
+ }, E(t.label), 9, Wr))), 128))], 8, Ur)) : (e(!0), _(v, { key: 1 }, o(t, (t) => (e(), _("option", {
1402
1403
  key: t.label,
1403
1404
  value: t.label
1404
- }, E(t.label), 9, Vr))), 128))], 64))), 128)),
1405
- w(x) ? (e(), _("option", Hr, E(w(m).blockSettings.customCondition), 1)) : y("", !0)
1406
- ], 42, Lr), T.value || N.value ? (e(), _("div", Ur, [
1407
- g("div", null, [g("label", Wr, E(w(m).blockSettings.customConditionBefore), 1), t(g("textarea", {
1405
+ }, E(t.label), 9, Gr))), 128))], 64))), 128)),
1406
+ w(x) ? (e(), _("option", Kr, E(w(m).blockSettings.customCondition), 1)) : y("", !0)
1407
+ ], 42, Vr), T.value || P.value ? (e(), _("div", qr, [
1408
+ g("div", null, [g("label", Jr, E(w(m).blockSettings.customConditionBefore), 1), t(g("textarea", {
1408
1409
  "onUpdate:modelValue": a[9] ||= (e) => D.value = e,
1409
1410
  rows: "2",
1410
- class: f(w(lt))
1411
+ class: f(w(ft))
1411
1412
  }, null, 2), [[d, D.value]])]),
1412
- g("div", null, [g("label", Gr, E(w(m).blockSettings.customConditionAfter), 1), t(g("textarea", {
1413
+ g("div", null, [g("label", Yr, E(w(m).blockSettings.customConditionAfter), 1), t(g("textarea", {
1413
1414
  "onUpdate:modelValue": a[10] ||= (e) => A.value = e,
1414
1415
  rows: "2",
1415
- class: f(w(lt))
1416
+ class: f(w(ft))
1416
1417
  }, null, 2), [[d, A.value]])]),
1417
- g("div", Kr, [g("button", {
1418
+ g("div", Xr, [g("button", {
1418
1419
  type: "button",
1419
1420
  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",
1420
1421
  disabled: !D.value.trim(),
1421
- onClick: F
1422
- }, E(w(m).blockSettings.applyCondition), 9, qr)])
1423
- ])) : n.block.displayCondition && !N.value ? (e(), _(v, { key: 1 }, [n.block.displayCondition.description ? (e(), _("p", Jr, E(n.block.displayCondition.description), 1)) : y("", !0), g("div", Yr, [g("pre", Xr, E(n.block.displayCondition.before), 1), n.block.displayCondition.after ? (e(), _("pre", Zr, E(n.block.displayCondition.after), 1)) : y("", !0)])], 64)) : y("", !0)])]),
1422
+ onClick: I
1423
+ }, E(w(m).blockSettings.applyCondition), 9, Zr)])
1424
+ ])) : n.block.displayCondition && !P.value ? (e(), _(v, { key: 1 }, [n.block.displayCondition.description ? (e(), _("p", Qr, E(n.block.displayCondition.description), 1)) : y("", !0), g("div", $r, [g("pre", ei, E(n.block.displayCondition.before), 1), n.block.displayCondition.after ? (e(), _("pre", ti, E(n.block.displayCondition.after), 1)) : y("", !0)])], 64)) : y("", !0)])]),
1424
1425
  _: 1
1425
1426
  }, 8, ["title", "open"])) : y("", !0)
1426
1427
  ], 2));
1427
1428
  }
1428
- }), $r = ["title"], ei = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ti = {
1429
+ }), ri = ["title"], ii = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ai = {
1429
1430
  key: 1,
1430
1431
  class: "tpl:text-[var(--tpl-danger)]"
1431
- }, ni = [
1432
+ }, oi = [
1432
1433
  "aria-checked",
1433
1434
  "aria-label",
1434
1435
  "disabled"
1435
- ], ri = /* @__PURE__ */ p({
1436
+ ], si = /* @__PURE__ */ p({
1436
1437
  __name: "BooleanField",
1437
1438
  props: {
1438
1439
  field: {},
@@ -1441,18 +1442,18 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1441
1442
  },
1442
1443
  emits: ["update:modelValue"],
1443
1444
  setup(t, { emit: n }) {
1444
- let r = n, { t: i } = z();
1445
+ let r = n, { t: i } = V();
1445
1446
  return (n, a) => (e(), _("div", {
1446
1447
  class: "tpl:mb-3.5",
1447
1448
  title: t.readOnly ? w(i).customBlocks.dataSource.readOnlyTooltip : void 0
1448
- }, [g("label", { class: f(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", t.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [g("span", ei, [
1449
+ }, [g("label", { class: f(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", t.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [g("span", ii, [
1449
1450
  u(E(t.field.label) + " ", 1),
1450
- t.readOnly ? (e(), S(w(_t), {
1451
+ t.readOnly ? (e(), S(w(xt), {
1451
1452
  key: 0,
1452
1453
  size: 12,
1453
1454
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1454
1455
  })) : y("", !0),
1455
- t.field.required ? (e(), _("span", ti, " * ")) : y("", !0)
1456
+ t.field.required ? (e(), _("span", ai, " * ")) : y("", !0)
1456
1457
  ]), g("button", {
1457
1458
  type: "button",
1458
1459
  role: "switch",
@@ -1465,12 +1466,12 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1465
1466
  ]),
1466
1467
  disabled: t.readOnly,
1467
1468
  onClick: a[0] ||= (e) => !t.readOnly && r("update:modelValue", !t.modelValue)
1468
- }, [g("span", { class: f(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", t.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, ni)], 2)], 8, $r));
1469
+ }, [g("span", { class: f(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", t.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, oi)], 2)], 8, ri));
1469
1470
  }
1470
- }), ii = { class: "tpl:mb-3.5" }, ai = {
1471
+ }), ci = { class: "tpl:mb-3.5" }, li = {
1471
1472
  key: 1,
1472
1473
  class: "tpl:text-[var(--tpl-danger)]"
1473
- }, $ = /* @__PURE__ */ p({
1474
+ }, ui = /* @__PURE__ */ p({
1474
1475
  __name: "FieldWrapper",
1475
1476
  props: {
1476
1477
  label: {},
@@ -1478,17 +1479,17 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1478
1479
  readOnly: { type: Boolean }
1479
1480
  },
1480
1481
  setup(t) {
1481
- return (n, r) => (e(), _("div", ii, [g("label", { class: f(w(W)) }, [
1482
+ return (n, r) => (e(), _("div", ci, [g("label", { class: f(w(W)) }, [
1482
1483
  u(E(t.label) + " ", 1),
1483
- t.readOnly ? (e(), S(w(_t), {
1484
+ t.readOnly ? (e(), S(w(xt), {
1484
1485
  key: 0,
1485
1486
  size: 12,
1486
1487
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1487
1488
  })) : y("", !0),
1488
- t.required ? (e(), _("span", ai, "*")) : y("", !0)
1489
+ t.required ? (e(), _("span", li, "*")) : y("", !0)
1489
1490
  ], 2), s(n.$slots, "default")]));
1490
1491
  }
1491
- }), oi = /* @__PURE__ */ p({
1492
+ }), di = /* @__PURE__ */ p({
1492
1493
  __name: "ColorField",
1493
1494
  props: {
1494
1495
  field: {},
@@ -1497,8 +1498,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1497
1498
  },
1498
1499
  emits: ["update:modelValue"],
1499
1500
  setup(t, { emit: n }) {
1500
- let r = n, { t: i } = z();
1501
- return (n, a) => (e(), S($, {
1501
+ let r = n, { t: i } = V();
1502
+ return (n, a) => (e(), S(ui, {
1502
1503
  label: t.field.label,
1503
1504
  required: t.field.required,
1504
1505
  "read-only": t.readOnly
@@ -1522,11 +1523,11 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1522
1523
  "read-only"
1523
1524
  ]));
1524
1525
  }
1525
- }), si = [
1526
+ }), fi = [
1526
1527
  "value",
1527
1528
  "placeholder",
1528
1529
  "title"
1529
- ], ci = ["value", "placeholder"], li = /* @__PURE__ */ p({
1530
+ ], pi = ["value", "placeholder"], mi = /* @__PURE__ */ p({
1530
1531
  __name: "ImageField",
1531
1532
  props: {
1532
1533
  field: {},
@@ -1535,12 +1536,12 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1535
1536
  },
1536
1537
  emits: ["update:modelValue"],
1537
1538
  setup(t, { emit: n }) {
1538
- let r = n, { t: i } = z(), a = k(ze, null), o = it(), s = h(() => !!a);
1539
+ let r = n, { t: i } = V(), a = k(De, null), o = st(), s = h(() => !!a);
1539
1540
  async function c() {
1540
1541
  let e = await a?.({ accept: ["images"] });
1541
1542
  o.alive && e && r("update:modelValue", e.url);
1542
1543
  }
1543
- return (n, a) => (e(), S($, {
1544
+ return (n, a) => (e(), S(ui, {
1544
1545
  label: t.field.label,
1545
1546
  required: t.field.required,
1546
1547
  "read-only": t.readOnly
@@ -1553,18 +1554,18 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1553
1554
  placeholder: t.field.placeholder || "https://...",
1554
1555
  disabled: "",
1555
1556
  title: w(i).customBlocks.dataSource.readOnlyTooltip
1556
- }, null, 10, si)) : (e(), _("input", {
1557
+ }, null, 10, fi)) : (e(), _("input", {
1557
1558
  key: 1,
1558
1559
  type: "url",
1559
1560
  class: f(w(U)),
1560
1561
  value: t.modelValue,
1561
1562
  placeholder: t.field.placeholder || "https://...",
1562
1563
  onInput: a[0] ||= (e) => r("update:modelValue", e.target.value)
1563
- }, null, 42, ci)), s.value && !t.readOnly ? (e(), _("button", {
1564
+ }, null, 42, pi)), s.value && !t.readOnly ? (e(), _("button", {
1564
1565
  key: 2,
1565
1566
  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)]",
1566
1567
  onClick: a[1] ||= (e) => c()
1567
- }, [O(w(he), {
1568
+ }, [O(w(pe), {
1568
1569
  size: 14,
1569
1570
  "stroke-width": 1.5
1570
1571
  }), u(" " + E(w(i).image.browseMedia), 1)])) : y("", !0)]),
@@ -1575,7 +1576,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1575
1576
  "read-only"
1576
1577
  ]));
1577
1578
  }
1578
- }), ui = [
1579
+ }), hi = [
1579
1580
  "value",
1580
1581
  "placeholder",
1581
1582
  "min",
@@ -1583,7 +1584,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1583
1584
  "step",
1584
1585
  "disabled",
1585
1586
  "title"
1586
- ], di = /* @__PURE__ */ p({
1587
+ ], gi = /* @__PURE__ */ p({
1587
1588
  __name: "NumberField",
1588
1589
  props: {
1589
1590
  field: {},
@@ -1592,8 +1593,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1592
1593
  },
1593
1594
  emits: ["update:modelValue"],
1594
1595
  setup(t, { emit: n }) {
1595
- let r = n, { t: i } = z();
1596
- return (n, a) => (e(), S($, {
1596
+ let r = n, { t: i } = V();
1597
+ return (n, a) => (e(), S(ui, {
1597
1598
  label: t.field.label,
1598
1599
  required: t.field.required,
1599
1600
  "read-only": t.readOnly
@@ -1609,7 +1610,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1609
1610
  disabled: t.readOnly,
1610
1611
  title: t.readOnly ? w(i).customBlocks.dataSource.readOnlyTooltip : void 0,
1611
1612
  onInput: a[0] ||= (e) => !t.readOnly && r("update:modelValue", Number(e.target.value))
1612
- }, null, 42, ui)]),
1613
+ }, null, 42, hi)]),
1613
1614
  _: 1
1614
1615
  }, 8, [
1615
1616
  "label",
@@ -1617,10 +1618,10 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1617
1618
  "read-only"
1618
1619
  ]));
1619
1620
  }
1620
- }), fi = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, pi = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, mi = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, hi = ["title", "onClick"], gi = {
1621
+ }), _i = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, vi = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, yi = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, bi = ["title", "onClick"], xi = {
1621
1622
  key: 1,
1622
1623
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1623
- }, _i = /* @__PURE__ */ p({
1624
+ }, Si = /* @__PURE__ */ p({
1624
1625
  __name: "RepeatableField",
1625
1626
  props: {
1626
1627
  field: {},
@@ -1629,7 +1630,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1629
1630
  },
1630
1631
  emits: ["update:modelValue"],
1631
1632
  setup(t, { emit: n }) {
1632
- let i = t, a = n, { t: s } = z(), c = h(() => i.modelValue || []), l = h(() => !i.field.maxItems || c.value.length < i.field.maxItems), d = h(() => !i.field.minItems || c.value.length > i.field.minItems);
1633
+ let i = t, a = n, { t: s } = V(), c = h(() => i.modelValue || []), l = h(() => !i.field.maxItems || c.value.length < i.field.maxItems), d = h(() => !i.field.minItems || c.value.length > i.field.minItems);
1633
1634
  function p() {
1634
1635
  if (!l.value || i.readOnly) return;
1635
1636
  let e = {};
@@ -1647,25 +1648,25 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1647
1648
  [t]: n
1648
1649
  } : r));
1649
1650
  }
1650
- return (n, i) => (e(), S($, {
1651
+ return (n, i) => (e(), S(ui, {
1651
1652
  label: t.field.label,
1652
1653
  required: t.field.required,
1653
1654
  "read-only": t.readOnly
1654
1655
  }, {
1655
- default: j(() => [g("div", fi, [
1656
+ default: j(() => [g("div", _i, [
1656
1657
  (e(!0), _(v, null, o(c.value, (n, i) => (e(), _("div", {
1657
1658
  key: `${t.field.key}-${i}`,
1658
1659
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
1659
- }, [g("div", pi, [g("span", mi, " #" + E(i + 1), 1), d.value && !t.readOnly ? (e(), _("button", {
1660
+ }, [g("div", vi, [g("span", yi, " #" + E(i + 1), 1), d.value && !t.readOnly ? (e(), _("button", {
1660
1661
  key: 0,
1661
1662
  type: "button",
1662
1663
  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)]",
1663
1664
  title: w(s).customBlocks.fields.removeItem,
1664
1665
  onClick: (e) => m(i)
1665
- }, [O(w(et), {
1666
+ }, [O(w(nt), {
1666
1667
  size: 12,
1667
1668
  "stroke-width": 2
1668
- })], 8, hi)) : y("", !0)]), (e(!0), _(v, null, o(t.field.fields, (a) => (e(), S(r(w(Ei)(a.type)), {
1669
+ })], 8, bi)) : y("", !0)]), (e(!0), _(v, null, o(t.field.fields, (a) => (e(), S(r(w(ji)(a.type)), {
1669
1670
  key: a.key,
1670
1671
  field: a,
1671
1672
  "model-value": n[a.key],
@@ -1680,13 +1681,13 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1680
1681
  l.value && !t.readOnly ? (e(), _("button", {
1681
1682
  key: 0,
1682
1683
  type: "button",
1683
- class: f(w(ct)),
1684
+ class: f(w(dt)),
1684
1685
  onClick: p
1685
1686
  }, [O(w(X), {
1686
1687
  size: 14,
1687
1688
  "stroke-width": 2
1688
1689
  }), u(" " + E(w(s).customBlocks.fields.addItem), 1)], 2)) : y("", !0),
1689
- !l.value && !t.readOnly ? (e(), _("p", gi, E(w(s).customBlocks.fields.maxItemsReached), 1)) : y("", !0)
1690
+ !l.value && !t.readOnly ? (e(), _("p", xi, E(w(s).customBlocks.fields.maxItemsReached), 1)) : y("", !0)
1690
1691
  ])]),
1691
1692
  _: 1
1692
1693
  }, 8, [
@@ -1695,11 +1696,11 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1695
1696
  "read-only"
1696
1697
  ]));
1697
1698
  }
1698
- }), vi = [
1699
+ }), Ci = [
1699
1700
  "value",
1700
1701
  "disabled",
1701
1702
  "title"
1702
- ], yi = ["value"], bi = /* @__PURE__ */ p({
1703
+ ], wi = ["value"], Ti = /* @__PURE__ */ p({
1703
1704
  __name: "SelectField",
1704
1705
  props: {
1705
1706
  field: {},
@@ -1708,8 +1709,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1708
1709
  },
1709
1710
  emits: ["update:modelValue"],
1710
1711
  setup(t, { emit: n }) {
1711
- let r = n, { t: i } = z();
1712
- return (n, a) => (e(), S($, {
1712
+ let r = n, { t: i } = V();
1713
+ return (n, a) => (e(), S(ui, {
1713
1714
  label: t.field.label,
1714
1715
  required: t.field.required,
1715
1716
  "read-only": t.readOnly
@@ -1723,7 +1724,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1723
1724
  }, [(e(!0), _(v, null, o(t.field.options, (t) => (e(), _("option", {
1724
1725
  key: t.value,
1725
1726
  value: t.value
1726
- }, E(t.label), 9, yi))), 128))], 42, vi)]),
1727
+ }, E(t.label), 9, wi))), 128))], 42, Ci)]),
1727
1728
  _: 1
1728
1729
  }, 8, [
1729
1730
  "label",
@@ -1731,11 +1732,11 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1731
1732
  "read-only"
1732
1733
  ]));
1733
1734
  }
1734
- }), xi = [
1735
+ }), Ei = [
1735
1736
  "value",
1736
1737
  "placeholder",
1737
1738
  "title"
1738
- ], Si = /* @__PURE__ */ p({
1739
+ ], Di = /* @__PURE__ */ p({
1739
1740
  __name: "TextField",
1740
1741
  props: {
1741
1742
  field: {},
@@ -1744,8 +1745,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1744
1745
  },
1745
1746
  emits: ["update:modelValue"],
1746
1747
  setup(t, { emit: n }) {
1747
- let r = n, { t: i } = z();
1748
- return (n, a) => (e(), S($, {
1748
+ let r = n, { t: i } = V();
1749
+ return (n, a) => (e(), S(ui, {
1749
1750
  label: t.field.label,
1750
1751
  required: t.field.required,
1751
1752
  "read-only": t.readOnly
@@ -1758,7 +1759,7 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1758
1759
  placeholder: t.field.placeholder,
1759
1760
  disabled: "",
1760
1761
  title: w(i).customBlocks.dataSource.readOnlyTooltip
1761
- }, null, 10, xi)) : (e(), S(Z, {
1762
+ }, null, 10, Ei)) : (e(), S(Z, {
1762
1763
  key: 1,
1763
1764
  "model-value": t.modelValue,
1764
1765
  placeholder: t.field.placeholder,
@@ -1771,12 +1772,12 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1771
1772
  "read-only"
1772
1773
  ]));
1773
1774
  }
1774
- }), Ci = [
1775
+ }), Oi = [
1775
1776
  "value",
1776
1777
  "placeholder",
1777
1778
  "title"
1778
- ], wi = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Ti = {
1779
- text: Si,
1779
+ ], ki = "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", Ai = {
1780
+ text: Di,
1780
1781
  textarea: /* @__PURE__ */ p({
1781
1782
  __name: "TextareaField",
1782
1783
  props: {
@@ -1786,8 +1787,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1786
1787
  },
1787
1788
  emits: ["update:modelValue"],
1788
1789
  setup(t, { emit: n }) {
1789
- let r = n, { t: i } = z();
1790
- return (n, a) => (e(), S($, {
1790
+ let r = n, { t: i } = V();
1791
+ return (n, a) => (e(), S(ui, {
1791
1792
  label: t.field.label,
1792
1793
  required: t.field.required,
1793
1794
  "read-only": t.readOnly
@@ -1799,8 +1800,8 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1799
1800
  rows: "3",
1800
1801
  disabled: "",
1801
1802
  title: w(i).customBlocks.dataSource.readOnlyTooltip,
1802
- class: f(wi)
1803
- }, null, 8, Ci)) : (e(), S(un, {
1803
+ class: f(ki)
1804
+ }, null, 8, Oi)) : (e(), S(mn, {
1804
1805
  key: 1,
1805
1806
  "model-value": t.modelValue,
1806
1807
  placeholder: t.field.placeholder,
@@ -1814,42 +1815,42 @@ var Yt = ["aria-label", "onKeydown"], Xt = ["data-tooltip"], Zt = ["data-tooltip
1814
1815
  ]));
1815
1816
  }
1816
1817
  }),
1817
- image: li,
1818
- color: oi,
1819
- number: di,
1820
- select: bi,
1821
- boolean: ri,
1822
- repeatable: _i
1818
+ image: mi,
1819
+ color: di,
1820
+ number: gi,
1821
+ select: Ti,
1822
+ boolean: si,
1823
+ repeatable: Si
1823
1824
  };
1824
- function Ei(e) {
1825
- return Ti[e] ?? Si;
1825
+ function ji(e) {
1826
+ return Ai[e] ?? Di;
1826
1827
  }
1827
1828
  //#endregion
1828
1829
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
1829
- var Di = {
1830
+ var Mi = {
1830
1831
  key: 0,
1831
1832
  class: "tpl:p-4"
1832
- }, Oi = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ki = { key: 1 }, Ai = {
1833
+ }, Ni = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Pi = { key: 1 }, Fi = {
1833
1834
  key: 0,
1834
1835
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1835
- }, ji = {
1836
+ }, Ii = {
1836
1837
  key: 1,
1837
1838
  class: "tpl:mb-4"
1838
- }, Mi = {
1839
+ }, Li = {
1839
1840
  key: 1,
1840
1841
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
1841
- }, Ni = {
1842
+ }, Ri = {
1842
1843
  key: 0,
1843
1844
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
1844
- }, Pi = {
1845
+ }, zi = {
1845
1846
  key: 2,
1846
1847
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
1847
- }, Fi = /* @__PURE__ */ p({
1848
+ }, Bi = /* @__PURE__ */ p({
1848
1849
  __name: "CustomBlockToolbar",
1849
1850
  props: { block: {} },
1850
1851
  emits: ["updateFieldValues", "updateDataSourceFetched"],
1851
1852
  setup(t, { emit: n }) {
1852
- let i = t, a = n, { t: s } = z(), c = k(je, []), l = h(() => c.find((e) => e.type === i.block.customType)), { isFetching: d, fetchError: f, fetch: p, hasDataSource: m, needsFetch: b } = ie({
1853
+ let i = t, a = n, { t: s } = V(), c = k(Ae, []), l = h(() => c.find((e) => e.type === i.block.customType)), { isFetching: d, fetchError: f, fetch: p, hasDataSource: m, needsFetch: b } = ne({
1853
1854
  definition: l,
1854
1855
  block: h(() => i.block),
1855
1856
  onUpdate: (e, t) => {
@@ -1865,23 +1866,23 @@ var Di = {
1865
1866
  [e]: t
1866
1867
  });
1867
1868
  }
1868
- return (n, i) => l.value ? (e(), _("div", ki, [
1869
- l.value.description ? (e(), _("p", Ai, E(l.value.description), 1)) : y("", !0),
1870
- w(m) ? (e(), _("div", ji, [w(b) && !w(d) ? (e(), _("button", {
1869
+ return (n, i) => l.value ? (e(), _("div", Pi, [
1870
+ l.value.description ? (e(), _("p", Fi, E(l.value.description), 1)) : y("", !0),
1871
+ w(m) ? (e(), _("div", Ii, [w(b) && !w(d) ? (e(), _("button", {
1871
1872
  key: 0,
1872
1873
  type: "button",
1873
1874
  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)]",
1874
1875
  onClick: i[0] ||= (...e) => w(p) && w(p)(...e)
1875
- }, E(l.value?.dataSource?.label || w(s).customBlocks.dataSource.fetchButton), 1)) : (e(), _("div", Mi, [w(d) ? (e(), _("div", Ni, E(w(s).customBlocks.dataSource.fetching), 1)) : (e(), _("button", {
1876
+ }, E(l.value?.dataSource?.label || w(s).customBlocks.dataSource.fetchButton), 1)) : (e(), _("div", Li, [w(d) ? (e(), _("div", Ri, E(w(s).customBlocks.dataSource.fetching), 1)) : (e(), _("button", {
1876
1877
  key: 1,
1877
1878
  type: "button",
1878
1879
  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)]",
1879
1880
  onClick: i[1] ||= (...e) => w(p) && w(p)(...e)
1880
- }, [O(w(Ge), { size: 12 }), u(" " + E(w(s).customBlocks.dataSource.changeButton), 1)]))])), w(f) ? (e(), _("p", Pi, [O(w(Ve), {
1881
+ }, [O(w(qe), { size: 12 }), u(" " + E(w(s).customBlocks.dataSource.changeButton), 1)]))])), w(f) ? (e(), _("p", zi, [O(w(Ve), {
1881
1882
  size: 14,
1882
1883
  class: "tpl:shrink-0"
1883
1884
  }), u(" " + E(w(s).customBlocks.dataSource.fetchError), 1)])) : y("", !0)])) : y("", !0),
1884
- (e(!0), _(v, null, o(l.value.fields, (n) => (e(), S(r(w(Ei)(n.type)), {
1885
+ (e(!0), _(v, null, o(l.value.fields, (n) => (e(), S(r(w(ji)(n.type)), {
1885
1886
  key: n.key,
1886
1887
  field: n,
1887
1888
  "model-value": t.block.fieldValues[n.key],
@@ -1893,19 +1894,19 @@ var Di = {
1893
1894
  "read-only",
1894
1895
  "onUpdate:modelValue"
1895
1896
  ]))), 128))
1896
- ])) : (e(), _("div", Di, [g("p", Oi, E(w(s).customBlocks.toolbar.noDefinition), 1)]));
1897
+ ])) : (e(), _("div", Mi, [g("p", Ni, E(w(s).customBlocks.toolbar.noDefinition), 1)]));
1897
1898
  }
1898
- }), Ii = { class: "tpl:mb-3.5" }, Li = { class: "tpl:mb-3.5" }, Ri = { class: "tpl:mb-3.5" }, zi = { class: "tpl:flex tpl:items-stretch" }, Bi = ["value"], Vi = /* @__PURE__ */ p({
1899
+ }), Vi = { class: "tpl:mb-3.5" }, Hi = { class: "tpl:mb-3.5" }, Ui = { class: "tpl:mb-3.5" }, Wi = { class: "tpl:flex tpl:items-stretch" }, Gi = ["value"], Ki = /* @__PURE__ */ p({
1899
1900
  __name: "DividerToolbar",
1900
1901
  props: { block: {} },
1901
1902
  emits: ["update"],
1902
1903
  setup(t, { emit: n }) {
1903
- let r = n, { t: i } = z();
1904
+ let r = n, { t: i } = V();
1904
1905
  function a(e, t) {
1905
1906
  r("update", { [e]: t });
1906
1907
  }
1907
1908
  return (n, r) => (e(), _(v, null, [
1908
- g("div", Ii, [g("label", { class: f(w(W)) }, E(w(i).divider.style), 3), O(Y, {
1909
+ g("div", Vi, [g("label", { class: f(w(W)) }, E(w(i).divider.style), 3), O(Y, {
1909
1910
  options: [
1910
1911
  {
1911
1912
  value: "solid",
@@ -1923,53 +1924,53 @@ var Di = {
1923
1924
  "model-value": t.block.lineStyle,
1924
1925
  "onUpdate:modelValue": r[0] ||= (e) => a("lineStyle", e)
1925
1926
  }, null, 8, ["options", "model-value"])]),
1926
- g("div", Li, [g("label", { class: f(w(W)) }, E(w(i).divider.color), 3), O(q, {
1927
+ g("div", Hi, [g("label", { class: f(w(W)) }, E(w(i).divider.color), 3), O(q, {
1927
1928
  "model-value": t.block.color,
1928
1929
  "onUpdate:modelValue": r[1] ||= (e) => a("color", e)
1929
1930
  }, null, 8, ["model-value"])]),
1930
- g("div", Ri, [g("label", { class: f(w(W)) }, E(w(i).divider.thickness), 3), g("div", zi, [g("input", {
1931
+ g("div", Ui, [g("label", { class: f(w(W)) }, E(w(i).divider.thickness), 3), g("div", Wi, [g("input", {
1931
1932
  type: "number",
1932
1933
  class: f(w(K)),
1933
1934
  value: t.block.thickness,
1934
1935
  min: "1",
1935
1936
  max: "10",
1936
1937
  onInput: r[2] ||= (e) => a("thickness", Number(e.target.value))
1937
- }, null, 42, Bi), g("span", { class: f(w(G)) }, "px", 2)])])
1938
+ }, null, 42, Gi), g("span", { class: f(w(G)) }, "px", 2)])])
1938
1939
  ], 64));
1939
1940
  }
1940
- }), Hi = { class: "tpl:mb-3.5" }, Ui = ["value"], Wi = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Gi = /* @__PURE__ */ p({
1941
+ }), qi = { class: "tpl:mb-3.5" }, Ji = ["value"], Yi = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Xi = /* @__PURE__ */ p({
1941
1942
  __name: "HtmlToolbar",
1942
1943
  props: { block: {} },
1943
1944
  emits: ["update"],
1944
1945
  setup(t, { emit: n }) {
1945
- let r = n, { t: i } = z();
1946
- return (n, a) => (e(), _("div", Hi, [
1946
+ let r = n, { t: i } = V();
1947
+ return (n, a) => (e(), _("div", qi, [
1947
1948
  g("label", { class: f(w(W)) }, E(w(i).html.content), 3),
1948
1949
  g("textarea", {
1949
1950
  value: t.block.content,
1950
1951
  placeholder: "<div>...</div>",
1951
1952
  rows: "10",
1952
- class: f(w(lt)),
1953
+ class: f(w(ft)),
1953
1954
  onInput: a[0] ||= (e) => r("update", { content: e.target.value })
1954
- }, null, 42, Ui),
1955
- g("p", Wi, [O(w(qe), {
1955
+ }, null, 42, Ji),
1956
+ g("p", Yi, [O(w(Ye), {
1956
1957
  size: 12,
1957
1958
  class: "tpl:mt-0.5 tpl:shrink-0"
1958
1959
  }), u(" " + E(w(i).html.sanitizationHint), 1)])
1959
1960
  ]));
1960
1961
  }
1961
- }), Ki = { class: "tpl:mb-3.5" }, qi = {
1962
+ }), Zi = { class: "tpl:mb-3.5" }, Qi = {
1962
1963
  key: 0,
1963
1964
  class: "tpl:mb-3.5"
1964
- }, Ji = ["value", "placeholder"], Yi = { class: "tpl:mb-3.5" }, Xi = { class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]" }, Zi = ["checked"], Qi = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, $i = { class: "tpl:mb-3.5" }, ea = ["value"], ta = { value: "full" }, na = { class: "tpl:mb-3.5" }, ra = { class: "tpl:mb-3.5" }, ia = {
1965
+ }, $i = ["value", "placeholder"], ea = { class: "tpl:mb-3.5" }, ta = { class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]" }, na = ["checked"], ra = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, ia = { class: "tpl:mb-3.5" }, aa = ["value"], oa = { value: "full" }, sa = { class: "tpl:mb-3.5" }, ca = { class: "tpl:mb-3.5" }, la = {
1965
1966
  key: 0,
1966
1967
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
1967
- }, aa = ["checked"], oa = /* @__PURE__ */ p({
1968
+ }, ua = ["checked"], da = /* @__PURE__ */ p({
1968
1969
  __name: "ImageToolbar",
1969
1970
  props: { block: {} },
1970
1971
  emits: ["update"],
1971
1972
  setup(t, { emit: n }) {
1972
- let r = n, { t: i } = z(), a = k(ze, null), o = k(Ae, ne.liquid), s = it(), c = h(() => !!a), d = l(!1), p = l(!1), { start: m } = Ee(() => {
1973
+ let r = n, { t: i } = V(), a = k(De, null), o = k(ze, L.liquid), s = st(), c = h(() => !!a), d = l(!1), p = l(!1), { start: m } = Te(() => {
1973
1974
  d.value = !1;
1974
1975
  }, 1e3, { immediate: !1 });
1975
1976
  function b(e, t) {
@@ -1980,7 +1981,7 @@ var Di = {
1980
1981
  s.alive && e && (b("src", e.url), e.alt && (b("alt", e.alt), p.value = !0), d.value = !0, m());
1981
1982
  }
1982
1983
  return (n, r) => (e(), _(v, null, [
1983
- g("div", Ki, [
1984
+ g("div", Zi, [
1984
1985
  g("label", { class: f(w(W)) }, E(w(i).image.imageUrl), 3),
1985
1986
  O(Z, {
1986
1987
  "model-value": t.block.src,
@@ -2002,19 +2003,19 @@ var Di = {
2002
2003
  "background-color": "var(--tpl-bg)"
2003
2004
  },
2004
2005
  onClick: x
2005
- }, [O(w(he), {
2006
+ }, [O(w(pe), {
2006
2007
  size: 14,
2007
2008
  "stroke-width": 1.5
2008
2009
  }), u(" " + E(w(i).image.browseMedia), 1)])) : y("", !0)
2009
2010
  ]),
2010
- w(P)(t.block.src, w(o)) ? (e(), _("div", qi, [g("label", { class: f(w(W)) }, [u(E(w(i).image.placeholderUrl) + " ", 1), r[8] ||= g("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, E("(optional)"), -1)], 2), g("input", {
2011
+ w(F)(t.block.src, w(o)) ? (e(), _("div", Qi, [g("label", { class: f(w(W)) }, [u(E(w(i).image.placeholderUrl) + " ", 1), r[8] ||= g("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, E("(optional)"), -1)], 2), g("input", {
2011
2012
  type: "url",
2012
2013
  class: f(w(U)),
2013
2014
  value: t.block.placeholderUrl || "",
2014
2015
  placeholder: w(i).image.placeholderUrlPlaceholder,
2015
2016
  onInput: r[1] ||= (e) => b("placeholderUrl", e.target.value)
2016
- }, null, 42, Ji)])) : y("", !0),
2017
- g("div", Yi, [
2017
+ }, null, 42, $i)])) : y("", !0),
2018
+ g("div", ea, [
2018
2019
  g("label", { class: f(w(W)) }, E(w(i).image.altText), 3),
2019
2020
  O(Z, {
2020
2021
  "model-value": t.block.alt,
@@ -2029,24 +2030,24 @@ var Di = {
2029
2030
  "pulse",
2030
2031
  "disabled"
2031
2032
  ]),
2032
- g("label", Xi, [g("input", {
2033
+ g("label", ta, [g("input", {
2033
2034
  type: "checkbox",
2034
2035
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
2035
2036
  checked: t.block.decorative === !0,
2036
2037
  onChange: r[3] ||= (e) => b("decorative", e.target.checked)
2037
- }, null, 40, Zi), g("span", null, [u(E(w(i).image.decorative) + " ", 1), g("span", Qi, E(w(i).image.decorativeHint), 1)])])
2038
+ }, null, 40, na), g("span", null, [u(E(w(i).image.decorative) + " ", 1), g("span", ra, E(w(i).image.decorativeHint), 1)])])
2038
2039
  ]),
2039
- g("div", $i, [g("label", { class: f(w(W)) }, E(w(i).image.width), 3), g("select", {
2040
+ g("div", ia, [g("label", { class: f(w(W)) }, E(w(i).image.width), 3), g("select", {
2040
2041
  class: f(w(U)),
2041
2042
  value: t.block.width,
2042
2043
  onChange: r[4] ||= (e) => b("width", e.target.value === "full" ? "full" : Number(e.target.value))
2043
2044
  }, [
2044
- g("option", ta, E(w(i).image.fullWidth), 1),
2045
+ g("option", oa, E(w(i).image.fullWidth), 1),
2045
2046
  r[9] ||= g("option", { value: "300" }, "300px", -1),
2046
2047
  r[10] ||= g("option", { value: "400" }, "400px", -1),
2047
2048
  r[11] ||= g("option", { value: "500" }, "500px", -1)
2048
- ], 42, ea)]),
2049
- g("div", na, [g("label", { class: f(w(W)) }, E(w(i).title.align), 3), O(Y, {
2049
+ ], 42, aa)]),
2050
+ g("div", sa, [g("label", { class: f(w(W)) }, E(w(i).title.align), 3), O(Y, {
2050
2051
  options: [
2051
2052
  {
2052
2053
  value: "left",
@@ -2064,7 +2065,7 @@ var Di = {
2064
2065
  "model-value": t.block.align,
2065
2066
  "onUpdate:modelValue": r[5] ||= (e) => b("align", e)
2066
2067
  }, null, 8, ["options", "model-value"])]),
2067
- g("div", ra, [
2068
+ g("div", ca, [
2068
2069
  g("label", { class: f(w(W)) }, E(w(i).image.linkUrl), 3),
2069
2070
  O(Z, {
2070
2071
  "model-value": t.block.linkUrl || "",
@@ -2072,20 +2073,20 @@ var Di = {
2072
2073
  placeholder: w(i).image.imageUrlPlaceholder,
2073
2074
  "onUpdate:modelValue": r[6] ||= (e) => b("linkUrl", e)
2074
2075
  }, null, 8, ["model-value", "placeholder"]),
2075
- t.block.linkUrl ? (e(), _("label", ia, [g("input", {
2076
+ t.block.linkUrl ? (e(), _("label", la, [g("input", {
2076
2077
  type: "checkbox",
2077
2078
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
2078
2079
  checked: t.block.linkOpenInNewTab ?? !1,
2079
2080
  onChange: r[7] ||= (e) => b("linkOpenInNewTab", e.target.checked)
2080
- }, null, 40, aa), u(" " + E(w(i).image.openInNewTab), 1)])) : y("", !0)
2081
+ }, null, 40, ua), u(" " + E(w(i).image.openInNewTab), 1)])) : y("", !0)
2081
2082
  ])
2082
2083
  ], 64));
2083
2084
  }
2084
- }), sa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ca = { class: "tpl:flex tpl:items-center tpl:gap-2" }, la = [
2085
+ }), fa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, pa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ma = [
2085
2086
  "value",
2086
2087
  "placeholder",
2087
2088
  "onInput"
2088
- ], ua = ["title", "onClick"], da = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, fa = ["checked", "onChange"], pa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ma = ["value"], ha = { value: "" }, ga = ["value"], _a = ["value"], va = /* @__PURE__ */ p({
2089
+ ], ha = ["title", "onClick"], ga = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, _a = ["checked", "onChange"], va = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ya = ["value"], ba = { value: "" }, xa = ["value"], Sa = ["value"], Ca = /* @__PURE__ */ p({
2089
2090
  __name: "MenuToolbar",
2090
2091
  props: {
2091
2092
  block: {},
@@ -2093,7 +2094,7 @@ var Di = {
2093
2094
  },
2094
2095
  emits: ["update"],
2095
2096
  setup(t, { emit: n }) {
2096
- let r = t, i = n, { t: a } = z(), s = h(() => [
2097
+ let r = t, i = n, { t: a } = V(), s = h(() => [
2097
2098
  {
2098
2099
  key: "openInNewTab",
2099
2100
  label: a.menu.openInNewTab
@@ -2110,17 +2111,17 @@ var Di = {
2110
2111
  {
2111
2112
  value: "left",
2112
2113
  label: a.title.alignLeft,
2113
- icon: Ze
2114
+ icon: $e
2114
2115
  },
2115
2116
  {
2116
2117
  value: "center",
2117
2118
  label: a.title.alignCenter,
2118
- icon: Qe
2119
+ icon: et
2119
2120
  },
2120
2121
  {
2121
2122
  value: "right",
2122
2123
  label: a.title.alignRight,
2123
- icon: $e
2124
+ icon: tt
2124
2125
  }
2125
2126
  ]);
2126
2127
  function l(e, t) {
@@ -2128,7 +2129,7 @@ var Di = {
2128
2129
  }
2129
2130
  function d() {
2130
2131
  let e = {
2131
- id: N(),
2132
+ id: P(),
2132
2133
  text: "",
2133
2134
  url: "",
2134
2135
  openInNewTab: !1,
@@ -2148,24 +2149,24 @@ var Di = {
2148
2149
  }
2149
2150
  return (n, r) => (e(), _(v, null, [
2150
2151
  O(J, { label: w(a).menu.items }, {
2151
- default: j(() => [g("div", sa, [(e(!0), _(v, null, o(t.block.items, (n) => (e(), _("div", {
2152
+ default: j(() => [g("div", fa, [(e(!0), _(v, null, o(t.block.items, (n) => (e(), _("div", {
2152
2153
  key: n.id,
2153
2154
  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"
2154
2155
  }, [
2155
- g("div", ca, [g("input", {
2156
+ g("div", pa, [g("input", {
2156
2157
  type: "text",
2157
2158
  class: f([w(U), "tpl:flex-1"]),
2158
2159
  value: n.text,
2159
2160
  placeholder: w(a).menu.text,
2160
2161
  onInput: (e) => p(n.id, "text", e.target.value)
2161
- }, null, 42, la), g("button", {
2162
- class: f(w(st)),
2162
+ }, null, 42, ma), g("button", {
2163
+ class: f(w(ut)),
2163
2164
  title: w(a).menu.removeItem,
2164
2165
  onClick: (e) => m(n.id)
2165
- }, [O(w(tt), {
2166
+ }, [O(w(rt), {
2166
2167
  size: 14,
2167
2168
  "stroke-width": 2
2168
- })], 10, ua)]),
2169
+ })], 10, ha)]),
2169
2170
  O(Z, {
2170
2171
  "model-value": n.url,
2171
2172
  type: "url",
@@ -2176,7 +2177,7 @@ var Di = {
2176
2177
  "placeholder",
2177
2178
  "onUpdate:modelValue"
2178
2179
  ]),
2179
- g("div", da, [(e(!0), _(v, null, o(s.value, (t) => (e(), _("label", {
2180
+ g("div", ga, [(e(!0), _(v, null, o(s.value, (t) => (e(), _("label", {
2180
2181
  key: t.key,
2181
2182
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1"
2182
2183
  }, [g("input", {
@@ -2184,14 +2185,14 @@ var Di = {
2184
2185
  checked: n[t.key],
2185
2186
  class: "tpl:accent-[var(--tpl-primary)]",
2186
2187
  onChange: (e) => p(n.id, t.key, e.target.checked)
2187
- }, null, 40, fa), u(" " + E(t.label), 1)]))), 128))]),
2188
- g("div", pa, [g("label", { class: f([w(W), "tpl:!mb-0"]) }, E(w(a).menu.color), 3), O(q, {
2188
+ }, null, 40, _a), u(" " + E(t.label), 1)]))), 128))]),
2189
+ g("div", va, [g("label", { class: f([w(W), "tpl:!mb-0"]) }, E(w(a).menu.color), 3), O(q, {
2189
2190
  "swatch-only": "",
2190
2191
  "model-value": n.color || t.block.linkColor || t.block.color,
2191
2192
  "onUpdate:modelValue": (e) => p(n.id, "color", e)
2192
2193
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
2193
2194
  ]))), 128)), g("button", {
2194
- class: f(w(ct)),
2195
+ class: f(w(dt)),
2195
2196
  onClick: d
2196
2197
  }, [O(w(X), {
2197
2198
  size: 14,
@@ -2204,14 +2205,14 @@ var Di = {
2204
2205
  class: f(w(U)),
2205
2206
  value: t.block.fontFamily || "",
2206
2207
  onChange: r[0] ||= (e) => l("fontFamily", e.target.value || void 0)
2207
- }, [g("option", ha, E(w(a).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2208
+ }, [g("option", ba, E(w(a).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2208
2209
  key: t.value,
2209
2210
  value: t.value
2210
- }, E(t.label), 9, ga))), 128))], 42, ma)]),
2211
+ }, E(t.label), 9, xa))), 128))], 42, ya)]),
2211
2212
  _: 1
2212
2213
  }, 8, ["label"]),
2213
2214
  O(J, { label: w(a).menu.fontSize }, {
2214
- default: j(() => [O(ft, {
2215
+ default: j(() => [O(ht, {
2215
2216
  "model-value": t.block.fontSize,
2216
2217
  min: 8,
2217
2218
  max: 48,
@@ -2248,7 +2249,7 @@ var Di = {
2248
2249
  class: f(w(U)),
2249
2250
  value: t.block.separator,
2250
2251
  onInput: r[5] ||= (e) => l("separator", e.target.value)
2251
- }, null, 42, _a)]),
2252
+ }, null, 42, Sa)]),
2252
2253
  _: 1
2253
2254
  }, 8, ["label"]),
2254
2255
  O(J, { label: w(a).menu.separatorColor }, {
@@ -2259,7 +2260,7 @@ var Di = {
2259
2260
  _: 1
2260
2261
  }, 8, ["label"]),
2261
2262
  O(J, { label: w(a).menu.spacing }, {
2262
- default: j(() => [O(ft, {
2263
+ default: j(() => [O(ht, {
2263
2264
  "model-value": t.block.spacing,
2264
2265
  min: 0,
2265
2266
  max: 50,
@@ -2273,11 +2274,11 @@ var Di = {
2273
2274
  });
2274
2275
  //#endregion
2275
2276
  //#region src/utils/rebalanceColumnChildren.ts
2276
- function ya(e) {
2277
+ function wa(e) {
2277
2278
  return e === "1" ? 1 : e === "3" ? 3 : 2;
2278
2279
  }
2279
- function ba(e, t) {
2280
- let n = ya(t);
2280
+ function Ta(e, t) {
2281
+ let n = wa(t);
2281
2282
  if (e.length === n) return e;
2282
2283
  if (e.length < n) {
2283
2284
  let t = Array.from({ length: n - e.length }, () => []);
@@ -2288,12 +2289,12 @@ function ba(e, t) {
2288
2289
  }
2289
2290
  //#endregion
2290
2291
  //#region src/components/toolbar/SectionToolbar.vue?vue&type=script&setup=true&lang.ts
2291
- var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PURE__ */ p({
2292
+ var Ea = { class: "tpl:mb-3.5" }, Da = ["value"], Oa = ["value"], ka = /* @__PURE__ */ p({
2292
2293
  __name: "SectionToolbar",
2293
2294
  props: { block: {} },
2294
2295
  emits: ["update"],
2295
2296
  setup(t, { emit: n }) {
2296
- let r = t, i = n, { t: a } = z(), s = h(() => [
2297
+ let r = t, i = n, { t: a } = V(), s = h(() => [
2297
2298
  {
2298
2299
  value: "1",
2299
2300
  label: a.section.column1
@@ -2319,30 +2320,30 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2319
2320
  let t = e.target.value;
2320
2321
  i("update", {
2321
2322
  columns: t,
2322
- children: ba(r.block.children, t)
2323
+ children: Ta(r.block.children, t)
2323
2324
  });
2324
2325
  }
2325
- return (n, r) => (e(), _("div", xa, [g("label", { class: f(w(W)) }, E(w(a).section.columns), 3), g("select", {
2326
+ return (n, r) => (e(), _("div", Ea, [g("label", { class: f(w(W)) }, E(w(a).section.columns), 3), g("select", {
2326
2327
  class: f(w(U)),
2327
2328
  value: t.block.columns,
2328
2329
  onChange: c
2329
2330
  }, [(e(!0), _(v, null, o(s.value, (t) => (e(), _("option", {
2330
2331
  key: t.value,
2331
2332
  value: t.value
2332
- }, E(t.label), 9, Ca))), 128))], 42, Sa)]));
2333
+ }, E(t.label), 9, Oa))), 128))], 42, Da)]));
2333
2334
  }
2334
- }), Ta = { class: "tpl:mb-3.5" }, Ea = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Da = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Oa = ["value", "onChange"], ka = ["value"], Aa = ["title", "onClick"], ja = { class: "tpl:mb-3.5" }, Ma = ["value"], Na = { value: "solid" }, Pa = { value: "outlined" }, Fa = { value: "rounded" }, Ia = { value: "square" }, La = { value: "circle" }, Ra = { class: "tpl:mb-3.5" }, za = { class: "tpl:mb-3.5" }, Ba = { class: "tpl:flex tpl:items-stretch" }, Va = ["value"], Ha = { class: "tpl:mb-3.5" }, Ua = /* @__PURE__ */ p({
2335
+ }), Aa = { class: "tpl:mb-3.5" }, ja = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Ma = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Na = ["value", "onChange"], Pa = ["value"], Fa = ["title", "onClick"], Ia = { class: "tpl:mb-3.5" }, La = ["value"], Ra = { value: "solid" }, za = { value: "outlined" }, Ba = { value: "rounded" }, Va = { value: "square" }, Ha = { value: "circle" }, Ua = { class: "tpl:mb-3.5" }, Wa = { class: "tpl:mb-3.5" }, Ga = { class: "tpl:flex tpl:items-stretch" }, Ka = ["value"], qa = { class: "tpl:mb-3.5" }, Ja = /* @__PURE__ */ p({
2335
2336
  __name: "SocialToolbar",
2336
2337
  props: { block: {} },
2337
2338
  emits: ["update"],
2338
2339
  setup(t, { emit: n }) {
2339
- let r = t, i = n, { t: a } = z();
2340
+ let r = t, i = n, { t: a } = V();
2340
2341
  function s(e, t) {
2341
2342
  i("update", { [e]: t });
2342
2343
  }
2343
2344
  function c() {
2344
2345
  let e = {
2345
- id: N(),
2346
+ id: P(),
2346
2347
  platform: "facebook",
2347
2348
  url: ""
2348
2349
  };
@@ -2358,25 +2359,25 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2358
2359
  i("update", { icons: r.block.icons.filter((t) => t.id !== e) });
2359
2360
  }
2360
2361
  return (n, r) => (e(), _(v, null, [
2361
- g("div", Ta, [g("label", { class: f(w(W)) }, E(w(a).social.icons), 3), g("div", Ea, [(e(!0), _(v, null, o(t.block.icons, (t) => (e(), _("div", {
2362
+ g("div", Aa, [g("label", { class: f(w(W)) }, E(w(a).social.icons), 3), g("div", ja, [(e(!0), _(v, null, o(t.block.icons, (t) => (e(), _("div", {
2362
2363
  key: t.id,
2363
2364
  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"
2364
- }, [g("div", Da, [g("select", {
2365
+ }, [g("div", Ma, [g("select", {
2365
2366
  "data-testid": "social-platform-select",
2366
2367
  class: f([w(U), "tpl:flex-1"]),
2367
2368
  value: t.platform,
2368
2369
  onChange: (e) => l(t.id, "platform", e.target.value)
2369
- }, [(e(!0), _(v, null, o(w(Se), (t) => (e(), _("option", {
2370
+ }, [(e(!0), _(v, null, o(w(be), (t) => (e(), _("option", {
2370
2371
  key: t,
2371
2372
  value: t
2372
- }, E(w(ye)[t].name), 9, ka))), 128))], 42, Oa), g("button", {
2373
- class: f(w(st)),
2373
+ }, E(w(_e)[t].name), 9, Pa))), 128))], 42, Na), g("button", {
2374
+ class: f(w(ut)),
2374
2375
  title: w(a).social.removeIcon,
2375
2376
  onClick: (e) => d(t.id)
2376
- }, [O(w(tt), {
2377
+ }, [O(w(rt), {
2377
2378
  size: 14,
2378
2379
  "stroke-width": 2
2379
- })], 10, Aa)]), O(Z, {
2380
+ })], 10, Fa)]), O(Z, {
2380
2381
  "model-value": t.url,
2381
2382
  type: "url",
2382
2383
  placeholder: w(a).social.urlPlaceholder,
@@ -2386,24 +2387,24 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2386
2387
  "placeholder",
2387
2388
  "onUpdate:modelValue"
2388
2389
  ])]))), 128)), g("button", {
2389
- class: f(w(ct)),
2390
+ class: f(w(dt)),
2390
2391
  onClick: c
2391
2392
  }, [O(w(X), {
2392
2393
  size: 14,
2393
2394
  "stroke-width": 2
2394
2395
  }), u(" " + E(w(a).social.addIcon), 1)], 2)])]),
2395
- g("div", ja, [g("label", { class: f(w(W)) }, E(w(a).social.style), 3), g("select", {
2396
+ g("div", Ia, [g("label", { class: f(w(W)) }, E(w(a).social.style), 3), g("select", {
2396
2397
  class: f(w(U)),
2397
2398
  value: t.block.iconStyle,
2398
2399
  onChange: r[0] ||= (e) => s("iconStyle", e.target.value)
2399
2400
  }, [
2400
- g("option", Na, E(w(a).social.styleSolid), 1),
2401
- g("option", Pa, E(w(a).social.styleOutlined), 1),
2402
- g("option", Fa, E(w(a).social.styleRounded), 1),
2403
- g("option", Ia, E(w(a).social.styleSquare), 1),
2404
- g("option", La, E(w(a).social.styleCircle), 1)
2405
- ], 42, Ma)]),
2406
- g("div", Ra, [g("label", { class: f(w(W)) }, E(w(a).social.size), 3), O(Y, {
2401
+ g("option", Ra, E(w(a).social.styleSolid), 1),
2402
+ g("option", za, E(w(a).social.styleOutlined), 1),
2403
+ g("option", Ba, E(w(a).social.styleRounded), 1),
2404
+ g("option", Va, E(w(a).social.styleSquare), 1),
2405
+ g("option", Ha, E(w(a).social.styleCircle), 1)
2406
+ ], 42, La)]),
2407
+ g("div", Ua, [g("label", { class: f(w(W)) }, E(w(a).social.size), 3), O(Y, {
2407
2408
  options: [
2408
2409
  {
2409
2410
  value: "small",
@@ -2421,30 +2422,30 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2421
2422
  "model-value": t.block.iconSize,
2422
2423
  "onUpdate:modelValue": r[1] ||= (e) => s("iconSize", e)
2423
2424
  }, null, 8, ["options", "model-value"])]),
2424
- g("div", za, [g("label", { class: f(w(W)) }, E(w(a).social.spacing), 3), g("div", Ba, [g("input", {
2425
+ g("div", Wa, [g("label", { class: f(w(W)) }, E(w(a).social.spacing), 3), g("div", Ga, [g("input", {
2425
2426
  type: "number",
2426
2427
  class: f(w(K)),
2427
2428
  value: t.block.spacing,
2428
2429
  min: "0",
2429
2430
  max: "50",
2430
2431
  onInput: r[2] ||= (e) => s("spacing", Number(e.target.value))
2431
- }, null, 42, Va), g("span", { class: f(w(G)) }, "px", 2)])]),
2432
- g("div", Ha, [g("label", { class: f(w(W)) }, E(w(a).social.align), 3), O(Y, {
2432
+ }, null, 42, Ka), g("span", { class: f(w(G)) }, "px", 2)])]),
2433
+ g("div", qa, [g("label", { class: f(w(W)) }, E(w(a).social.align), 3), O(Y, {
2433
2434
  options: [
2434
2435
  {
2435
2436
  value: "left",
2436
2437
  label: w(a).title.alignLeft,
2437
- icon: w(Ze)
2438
+ icon: w($e)
2438
2439
  },
2439
2440
  {
2440
2441
  value: "center",
2441
2442
  label: w(a).title.alignCenter,
2442
- icon: w(Qe)
2443
+ icon: w(et)
2443
2444
  },
2444
2445
  {
2445
2446
  value: "right",
2446
2447
  label: w(a).title.alignRight,
2447
- icon: w($e)
2448
+ icon: w(tt)
2448
2449
  }
2449
2450
  ],
2450
2451
  "model-value": t.block.align,
@@ -2452,22 +2453,22 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2452
2453
  }, null, 8, ["options", "model-value"])])
2453
2454
  ], 64));
2454
2455
  }
2455
- }), Wa = { class: "tpl:mb-3.5" }, Ga = { class: "tpl:flex tpl:items-stretch" }, Ka = ["value"], qa = ["value"], Ja = /* @__PURE__ */ p({
2456
+ }), Ya = { class: "tpl:mb-3.5" }, Xa = { class: "tpl:flex tpl:items-stretch" }, Za = ["value"], Qa = ["value"], $a = /* @__PURE__ */ p({
2456
2457
  __name: "SpacerToolbar",
2457
2458
  props: { block: {} },
2458
2459
  emits: ["update"],
2459
2460
  setup(t, { emit: n }) {
2460
- let r = n, { t: i } = z();
2461
- return (n, a) => (e(), _("div", Wa, [
2461
+ let r = n, { t: i } = V();
2462
+ return (n, a) => (e(), _("div", Ya, [
2462
2463
  g("label", { class: f(w(W)) }, E(w(i).spacer.height), 3),
2463
- g("div", Ga, [g("input", {
2464
+ g("div", Xa, [g("input", {
2464
2465
  type: "number",
2465
2466
  class: f(w(K)),
2466
2467
  value: t.block.height,
2467
2468
  min: "10",
2468
2469
  max: "100",
2469
2470
  onInput: a[0] ||= (e) => r("update", { height: Number(e.target.value) })
2470
- }, null, 42, Ka), g("span", { class: f(w(G)) }, "px", 2)]),
2471
+ }, null, 42, Za), g("span", { class: f(w(G)) }, "px", 2)]),
2471
2472
  g("input", {
2472
2473
  type: "range",
2473
2474
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -2475,13 +2476,13 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2475
2476
  min: "10",
2476
2477
  max: "100",
2477
2478
  onInput: a[1] ||= (e) => r("update", { height: Number(e.target.value) })
2478
- }, null, 40, qa)
2479
+ }, null, 40, Qa)
2479
2480
  ]));
2480
2481
  }
2481
- }), Ya = { class: "tpl:mb-3.5" }, Xa = { class: "tpl:flex tpl:items-center tpl:gap-3" }, Za = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Qa = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, $a = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, eo = ["disabled"], to = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, no = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ro = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, io = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, ao = ["disabled"], oo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, so = { class: "tpl:mb-3.5" }, co = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, lo = ["checked"], uo = {
2482
+ }), eo = { class: "tpl:mb-3.5" }, to = { class: "tpl:flex tpl:items-center tpl:gap-3" }, no = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ro = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, io = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, ao = ["disabled"], oo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, so = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, co = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, lo = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, uo = ["disabled"], fo = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, po = { class: "tpl:mb-3.5" }, mo = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ho = ["checked"], go = {
2482
2483
  key: 0,
2483
2484
  class: "tpl:mb-3.5"
2484
- }, fo = { class: "tpl:mb-3.5" }, po = { class: "tpl:mb-3.5" }, mo = { class: "tpl:flex tpl:items-stretch" }, ho = ["value"], go = { class: "tpl:mb-3.5" }, _o = { class: "tpl:flex tpl:items-stretch" }, vo = ["value"], yo = { class: "tpl:mb-3.5" }, bo = ["value"], xo = { value: "" }, So = ["value"], Co = { class: "tpl:mb-3.5" }, wo = { class: "tpl:flex tpl:items-stretch" }, To = ["value"], Eo = { class: "tpl:mb-3.5" }, Do = { class: "tpl:mb-3.5" }, Oo = /* @__PURE__ */ p({
2485
+ }, _o = { class: "tpl:mb-3.5" }, vo = { class: "tpl:mb-3.5" }, yo = { class: "tpl:flex tpl:items-stretch" }, bo = ["value"], xo = { class: "tpl:mb-3.5" }, So = { class: "tpl:flex tpl:items-stretch" }, Co = ["value"], wo = { class: "tpl:mb-3.5" }, To = ["value"], Eo = { value: "" }, Do = ["value"], Oo = { class: "tpl:mb-3.5" }, ko = { class: "tpl:flex tpl:items-stretch" }, Ao = ["value"], jo = { class: "tpl:mb-3.5" }, Mo = { class: "tpl:mb-3.5" }, No = /* @__PURE__ */ p({
2485
2486
  __name: "TableToolbar",
2486
2487
  props: {
2487
2488
  block: {},
@@ -2489,15 +2490,15 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2489
2490
  },
2490
2491
  emits: ["update"],
2491
2492
  setup(t, { emit: n }) {
2492
- let r = t, i = n, { t: a } = z(), s = h(() => r.block.rows.length > 0 ? r.block.rows[0].cells.length : 0);
2493
+ let r = t, i = n, { t: a } = V(), s = h(() => r.block.rows.length > 0 ? r.block.rows[0].cells.length : 0);
2493
2494
  function c(e, t) {
2494
2495
  i("update", { [e]: t });
2495
2496
  }
2496
2497
  function l() {
2497
2498
  let e = r.block.rows.length > 0 ? r.block.rows[0].cells.length : 3, t = {
2498
- id: N(),
2499
+ id: P(),
2499
2500
  cells: Array.from({ length: e }, () => ({
2500
- id: N(),
2501
+ id: P(),
2501
2502
  content: ""
2502
2503
  }))
2503
2504
  };
@@ -2510,7 +2511,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2510
2511
  i("update", { rows: r.block.rows.map((e) => ({
2511
2512
  ...e,
2512
2513
  cells: [...e.cells, {
2513
- id: N(),
2514
+ id: P(),
2514
2515
  content: ""
2515
2516
  }]
2516
2517
  })) });
@@ -2522,16 +2523,16 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2522
2523
  })) });
2523
2524
  }
2524
2525
  return (n, r) => (e(), _(v, null, [
2525
- g("div", Ya, [g("label", { class: f(w(W)) }, E(w(a).table.dimensions), 3), g("div", Xa, [g("div", Za, [g("span", Qa, E(w(a).table.rows), 1), g("div", $a, [
2526
+ g("div", eo, [g("label", { class: f(w(W)) }, E(w(a).table.dimensions), 3), g("div", to, [g("div", no, [g("span", ro, E(w(a).table.rows), 1), g("div", io, [
2526
2527
  g("button", {
2527
2528
  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",
2528
2529
  disabled: t.block.rows.length <= 1,
2529
2530
  onClick: r[0] ||= (e) => d(t.block.rows[t.block.rows.length - 1].id)
2530
- }, [O(w(V), {
2531
+ }, [O(w(He), {
2531
2532
  size: 12,
2532
2533
  "stroke-width": 2
2533
- })], 8, eo),
2534
- g("span", to, E(t.block.rows.length), 1),
2534
+ })], 8, ao),
2535
+ g("span", oo, E(t.block.rows.length), 1),
2535
2536
  g("button", {
2536
2537
  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)]",
2537
2538
  onClick: l
@@ -2539,16 +2540,16 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2539
2540
  size: 12,
2540
2541
  "stroke-width": 2
2541
2542
  })])
2542
- ])]), g("div", no, [g("span", ro, E(w(a).table.columns), 1), g("div", io, [
2543
+ ])]), g("div", so, [g("span", co, E(w(a).table.columns), 1), g("div", lo, [
2543
2544
  g("button", {
2544
2545
  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",
2545
2546
  disabled: s.value <= 1,
2546
2547
  onClick: r[1] ||= (e) => m(s.value - 1)
2547
- }, [O(w(V), {
2548
+ }, [O(w(He), {
2548
2549
  size: 12,
2549
2550
  "stroke-width": 2
2550
- })], 8, ao),
2551
- g("span", oo, E(s.value), 1),
2551
+ })], 8, uo),
2552
+ g("span", fo, E(s.value), 1),
2552
2553
  g("button", {
2553
2554
  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)]",
2554
2555
  onClick: p
@@ -2557,73 +2558,73 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2557
2558
  "stroke-width": 2
2558
2559
  })])
2559
2560
  ])])])]),
2560
- g("div", so, [g("label", co, [g("input", {
2561
+ g("div", po, [g("label", mo, [g("input", {
2561
2562
  type: "checkbox",
2562
2563
  checked: t.block.hasHeaderRow,
2563
2564
  class: "tpl:accent-[var(--tpl-primary)]",
2564
2565
  onChange: r[2] ||= (e) => c("hasHeaderRow", e.target.checked)
2565
- }, null, 40, lo), u(" " + E(w(a).table.hasHeaderRow), 1)])]),
2566
- t.block.hasHeaderRow ? (e(), _("div", uo, [g("label", { class: f(w(W)) }, E(w(a).table.headerBackgroundColor), 3), O(q, {
2566
+ }, null, 40, ho), u(" " + E(w(a).table.hasHeaderRow), 1)])]),
2567
+ t.block.hasHeaderRow ? (e(), _("div", go, [g("label", { class: f(w(W)) }, E(w(a).table.headerBackgroundColor), 3), O(q, {
2567
2568
  "model-value": t.block.headerBackgroundColor || w("#f2f2f2"),
2568
2569
  placeholder: w(a).table.noHeaderBg,
2569
2570
  "onUpdate:modelValue": r[3] ||= (e) => c("headerBackgroundColor", e || null)
2570
2571
  }, null, 8, ["model-value", "placeholder"])])) : y("", !0),
2571
- g("div", fo, [g("label", { class: f(w(W)) }, E(w(a).table.borderColor), 3), O(q, {
2572
+ g("div", _o, [g("label", { class: f(w(W)) }, E(w(a).table.borderColor), 3), O(q, {
2572
2573
  "model-value": t.block.borderColor,
2573
2574
  "onUpdate:modelValue": r[4] ||= (e) => c("borderColor", e)
2574
2575
  }, null, 8, ["model-value"])]),
2575
- g("div", po, [g("label", { class: f(w(W)) }, E(w(a).table.borderWidth), 3), g("div", mo, [g("input", {
2576
+ g("div", vo, [g("label", { class: f(w(W)) }, E(w(a).table.borderWidth), 3), g("div", yo, [g("input", {
2576
2577
  type: "number",
2577
2578
  class: f(w(K)),
2578
2579
  value: t.block.borderWidth,
2579
2580
  min: "0",
2580
2581
  max: "10",
2581
2582
  onInput: r[5] ||= (e) => c("borderWidth", Number(e.target.value))
2582
- }, null, 42, ho), g("span", { class: f(w(G)) }, "px", 2)])]),
2583
- g("div", go, [g("label", { class: f(w(W)) }, E(w(a).table.cellPadding), 3), g("div", _o, [g("input", {
2583
+ }, null, 42, bo), g("span", { class: f(w(G)) }, "px", 2)])]),
2584
+ g("div", xo, [g("label", { class: f(w(W)) }, E(w(a).table.cellPadding), 3), g("div", So, [g("input", {
2584
2585
  type: "number",
2585
2586
  class: f(w(K)),
2586
2587
  value: t.block.cellPadding,
2587
2588
  min: "0",
2588
2589
  max: "30",
2589
2590
  onInput: r[6] ||= (e) => c("cellPadding", Number(e.target.value))
2590
- }, null, 42, vo), g("span", { class: f(w(G)) }, "px", 2)])]),
2591
- g("div", yo, [g("label", { class: f(w(W)) }, E(w(a).table.fontFamily), 3), g("select", {
2591
+ }, null, 42, Co), g("span", { class: f(w(G)) }, "px", 2)])]),
2592
+ g("div", wo, [g("label", { class: f(w(W)) }, E(w(a).table.fontFamily), 3), g("select", {
2592
2593
  class: f(w(U)),
2593
2594
  value: t.block.fontFamily || "",
2594
2595
  onChange: r[7] ||= (e) => c("fontFamily", e.target.value || void 0)
2595
- }, [g("option", xo, E(w(a).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2596
+ }, [g("option", Eo, E(w(a).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2596
2597
  key: t.value,
2597
2598
  value: t.value
2598
- }, E(t.label), 9, So))), 128))], 42, bo)]),
2599
- g("div", Co, [g("label", { class: f(w(W)) }, E(w(a).table.fontSize), 3), g("div", wo, [g("input", {
2599
+ }, E(t.label), 9, Do))), 128))], 42, To)]),
2600
+ g("div", Oo, [g("label", { class: f(w(W)) }, E(w(a).table.fontSize), 3), g("div", ko, [g("input", {
2600
2601
  type: "number",
2601
2602
  class: f(w(K)),
2602
2603
  value: t.block.fontSize,
2603
2604
  min: "10",
2604
2605
  max: "32",
2605
2606
  onInput: r[8] ||= (e) => c("fontSize", Number(e.target.value))
2606
- }, null, 42, To), g("span", { class: f(w(G)) }, "px", 2)])]),
2607
- g("div", Eo, [g("label", { class: f(w(W)) }, E(w(a).table.color), 3), O(q, {
2607
+ }, null, 42, Ao), g("span", { class: f(w(G)) }, "px", 2)])]),
2608
+ g("div", jo, [g("label", { class: f(w(W)) }, E(w(a).table.color), 3), O(q, {
2608
2609
  "model-value": t.block.color,
2609
2610
  "onUpdate:modelValue": r[9] ||= (e) => c("color", e)
2610
2611
  }, null, 8, ["model-value"])]),
2611
- g("div", Do, [g("label", { class: f(w(W)) }, E(w(a).table.textAlign), 3), O(Y, {
2612
+ g("div", Mo, [g("label", { class: f(w(W)) }, E(w(a).table.textAlign), 3), O(Y, {
2612
2613
  options: [
2613
2614
  {
2614
2615
  value: "left",
2615
2616
  label: w(a).title.alignLeft,
2616
- icon: w(Ze)
2617
+ icon: w($e)
2617
2618
  },
2618
2619
  {
2619
2620
  value: "center",
2620
2621
  label: w(a).title.alignCenter,
2621
- icon: w(Qe)
2622
+ icon: w(et)
2622
2623
  },
2623
2624
  {
2624
2625
  value: "right",
2625
2626
  label: w(a).title.alignRight,
2626
- icon: w($e)
2627
+ icon: w(tt)
2627
2628
  }
2628
2629
  ],
2629
2630
  "model-value": t.block.textAlign,
@@ -2631,7 +2632,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2631
2632
  }, null, 8, ["options", "model-value"])])
2632
2633
  ], 64));
2633
2634
  }
2634
- }), ko = { class: "tpl:mb-3.5" }, Ao = ["value"], jo = { value: 1 }, Mo = { value: 2 }, No = { value: 3 }, Po = { value: 4 }, Fo = { class: "tpl:mb-3.5" }, Io = ["value"], Lo = { value: "" }, Ro = ["value"], zo = { class: "tpl:mb-3.5" }, Bo = { class: "tpl:mb-3.5" }, Vo = /* @__PURE__ */ p({
2635
+ }), Po = { class: "tpl:mb-3.5" }, Fo = ["value"], Io = { value: 1 }, Lo = { value: 2 }, Ro = { value: 3 }, zo = { value: 4 }, Bo = { class: "tpl:mb-3.5" }, Vo = ["value"], Ho = { value: "" }, Uo = ["value"], Wo = { class: "tpl:mb-3.5" }, Go = { class: "tpl:mb-3.5" }, Ko = /* @__PURE__ */ p({
2635
2636
  __name: "TitleToolbar",
2636
2637
  props: {
2637
2638
  block: {},
@@ -2639,49 +2640,49 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2639
2640
  },
2640
2641
  emits: ["update"],
2641
2642
  setup(t, { emit: n }) {
2642
- let r = n, { t: i } = z();
2643
+ let r = n, { t: i } = V();
2643
2644
  function a(e, t) {
2644
2645
  r("update", { [e]: t });
2645
2646
  }
2646
2647
  return (n, r) => (e(), _(v, null, [
2647
- g("div", ko, [g("label", { class: f(w(W)) }, E(w(i).title.level), 3), g("select", {
2648
+ g("div", Po, [g("label", { class: f(w(W)) }, E(w(i).title.level), 3), g("select", {
2648
2649
  class: f(w(U)),
2649
2650
  value: t.block.level,
2650
2651
  onChange: r[0] ||= (e) => a("level", Number(e.target.value))
2651
2652
  }, [
2652
- g("option", jo, E(w(i).title.heading1), 1),
2653
- g("option", Mo, E(w(i).title.heading2), 1),
2654
- g("option", No, E(w(i).title.heading3), 1),
2655
- g("option", Po, E(w(i).title.heading4), 1)
2656
- ], 42, Ao)]),
2657
- g("div", Fo, [g("label", { class: f(w(W)) }, E(w(i).title.fontFamily), 3), g("select", {
2653
+ g("option", Io, E(w(i).title.heading1), 1),
2654
+ g("option", Lo, E(w(i).title.heading2), 1),
2655
+ g("option", Ro, E(w(i).title.heading3), 1),
2656
+ g("option", zo, E(w(i).title.heading4), 1)
2657
+ ], 42, Fo)]),
2658
+ g("div", Bo, [g("label", { class: f(w(W)) }, E(w(i).title.fontFamily), 3), g("select", {
2658
2659
  class: f(w(U)),
2659
2660
  value: t.block.fontFamily || "",
2660
2661
  onChange: r[1] ||= (e) => a("fontFamily", e.target.value || void 0)
2661
- }, [g("option", Lo, E(w(i).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2662
+ }, [g("option", Ho, E(w(i).title.inheritFont), 1), (e(!0), _(v, null, o(t.fontFamilies, (t) => (e(), _("option", {
2662
2663
  key: t.value,
2663
2664
  value: t.value
2664
- }, E(t.label), 9, Ro))), 128))], 42, Io)]),
2665
- g("div", zo, [g("label", { class: f(w(W)) }, E(w(i).title.color), 3), O(q, {
2665
+ }, E(t.label), 9, Uo))), 128))], 42, Vo)]),
2666
+ g("div", Wo, [g("label", { class: f(w(W)) }, E(w(i).title.color), 3), O(q, {
2666
2667
  "model-value": t.block.color,
2667
2668
  "onUpdate:modelValue": r[2] ||= (e) => a("color", e)
2668
2669
  }, null, 8, ["model-value"])]),
2669
- g("div", Bo, [g("label", { class: f(w(W)) }, E(w(i).title.align), 3), O(Y, {
2670
+ g("div", Go, [g("label", { class: f(w(W)) }, E(w(i).title.align), 3), O(Y, {
2670
2671
  options: [
2671
2672
  {
2672
2673
  value: "left",
2673
2674
  label: w(i).title.alignLeft,
2674
- icon: w(Ze)
2675
+ icon: w($e)
2675
2676
  },
2676
2677
  {
2677
2678
  value: "center",
2678
2679
  label: w(i).title.alignCenter,
2679
- icon: w(Qe)
2680
+ icon: w(et)
2680
2681
  },
2681
2682
  {
2682
2683
  value: "right",
2683
2684
  label: w(i).title.alignRight,
2684
- icon: w($e)
2685
+ icon: w(tt)
2685
2686
  }
2686
2687
  ],
2687
2688
  "model-value": t.block.textAlign,
@@ -2689,22 +2690,22 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2689
2690
  }, null, 8, ["options", "model-value"])])
2690
2691
  ], 64));
2691
2692
  }
2692
- }), Ho = { class: "tpl:mb-3.5" }, Uo = {
2693
+ }), qo = { class: "tpl:mb-3.5" }, Jo = {
2693
2694
  key: 0,
2694
2695
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
2695
- }, Wo = ["checked"], Go = {
2696
+ }, Yo = ["checked"], Xo = {
2696
2697
  key: 0,
2697
2698
  class: "tpl:mb-3.5"
2698
- }, Ko = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, qo = [
2699
+ }, Zo = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Qo = [
2699
2700
  "value",
2700
2701
  "placeholder",
2701
2702
  "title"
2702
- ], Jo = { class: "tpl:mb-3.5" }, Yo = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Xo = { class: "tpl:mb-3.5" }, Zo = { class: "tpl:mb-3.5" }, Qo = ["value"], $o = { value: "full" }, es = { class: "tpl:mb-3.5" }, ts = /* @__PURE__ */ p({
2703
+ ], $o = { class: "tpl:mb-3.5" }, es = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, ts = { class: "tpl:mb-3.5" }, ns = { class: "tpl:mb-3.5" }, rs = ["value"], is = { value: "full" }, as = { class: "tpl:mb-3.5" }, os = /* @__PURE__ */ p({
2703
2704
  __name: "VideoToolbar",
2704
2705
  props: { block: {} },
2705
2706
  emits: ["update"],
2706
2707
  setup(t, { emit: n }) {
2707
- let r = t, i = n, { t: a } = z(), o = k(ze, null), s = k(Ae, ne.liquid), c = it(), d = h(() => !!o), p = h(() => P(r.block.url, s)), m = l(!1), { start: b } = Ee(() => {
2708
+ let r = t, i = n, { t: a } = V(), o = k(De, null), s = k(ze, L.liquid), c = st(), d = h(() => !!o), p = h(() => F(r.block.url, s)), m = l(!1), { start: b } = Te(() => {
2708
2709
  m.value = !1;
2709
2710
  }, 1e3, { immediate: !1 });
2710
2711
  function x(e, t) {
@@ -2715,7 +2716,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2715
2716
  c.alive && e && (x("thumbnailUrl", e.url), m.value = !0, b());
2716
2717
  }
2717
2718
  return (n, r) => (e(), _(v, null, [
2718
- g("div", Ho, [
2719
+ g("div", qo, [
2719
2720
  g("label", { class: f(w(W)) }, E(w(a).video.videoUrl), 3),
2720
2721
  O(Z, {
2721
2722
  "model-value": t.block.url,
@@ -2723,23 +2724,23 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2723
2724
  placeholder: w(a).video.videoUrlPlaceholder,
2724
2725
  "onUpdate:modelValue": r[0] ||= (e) => x("url", e)
2725
2726
  }, null, 8, ["model-value", "placeholder"]),
2726
- t.block.url ? (e(), _("label", Uo, [g("input", {
2727
+ t.block.url ? (e(), _("label", Jo, [g("input", {
2727
2728
  type: "checkbox",
2728
2729
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
2729
2730
  checked: t.block.openInNewTab ?? !1,
2730
2731
  onChange: r[1] ||= (e) => x("openInNewTab", e.target.checked)
2731
- }, null, 40, Wo), u(" " + E(w(a).video.openInNewTab), 1)])) : y("", !0)
2732
+ }, null, 40, Yo), u(" " + E(w(a).video.openInNewTab), 1)])) : y("", !0)
2732
2733
  ]),
2733
- p.value ? (e(), _("div", Go, [g("label", { class: f(w(W)) }, [u(E(w(a).video.placeholderUrl) + " ", 1), g("span", Ko, E(w(a).video.optional), 1)], 2), g("input", {
2734
+ p.value ? (e(), _("div", Xo, [g("label", { class: f(w(W)) }, [u(E(w(a).video.placeholderUrl) + " ", 1), g("span", Zo, E(w(a).video.optional), 1)], 2), g("input", {
2734
2735
  type: "url",
2735
2736
  class: f(w(U)),
2736
2737
  value: t.block.placeholderUrl || "",
2737
2738
  placeholder: w(a).video.placeholderUrlPlaceholder,
2738
2739
  title: w(a).video.placeholderUrlTooltip,
2739
2740
  onInput: r[2] ||= (e) => x("placeholderUrl", e.target.value)
2740
- }, null, 42, qo)])) : y("", !0),
2741
- g("div", Jo, [
2742
- g("label", { class: f(w(W)) }, [u(E(w(a).video.customThumbnail) + " ", 1), g("span", Yo, E(w(a).video.optional), 1)], 2),
2741
+ }, null, 42, Qo)])) : y("", !0),
2742
+ g("div", $o, [
2743
+ g("label", { class: f(w(W)) }, [u(E(w(a).video.customThumbnail) + " ", 1), g("span", es, E(w(a).video.optional), 1)], 2),
2743
2744
  O(Z, {
2744
2745
  "model-value": t.block.thumbnailUrl,
2745
2746
  type: "url",
@@ -2760,28 +2761,28 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2760
2761
  "background-color": "var(--tpl-bg)"
2761
2762
  },
2762
2763
  onClick: S
2763
- }, [O(w(he), {
2764
+ }, [O(w(pe), {
2764
2765
  size: 14,
2765
2766
  "stroke-width": 1.5
2766
2767
  }), u(" " + E(w(a).image.browseMedia), 1)])) : y("", !0)
2767
2768
  ]),
2768
- g("div", Xo, [g("label", { class: f(w(W)) }, E(w(a).video.altText), 3), O(Z, {
2769
+ g("div", ts, [g("label", { class: f(w(W)) }, E(w(a).video.altText), 3), O(Z, {
2769
2770
  "model-value": t.block.alt,
2770
2771
  type: "text",
2771
2772
  placeholder: w(a).video.altTextPlaceholder,
2772
2773
  "onUpdate:modelValue": r[4] ||= (e) => x("alt", e)
2773
2774
  }, null, 8, ["model-value", "placeholder"])]),
2774
- g("div", Zo, [g("label", { class: f(w(W)) }, E(w(a).video.width), 3), g("select", {
2775
+ g("div", ns, [g("label", { class: f(w(W)) }, E(w(a).video.width), 3), g("select", {
2775
2776
  class: f(w(U)),
2776
2777
  value: t.block.width,
2777
2778
  onChange: r[5] ||= (e) => x("width", e.target.value === "full" ? "full" : Number(e.target.value))
2778
2779
  }, [
2779
- g("option", $o, E(w(a).video.fullWidth), 1),
2780
+ g("option", is, E(w(a).video.fullWidth), 1),
2780
2781
  r[7] ||= g("option", { value: "300" }, "300px", -1),
2781
2782
  r[8] ||= g("option", { value: "400" }, "400px", -1),
2782
2783
  r[9] ||= g("option", { value: "500" }, "500px", -1)
2783
- ], 42, Qo)]),
2784
- g("div", es, [g("label", { class: f(w(W)) }, E(w(a).title.align), 3), O(Y, {
2784
+ ], 42, rs)]),
2785
+ g("div", as, [g("label", { class: f(w(W)) }, E(w(a).title.align), 3), O(Y, {
2785
2786
  options: [
2786
2787
  {
2787
2788
  value: "left",
@@ -2801,7 +2802,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2801
2802
  }, null, 8, ["options", "model-value"])])
2802
2803
  ], 64));
2803
2804
  }
2804
- }), ns = ["aria-label"], rs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, is = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, as = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, os = { class: "tpl:flex tpl:gap-1" }, ss = ["title"], cs = ["title"], ls = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, us = /* @__PURE__ */ H(/* @__PURE__ */ p({
2805
+ }), ss = ["aria-label"], cs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, ls = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, us = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ds = { class: "tpl:flex tpl:gap-1" }, fs = ["title"], ps = ["title"], ms = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, hs = /* @__PURE__ */ it(/* @__PURE__ */ p({
2805
2806
  __name: "Toolbar",
2806
2807
  props: { block: {} },
2807
2808
  emits: [
@@ -2810,87 +2811,87 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2810
2811
  "duplicate"
2811
2812
  ],
2812
2813
  setup(t, { emit: n }) {
2813
- let i = A(() => import("./CountdownToolbar-BUhOUiQ9.js")), a = t, o = n, { t: s } = z(), c = De(Ne, "Toolbar"), l = k(je, []), u = h(() => a.block.type), d = h(() => te(a.block)), f = h(() => {
2814
+ let i = A(() => import("./CountdownToolbar-Dvr2icg-.js")), a = t, o = n, { t: s } = V(), c = Ne(Me, "Toolbar"), l = k(Ae, []), u = h(() => a.block.type), d = h(() => N(a.block)), f = h(() => {
2814
2815
  if (d.value) return l.find((e) => e.type === a.block.customType);
2815
- }), p = h(() => d.value ? f.value?.name ?? a.block.customType : re(u.value, s)), m = c.fonts;
2816
+ }), p = h(() => d.value ? f.value?.name ?? a.block.customType : te(u.value, s)), m = c.fonts;
2816
2817
  function b(e) {
2817
2818
  o("update", e);
2818
2819
  }
2819
2820
  return (n, a) => (e(), _("aside", {
2820
2821
  "aria-label": w(s).landmarks.blockToolbar,
2821
2822
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
2822
- }, [g("div", rs, [g("div", is, [w(Ue)[u.value] ? (e(), S(r(w(Ue)[u.value]), {
2823
+ }, [g("div", cs, [g("div", ls, [w(Ge)[u.value] ? (e(), S(r(w(Ge)[u.value]), {
2823
2824
  key: 0,
2824
2825
  size: 16,
2825
2826
  "stroke-width": 1.5
2826
- })) : d.value ? (e(), S(w(ae), {
2827
+ })) : d.value ? (e(), S(w(re), {
2827
2828
  key: 1,
2828
2829
  size: 16,
2829
2830
  "stroke-width": 1.5
2830
- })) : y("", !0), g("h3", as, E(p.value), 1)]), g("div", os, [g("button", {
2831
+ })) : y("", !0), g("h3", us, E(p.value), 1)]), g("div", ds, [g("button", {
2831
2832
  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)]",
2832
2833
  title: w(s).toolbar.duplicate,
2833
2834
  onClick: a[0] ||= (e) => o("duplicate")
2834
- }, [O(w(me), {
2835
+ }, [O(w(fe), {
2835
2836
  size: 14,
2836
2837
  "stroke-width": 2
2837
- })], 8, ss), g("button", {
2838
+ })], 8, fs), g("button", {
2838
2839
  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)]",
2839
2840
  title: w(s).toolbar.delete,
2840
2841
  onClick: a[1] ||= (e) => o("delete")
2841
- }, [O(w(et), {
2842
+ }, [O(w(nt), {
2842
2843
  size: 14,
2843
2844
  "stroke-width": 2
2844
- })], 8, cs)])]), g("div", ls, [d.value ? (e(), S(Fi, {
2845
+ })], 8, ps)])]), g("div", ms, [d.value ? (e(), S(Bi, {
2845
2846
  key: 0,
2846
2847
  block: t.block,
2847
2848
  onUpdateFieldValues: a[2] ||= (e) => o("update", { fieldValues: e }),
2848
2849
  onUpdateDataSourceFetched: a[3] ||= (e) => o("update", { dataSourceFetched: e })
2849
- }, null, 8, ["block"])) : u.value === "section" ? (e(), S(wa, {
2850
+ }, null, 8, ["block"])) : u.value === "section" ? (e(), S(ka, {
2850
2851
  key: 1,
2851
2852
  block: t.block,
2852
2853
  onUpdate: b
2853
- }, null, 8, ["block"])) : u.value === "title" ? (e(), S(Vo, {
2854
+ }, null, 8, ["block"])) : u.value === "title" ? (e(), S(Ko, {
2854
2855
  key: 2,
2855
2856
  block: t.block,
2856
2857
  "font-families": w(m),
2857
2858
  onUpdate: b
2858
- }, null, 8, ["block", "font-families"])) : u.value === "paragraph" ? (e(), _(v, { key: 3 }, [], 64)) : u.value === "image" ? (e(), S(oa, {
2859
+ }, null, 8, ["block", "font-families"])) : u.value === "paragraph" ? (e(), _(v, { key: 3 }, [], 64)) : u.value === "image" ? (e(), S(da, {
2859
2860
  key: 4,
2860
2861
  block: t.block,
2861
2862
  onUpdate: b
2862
- }, null, 8, ["block"])) : u.value === "video" ? (e(), S(ts, {
2863
+ }, null, 8, ["block"])) : u.value === "video" ? (e(), S(os, {
2863
2864
  key: 5,
2864
2865
  block: t.block,
2865
2866
  onUpdate: b
2866
- }, null, 8, ["block"])) : u.value === "button" ? (e(), S(or, {
2867
+ }, null, 8, ["block"])) : u.value === "button" ? (e(), S(ur, {
2867
2868
  key: 6,
2868
2869
  block: t.block,
2869
2870
  "font-families": w(m),
2870
2871
  onUpdate: b
2871
- }, null, 8, ["block", "font-families"])) : u.value === "divider" ? (e(), S(Vi, {
2872
+ }, null, 8, ["block", "font-families"])) : u.value === "divider" ? (e(), S(Ki, {
2872
2873
  key: 7,
2873
2874
  block: t.block,
2874
2875
  onUpdate: b
2875
- }, null, 8, ["block"])) : u.value === "social" ? (e(), S(Ua, {
2876
+ }, null, 8, ["block"])) : u.value === "social" ? (e(), S(Ja, {
2876
2877
  key: 8,
2877
2878
  block: t.block,
2878
2879
  onUpdate: b
2879
- }, null, 8, ["block"])) : u.value === "menu" ? (e(), S(va, {
2880
+ }, null, 8, ["block"])) : u.value === "menu" ? (e(), S(Ca, {
2880
2881
  key: 9,
2881
2882
  block: t.block,
2882
2883
  "font-families": w(m),
2883
2884
  onUpdate: b
2884
- }, null, 8, ["block", "font-families"])) : u.value === "table" ? (e(), S(Oo, {
2885
+ }, null, 8, ["block", "font-families"])) : u.value === "table" ? (e(), S(No, {
2885
2886
  key: 10,
2886
2887
  block: t.block,
2887
2888
  "font-families": w(m),
2888
2889
  onUpdate: b
2889
- }, null, 8, ["block", "font-families"])) : u.value === "spacer" ? (e(), S(Ja, {
2890
+ }, null, 8, ["block", "font-families"])) : u.value === "spacer" ? (e(), S($a, {
2890
2891
  key: 11,
2891
2892
  block: t.block,
2892
2893
  onUpdate: b
2893
- }, null, 8, ["block"])) : u.value === "html" ? (e(), S(Gi, {
2894
+ }, null, 8, ["block"])) : u.value === "html" ? (e(), S(Xi, {
2894
2895
  key: 12,
2895
2896
  block: t.block,
2896
2897
  onUpdate: b
@@ -2899,52 +2900,52 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2899
2900
  block: t.block,
2900
2901
  "font-families": w(m),
2901
2902
  onUpdate: b
2902
- }, null, 8, ["block", "font-families"])) : y("", !0), O(Qr, {
2903
+ }, null, 8, ["block", "font-families"])) : y("", !0), O(ni, {
2903
2904
  block: t.block,
2904
2905
  "is-first-section": u.value === "paragraph",
2905
2906
  onUpdate: b
2906
- }, null, 8, ["block", "is-first-section"])])], 8, ns));
2907
+ }, null, 8, ["block", "is-first-section"])])], 8, ss));
2907
2908
  }
2908
- }), [["__scopeId", "data-v-2ac88283"]]), ds = ["aria-label"], fs = {
2909
+ }), [["__scopeId", "data-v-2ac88283"]]), gs = ["aria-label"], _s = {
2909
2910
  role: "tablist",
2910
2911
  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"
2911
- }, ps = [
2912
+ }, vs = [
2912
2913
  "aria-selected",
2913
2914
  "aria-label",
2914
2915
  "title"
2915
- ], ms = { key: 0 }, hs = [
2916
+ ], ys = { key: 0 }, bs = [
2916
2917
  "aria-selected",
2917
2918
  "aria-label",
2918
2919
  "title"
2919
- ], gs = { key: 0 }, _s = [
2920
+ ], xs = { key: 0 }, Ss = [
2920
2921
  "aria-selected",
2921
2922
  "aria-label",
2922
2923
  "title"
2923
- ], vs = { key: 0 }, ys = {
2924
+ ], Cs = { key: 0 }, ws = {
2924
2925
  key: 1,
2925
2926
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
2926
- }, bs = {
2927
+ }, Ts = {
2927
2928
  key: 0,
2928
2929
  id: "tpl-tabpanel-content",
2929
2930
  role: "tabpanel",
2930
2931
  "aria-labelledby": "tpl-tab-content",
2931
2932
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2932
- }, xs = {
2933
+ }, Es = {
2933
2934
  key: 1,
2934
2935
  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)]"
2935
- }, Ss = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Cs = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ws = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Ts = {
2936
+ }, Ds = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Os = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ks = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, As = {
2936
2937
  key: 1,
2937
2938
  id: "tpl-tabpanel-settings",
2938
2939
  role: "tabpanel",
2939
2940
  "aria-labelledby": "tpl-tab-settings",
2940
2941
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2941
- }, Es = {
2942
+ }, js = {
2942
2943
  key: 2,
2943
2944
  id: "tpl-tabpanel-issues",
2944
2945
  role: "tabpanel",
2945
2946
  "aria-labelledby": "tpl-tab-issues",
2946
2947
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2947
- }, Ds = /* @__PURE__ */ p({
2948
+ }, Ms = /* @__PURE__ */ p({
2948
2949
  __name: "RightSidebar",
2949
2950
  props: {
2950
2951
  selectedBlock: {},
@@ -2958,7 +2959,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2958
2959
  "update-settings"
2959
2960
  ],
2960
2961
  setup(t, { emit: n }) {
2961
- let r = A(() => import("./IssuesPanel-4MKZe8yP.js")), i = t, o = n, { t: s } = z(), c = l("content"), u = k(Oe, null), d = h(() => u !== null), p = h(() => u?.issues.value.length ?? 0);
2962
+ let r = A(() => import("./IssuesPanel-B1LT91IX.js")), i = t, o = n, { t: s } = V(), c = l("content"), u = k(Ee, null), d = h(() => u !== null), p = h(() => u?.issues.value.length ?? 0);
2962
2963
  function m(e) {
2963
2964
  return c.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)]";
2964
2965
  }
@@ -2974,7 +2975,7 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2974
2975
  "aria-label": w(s).landmarks.rightSidebar,
2975
2976
  class: f(["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)]", t.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
2976
2977
  }, [
2977
- g("div", fs, [
2978
+ g("div", _s, [
2978
2979
  g("button", {
2979
2980
  id: "tpl-tab-content",
2980
2981
  role: "tab",
@@ -2985,10 +2986,10 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2985
2986
  class: f(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", m("content")]),
2986
2987
  style: x(v("content")),
2987
2988
  onClick: i[0] ||= (e) => c.value = "content"
2988
- }, [O(w(bt), {
2989
+ }, [O(w(wt), {
2989
2990
  size: 14,
2990
2991
  "stroke-width": 2
2991
- }), c.value === "content" ? (e(), _("span", ms, E(w(s).sidebar.content), 1)) : y("", !0)], 14, ps),
2992
+ }), c.value === "content" ? (e(), _("span", ys, E(w(s).sidebar.content), 1)) : y("", !0)], 14, vs),
2992
2993
  g("button", {
2993
2994
  id: "tpl-tab-settings",
2994
2995
  role: "tab",
@@ -2999,10 +3000,10 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
2999
3000
  class: f(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", m("settings")]),
3000
3001
  style: x(v("settings")),
3001
3002
  onClick: i[1] ||= (e) => c.value = "settings"
3002
- }, [O(w(St), {
3003
+ }, [O(w(Et), {
3003
3004
  size: 14,
3004
3005
  "stroke-width": 1.5
3005
- }), c.value === "settings" ? (e(), _("span", gs, E(w(s).sidebar.settings), 1)) : y("", !0)], 14, hs),
3006
+ }), c.value === "settings" ? (e(), _("span", xs, E(w(s).sidebar.settings), 1)) : y("", !0)], 14, bs),
3006
3007
  d.value ? (e(), _("button", {
3007
3008
  key: 0,
3008
3009
  id: "tpl-tab-issues",
@@ -3015,46 +3016,46 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
3015
3016
  style: x(v("issues")),
3016
3017
  onClick: i[2] ||= (e) => c.value = "issues"
3017
3018
  }, [
3018
- O(w(Je), {
3019
+ O(w(Xe), {
3019
3020
  size: 14,
3020
3021
  "stroke-width": 1.5
3021
3022
  }),
3022
- c.value === "issues" ? (e(), _("span", vs, E(w(s).issues.panelTabLabel), 1)) : y("", !0),
3023
- p.value > 0 ? (e(), _("span", ys, E(p.value), 1)) : y("", !0)
3024
- ], 14, _s)) : y("", !0)
3023
+ c.value === "issues" ? (e(), _("span", Cs, E(w(s).issues.panelTabLabel), 1)) : y("", !0),
3024
+ p.value > 0 ? (e(), _("span", ws, E(p.value), 1)) : y("", !0)
3025
+ ], 14, Ss)) : y("", !0)
3025
3026
  ]),
3026
- c.value === "content" ? (e(), _("div", bs, [t.selectedBlock ? (e(), S(us, {
3027
+ c.value === "content" ? (e(), _("div", Ts, [t.selectedBlock ? (e(), S(hs, {
3027
3028
  key: 0,
3028
3029
  block: t.selectedBlock,
3029
3030
  onUpdate: i[3] ||= (e) => o("update-block", e),
3030
3031
  onDelete: i[4] ||= (e) => o("delete-block"),
3031
3032
  onDuplicate: i[5] ||= (e) => o("duplicate-block")
3032
- }, null, 8, ["block"])) : (e(), _("div", xs, [
3033
- g("div", Ss, [O(w(ht), {
3033
+ }, null, 8, ["block"])) : (e(), _("div", Es, [
3034
+ g("div", Ds, [O(w(yt), {
3034
3035
  size: 40,
3035
3036
  "stroke-width": 1.5
3036
3037
  })]),
3037
- g("h3", Cs, E(w(s).sidebar.noSelection), 1),
3038
- g("p", ws, E(w(s).sidebar.noSelectionHint), 1)
3038
+ g("h3", Os, E(w(s).sidebar.noSelection), 1),
3039
+ g("p", ks, E(w(s).sidebar.noSelectionHint), 1)
3039
3040
  ]))])) : y("", !0),
3040
- c.value === "settings" ? (e(), _("div", Ts, [O(Ln, {
3041
+ c.value === "settings" ? (e(), _("div", As, [O(Vn, {
3041
3042
  settings: t.settings,
3042
3043
  onUpdate: i[6] ||= (e) => o("update-settings", e)
3043
3044
  }, null, 8, ["settings"])])) : y("", !0),
3044
- c.value === "issues" && d.value ? (e(), _("div", Es, [O(w(r))])) : y("", !0)
3045
- ], 10, ds));
3045
+ c.value === "issues" && d.value ? (e(), _("div", js, [O(w(r))])) : y("", !0)
3046
+ ], 10, gs));
3046
3047
  }
3047
- }), Os = ["aria-label"], ks = [
3048
+ }), Ns = ["aria-label"], Ps = [
3048
3049
  "aria-checked",
3049
3050
  "aria-label",
3050
3051
  "title",
3051
3052
  "onClick"
3052
- ], As = /* @__PURE__ */ p({
3053
+ ], Fs = /* @__PURE__ */ p({
3053
3054
  __name: "ViewportToggle",
3054
3055
  props: { viewport: {} },
3055
3056
  emits: ["change"],
3056
3057
  setup(t, { emit: n }) {
3057
- let r = t, i = n, { t: a } = z(), s = h(() => [
3058
+ let r = t, i = n, { t: a } = V(), s = h(() => [
3058
3059
  {
3059
3060
  value: "desktop",
3060
3061
  label: a.viewport.desktop
@@ -3098,30 +3099,30 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
3098
3099
  }),
3099
3100
  title: n.label,
3100
3101
  onClick: (e) => i("change", n.value)
3101
- }, [n.value === "desktop" ? (e(), S(w(vt), {
3102
+ }, [n.value === "desktop" ? (e(), S(w(St), {
3102
3103
  key: 0,
3103
3104
  size: 18,
3104
3105
  "stroke-width": 1.5
3105
- })) : n.value === "tablet" ? (e(), S(w(Dt), {
3106
+ })) : n.value === "tablet" ? (e(), S(w(jt), {
3106
3107
  key: 1,
3107
3108
  size: 18,
3108
3109
  "stroke-width": 1.5
3109
- })) : (e(), S(w(Ct), {
3110
+ })) : (e(), S(w(Dt), {
3110
3111
  key: 2,
3111
3112
  size: 18,
3112
3113
  "stroke-width": 1.5
3113
- })), g("span", null, E(n.label), 1)], 12, ks))), 128))], 12, Os));
3114
+ })), g("span", null, E(n.label), 1)], 12, Ps))), 128))], 12, Ns));
3114
3115
  }
3115
- }), js = [
3116
+ }), Is = [
3116
3117
  "aria-label",
3117
3118
  "title",
3118
3119
  "aria-pressed"
3119
- ], Ms = /* @__PURE__ */ H(/* @__PURE__ */ p({
3120
+ ], Ls = /* @__PURE__ */ it(/* @__PURE__ */ p({
3120
3121
  __name: "PreviewToggle",
3121
3122
  props: { previewMode: { type: Boolean } },
3122
3123
  emits: ["change"],
3123
3124
  setup(t, { emit: n }) {
3124
- let r = n, { t: i } = z();
3125
+ let r = n, { t: i } = V();
3125
3126
  return (n, a) => (e(), _("button", {
3126
3127
  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",
3127
3128
  style: x({
@@ -3139,28 +3140,28 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
3139
3140
  "leave-to-class": "tpl-icon-leave-to",
3140
3141
  mode: "out-in"
3141
3142
  }, {
3142
- default: j(() => [t.previewMode ? (e(), S(w(We), {
3143
+ default: j(() => [t.previewMode ? (e(), S(w(Ke), {
3143
3144
  key: "eye",
3144
3145
  size: 18,
3145
3146
  "stroke-width": 1.5
3146
- })) : (e(), S(w(L), {
3147
+ })) : (e(), S(w(z), {
3147
3148
  key: "eye-off",
3148
3149
  size: 18,
3149
3150
  "stroke-width": 1.5
3150
3151
  }))]),
3151
3152
  _: 1
3152
- })], 12, js));
3153
+ })], 12, Is));
3153
3154
  }
3154
- }), [["__scopeId", "data-v-af87d02a"]]), Ns = [
3155
+ }), [["__scopeId", "data-v-af87d02a"]]), Rs = [
3155
3156
  "aria-label",
3156
3157
  "title",
3157
3158
  "aria-pressed"
3158
- ], Ps = /* @__PURE__ */ H(/* @__PURE__ */ p({
3159
+ ], zs = /* @__PURE__ */ it(/* @__PURE__ */ p({
3159
3160
  __name: "DarkModeToggle",
3160
3161
  props: { darkMode: { type: Boolean } },
3161
3162
  emits: ["change"],
3162
3163
  setup(t, { emit: n }) {
3163
- let r = n, { t: i } = z();
3164
+ let r = n, { t: i } = V();
3164
3165
  return (n, a) => (e(), _("button", {
3165
3166
  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",
3166
3167
  style: x({
@@ -3178,37 +3179,37 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
3178
3179
  "leave-to-class": "tpl-icon-leave-to",
3179
3180
  mode: "out-in"
3180
3181
  }, {
3181
- default: j(() => [t.darkMode ? (e(), S(w(yt), {
3182
+ default: j(() => [t.darkMode ? (e(), S(w(Ct), {
3182
3183
  key: "moon",
3183
3184
  size: 18,
3184
3185
  "stroke-width": 1.5
3185
- })) : (e(), S(w(Et), {
3186
+ })) : (e(), S(w(At), {
3186
3187
  key: "sun",
3187
3188
  size: 18,
3188
3189
  "stroke-width": 1.5
3189
3190
  }))]),
3190
3191
  _: 1
3191
- })], 12, Ns));
3192
+ })], 12, Rs));
3192
3193
  }
3193
- }), [["__scopeId", "data-v-f8694f76"]]), Fs = {
3194
+ }), [["__scopeId", "data-v-f8694f76"]]), Bs = {
3194
3195
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
3195
3196
  style: {
3196
3197
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
3197
3198
  "backdrop-filter": "blur(8px)",
3198
3199
  "-webkit-backdrop-filter": "blur(8px)"
3199
3200
  }
3200
- }, Is = {
3201
+ }, Vs = {
3201
3202
  href: "https://github.com/templatical/sdk",
3202
3203
  target: "_blank",
3203
3204
  rel: "noopener noreferrer",
3204
3205
  class: "tpl:transition-colors tpl:duration-150 hover:tpl:opacity-80 tpl:text-[var(--tpl-text-dim)]",
3205
3206
  style: { "text-decoration": "none" }
3206
- }, Ls = /* @__PURE__ */ p({
3207
+ }, Hs = /* @__PURE__ */ p({
3207
3208
  __name: "EditorFooter",
3208
3209
  props: { positionClass: {} },
3209
3210
  setup(t) {
3210
- let { t: n } = z();
3211
- return (r, i) => (e(), _("footer", { class: f(["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)]", t.positionClass]) }, [g("div", Fs, [
3211
+ let { t: n } = V();
3212
+ return (r, i) => (e(), _("footer", { class: f(["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)]", t.positionClass]) }, [g("div", Bs, [
3212
3213
  g("span", null, E(w(n).footer.poweredBy), 1),
3213
3214
  i[0] ||= g("a", {
3214
3215
  href: "https://templatical.com",
@@ -3223,9 +3224,264 @@ var xa = { class: "tpl:mb-3.5" }, Sa = ["value"], Ca = ["value"], wa = /* @__PUR
3223
3224
  alt: ""
3224
3225
  }), u(" Templatical ")], -1),
3225
3226
  i[1] ||= g("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
3226
- g("a", Is, E(w(n).footer.openSource), 1)
3227
+ g("a", Vs, E(w(n).footer.openSource), 1)
3227
3228
  ])], 2));
3228
3229
  }
3230
+ }), Us = ["aria-labelledby"], Ws = { 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" }, Gs = ["id"], Ks = ["aria-label"], qs = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Js = [
3231
+ "id",
3232
+ "placeholder",
3233
+ "aria-label",
3234
+ "aria-activedescendant"
3235
+ ], Ys = {
3236
+ key: 0,
3237
+ 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",
3238
+ "data-testid": "merge-tag-picker-group-pills"
3239
+ }, Xs = ["data-group-name", "onClick"], Zs = ["aria-label"], Qs = {
3240
+ key: 0,
3241
+ class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3242
+ "data-testid": "merge-tag-picker-empty"
3243
+ }, $s = {
3244
+ key: 1,
3245
+ class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3246
+ "data-testid": "merge-tag-picker-empty"
3247
+ }, ec = [
3248
+ "aria-expanded",
3249
+ "data-group-name",
3250
+ "data-group-collapsed",
3251
+ "onClick"
3252
+ ], tc = { class: "tpl:ml-1 tpl:font-normal" }, nc = [
3253
+ "id",
3254
+ "aria-selected",
3255
+ "data-selected",
3256
+ "data-merge-tag-index",
3257
+ "data-merge-tag-value",
3258
+ "title",
3259
+ "onMousemove",
3260
+ "onClick"
3261
+ ], rc = { class: "tpl:text-sm tpl:font-medium" }, ic = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, ac = {
3262
+ key: 0,
3263
+ class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3264
+ }, $ = "tpl-merge-tag-picker-list", oc = /* @__PURE__ */ p({
3265
+ __name: "MergeTagPickerModal",
3266
+ setup(r) {
3267
+ let i = Ne(ke, "MergeTagPickerModal"), { t: s, format: c } = V(), u = l(""), p = we(u, 200), b = l(null), x = h(() => p.value.trim().length > 0), C = l(0), D = h(() => i.tags.value.some((e) => !!e.group)), k = l(/* @__PURE__ */ new Set());
3268
+ function A(e) {
3269
+ return k.value.has(e);
3270
+ }
3271
+ function ee(e) {
3272
+ let t = new Set(k.value);
3273
+ t.has(e) ? t.delete(e) : t.add(e), k.value = t, C.value = 0;
3274
+ }
3275
+ let M = h(() => {
3276
+ let e = p.value.trim().toLowerCase();
3277
+ return e ? i.tags.value.filter((t) => [
3278
+ t.label,
3279
+ t.value,
3280
+ t.description ?? ""
3281
+ ].join(" ").toLowerCase().includes(e)) : i.tags.value;
3282
+ }), N = h(() => {
3283
+ if (!D.value) return [];
3284
+ let e = s.mergeTag.picker.otherGroup, t = /* @__PURE__ */ new Set(), n = [];
3285
+ for (let r of i.tags.value) {
3286
+ let i = r.group ?? e;
3287
+ t.has(i) || (t.add(i), n.push(i));
3288
+ }
3289
+ return n;
3290
+ }), P = h(() => {
3291
+ let e = M.value;
3292
+ if (!D.value || x.value) return e.map((e, t) => ({
3293
+ kind: "tag",
3294
+ tag: e,
3295
+ index: t
3296
+ }));
3297
+ let t = s.mergeTag.picker.otherGroup, n = /* @__PURE__ */ new Map(), r = [];
3298
+ for (let i of e) {
3299
+ let e = i.group ?? t;
3300
+ n.has(e) || (n.set(e, []), r.push(e)), n.get(e).push(i);
3301
+ }
3302
+ let i = [], a = 0;
3303
+ for (let e of r) {
3304
+ let t = n.get(e);
3305
+ if (i.push({
3306
+ kind: "header",
3307
+ group: e,
3308
+ count: t.length
3309
+ }), !k.value.has(e)) for (let e of t) i.push({
3310
+ kind: "tag",
3311
+ tag: e,
3312
+ index: a
3313
+ }), a++;
3314
+ }
3315
+ return i;
3316
+ }), F = h(() => P.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3317
+ a(() => i.isOpen.value, (e) => {
3318
+ e && (u.value = "", C.value = 0, k.value = /* @__PURE__ */ new Set(), n(() => {
3319
+ b.value?.focus();
3320
+ }));
3321
+ }), a(F, (e) => {
3322
+ C.value >= e.length && (C.value = Math.max(0, e.length - 1));
3323
+ });
3324
+ function I(e) {
3325
+ i.resolve(e);
3326
+ }
3327
+ function L() {
3328
+ i.resolve(null);
3329
+ }
3330
+ function R(e) {
3331
+ if (F.value.length === 0) return;
3332
+ let t = C.value + e;
3333
+ C.value = Math.max(0, Math.min(F.value.length - 1, t)), re();
3334
+ }
3335
+ let z = l(null), te = l({});
3336
+ function ne(e, t) {
3337
+ te.value[e] = t ?? null;
3338
+ }
3339
+ function re() {
3340
+ n(() => {
3341
+ let e = z.value;
3342
+ e && e.querySelector(`[data-merge-tag-index="${C.value}"]`)?.scrollIntoView({ block: "nearest" });
3343
+ });
3344
+ }
3345
+ function ie(e) {
3346
+ if (k.value.has(e)) {
3347
+ let t = new Set(k.value);
3348
+ t.delete(e), k.value = t;
3349
+ }
3350
+ n(() => {
3351
+ let t = z.value;
3352
+ if (!t) return;
3353
+ let n = 0, r = !1;
3354
+ for (let i of Array.from(t.children)) {
3355
+ if (i.dataset.testid === "merge-tag-picker-group-header" && i.dataset.groupName === e) {
3356
+ r = !0;
3357
+ break;
3358
+ }
3359
+ n += i.offsetHeight;
3360
+ }
3361
+ r && t.scrollTo({
3362
+ top: n,
3363
+ behavior: "smooth"
3364
+ });
3365
+ });
3366
+ }
3367
+ function B(e) {
3368
+ if (e.key === "ArrowDown") e.preventDefault(), R(1);
3369
+ else if (e.key === "ArrowUp") e.preventDefault(), R(-1);
3370
+ else if (e.key === "Enter") {
3371
+ e.preventDefault();
3372
+ let t = F.value[C.value];
3373
+ t && I(t);
3374
+ }
3375
+ }
3376
+ function ae() {
3377
+ if (F.value.length !== 0) return `${$}-opt-${C.value}`;
3378
+ }
3379
+ function oe(e) {
3380
+ return `${$}-opt-${e}`;
3381
+ }
3382
+ let se = h(() => i.tags.value.length === 0), ce = h(() => !se.value && M.value.length === 0), le = h(() => D.value && N.value.length > 1 && !x.value);
3383
+ return (n, r) => (e(), S(gt, {
3384
+ visible: w(i).isOpen.value,
3385
+ onClose: L,
3386
+ onKeydown: B
3387
+ }, {
3388
+ default: j(() => [g("div", {
3389
+ role: "dialog",
3390
+ "aria-modal": "true",
3391
+ "aria-labelledby": `${$}-title`,
3392
+ "data-testid": "merge-tag-picker-modal",
3393
+ 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)]"
3394
+ }, [
3395
+ g("header", Ws, [g("h2", {
3396
+ id: `${$}-title`,
3397
+ class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
3398
+ }, E(w(s).mergeTag.picker.title), 9, Gs), g("button", {
3399
+ type: "button",
3400
+ 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)]",
3401
+ "aria-label": w(s).mergeTag.picker.close,
3402
+ "data-testid": "merge-tag-picker-close",
3403
+ onClick: L
3404
+ }, [O(w(rt), {
3405
+ size: 16,
3406
+ "stroke-width": 2
3407
+ })], 8, Ks)]),
3408
+ g("div", qs, [O(w(Ue), {
3409
+ 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)]",
3410
+ size: 14,
3411
+ "stroke-width": 2
3412
+ }), t(g("input", {
3413
+ id: `${$}-search`,
3414
+ ref_key: "searchInputRef",
3415
+ ref: b,
3416
+ "onUpdate:modelValue": r[0] ||= (e) => u.value = e,
3417
+ type: "text",
3418
+ 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)]",
3419
+ placeholder: w(s).mergeTag.picker.searchPlaceholder,
3420
+ "aria-label": w(s).mergeTag.picker.searchAriaLabel,
3421
+ "aria-controls": $,
3422
+ "aria-activedescendant": ae(),
3423
+ "data-testid": "merge-tag-picker-search",
3424
+ onKeydown: r[1] ||= T(m(() => {}, ["prevent"]), ["enter"])
3425
+ }, null, 40, Js), [[d, u.value]])]),
3426
+ le.value ? (e(), _("div", Ys, [(e(!0), _(v, null, o(N.value, (t) => (e(), _("button", {
3427
+ key: t,
3428
+ type: "button",
3429
+ 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)]",
3430
+ "data-testid": "merge-tag-picker-group-pill",
3431
+ "data-group-name": t,
3432
+ onClick: (e) => ie(t)
3433
+ }, E(t), 9, Xs))), 128))])) : y("", !0),
3434
+ g("div", {
3435
+ id: $,
3436
+ ref_key: "listRef",
3437
+ ref: z,
3438
+ class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
3439
+ role: "listbox",
3440
+ "aria-label": w(s).mergeTag.picker.title,
3441
+ "data-testid": "merge-tag-picker-list"
3442
+ }, [se.value ? (e(), _("div", Qs, E(w(s).mergeTag.picker.empty), 1)) : ce.value ? (e(), _("div", $s, E(w(s).mergeTag.picker.noResults), 1)) : (e(!0), _(v, { key: 2 }, o(P.value, (t, n) => (e(), _(v, { key: n }, [t.kind === "header" ? (e(), _("button", {
3443
+ key: 0,
3444
+ ref_for: !0,
3445
+ ref: (e) => ne(t.group, e),
3446
+ type: "button",
3447
+ "aria-expanded": !A(t.group),
3448
+ "aria-controls": $,
3449
+ 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)]",
3450
+ "data-testid": "merge-tag-picker-group-header",
3451
+ "data-group-name": t.group,
3452
+ "data-group-collapsed": A(t.group) ? "true" : "false",
3453
+ onClick: (e) => ee(t.group)
3454
+ }, [
3455
+ O(w(Be), {
3456
+ size: 12,
3457
+ "stroke-width": 2,
3458
+ class: f(["tpl:transition-transform", A(t.group) ? "tpl:-rotate-90" : ""])
3459
+ }, null, 8, ["class"]),
3460
+ g("span", null, E(t.group), 1),
3461
+ g("span", tc, " (" + E(w(c)(w(s).mergeTag.picker.groupCount, { count: t.count })) + ") ", 1)
3462
+ ], 8, ec)) : (e(), _("button", {
3463
+ key: 1,
3464
+ id: oe(t.index),
3465
+ type: "button",
3466
+ role: "option",
3467
+ "aria-selected": t.index === C.value,
3468
+ "data-selected": t.index === C.value ? "true" : "false",
3469
+ "data-merge-tag-index": t.index,
3470
+ "data-merge-tag-value": t.tag.value,
3471
+ title: t.tag.description ? `${t.tag.value} — ${t.tag.description}` : t.tag.value,
3472
+ class: f(["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", t.index === C.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)]"]),
3473
+ "data-testid": "merge-tag-picker-item",
3474
+ onMousemove: (e) => C.value = t.index,
3475
+ onClick: (e) => I(t.tag)
3476
+ }, [
3477
+ g("span", rc, E(t.tag.label), 1),
3478
+ g("span", ic, E(t.tag.value), 1),
3479
+ t.tag.description ? (e(), _("span", ac, E(t.tag.description), 1)) : y("", !0)
3480
+ ], 42, nc))], 64))), 128))], 8, Zs)
3481
+ ], 8, Us)]),
3482
+ _: 1
3483
+ }, 8, ["visible"]));
3484
+ }
3229
3485
  });
3230
3486
  //#endregion
3231
- export { Ds as a, Ot as c, As as i, xt as l, Ps as n, qt as o, Ms as r, Rt as s, Ls as t };
3487
+ export { Fs as a, Ht as c, Ls as i, Mt as l, Hs as n, Ms as o, zs as r, Zt as s, oc as t, Tt as u };