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