@templatical/editor 0.24.1 → 0.25.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 (153) hide show
  1. package/dist/{AiChatSidebar-X4viKtvs.js → AiChatSidebar-CIkS8DsO.js} +3 -3
  2. package/dist/{AiFeatureMenu-DDAamRaA.js → AiFeatureMenu-Cji1LBJJ.js} +3 -3
  3. package/dist/{BlockIssueBadge-Qxrl7Ujl.js → BlockIssueBadge-BQiT0FML.js} +2 -2
  4. package/dist/{BlockPreviewCanvas-Cf-kxbEr.js → BlockPreviewCanvas-DAnwZofk.js} +10 -6
  5. package/dist/{CloudEditor-JIzhj1Xq.js → CloudEditor-CXaft6Ej.js} +60 -58
  6. package/dist/{CollaboratorBar-tC7AACTb.js → CollaboratorBar-BR-rL2wG.js} +2 -2
  7. package/dist/{ColorPicker--_2PbzFk.js → ColorPicker-B4ArSUhy.js} +3 -3
  8. package/dist/{CommentsSidebar-Ci2Ov8FG.js → CommentsSidebar-Bm5GLDts.js} +4 -4
  9. package/dist/{CountdownBlock-aZIKfBWY.js → CountdownBlock-CIVAQDVu.js} +1 -1
  10. package/dist/{CountdownToolbar-DHp6T0Q_.js → CountdownToolbar-DBmb3tlb.js} +3 -3
  11. package/dist/{DesignReferenceSidebar-DQsC-3hB.js → DesignReferenceSidebar-CnyJ8L-j.js} +3 -3
  12. package/dist/{IssuesPanel-CoOfib44.js → IssuesPanel-D3XgmYCt.js} +2 -2
  13. package/dist/{MergeTagModeToggle-CiFiSV0C.js → MergeTagModeToggle-BK0fI3P2.js} +3 -3
  14. package/dist/{NumberWithSuffix-CXFbUqsx.js → NumberWithSuffix-Cjj9UNIp.js} +1 -1
  15. package/dist/{ParagraphEditor-Cy-bpEjI.js → ParagraphEditor-jGnbJEA2.js} +8 -8
  16. package/dist/{RichTextEditorContent-CYJko6id.js → RichTextEditorContent-DaaKdzjb.js} +4 -4
  17. package/dist/{SaveBlockDialog-CNTSaMEa.js → SaveBlockDialog-B3ngEldp.js} +7 -7
  18. package/dist/{SavedBlocksBrowserModal-CvxS5-YX.js → SavedBlocksBrowserModal-DawN3XaB.js} +6 -6
  19. package/dist/{SavedBlocksPanels-CNdUxS89.js → SavedBlocksPanels-eDC9Y46N.js} +1 -1
  20. package/dist/{SavedBlocksPickBar-BvXKhblL.js → SavedBlocksPickBar-CQbbXmzj.js} +2 -2
  21. package/dist/{SnapshotHistory-BqPSIV9L.js → SnapshotHistory-COxKtHM-.js} +4 -4
  22. package/dist/{TemplateScoringPanel-CMEuz9yF.js → TemplateScoringPanel-bUuqOO1z.js} +3 -3
  23. package/dist/{TestEmailModal-BDhnnCBx.js → TestEmailModal-CytkbZVQ.js} +87 -56
  24. package/dist/{TestEmailPanel--RwnwLn2.js → TestEmailPanel-CHUY7VZn.js} +1 -1
  25. package/dist/{TitleEditor-F7E_pU9H.js → TitleEditor-aMR1bOyY.js} +7 -7
  26. package/dist/{TplModal-BIiS24Of.js → TplModal-fmYNYdyp.js} +3 -3
  27. package/dist/{blockTypeIcons-C6PnLMp7.js → blockTypeIcons-C6b9rg88.js} +1 -1
  28. package/dist/bundle-stats.json +6 -6
  29. package/dist/{cdn/chunks/ca-CO4nq6TX.js → ca-8Dvbwo50.js} +5 -2
  30. package/dist/cdn/chunks/{AiChatSidebar-UbF3ePzR.js → AiChatSidebar-bkBKpNgE.js} +4 -4
  31. package/dist/cdn/chunks/{AiChatSidebar-UbF3ePzR.js.map → AiChatSidebar-bkBKpNgE.js.map} +1 -1
  32. package/dist/cdn/chunks/{AiFeatureMenu-OIwoJzHG.js → AiFeatureMenu-CI4SYTq2.js} +4 -4
  33. package/dist/cdn/chunks/{AiFeatureMenu-OIwoJzHG.js.map → AiFeatureMenu-CI4SYTq2.js.map} +1 -1
  34. package/dist/cdn/chunks/{BlockIssueBadge-Bd2EuT1C.js → BlockIssueBadge-CRnx8Dv9.js} +3 -3
  35. package/dist/cdn/chunks/{BlockIssueBadge-Bd2EuT1C.js.map → BlockIssueBadge-CRnx8Dv9.js.map} +1 -1
  36. package/dist/cdn/chunks/{BlockPreviewCanvas-C-ut8GkJ.js → BlockPreviewCanvas-CXCWhqbp.js} +11 -7
  37. package/dist/cdn/chunks/BlockPreviewCanvas-CXCWhqbp.js.map +1 -0
  38. package/dist/cdn/chunks/{CloudEditor-D87qsqbZ.js → CloudEditor-D-t7RyDh.js} +62 -60
  39. package/dist/cdn/chunks/CloudEditor-D-t7RyDh.js.map +1 -0
  40. package/dist/cdn/chunks/{CollaboratorBar-Br4RvNrA.js → CollaboratorBar-DcXYo47v.js} +3 -3
  41. package/dist/cdn/chunks/{CollaboratorBar-Br4RvNrA.js.map → CollaboratorBar-DcXYo47v.js.map} +1 -1
  42. package/dist/cdn/chunks/{ColorPicker-B-ymPPtU.js → ColorPicker-_1O7YU2z.js} +4 -4
  43. package/dist/cdn/chunks/{ColorPicker-B-ymPPtU.js.map → ColorPicker-_1O7YU2z.js.map} +1 -1
  44. package/dist/cdn/chunks/{CommentsSidebar-Tv_WTcJv.js → CommentsSidebar-BEgLBYX-.js} +5 -5
  45. package/dist/cdn/chunks/{CommentsSidebar-Tv_WTcJv.js.map → CommentsSidebar-BEgLBYX-.js.map} +1 -1
  46. package/dist/cdn/chunks/{CountdownBlock-cEcXSK91.js → CountdownBlock-CPnQA44g.js} +2 -2
  47. package/dist/cdn/chunks/{CountdownBlock-cEcXSK91.js.map → CountdownBlock-CPnQA44g.js.map} +1 -1
  48. package/dist/cdn/chunks/{CountdownToolbar-CLp3_ebk.js → CountdownToolbar-Cdo-30U4.js} +4 -4
  49. package/dist/cdn/chunks/{CountdownToolbar-CLp3_ebk.js.map → CountdownToolbar-Cdo-30U4.js.map} +1 -1
  50. package/dist/cdn/chunks/{DesignReferenceSidebar-YeqxSsxO.js → DesignReferenceSidebar-DPqBr-ut.js} +4 -4
  51. package/dist/cdn/chunks/{DesignReferenceSidebar-YeqxSsxO.js.map → DesignReferenceSidebar-DPqBr-ut.js.map} +1 -1
  52. package/dist/cdn/chunks/{IssuesPanel-BhsvC3XQ.js → IssuesPanel-DoQWb23r.js} +3 -3
  53. package/dist/cdn/chunks/{IssuesPanel-BhsvC3XQ.js.map → IssuesPanel-DoQWb23r.js.map} +1 -1
  54. package/dist/cdn/chunks/{MergeTagModeToggle-DrdxQA0K.js → MergeTagModeToggle-CWuVC3MU.js} +4 -4
  55. package/dist/cdn/chunks/{MergeTagModeToggle-DrdxQA0K.js.map → MergeTagModeToggle-CWuVC3MU.js.map} +1 -1
  56. package/dist/cdn/chunks/{NumberWithSuffix-BK_Xh4w4.js → NumberWithSuffix-DQ4sgvt5.js} +2 -2
  57. package/dist/cdn/chunks/{NumberWithSuffix-BK_Xh4w4.js.map → NumberWithSuffix-DQ4sgvt5.js.map} +1 -1
  58. package/dist/cdn/chunks/{ParagraphEditor-DKz4vTWB.js → ParagraphEditor-Uv5LPF3W.js} +9 -9
  59. package/dist/cdn/chunks/{ParagraphEditor-DKz4vTWB.js.map → ParagraphEditor-Uv5LPF3W.js.map} +1 -1
  60. package/dist/cdn/chunks/{RichTextEditorContent-CJ2WVicQ.js → RichTextEditorContent-Bt3s09qY.js} +5 -5
  61. package/dist/cdn/chunks/{RichTextEditorContent-CJ2WVicQ.js.map → RichTextEditorContent-Bt3s09qY.js.map} +1 -1
  62. package/dist/cdn/chunks/{SaveBlockDialog-DTemkKPX.js → SaveBlockDialog-BAew6EFd.js} +8 -8
  63. package/dist/cdn/chunks/{SaveBlockDialog-DTemkKPX.js.map → SaveBlockDialog-BAew6EFd.js.map} +1 -1
  64. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DbMaIbeH.js → SavedBlocksBrowserModal-Dn4IJDJW.js} +6 -6
  65. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DbMaIbeH.js.map → SavedBlocksBrowserModal-Dn4IJDJW.js.map} +1 -1
  66. package/dist/cdn/chunks/{SavedBlocksPanels-CUffuDAC.js → SavedBlocksPanels-B62U5DYW.js} +2 -2
  67. package/dist/cdn/chunks/{SavedBlocksPanels-CUffuDAC.js.map → SavedBlocksPanels-B62U5DYW.js.map} +1 -1
  68. package/dist/cdn/chunks/{SavedBlocksPickBar-D7SmNz2n.js → SavedBlocksPickBar-CyRKZg2T.js} +3 -3
  69. package/dist/cdn/chunks/{SavedBlocksPickBar-D7SmNz2n.js.map → SavedBlocksPickBar-CyRKZg2T.js.map} +1 -1
  70. package/dist/cdn/chunks/{SnapshotHistory-m5Z8bTej.js → SnapshotHistory-QQt0DKey.js} +4 -4
  71. package/dist/cdn/chunks/{SnapshotHistory-m5Z8bTej.js.map → SnapshotHistory-QQt0DKey.js.map} +1 -1
  72. package/dist/cdn/chunks/{TemplateScoringPanel-DgRU5fty.js → TemplateScoringPanel-BwyCMcit.js} +65 -65
  73. package/dist/cdn/chunks/{TemplateScoringPanel-DgRU5fty.js.map → TemplateScoringPanel-BwyCMcit.js.map} +1 -1
  74. package/dist/cdn/chunks/{TestEmailModal-Ce8-vzGh.js → TestEmailModal-B5UQkDJp.js} +89 -58
  75. package/dist/cdn/chunks/TestEmailModal-B5UQkDJp.js.map +1 -0
  76. package/dist/cdn/chunks/{TestEmailPanel-BlmIKKSL.js → TestEmailPanel-CvuBq4RA.js} +2 -2
  77. package/dist/cdn/chunks/{TestEmailPanel-BlmIKKSL.js.map → TestEmailPanel-CvuBq4RA.js.map} +1 -1
  78. package/dist/cdn/chunks/{TitleEditor-C6_bQxYR.js → TitleEditor-B9W954u9.js} +8 -8
  79. package/dist/cdn/chunks/{TitleEditor-C6_bQxYR.js.map → TitleEditor-B9W954u9.js.map} +1 -1
  80. package/dist/cdn/chunks/{TplModal-D6bFON2K.js → TplModal-B8UsvWc8.js} +4 -4
  81. package/dist/cdn/chunks/{TplModal-D6bFON2K.js.map → TplModal-B8UsvWc8.js.map} +1 -1
  82. package/dist/{ca-CO4nq6TX.js → cdn/chunks/ca-8Dvbwo50.js} +7 -0
  83. package/dist/cdn/chunks/{ca-CO4nq6TX.js.map → ca-8Dvbwo50.js.map} +1 -1
  84. package/dist/cdn/chunks/{cloud-CRlDc0Ev.js → cloud-DOaGUdR0.js} +2 -2
  85. package/dist/cdn/chunks/{cloud-CRlDc0Ev.js.map → cloud-DOaGUdR0.js.map} +1 -1
  86. package/dist/{de-CUeaFJph.js → cdn/chunks/de-CieSMCUp.js} +7 -0
  87. package/dist/cdn/chunks/{de-CUeaFJph.js.map → de-CieSMCUp.js.map} +1 -1
  88. package/dist/{en-zCYIPAL5.js → cdn/chunks/en-D0t_2Fq_.js} +7 -0
  89. package/dist/cdn/chunks/{en-zCYIPAL5.js.map → en-D0t_2Fq_.js.map} +1 -1
  90. package/dist/cdn/chunks/{es-BSiH7YkP.js → es-DwDoNuLM.js} +6 -1
  91. package/dist/cdn/chunks/{es-BSiH7YkP.js.map → es-DwDoNuLM.js.map} +1 -1
  92. package/dist/cdn/chunks/{extensions-CKMD_er_.js → extensions-5jgtarD-.js} +19 -19
  93. package/dist/cdn/chunks/{extensions-CKMD_er_.js.map → extensions-5jgtarD-.js.map} +1 -1
  94. package/dist/{fr-DTVJ3det.js → cdn/chunks/fr-CSEEzv1_.js} +7 -0
  95. package/dist/cdn/chunks/{fr-DTVJ3det.js.map → fr-CSEEzv1_.js.map} +1 -1
  96. package/dist/cdn/chunks/keys-BxPCfHBH.js +12 -0
  97. package/dist/cdn/chunks/keys-BxPCfHBH.js.map +1 -0
  98. package/dist/{nl-BqSquFS3.js → cdn/chunks/nl-xyk1T2mA.js} +7 -0
  99. package/dist/cdn/chunks/{nl-BqSquFS3.js.map → nl-xyk1T2mA.js.map} +1 -1
  100. package/dist/{pt-BR-CMljK37h.js → cdn/chunks/pt-BR-yr6uOJgn.js} +7 -0
  101. package/dist/cdn/chunks/{pt-BR-CMljK37h.js.map → pt-BR-yr6uOJgn.js.map} +1 -1
  102. package/dist/cdn/chunks/{src-B4UhYbI8.js → src-B8W42vT-.js} +152 -152
  103. package/dist/cdn/chunks/{src-B4UhYbI8.js.map → src-B8W42vT-.js.map} +1 -1
  104. package/dist/cdn/chunks/{src-B3HKHglu.js → src-C417zeUg.js} +20 -20
  105. package/dist/cdn/chunks/{src-B3HKHglu.js.map → src-C417zeUg.js.map} +1 -1
  106. package/dist/cdn/chunks/{src-D5mfLR4V.js → src-CZjSXPYq.js} +8 -3
  107. package/dist/cdn/chunks/src-CZjSXPYq.js.map +1 -0
  108. package/dist/cdn/chunks/{src-CumZZNXZ.js → src-Dpj0x27M.js} +2 -2
  109. package/dist/cdn/chunks/{src-CumZZNXZ.js.map → src-Dpj0x27M.js.map} +1 -1
  110. package/dist/cdn/chunks/{styles--m9OCb_Z.js → styles-DANwMzW2.js} +743 -724
  111. package/dist/cdn/chunks/styles-DANwMzW2.js.map +1 -0
  112. package/dist/cdn/chunks/{useCloudI18n-sx1pqEbY.js → useCloudI18n-CjVzv11v.js} +2 -2
  113. package/dist/cdn/chunks/{useCloudI18n-sx1pqEbY.js.map → useCloudI18n-CjVzv11v.js.map} +1 -1
  114. package/dist/cdn/chunks/{useEditorCore-ZqF7P99K.js → useEditorCore-DfW-thCr.js} +472 -401
  115. package/dist/cdn/chunks/useEditorCore-DfW-thCr.js.map +1 -0
  116. package/dist/cdn/chunks/{useI18n-vD57BfVR.js → useI18n-DniEFeIl.js} +2 -2
  117. package/dist/cdn/chunks/{useI18n-vD57BfVR.js.map → useI18n-DniEFeIl.js.map} +1 -1
  118. package/dist/cdn/chunks/{useMergeTag-HatzNGgc.js → useMergeTag-Bk9_f5cc.js} +6 -6
  119. package/dist/cdn/chunks/{useMergeTag-HatzNGgc.js.map → useMergeTag-Bk9_f5cc.js.map} +1 -1
  120. package/dist/cdn/chunks/{usePopoverPosition-BdQ3Sv4B.js → usePopoverPosition-C4xFJCJ2.js} +2 -2
  121. package/dist/cdn/chunks/{usePopoverPosition-BdQ3Sv4B.js.map → usePopoverPosition-C4xFJCJ2.js.map} +1 -1
  122. package/dist/cdn/editor.css +1 -1
  123. package/dist/cdn/editor.js +21 -19
  124. package/dist/cdn/editor.js.map +1 -1
  125. package/dist/{cloud-R8ci6yR1.js → cloud-BZn3jqoL.js} +1 -1
  126. package/dist/{cdn/chunks/de-CUeaFJph.js → de-CieSMCUp.js} +5 -2
  127. package/dist/{dist-Ba5Q-UX1.js → dist-CQ0fVBQ3.js} +7 -2
  128. package/dist/{cdn/chunks/en-zCYIPAL5.js → en-D0t_2Fq_.js} +5 -2
  129. package/dist/{es-BSiH7YkP.js → es-DwDoNuLM.js} +5 -0
  130. package/dist/{extensions-CGxj6-2o.js → extensions-BjvyU9Ea.js} +3 -3
  131. package/dist/{cdn/chunks/fr-DTVJ3det.js → fr-CSEEzv1_.js} +5 -2
  132. package/dist/index.d.ts +26 -0
  133. package/dist/keys-BFPiNAIn.js +10 -0
  134. package/dist/{cdn/chunks/nl-BqSquFS3.js → nl-xyk1T2mA.js} +5 -2
  135. package/dist/{cdn/chunks/pt-BR-CMljK37h.js → pt-BR-yr6uOJgn.js} +5 -2
  136. package/dist/style.css +1 -1
  137. package/dist/{styles-C9AMvkJk.js → styles-C9GM-bBC.js} +885 -866
  138. package/dist/templatical-editor.js +93 -91
  139. package/dist/{useCloudI18n-BC_QV2Z7.js → useCloudI18n-B2lItQ6O.js} +1 -1
  140. package/dist/{useEditorCore-Dojb-P2f.js → useEditorCore-Ck_hBiGA.js} +908 -837
  141. package/dist/{useI18n-DzOcl2wl.js → useI18n-C1KcdX_K.js} +1 -1
  142. package/dist/{useMergeTag-BFxXCv3p.js → useMergeTag-DHCwRMfH.js} +3 -3
  143. package/dist/{usePopoverPosition-Dtr1Mp1x.js → usePopoverPosition-ClnEh_Cp.js} +1 -1
  144. package/package.json +7 -7
  145. package/dist/cdn/chunks/BlockPreviewCanvas-C-ut8GkJ.js.map +0 -1
  146. package/dist/cdn/chunks/CloudEditor-D87qsqbZ.js.map +0 -1
  147. package/dist/cdn/chunks/TestEmailModal-Ce8-vzGh.js.map +0 -1
  148. package/dist/cdn/chunks/keys-CswSK7eb.js +0 -12
  149. package/dist/cdn/chunks/keys-CswSK7eb.js.map +0 -1
  150. package/dist/cdn/chunks/src-D5mfLR4V.js.map +0 -1
  151. package/dist/cdn/chunks/styles--m9OCb_Z.js.map +0 -1
  152. package/dist/cdn/chunks/useEditorCore-ZqF7P99K.js.map +0 -1
  153. package/dist/keys-uWpGv4Pq.js +0 -10
@@ -1,43 +1,43 @@
1
1
  import { A as e, Dt as t, Et as n, H as r, I as i, K as a, N as o, O as s, Ot as c, R as l, W as u, Y as d, _ as f, c as p, d as m, g as h, h as g, j as _, k as v, l as y, m as b, nt as x, q as S, r as C, s as w, u as T, w as E, x as D, y as O, z as k } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
2
  import { a as A, c as j, o as M, s as N, t as P } from "./runtime-dom.esm-bundler-CBbDt7sw.js";
3
3
  import { t as F } from "./upload-hE8ItfyG.js";
4
- import { A as I, E as L, M as R, N as z, T as B, a as ee, c as te, f as ne, k as re, l as ie, s as ae } from "./dist-Ba5Q-UX1.js";
5
- import { B as V, F as oe, G as se, I as ce, L as le, N as ue, U as de, V as fe, _ as pe, a as me, b as he, c as ge, f as _e, g as ve, h as ye, i as be, k as xe, l as Se, m as Ce, n as we, o as Te, p as Ee, q as De, r as Oe, s as ke, u as Ae, v as je, w as Me, y as Ne, z as Pe } from "./useEditorCore-Dojb-P2f.js";
6
- import { c as Fe, m as Ie } from "./dist-DT1XnEnj.js";
7
- import { a as Le, n as Re } from "./usePopoverPosition-Dtr1Mp1x.js";
8
- import { B as ze, D as Be, F as Ve, H as He, L as Ue, N as We, O as Ge, R as Ke, V as qe, _ as Je, a as Ye, d as Xe, f as Ze, h as Qe, j as $e, k as et, l as tt, m as nt, n as rt, o as it, p as at, s as ot, w as st, z as ct } from "./keys-uWpGv4Pq.js";
9
- import { t as H } from "./useI18n-DzOcl2wl.js";
10
- import { t as U } from "./createLucideIcon-AEltGIse.js";
11
- import { n as lt, t as ut } from "./scan-line-CRoEOUiK.js";
12
- import { t as dt } from "./chevron-down-CZ0m6G3s.js";
13
- import { t as ft } from "./circle-alert-DkEXnGPV.js";
14
- import { i as pt, n as mt, r as ht, t as gt } from "./blockTypeIcons-C6PnLMp7.js";
15
- import { n as _t, t as vt } from "./refresh-cw-fBPgB97G.js";
16
- import { t as yt } from "./image-up-8ktdYdaZ.js";
17
- import { t as bt } from "./info-CvrCgTLH.js";
18
- import { t as xt } from "./list-checks-yzGT93ZL.js";
19
- import { t as St } from "./loader-circle-B6euendB.js";
20
- import { i as Ct, r as wt } from "./MergeTagModeToggle-CiFiSV0C.js";
21
- import { t as Tt } from "./sparkles-8UeMmZb8.js";
22
- import { n as Et, r as Dt, t as Ot } from "./text-align-start-Dn8uIheW.js";
23
- import { t as kt } from "./trash-2-DDyvqj0E.js";
24
- import { t as At } from "./x-C4lETLDx.js";
25
- import { t as jt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
26
- import { t as Mt } from "./useCloudI18n-BC_QV2Z7.js";
27
- import { t as Nt } from "./useMergeTag-BFxXCv3p.js";
28
- import { t as Pt } from "./useAliveFlag-AfoTE_AY.js";
29
- import { n as Ft, t as It } from "./emailFrameWidth-BmFCN2dp.js";
30
- import { t as Lt } from "./readableTextColor-f8Kykfnh.js";
31
- import { _ as Rt, f as W, g as zt, h as G, i as Bt, l as Vt, m as K, n as Ht, p as q, t as J, u as Ut } from "./ColorPicker--_2PbzFk.js";
32
- import { n as Wt, r as Gt } from "./MergeTagSuggestion-D0OHRv7L.js";
33
- import { i as Y, n as X, r as Z, t as Kt } from "./NumberWithSuffix-CXFbUqsx.js";
34
- import { t as qt } from "./TplModal-BIiS24Of.js";
35
- var Jt = U("circle", [["circle", {
4
+ import { A as ee, E as I, M as L, N as R, T as z, a as B, c as V, f as te, k as ne, l as re, s as ie } from "./dist-CQ0fVBQ3.js";
5
+ import { B as ae, F as oe, I as H, J as se, K as ce, L as le, N as ue, U as de, V as fe, _ as pe, a as me, b as he, c as ge, f as _e, g as ve, h as ye, i as be, k as xe, l as Se, m as Ce, n as we, o as Te, p as Ee, r as De, s as Oe, u as ke, v as Ae, w as je, y as Me, z as Ne } from "./useEditorCore-Ck_hBiGA.js";
6
+ import { c as Pe, m as Fe } from "./dist-DT1XnEnj.js";
7
+ import { a as Ie, n as Le } from "./usePopoverPosition-ClnEh_Cp.js";
8
+ import { A as Re, B as ze, G as Be, H as Ve, I as He, M as Ue, O as We, P as Ge, R as Ke, T as qe, U as Je, V as Ye, W as Xe, c as Ze, f as Qe, g as $e, h as et, k as tt, m as nt, n as rt, o as it, p as at, r as ot, s as st, u as ct, v as lt } from "./keys-BFPiNAIn.js";
9
+ import { t as U } from "./useI18n-C1KcdX_K.js";
10
+ import { t as W } from "./createLucideIcon-AEltGIse.js";
11
+ import { n as ut, t as dt } from "./scan-line-CRoEOUiK.js";
12
+ import { t as ft } from "./chevron-down-CZ0m6G3s.js";
13
+ import { t as pt } from "./circle-alert-DkEXnGPV.js";
14
+ import { i as mt, n as ht, r as gt, t as _t } from "./blockTypeIcons-C6b9rg88.js";
15
+ import { n as vt, t as yt } from "./refresh-cw-fBPgB97G.js";
16
+ import { t as bt } from "./image-up-8ktdYdaZ.js";
17
+ import { t as xt } from "./info-CvrCgTLH.js";
18
+ import { t as St } from "./list-checks-yzGT93ZL.js";
19
+ import { t as Ct } from "./loader-circle-B6euendB.js";
20
+ import { i as wt, r as Tt } from "./MergeTagModeToggle-BK0fI3P2.js";
21
+ import { t as Et } from "./sparkles-8UeMmZb8.js";
22
+ import { n as Dt, r as Ot, t as kt } from "./text-align-start-Dn8uIheW.js";
23
+ import { t as At } from "./trash-2-DDyvqj0E.js";
24
+ import { t as jt } from "./x-C4lETLDx.js";
25
+ import { t as Mt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
26
+ import { t as Nt } from "./useCloudI18n-B2lItQ6O.js";
27
+ import { t as Pt } from "./useMergeTag-DHCwRMfH.js";
28
+ import { t as Ft } from "./useAliveFlag-AfoTE_AY.js";
29
+ import { n as It, t as Lt } from "./emailFrameWidth-BmFCN2dp.js";
30
+ import { t as Rt } from "./readableTextColor-f8Kykfnh.js";
31
+ import { _ as zt, f as G, g as Bt, h as K, i as Vt, l as Ht, m as q, n as Ut, p as J, t as Y, u as Wt } from "./ColorPicker-B4ArSUhy.js";
32
+ import { n as Gt, r as Kt } from "./MergeTagSuggestion-D0OHRv7L.js";
33
+ import { i as X, n as Z, r as qt, t as Jt } from "./NumberWithSuffix-Cjj9UNIp.js";
34
+ import { t as Yt } from "./TplModal-fmYNYdyp.js";
35
+ var Xt = W("circle", [["circle", {
36
36
  cx: "12",
37
37
  cy: "12",
38
38
  r: "10",
39
39
  key: "1mglay"
40
- }]]), Yt = U("globe", [
40
+ }]]), Zt = W("globe", [
41
41
  ["circle", {
42
42
  cx: "12",
43
43
  cy: "12",
@@ -52,7 +52,7 @@ var Jt = U("circle", [["circle", {
52
52
  d: "M2 12h20",
53
53
  key: "9i4pu4"
54
54
  }]
55
- ]), Xt = U("layout-template", [
55
+ ]), Qt = W("layout-template", [
56
56
  ["rect", {
57
57
  width: "18",
58
58
  height: "7",
@@ -77,7 +77,7 @@ var Jt = U("circle", [["circle", {
77
77
  rx: "1",
78
78
  key: "q5h2i8"
79
79
  }]
80
- ]), Zt = U("lock-open", [["rect", {
80
+ ]), $t = W("lock-open", [["rect", {
81
81
  width: "18",
82
82
  height: "11",
83
83
  x: "3",
@@ -88,7 +88,7 @@ var Jt = U("circle", [["circle", {
88
88
  }], ["path", {
89
89
  d: "M7 11V7a5 5 0 0 1 9.9-1",
90
90
  key: "1mm8w8"
91
- }]]), Qt = U("lock", [["rect", {
91
+ }]]), en = W("lock", [["rect", {
92
92
  width: "18",
93
93
  height: "11",
94
94
  x: "3",
@@ -99,10 +99,10 @@ var Jt = U("circle", [["circle", {
99
99
  }], ["path", {
100
100
  d: "M7 11V7a5 5 0 0 1 10 0v4",
101
101
  key: "fwvmzm"
102
- }]]), $t = U("moon", [["path", {
102
+ }]]), tn = W("moon", [["path", {
103
103
  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",
104
104
  key: "kfwtm"
105
- }]]), en = U("panel-top", [["rect", {
105
+ }]]), nn = W("panel-top", [["rect", {
106
106
  width: "18",
107
107
  height: "18",
108
108
  x: "3",
@@ -112,19 +112,19 @@ var Jt = U("circle", [["circle", {
112
112
  }], ["path", {
113
113
  d: "M3 9h18",
114
114
  key: "1pudct"
115
- }]]), Q = U("plus", [["path", {
115
+ }]]), Q = W("plus", [["path", {
116
116
  d: "M5 12h14",
117
117
  key: "1ays0h"
118
118
  }], ["path", {
119
119
  d: "M12 5v14",
120
120
  key: "s699le"
121
- }]]), tn = U("rotate-ccw", [["path", {
121
+ }]]), rn = W("rotate-ccw", [["path", {
122
122
  d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
123
123
  key: "1357e3"
124
124
  }], ["path", {
125
125
  d: "M3 3v5h5",
126
126
  key: "1xhq8a"
127
- }]]), nn = U("settings", [["path", {
127
+ }]]), an = W("settings", [["path", {
128
128
  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",
129
129
  key: "1i5ecw"
130
130
  }], ["circle", {
@@ -132,7 +132,7 @@ var Jt = U("circle", [["circle", {
132
132
  cy: "12",
133
133
  r: "3",
134
134
  key: "1v7zrd"
135
- }]]), rn = U("square-plus", [
135
+ }]]), on = W("square-plus", [
136
136
  ["rect", {
137
137
  width: "18",
138
138
  height: "18",
@@ -149,14 +149,14 @@ var Jt = U("circle", [["circle", {
149
149
  d: "M12 8v8",
150
150
  key: "napkw2"
151
151
  }]
152
- ]), an = U("square", [["rect", {
152
+ ]), sn = W("square", [["rect", {
153
153
  width: "18",
154
154
  height: "18",
155
155
  x: "3",
156
156
  y: "3",
157
157
  rx: "2",
158
158
  key: "afitv7"
159
- }]]), on = U("sun", [
159
+ }]]), cn = W("sun", [
160
160
  ["circle", {
161
161
  cx: "12",
162
162
  cy: "12",
@@ -198,8 +198,8 @@ var Jt = U("circle", [["circle", {
198
198
  ]);
199
199
  //#endregion
200
200
  //#region src/composables/useSavedBlocksFeature.ts
201
- function sn(e) {
202
- let { provider: t, editor: n } = e, r = De({
201
+ function ln(e) {
202
+ let { provider: t, editor: n } = e, r = se({
203
203
  provider: t,
204
204
  onError: e.onError
205
205
  }), a = d(!1), o = d(!1), s = d(!1), c = d(/* @__PURE__ */ new Set()), l = w(() => s.value), u = w(() => c.value.size);
@@ -234,7 +234,7 @@ function sn(e) {
234
234
  }
235
235
  function x(e, t) {
236
236
  for (let r = 0; r < e.content.length; r++) {
237
- let i = ae(e.content[r]), a = t === void 0 ? void 0 : t + r;
237
+ let i = ie(e.content[r]), a = t === void 0 ? void 0 : t + r;
238
238
  n.addBlock(i, void 0, void 0, a);
239
239
  }
240
240
  o.value = !1;
@@ -243,7 +243,7 @@ function sn(e) {
243
243
  r.load().catch(() => {});
244
244
  }
245
245
  let C = w(() => r.savedBlocks.value.length), T = w(() => e.isAvailable?.() ?? !0);
246
- return v(Ve, r), {
246
+ return v(Ke, r), {
247
247
  headless: r,
248
248
  isPicking: l,
249
249
  pickedIds: c,
@@ -280,15 +280,15 @@ function sn(e) {
280
280
  }
281
281
  //#endregion
282
282
  //#region src/utils/toMjml.ts
283
- async function cn() {
283
+ async function un() {
284
284
  try {
285
285
  return await import("@templatical/renderer");
286
286
  } catch {
287
287
  return null;
288
288
  }
289
289
  }
290
- async function ln(e) {
291
- let t = await cn();
290
+ async function dn(e) {
291
+ let t = await un();
292
292
  if (!t) throw Error("[Templatical] toMjml() requires the @templatical/renderer package. Please install it.");
293
293
  let n = e.getCustomBlockStylesheet;
294
294
  return t.renderToMjml(e.getContent(), {
@@ -298,8 +298,8 @@ async function ln(e) {
298
298
  }
299
299
  //#endregion
300
300
  //#region src/composables/useTestEmailFeature.ts
301
- var un = 1200;
302
- function dn(e) {
301
+ var fn = 1200;
302
+ function pn(e) {
303
303
  let { provider: t } = e, n = d(!1), r = d(!1), i = d(!1), o = d(null), s = null, c = !1;
304
304
  function l() {
305
305
  s !== null && (clearTimeout(s), s = null);
@@ -321,7 +321,7 @@ function dn(e) {
321
321
  if (!(!t.includeMjml || !e.renderMjml)) try {
322
322
  return await e.renderMjml();
323
323
  } catch (e) {
324
- if (await cn() === null) {
324
+ if (await un() === null) {
325
325
  c || (c = !0, fe.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
326
326
  return;
327
327
  }
@@ -343,7 +343,7 @@ function dn(e) {
343
343
  content: e.getContent(),
344
344
  ...r === void 0 ? {} : { mjml: r },
345
345
  ...a === void 0 ? {} : { allowedRecipients: a }
346
- }), i.value = !0, s = setTimeout(h, un);
346
+ }), i.value = !0, s = setTimeout(h, fn);
347
347
  } catch (t) {
348
348
  let n = t instanceof Error ? t : Error(String(t));
349
349
  o.value = {
@@ -373,7 +373,7 @@ function dn(e) {
373
373
  }
374
374
  //#endregion
375
375
  //#region src/utils/resolveLintOptions.ts
376
- function fn(e) {
376
+ function mn(e) {
377
377
  return {
378
378
  ...e.lint,
379
379
  locale: e.locale
@@ -381,19 +381,30 @@ function fn(e) {
381
381
  }
382
382
  //#endregion
383
383
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
384
- var pn = ["aria-label"], mn = {
384
+ var hn = ["aria-label"], gn = {
385
+ key: 0,
386
+ role: "status",
387
+ "aria-busy": "true",
388
+ "data-testid": "preview-resolution-loading",
389
+ class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-6"
390
+ }, _n = { class: "tpl:sr-only" }, vn = {
391
+ key: 1,
392
+ role: "status",
393
+ "data-testid": "preview-resolution-failed",
394
+ class: "tpl:mx-6 tpl:mt-4 tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg-hover)]"
395
+ }, yn = {
385
396
  key: 0,
386
397
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
387
- }, hn = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, gn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, _n = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, vn = {
398
+ }, bn = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, xn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Sn = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Cn = {
388
399
  key: 0,
389
400
  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)]"
390
- }, yn = {
401
+ }, wn = {
391
402
  key: 1,
392
403
  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)]"
393
- }, bn = { class: "tpl:relative" }, xn = {
404
+ }, Tn = { class: "tpl:relative" }, En = {
394
405
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
395
406
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
396
- }, Sn = /*#__PURE__*/ jt(/* @__PURE__ */ f({
407
+ }, Dn = /*#__PURE__*/ Mt(/* @__PURE__ */ f({
397
408
  __name: "Canvas",
398
409
  props: {
399
410
  viewport: {},
@@ -410,22 +421,22 @@ var pn = ["aria-label"], mn = {
410
421
  ],
411
422
  setup(r, { emit: i }) {
412
423
  let a = {
413
- section: ke,
424
+ section: Oe,
414
425
  title: Se,
415
426
  paragraph: Ce,
416
427
  image: ve,
417
- button: Pe,
418
- divider: Ne,
428
+ button: Ne,
429
+ divider: Me,
419
430
  spacer: be,
420
- html: je,
431
+ html: Ae,
421
432
  social: me,
422
433
  menu: ye,
423
- table: Oe,
434
+ table: De,
424
435
  video: we,
425
436
  custom: he
426
- }, u = r, f = i, { t: h } = H(), { t: _ } = Mt(), S = He(Qe, "Canvas"), E = D(Xe, null), O = D(it, null), A = D(ot, {}), j = D(Ge, null);
427
- v(qe, w(() => u.previewMode && (j?.value ?? !1)));
428
- let N = w(() => (A.plan?.hasFeature("ai_generation") ?? !1) && (A.ai?.isFeatureEnabled("chat") ?? !1)), P = w(() => (A.plan?.hasFeature("ai_generation") ?? !1) && (A.ai?.isFeatureEnabled("designToTemplate") ?? !1)), F = w({
437
+ }, u = r, f = i, { t: h } = U(), { t: _ } = Nt(), S = Be($e, "Canvas"), E = D(Qe, null), O = D(st, null), A = D(Ze, {}), j = D(tt, null), N = D(He, null);
438
+ v(Xe, w(() => u.previewMode && (j?.value ?? !1) && !N?.isConfigured));
439
+ let P = w(() => (A.plan?.hasFeature("ai_generation") ?? !1) && (A.ai?.isFeatureEnabled("chat") ?? !1)), F = w(() => (A.plan?.hasFeature("ai_generation") ?? !1) && (A.ai?.isFeatureEnabled("designToTemplate") ?? !1)), ee = D(ot, null), I = w({
429
440
  get: () => u.content.blocks,
430
441
  set: (e) => {
431
442
  S.setContent({
@@ -433,27 +444,27 @@ var pn = ["aria-label"], mn = {
433
444
  blocks: e
434
445
  });
435
446
  }
436
- }), I = w(() => Ft(u.content.settings, u.viewport)), L = w(() => I.value + 192), R = w(() => _e(u.content.settings)), z = w(() => F.value.length === 0 && !u.previewMode), B = d(0), ee = w(() => z.value && B.value > 0);
437
- function te() {
438
- z.value && (B.value += 1);
439
- }
447
+ }), L = w(() => It(u.content.settings, u.viewport)), R = w(() => L.value + 192), z = w(() => _e(u.content.settings)), B = w(() => I.value.length === 0 && !u.previewMode), V = d(0), te = w(() => B.value && V.value > 0);
440
448
  function ne() {
441
- z.value && (B.value = Math.max(0, B.value - 1));
449
+ B.value && (V.value += 1);
442
450
  }
443
451
  function re() {
444
- B.value = 0;
452
+ B.value && (V.value = Math.max(0, V.value - 1));
445
453
  }
446
- function ie(e) {
447
- u.previewMode || A.savedBlocks?.isPicking.value || e.target === e.currentTarget && f("select-block", null);
454
+ function ie() {
455
+ V.value = 0;
448
456
  }
449
457
  function ae(e) {
458
+ u.previewMode || A.savedBlocks?.isPicking.value || e.target === e.currentTarget && f("select-block", null);
459
+ }
460
+ function oe(e) {
450
461
  return Ee(e, O, a);
451
462
  }
452
- function V(e) {
463
+ function H(e) {
453
464
  return u.lockedBlocks?.get(e) ?? null;
454
465
  }
455
- function oe(e) {
456
- if (u.previewMode || V(e)) return;
466
+ function se(e) {
467
+ if (u.previewMode || H(e)) return;
457
468
  let t = A.savedBlocks;
458
469
  if (t?.isPicking.value) {
459
470
  t.togglePick(e);
@@ -461,11 +472,11 @@ var pn = ["aria-label"], mn = {
461
472
  }
462
473
  f("select-block", e);
463
474
  }
464
- function se(e) {
475
+ function ce(e) {
465
476
  return A.savedBlocks?.isPicked(e) ?? !1;
466
477
  }
467
- let ce = w(() => A.savedBlocks?.isPicking.value === !0);
468
- function le(e, t) {
478
+ let le = w(() => A.savedBlocks?.isPicking.value === !0);
479
+ function ue(e, t) {
469
480
  e.type === "custom" && S.updateBlock(e.id, {
470
481
  fieldValues: t.fieldValues,
471
482
  dataSourceFetched: t.dataSourceFetched
@@ -474,9 +485,9 @@ var pn = ["aria-label"], mn = {
474
485
  return (i, a) => (s(), m("div", {
475
486
  class: "tpl-canvas-stage tpl:relative tpl:flex tpl:justify-center tpl:rounded-lg",
476
487
  style: t({
477
- width: `${L.value}px`,
488
+ width: `${R.value}px`,
478
489
  boxShadow: r.darkMode ? "none" : "var(--tpl-shadow-xl)",
479
- transition: x(It)
490
+ transition: x(Lt)
480
491
  })
481
492
  }, [p("div", {
482
493
  class: "tpl-canvas-bg tpl:absolute tpl:inset-0 tpl:rounded-lg tpl:pointer-events-none",
@@ -491,19 +502,23 @@ var pn = ["aria-label"], mn = {
491
502
  "aria-label": x(h).landmarks.canvas,
492
503
  class: "tpl-canvas-wrapper tpl:relative",
493
504
  style: t({
494
- width: `${I.value}px`,
495
- transition: x(It)
505
+ width: `${L.value}px`,
506
+ transition: x(Lt)
496
507
  })
497
508
  }, [p("div", {
498
509
  class: n(["tpl-canvas tpl:relative tpl:rounded-lg", {
499
510
  "tpl-canvas--dark-mode": r.darkMode,
500
511
  "tpl-preview-mode": r.previewMode
501
512
  }]),
502
- style: t(R.value),
503
- onClick: ie
504
- }, [g(x(ge), {
505
- modelValue: F.value,
506
- "onUpdate:modelValue": a[2] ||= (e) => F.value = e,
513
+ style: t(z.value),
514
+ onClick: ae
515
+ }, [x(N)?.isInitialResolve.value ? (s(), m("div", gn, [p("span", _n, c(x(h).previewResolution.resolving), 1), (s(), m(C, null, e(3, (e) => p("div", {
516
+ key: e,
517
+ "aria-hidden": "true",
518
+ class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
519
+ })), 64))])) : x(N)?.hasFailed.value ? (s(), m("p", vn, c(x(h).previewResolution.failed), 1)) : T("", !0), k(g(x(ge), {
520
+ modelValue: I.value,
521
+ "onUpdate:modelValue": a[2] ||= (e) => I.value = e,
507
522
  group: "blocks",
508
523
  animation: 150,
509
524
  "ghost-class": "tpl-ghost",
@@ -516,71 +531,71 @@ var pn = ["aria-label"], mn = {
516
531
  "force-fallback": !0,
517
532
  class: n([
518
533
  "tpl-canvas-blocks",
519
- z.value ? "tpl-canvas-empty tpl:m-6 tpl:flex tpl:min-h-[400px] tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-xl tpl:border-2 tpl:border-dashed tpl:px-10 tpl:py-12 tpl:text-center tpl:bg-[var(--tpl-bg-elevated)] tpl:font-[var(--tpl-font-family)] tpl:transition-colors tpl:duration-150" : "",
520
- z.value && ee.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
521
- z.value && !ee.value ? "tpl:border-[var(--tpl-primary)]" : ""
534
+ B.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" : "",
535
+ B.value && te.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
536
+ B.value && !te.value ? "tpl:border-[var(--tpl-primary)]" : ""
522
537
  ]),
523
- onDragenter: te,
524
- onDragleave: ne,
525
- onDrop: re
538
+ onDragenter: ne,
539
+ onDragleave: re,
540
+ onDrop: ie
526
541
  }, {
527
- default: l(() => [z.value ? (s(), m("div", mn, [
528
- p("div", hn, [g(x(rn), {
542
+ default: l(() => [B.value ? (s(), m("div", yn, [
543
+ p("div", bn, [g(x(on), {
529
544
  size: 48,
530
545
  "stroke-width": 1
531
546
  })]),
532
- p("p", gn, c(x(h).canvas.noBlocks), 1),
533
- p("p", _n, c(x(h).canvas.dragHint), 1),
534
- N.value && x(_) ? (s(), m("p", vn, [
547
+ p("p", xn, c(x(h).canvas.noBlocks), 1),
548
+ p("p", Sn, c(x(h).canvas.dragHint), 1),
549
+ P.value && x(_) ? (s(), m("p", Cn, [
535
550
  b(c(x(h).canvas.aiHintChat) + " ", 1),
536
551
  p("button", {
537
552
  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)]",
538
553
  onClick: a[0] ||= (e) => f("open-ai-chat")
539
- }, [g(x(Tt), {
554
+ }, [g(x(Et), {
540
555
  size: 14,
541
556
  "stroke-width": 2
542
557
  }), b(" " + c(x(_).aiMenu.aiAssistant), 1)]),
543
558
  b(" " + c(x(h).canvas.aiHintChatSuffix), 1)
544
559
  ])) : T("", !0),
545
- P.value && x(_) ? (s(), m("p", yn, [
560
+ F.value && x(_) ? (s(), m("p", wn, [
546
561
  b(c(x(h).canvas.aiHintDesign) + " ", 1),
547
562
  p("button", {
548
563
  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)]",
549
564
  onClick: a[1] ||= (e) => f("open-design-reference")
550
- }, [g(x(yt), {
565
+ }, [g(x(bt), {
551
566
  size: 14,
552
567
  "stroke-width": 2
553
568
  }), b(" " + c(x(_).aiMenu.designToTemplate), 1)]),
554
569
  b(" " + c(x(h).canvas.aiHintDesignSuffix), 1)
555
570
  ])) : T("", !0)
556
- ])) : T("", !0), (s(!0), m(C, null, e(F.value, (e) => k((s(), m("div", {
571
+ ])) : T("", !0), (s(!0), m(C, null, e(I.value, (e) => k((s(), m("div", {
557
572
  key: e.id,
558
573
  class: "tpl-block-item"
559
- }, [p("div", bn, [V(e.id) ? (s(), m("div", {
574
+ }, [p("div", Tn, [H(e.id) ? (s(), m("div", {
560
575
  key: 0,
561
576
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
562
577
  style: t({
563
- outline: `2px solid ${V(e.id).color}`,
578
+ outline: `2px solid ${H(e.id).color}`,
564
579
  outlineOffset: "-1px"
565
580
  })
566
581
  }, [p("span", {
567
582
  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",
568
583
  style: t({
569
- backgroundColor: V(e.id).color,
570
- color: x(Lt)(V(e.id).color)
584
+ backgroundColor: H(e.id).color,
585
+ color: x(Rt)(H(e.id).color)
571
586
  })
572
- }, [p("span", xn, c(V(e.id).name.charAt(0)), 1), b(" " + c(V(e.id).name), 1)], 4)], 4)) : T("", !0), g(Ae, {
587
+ }, [p("span", En, c(H(e.id).name.charAt(0)), 1), b(" " + c(H(e.id).name), 1)], 4)], 4)) : T("", !0), g(ke, {
573
588
  block: e,
574
- "is-selected": !r.previewMode && !ce.value && r.selectedBlockId === e.id && !V(e.id),
575
- picked: se(e.id),
589
+ "is-selected": !r.previewMode && !le.value && r.selectedBlockId === e.id && !H(e.id),
590
+ picked: ce(e.id),
576
591
  viewport: r.viewport,
577
592
  "preview-mode": r.previewMode,
578
- onSelect: (t) => oe(e.id)
593
+ onSelect: (t) => se(e.id)
579
594
  }, {
580
- default: l(() => [(s(), y(o(ae(e)), {
595
+ default: l(() => [(s(), y(o(oe(e)), {
581
596
  block: e,
582
597
  viewport: r.viewport,
583
- onFetchData: (t) => le(e, t),
598
+ onFetchData: (t) => ue(e, t),
584
599
  onUpdate: (t) => x(S).updateBlock(e.id, t)
585
600
  }, null, 40, [
586
601
  "block",
@@ -596,18 +611,18 @@ var pn = ["aria-label"], mn = {
596
611
  "viewport",
597
612
  "preview-mode",
598
613
  "onSelect"
599
- ])])])), [[M, !x(E)?.isHidden(e.id)]])), 128))]),
614
+ ])])])), [[M, x(ee) === !1 || !x(E)?.isHidden(e.id)]])), 128))]),
600
615
  _: 1
601
616
  }, 8, [
602
617
  "modelValue",
603
618
  "disabled",
604
619
  "class"
605
- ])], 6)], 12, pn)], 4));
620
+ ]), [[M, !x(N)?.isInitialResolve.value]])], 6)], 12, hn)], 4));
606
621
  }
607
- }), [["__scopeId", "data-v-236bcafd"]]), Cn = f({
622
+ }), [["__scopeId", "data-v-0af1c100"]]), On = f({
608
623
  name: "CustomBlockStylesheets",
609
624
  setup() {
610
- let e = D(at, null);
625
+ let e = D(nt, null);
611
626
  return () => e ? e.value.map((e, t) => O("style", {
612
627
  key: t,
613
628
  "data-tpl-custom-block-stylesheet": "",
@@ -617,7 +632,7 @@ var pn = ["aria-label"], mn = {
617
632
  });
618
633
  //#endregion
619
634
  //#region src/utils/resolvePaletteBlocks.ts
620
- function wn(e, t) {
635
+ function kn(e, t) {
621
636
  if (!t || t.length === 0) return {
622
637
  items: e,
623
638
  unknown: []
@@ -636,24 +651,24 @@ function wn(e, t) {
636
651
  }
637
652
  //#endregion
638
653
  //#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
639
- var Tn = ["aria-label"], En = {
654
+ var An = ["aria-label"], jn = {
640
655
  key: 0,
641
656
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
642
- }, Dn = ["aria-label"], On = {
657
+ }, Mn = ["aria-label"], Nn = {
643
658
  key: 0,
644
659
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
645
- }, kn = [
660
+ }, Pn = [
646
661
  "data-palette-type",
647
662
  "aria-label",
648
663
  "onClick",
649
664
  "onKeydown"
650
- ], An = { 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" }, jn = {
665
+ ], Fn = { 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" }, In = {
651
666
  key: 0,
652
667
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
653
- }, Mn = /* @__PURE__ */ f({
668
+ }, Ln = /* @__PURE__ */ f({
654
669
  __name: "Sidebar",
655
670
  setup(n) {
656
- let { t: r, format: a } = H(), u = D(Ze, []), f = D(We, void 0), h = D(Ye, void 0), _ = D(Qe, null), v = D(ot, {}), b = w(() => v.savedBlocks?.isAvailable.value === !0), S = d(!1), E = d(!1);
671
+ let { t: r, format: a } = U(), u = D(at, []), f = D(Ge, void 0), h = D(it, void 0), _ = D($e, null), v = D(Ze, {}), b = w(() => v.savedBlocks?.isAvailable.value === !0), S = d(!1), E = d(!1);
657
672
  function O() {
658
673
  E.value || (S.value = !1);
659
674
  }
@@ -690,24 +705,24 @@ var Tn = ["aria-label"], En = {
690
705
  label: e.name,
691
706
  isCustom: !0,
692
707
  icon: e.icon
693
- }))), P = w(() => [...M.value, ...N.value]), F = w(() => wn(P.value, f)), I = w(() => F.value.items), L = /* @__PURE__ */ new Set();
708
+ }))), P = w(() => [...M.value, ...N.value]), F = w(() => kn(P.value, f)), ee = w(() => F.value.items), I = /* @__PURE__ */ new Set();
694
709
  i(() => F.value.unknown, (e) => {
695
- for (let t of e) L.has(t) || (L.add(t), fe.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.`));
710
+ for (let t of e) I.has(t) || (I.add(t), fe.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.`));
696
711
  }, { immediate: !0 });
697
- function R(e) {
712
+ function L(e) {
698
713
  if (e.isCustom) {
699
714
  let t = e.type.replace("custom:", ""), n = u.find((e) => e.type === t);
700
- if (n) return ne(n);
715
+ if (n) return te(n);
701
716
  }
702
- return ie(e.type, h);
717
+ return re(e.type, h);
703
718
  }
704
- function z(e) {
719
+ function R(e) {
705
720
  if (!_) return;
706
- let t = R(e);
721
+ let t = L(e);
707
722
  _.addBlock(t), _.selectBlock(t.id);
708
723
  }
709
- function B(e, t) {
710
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), z(t));
724
+ function z(e, t) {
725
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), R(t));
711
726
  }
712
727
  return (n, i) => (s(), m("aside", {
713
728
  "aria-label": x(r).sidebarNav.palette,
@@ -723,24 +738,24 @@ var Tn = ["aria-label"], En = {
723
738
  onMouseleave: O,
724
739
  onFocusin: i[2] ||= (e) => S.value = !0,
725
740
  onFocusout: i[3] ||= (e) => S.value = !1
726
- }, [b.value ? (s(), m("div", En, [p("button", {
741
+ }, [b.value ? (s(), m("div", jn, [p("button", {
727
742
  type: "button",
728
743
  "aria-label": x(r).sidebarNav.browseSavedBlocks,
729
744
  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)]",
730
745
  style: t({ justifyContent: S.value ? "flex-start" : "center" }),
731
746
  onClick: i[0] ||= (e) => x(v).savedBlocks?.openBrowser()
732
- }, [g(x(ht), {
747
+ }, [g(x(gt), {
733
748
  size: 20,
734
749
  "stroke-width": 1.5,
735
750
  class: "tpl:shrink-0"
736
- }), S.value ? (s(), m("span", On, c(x(r).savedBlocks.title), 1)) : T("", !0)], 12, Dn)])) : T("", !0), g(x(ge), {
737
- "model-value": I.value,
751
+ }), S.value ? (s(), m("span", Nn, c(x(r).savedBlocks.title), 1)) : T("", !0)], 12, Mn)])) : T("", !0), g(x(ge), {
752
+ "model-value": ee.value,
738
753
  group: {
739
754
  name: "blocks",
740
755
  pull: "clone",
741
756
  put: !1
742
757
  },
743
- clone: R,
758
+ clone: L,
744
759
  sort: !1,
745
760
  animation: 150,
746
761
  "force-fallback": !0,
@@ -748,16 +763,16 @@ var Tn = ["aria-label"], En = {
748
763
  onChoose: k,
749
764
  onEnd: A
750
765
  }, {
751
- default: l(() => [(s(!0), m(C, null, e(I.value, (e) => (s(), m("button", {
766
+ default: l(() => [(s(!0), m(C, null, e(ee.value, (e) => (s(), m("button", {
752
767
  key: e.type,
753
768
  type: "button",
754
769
  "data-palette-type": e.type,
755
770
  "aria-label": x(a)(x(r).sidebarNav.insertBlock, { block: e.label }),
756
771
  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",
757
772
  style: t({ justifyContent: S.value ? "flex-start" : "center" }),
758
- onClick: (t) => z(e),
759
- onKeydown: (t) => B(t, e)
760
- }, [p("div", An, [x(gt)[e.type] ? (s(), y(o(x(gt)[e.type]), {
773
+ onClick: (t) => R(e),
774
+ onKeydown: (t) => z(t, e)
775
+ }, [p("div", Fn, [x(_t)[e.type] ? (s(), y(o(x(_t)[e.type]), {
761
776
  key: 0,
762
777
  size: 20,
763
778
  "stroke-width": 1.5
@@ -765,14 +780,14 @@ var Tn = ["aria-label"], En = {
765
780
  key: 1,
766
781
  icon: e.icon,
767
782
  size: 20
768
- }, null, 8, ["icon"])) : T("", !0)]), S.value ? (s(), m("span", jn, c(e.label), 1)) : T("", !0)], 44, kn))), 128))]),
783
+ }, null, 8, ["icon"])) : T("", !0)]), S.value ? (s(), m("span", In, c(e.label), 1)) : T("", !0)], 44, Pn))), 128))]),
769
784
  _: 1
770
- }, 8, ["model-value"])], 44, Tn));
785
+ }, 8, ["model-value"])], 44, An));
771
786
  }
772
787
  });
773
788
  //#endregion
774
789
  //#region src/utils/mergeTagTrigger.ts
775
- function Nn(e, t, n, r) {
790
+ function Rn(e, t, n, r) {
776
791
  if (!n) return null;
777
792
  let i = e.slice(0, t), a = i.lastIndexOf(n);
778
793
  if (a === -1) return null;
@@ -785,8 +800,8 @@ function Nn(e, t, n, r) {
785
800
  }
786
801
  //#endregion
787
802
  //#region src/utils/textFieldCaret.ts
788
- var Pn = /* @__PURE__ */ "boxSizing.width.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.lineHeight.fontFamily.textAlign.textTransform.textIndent.letterSpacing.wordSpacing.tabSize.whiteSpace.wordWrap.wordBreak".split(".");
789
- function Fn(e, t, n) {
803
+ var zn = /* @__PURE__ */ "boxSizing.width.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.lineHeight.fontFamily.textAlign.textTransform.textIndent.letterSpacing.wordSpacing.tabSize.whiteSpace.wordWrap.wordBreak".split(".");
804
+ function Bn(e, t, n) {
790
805
  return {
791
806
  left: e,
792
807
  top: t,
@@ -799,7 +814,7 @@ function Fn(e, t, n) {
799
814
  toJSON: () => ({})
800
815
  };
801
816
  }
802
- function In(e, t) {
817
+ function Vn(e, t) {
803
818
  let n = e.ownerDocument, r = n.defaultView;
804
819
  if (!r) return null;
805
820
  let i = e.tagName === "INPUT", a = r.getComputedStyle(e), o = n.createElement("div");
@@ -807,7 +822,7 @@ function In(e, t) {
807
822
  let s = o.style;
808
823
  s.position = "absolute", s.visibility = "hidden", s.top = "0", s.left = "0", s.overflow = "hidden", s.whiteSpace = i ? "pre" : "pre-wrap", s.wordWrap = i ? "normal" : "break-word";
809
824
  let c = s, l = a;
810
- for (let e of Pn) c[e] = l[e];
825
+ for (let e of zn) c[e] = l[e];
811
826
  i && (s.width = "auto", s.whiteSpace = "pre");
812
827
  let u = e.value, d = u.slice(0, t);
813
828
  i && (d = d.replace(/\s/g, "\xA0")), o.textContent = d;
@@ -816,26 +831,26 @@ function In(e, t) {
816
831
  let p = f.offsetTop, m = f.offsetLeft;
817
832
  n.body.removeChild(o);
818
833
  let h = e.getBoundingClientRect(), g = parseFloat(a.borderTopWidth) || 0, _ = parseFloat(a.borderLeftWidth) || 0, v = parseFloat(a.lineHeight) || parseFloat(a.fontSize) || 0, y = h.left + m + _ - e.scrollLeft;
819
- if (i) return Fn(y, h.top, h.bottom);
834
+ if (i) return Bn(y, h.top, h.bottom);
820
835
  let b = h.top + p + g - e.scrollTop;
821
- return Fn(y, b, b + v);
836
+ return Bn(y, b, b + v);
822
837
  }
823
838
  //#endregion
824
839
  //#region src/composables/useMergeTagAutocomplete.ts
825
- var Ln = /* @__PURE__ */ new Set([
840
+ var Hn = /* @__PURE__ */ new Set([
826
841
  "ArrowLeft",
827
842
  "ArrowRight",
828
843
  "Home",
829
844
  "End"
830
845
  ]);
831
- function Rn(e) {
832
- let { elementRef: t, modelValue: n, emit: i, mergeTags: o, syntax: s, enabled: c, onInsert: l } = e, d = I(s), f = re(s), p = c && d !== null && o.length > 0, m = D(ct, null), h = (u(m) ? m.value : m)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", g = Re(), _ = Wt(h, g), v = !1;
846
+ function Un(e) {
847
+ let { elementRef: t, modelValue: n, emit: i, mergeTags: o, syntax: s, enabled: c, onInsert: l } = e, d = ee(s), f = ne(s), p = c && d !== null && o.length > 0, m = D(Ve, null), h = (u(m) ? m.value : m)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", g = Le(), _ = Gt(h, g), v = !1;
833
848
  r() && a(() => {
834
849
  v = !0, _.close();
835
850
  });
836
851
  function y(e) {
837
852
  let t = e.value ?? "";
838
- return Nn(t, e.selectionStart ?? t.length, d, f);
853
+ return Rn(t, e.selectionStart ?? t.length, d, f);
839
854
  }
840
855
  function b(e, r, a) {
841
856
  let o = e.value ?? n(), s = o.slice(r.caret), c = f && s.startsWith(f) ? f.length : 0, u = o.slice(0, r.triggerStart), d = o.slice(r.caret + c), p = u + a.value + d, m = u.length + a.value.length;
@@ -857,7 +872,7 @@ function Rn(e) {
857
872
  _.close();
858
873
  return;
859
874
  }
860
- let r = Gt(o, n.query), i = () => In(e, n.triggerStart), a = (t) => b(e, n, t);
875
+ let r = Kt(o, n.query), i = () => Vn(e, n.triggerStart), a = (t) => b(e, n, t);
861
876
  _.isOpen() ? _.update({
862
877
  items: r,
863
878
  getRect: i,
@@ -870,7 +885,7 @@ function Rn(e) {
870
885
  });
871
886
  }
872
887
  function S(e) {
873
- return _.isOpen() ? e.key === "Escape" ? (_.close(), !0) : Ln.has(e.key) ? (_.close(), !1) : _.handleKeyDown(e) : !1;
888
+ return _.isOpen() ? e.key === "Escape" ? (_.close(), !0) : Hn.has(e.key) ? (_.close(), !1) : _.handleKeyDown(e) : !1;
874
889
  }
875
890
  return {
876
891
  available: p,
@@ -882,12 +897,12 @@ function Rn(e) {
882
897
  }
883
898
  //#endregion
884
899
  //#region src/composables/useMergeTagField.ts
885
- function zn(e) {
886
- let { modelValue: t, emit: n, elementRef: i } = e, { mergeTags: o, canRequestMergeTag: s, isRequesting: c, isMergeTagValue: l, getMergeTagLabel: u, requestMergeTag: f, syntax: p, autocomplete: m } = Nt(), { canInsertLogicTag: h, isRequesting: g, requestLogicTag: _ } = Me(), v = d(!1), y = !1, b = !1;
900
+ function Wn(e) {
901
+ let { modelValue: t, emit: n, elementRef: i } = e, { mergeTags: o, canRequestMergeTag: s, isRequesting: c, isMergeTagValue: l, getMergeTagLabel: u, requestMergeTag: f, syntax: p, autocomplete: m } = Pt(), { canInsertLogicTag: h, isRequesting: g, requestLogicTag: _ } = je(), v = d(!1), y = !1, b = !1;
887
902
  r() && a(() => {
888
903
  b = !0;
889
904
  });
890
- let x = Rn({
905
+ let x = Un({
891
906
  elementRef: i,
892
907
  modelValue: t,
893
908
  emit: n,
@@ -911,10 +926,10 @@ function zn(e) {
911
926
  type: "mergeTag",
912
927
  value: t,
913
928
  label: u(t)
914
- }) : z(t, p) ? n.push({
929
+ }) : R(t, p) ? n.push({
915
930
  type: "logicMergeTag",
916
931
  value: t,
917
- keyword: L(t, p)
932
+ keyword: I(t, p)
918
933
  }) : n.push({
919
934
  type: "text",
920
935
  value: t
@@ -1009,10 +1024,10 @@ function zn(e) {
1009
1024
  }
1010
1025
  //#endregion
1011
1026
  //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
1012
- var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip"], Un = {
1027
+ var Gn = ["aria-label", "onKeydown"], Kn = ["data-tooltip"], qn = ["data-tooltip"], Jn = {
1013
1028
  key: 2,
1014
1029
  class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
1015
- }, Wn = ["aria-label", "title"], Gn = /* @__PURE__ */ f({
1030
+ }, Yn = ["aria-label", "title"], Xn = /* @__PURE__ */ f({
1016
1031
  __name: "MergeTagSegments",
1017
1032
  props: {
1018
1033
  segments: {},
@@ -1021,7 +1036,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1021
1036
  },
1022
1037
  emits: ["edit", "clear"],
1023
1038
  setup(t, { emit: r }) {
1024
- let i = r, { t: a } = H();
1039
+ let i = r, { t: a } = U();
1025
1040
  function o() {
1026
1041
  i("edit");
1027
1042
  }
@@ -1040,7 +1055,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1040
1055
  "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
1041
1056
  color: "var(--tpl-primary)"
1042
1057
  }
1043
- }, c(e.label), 9, Vn)) : e.type === "logicMergeTag" ? (s(), m("span", {
1058
+ }, c(e.label), 9, Kn)) : e.type === "logicMergeTag" ? (s(), m("span", {
1044
1059
  key: 1,
1045
1060
  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",
1046
1061
  "data-tooltip": e.value,
@@ -1049,75 +1064,75 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1049
1064
  border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
1050
1065
  color: "var(--tpl-primary)"
1051
1066
  }
1052
- }, c(e.keyword), 9, Hn)) : (s(), m("span", Un, c(e.value), 1))], 64))), 128)), p("button", {
1067
+ }, c(e.keyword), 9, qn)) : (s(), m("span", Jn, c(e.value), 1))], 64))), 128)), p("button", {
1053
1068
  type: "button",
1054
1069
  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",
1055
1070
  "aria-label": x(a).mergeTag.remove,
1056
1071
  title: x(a).mergeTag.remove,
1057
1072
  onClick: l[0] ||= j((e) => i("clear"), ["stop"])
1058
- }, [g(x(At), {
1073
+ }, [g(x(jt), {
1059
1074
  size: 12,
1060
1075
  "stroke-width": 2.5
1061
- })], 8, Wn)], 42, Bn));
1076
+ })], 8, Yn)], 42, Gn));
1062
1077
  }
1063
- }), Kn = [
1078
+ }), Zn = [
1064
1079
  "aria-label",
1065
1080
  "title",
1066
1081
  "disabled"
1067
- ], qn = "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)]", Jn = /* @__PURE__ */ f({
1082
+ ], Qn = "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)]", $n = /* @__PURE__ */ f({
1068
1083
  __name: "MergeTagInsertButton",
1069
1084
  props: { disabled: { type: Boolean } },
1070
1085
  emits: ["insert"],
1071
1086
  setup(e) {
1072
- let { t } = H();
1087
+ let { t } = U();
1073
1088
  return (r, i) => (s(), m("button", {
1074
1089
  type: "button",
1075
- class: n([qn, "tpl:mt-1.5"]),
1090
+ class: n([Qn, "tpl:mt-1.5"]),
1076
1091
  "aria-label": x(t).mergeTag.insert,
1077
1092
  title: x(t).mergeTag.insert,
1078
1093
  disabled: e.disabled,
1079
1094
  onMousedown: i[0] ||= j(() => {}, ["prevent"]),
1080
1095
  onClick: i[1] ||= (e) => r.$emit("insert")
1081
- }, [g(x(ut), {
1096
+ }, [g(x(dt), {
1082
1097
  size: 12,
1083
1098
  "stroke-width": 2
1084
- }), b(" " + c(x(t).mergeTag.insertShort), 1)], 42, Kn));
1099
+ }), b(" " + c(x(t).mergeTag.insertShort), 1)], 42, Zn));
1085
1100
  }
1086
- }), Yn = [
1101
+ }), er = [
1087
1102
  "aria-label",
1088
1103
  "title",
1089
1104
  "disabled"
1090
- ], Xn = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] hover:tpl:border-[var(--tpl-primary)]", Zn = /* @__PURE__ */ f({
1105
+ ], tr = "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)]", nr = /* @__PURE__ */ f({
1091
1106
  __name: "LogicTagInsertButton",
1092
1107
  props: { disabled: { type: Boolean } },
1093
1108
  emits: ["insert"],
1094
1109
  setup(e) {
1095
- let { t } = H();
1110
+ let { t } = U();
1096
1111
  return (r, i) => (s(), m("button", {
1097
1112
  type: "button",
1098
- class: n([Xn, "tpl:mt-1.5"]),
1113
+ class: n([tr, "tpl:mt-1.5"]),
1099
1114
  "aria-label": x(t).logicTag.insert,
1100
1115
  title: x(t).logicTag.insert,
1101
1116
  disabled: e.disabled,
1102
1117
  "data-testid": "field-insert-logic-button",
1103
1118
  onMousedown: i[0] ||= j(() => {}, ["prevent"]),
1104
1119
  onClick: i[1] ||= (e) => r.$emit("insert")
1105
- }, [g(x(lt), {
1120
+ }, [g(x(ut), {
1106
1121
  size: 12,
1107
1122
  "stroke-width": 2
1108
- }), b(" " + c(x(t).logicTag.insertShort), 1)], 42, Yn));
1123
+ }), b(" " + c(x(t).logicTag.insertShort), 1)], 42, er));
1109
1124
  }
1110
- }), Qn = { key: 0 }, $n = {
1125
+ }), rr = { key: 0 }, ir = {
1111
1126
  key: 0,
1112
1127
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1113
- }, er = { key: 1 }, tr = [
1128
+ }, ar = { key: 1 }, or = [
1114
1129
  "value",
1115
1130
  "placeholder",
1116
1131
  "rows"
1117
- ], nr = {
1132
+ ], sr = {
1118
1133
  key: 0,
1119
1134
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1120
- }, rr = "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)]", ir = "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)]", ar = /* @__PURE__ */ f({
1135
+ }, cr = "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)]", lr = "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)]", ur = /* @__PURE__ */ f({
1121
1136
  __name: "MergeTagTextarea",
1122
1137
  props: {
1123
1138
  modelValue: {},
@@ -1126,32 +1141,32 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1126
1141
  },
1127
1142
  emits: ["update:modelValue"],
1128
1143
  setup(e, { emit: t }) {
1129
- let r = e, i = t, a = d(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: f, isRequestingLogicTag: h, isEditing: _, startEditing: v, handleInput: b, handleKeydown: S, handleClick: C, handleBlur: w, clearValue: E, insertMergeTag: D, insertLogicTag: O } = zn({
1144
+ let r = e, i = t, a = d(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: f, isRequestingLogicTag: h, isEditing: _, startEditing: v, handleInput: b, handleKeydown: S, handleClick: C, handleBlur: w, clearValue: E, insertMergeTag: D, insertLogicTag: O } = Wn({
1130
1145
  modelValue: () => r.modelValue,
1131
1146
  emit: (e) => i("update:modelValue", e),
1132
1147
  elementRef: a
1133
1148
  });
1134
- return (t, r) => x(c) && !x(_) ? (s(), m("div", Qn, [g(Gn, {
1149
+ return (t, r) => x(c) && !x(_) ? (s(), m("div", rr, [g(Xn, {
1135
1150
  segments: x(o),
1136
- "display-class": ir,
1151
+ "display-class": lr,
1137
1152
  onEdit: x(v),
1138
1153
  onClear: x(E)
1139
1154
  }, null, 8, [
1140
1155
  "segments",
1141
1156
  "onEdit",
1142
1157
  "onClear"
1143
- ]), x(l) || x(f) ? (s(), m("div", $n, [x(l) ? (s(), y(Jn, {
1158
+ ]), x(l) || x(f) ? (s(), m("div", ir, [x(l) ? (s(), y($n, {
1144
1159
  key: 0,
1145
1160
  disabled: x(u),
1146
1161
  onInsert: x(D)
1147
- }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(Zn, {
1162
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(nr, {
1148
1163
  key: 1,
1149
1164
  disabled: x(h),
1150
1165
  onInsert: x(O)
1151
- }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)])) : (s(), m("div", er, [p("textarea", {
1166
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)])) : (s(), m("div", ar, [p("textarea", {
1152
1167
  ref_key: "textareaRef",
1153
1168
  ref: a,
1154
- class: n(rr),
1169
+ class: n(cr),
1155
1170
  value: e.modelValue,
1156
1171
  placeholder: e.placeholder,
1157
1172
  rows: e.rows,
@@ -1159,22 +1174,22 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1159
1174
  onKeydown: r[1] ||= (...e) => x(S) && x(S)(...e),
1160
1175
  onClick: r[2] ||= (...e) => x(C) && x(C)(...e),
1161
1176
  onBlur: r[3] ||= (...e) => x(w) && x(w)(...e)
1162
- }, null, 40, tr), x(l) || x(f) ? (s(), m("div", nr, [x(l) ? (s(), y(Jn, {
1177
+ }, null, 40, or), x(l) || x(f) ? (s(), m("div", sr, [x(l) ? (s(), y($n, {
1163
1178
  key: 0,
1164
1179
  disabled: x(u),
1165
1180
  onInsert: x(D)
1166
- }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(Zn, {
1181
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(nr, {
1167
1182
  key: 1,
1168
1183
  disabled: x(h),
1169
1184
  onInsert: x(O)
1170
1185
  }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)]));
1171
1186
  }
1172
- }), or = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, sr = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, cr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, lr = { class: "tpl:mb-3.5" }, ur = { 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)]" }, dr = ["onClick"], fr = { class: "tpl:flex tpl:items-stretch" }, pr = ["value"], mr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, hr = { class: "tpl:mb-3.5" }, gr = { class: "tpl:mb-3.5" }, _r = { class: "tpl:mb-3.5" }, vr = { class: "tpl:mb-3.5" }, yr = ["value"], br = ["value"], xr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Sr = ["value"], Cr = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, wr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Tr = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Er = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Dr = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Or = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, kr = { 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)]" }, Ar = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, jr = { class: "tpl:mb-1 tpl:last:mb-0" }, Mr = { class: "tpl:mb-1 tpl:last:mb-0" }, Nr = { class: "tpl:mb-1 tpl:last:mb-0" }, Pr = 150, Fr = /* @__PURE__ */ f({
1187
+ }), dr = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, fr = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, pr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, mr = { class: "tpl:mb-3.5" }, hr = { 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)]" }, gr = ["onClick"], _r = { class: "tpl:flex tpl:items-stretch" }, vr = ["value"], yr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, br = { class: "tpl:mb-3.5" }, xr = { class: "tpl:mb-3.5" }, Sr = { class: "tpl:mb-3.5" }, Cr = { class: "tpl:mb-3.5" }, wr = ["value"], Tr = ["value"], Er = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Dr = ["value"], Or = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, kr = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ar = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, jr = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Mr = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Nr = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Pr = { 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)]" }, Fr = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Ir = { class: "tpl:mb-1 tpl:last:mb-0" }, Lr = { class: "tpl:mb-1 tpl:last:mb-0" }, Rr = { class: "tpl:mb-1 tpl:last:mb-0" }, zr = 150, Br = /* @__PURE__ */ f({
1173
1188
  __name: "TemplateSettings",
1174
1189
  props: { settings: {} },
1175
1190
  emits: ["update"],
1176
1191
  setup(r, { emit: i }) {
1177
- let a = r, o = i, { t: l } = H(), u = He(Je, "TemplateSettings"), d = w(() => u.fonts.value), f = w(() => d.value.some((e) => e.value === a.settings.fontFamily) ? a.settings.fontFamily : u.defaultFont.value), h = [
1192
+ let a = r, o = i, { t: l } = U(), u = Be(lt, "TemplateSettings"), d = w(() => u.fonts.value), f = w(() => d.value.some((e) => e.value === a.settings.fontFamily) ? a.settings.fontFamily : u.defaultFont.value), h = [
1178
1193
  {
1179
1194
  value: 480,
1180
1195
  label: "480px"
@@ -1192,14 +1207,14 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1192
1207
  label: "800px"
1193
1208
  }
1194
1209
  ];
1195
- return (i, a) => (s(), m("aside", or, [p("div", sr, [
1196
- p("div", { class: n(x(Ut)) }, [
1197
- p("div", cr, [g(x(an), {
1210
+ return (i, a) => (s(), m("aside", dr, [p("div", fr, [
1211
+ p("div", { class: n(x(Wt)) }, [
1212
+ p("div", pr, [g(x(sn), {
1198
1213
  class: "tpl:text-[var(--tpl-text-muted)]",
1199
1214
  size: 14,
1200
1215
  "stroke-width": 2
1201
1216
  }), p("span", null, c(x(l).templateSettings.layout), 1)]),
1202
- p("div", lr, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.widthPreset), 3), p("div", ur, [(s(), m(C, null, e(h, (e) => p("button", {
1217
+ p("div", mr, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.widthPreset), 3), p("div", hr, [(s(), m(C, null, e(h, (e) => p("button", {
1203
1218
  key: e.value,
1204
1219
  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)]",
1205
1220
  style: t({
@@ -1208,101 +1223,101 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1208
1223
  boxShadow: r.settings.width === e.value ? "var(--tpl-shadow)" : "none"
1209
1224
  }),
1210
1225
  onClick: (t) => o("update", { width: e.value })
1211
- }, c(e.label), 13, dr)), 64))])]),
1212
- p("div", null, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.customWidth), 3), p("div", fr, [p("input", {
1226
+ }, c(e.label), 13, gr)), 64))])]),
1227
+ p("div", null, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.customWidth), 3), p("div", _r, [p("input", {
1213
1228
  type: "number",
1214
- class: n(x(q)),
1229
+ class: n(x(J)),
1215
1230
  value: r.settings.width,
1216
1231
  min: "300",
1217
1232
  max: "900",
1218
1233
  onInput: a[0] ||= (e) => o("update", { width: Number(e.target.value) })
1219
- }, null, 42, pr), p("span", { class: n(x(K)) }, "px", 2)])])
1234
+ }, null, 42, vr), p("span", { class: n(x(q)) }, "px", 2)])])
1220
1235
  ], 2),
1221
- p("div", { class: n(x(Ut)) }, [
1222
- p("div", mr, [g(x(Jt), {
1236
+ p("div", { class: n(x(Wt)) }, [
1237
+ p("div", yr, [g(x(Xt), {
1223
1238
  class: "tpl:text-[var(--tpl-text-muted)]",
1224
1239
  size: 14,
1225
1240
  "stroke-width": 2
1226
1241
  }), p("span", null, c(x(l).templateSettings.appearance), 1)]),
1227
- p("div", hr, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.backgroundColor), 3), g(J, {
1242
+ p("div", br, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.backgroundColor), 3), g(Y, {
1228
1243
  "model-value": r.settings.backgroundColor,
1229
- placeholder: x(Ht),
1244
+ placeholder: x(Ut),
1230
1245
  "onUpdate:modelValue": a[1] ||= (e) => o("update", { backgroundColor: e })
1231
1246
  }, null, 8, ["model-value", "placeholder"])]),
1232
- p("div", gr, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.textColor), 3), g(J, {
1247
+ p("div", xr, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.textColor), 3), g(Y, {
1233
1248
  "model-value": r.settings.textColor ?? "",
1234
1249
  "seed-color": "#1a1a1a",
1235
1250
  "onUpdate:modelValue": a[2] ||= (e) => o("update", { textColor: e })
1236
1251
  }, null, 8, ["model-value"])]),
1237
- p("div", _r, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.linkColor), 3), g(J, {
1252
+ p("div", Sr, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.linkColor), 3), g(Y, {
1238
1253
  "model-value": r.settings.linkColor ?? "",
1239
1254
  "seed-color": "#0066cc",
1240
1255
  "onUpdate:modelValue": a[3] ||= (e) => o("update", { linkColor: e || void 0 })
1241
1256
  }, null, 8, ["model-value"])]),
1242
- p("div", vr, [g(Y, {
1257
+ p("div", Cr, [g(X, {
1243
1258
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1244
1259
  "model-value": r.settings.linkUnderline,
1245
1260
  label: x(l).templateSettings.linkUnderline,
1246
1261
  "onUpdate:modelValue": a[4] ||= (e) => o("update", { linkUnderline: e })
1247
1262
  }, null, 8, ["model-value", "label"])]),
1248
- p("div", null, [p("label", { class: n(x(G)) }, c(x(l).templateSettings.fontFamily), 3), p("select", {
1249
- class: n(x(W)),
1263
+ p("div", null, [p("label", { class: n(x(K)) }, c(x(l).templateSettings.fontFamily), 3), p("select", {
1264
+ class: n(x(G)),
1250
1265
  value: f.value,
1251
1266
  onChange: a[5] ||= (e) => o("update", { fontFamily: e.target.value })
1252
1267
  }, [(s(!0), m(C, null, e(d.value, (e) => (s(), m("option", {
1253
1268
  key: e.value,
1254
1269
  value: e.value
1255
- }, c(e.label), 9, br))), 128))], 42, yr)])
1270
+ }, c(e.label), 9, Tr))), 128))], 42, wr)])
1256
1271
  ], 2),
1257
- p("div", { class: n(x(Ut)) }, [p("div", xr, [g(x(Yt), {
1272
+ p("div", { class: n(x(Wt)) }, [p("div", Er, [g(x(Zt), {
1258
1273
  class: "tpl:text-[var(--tpl-text-muted)]",
1259
1274
  size: 14,
1260
1275
  "stroke-width": 2
1261
1276
  }), p("span", null, c(x(l).templateSettings.language), 1)]), p("div", null, [
1262
- p("label", { class: n(x(G)) }, c(x(l).templateSettings.contentLocale), 3),
1277
+ p("label", { class: n(x(K)) }, c(x(l).templateSettings.contentLocale), 3),
1263
1278
  p("input", {
1264
1279
  type: "text",
1265
- class: n(x(W)),
1280
+ class: n(x(G)),
1266
1281
  value: r.settings.locale ?? "",
1267
1282
  placeholder: "en",
1268
1283
  spellcheck: "false",
1269
1284
  autocapitalize: "off",
1270
1285
  autocomplete: "off",
1271
1286
  onInput: a[6] ||= (e) => o("update", { locale: e.target.value.trim() || void 0 })
1272
- }, null, 42, Sr),
1273
- p("p", Cr, c(x(l).templateSettings.contentLocaleHint), 1)
1287
+ }, null, 42, Dr),
1288
+ p("p", Or, c(x(l).templateSettings.contentLocaleHint), 1)
1274
1289
  ])], 2),
1275
- p("div", { class: n(x(Ut)) }, [p("div", wr, [g(x(_t), {
1290
+ p("div", { class: n(x(Wt)) }, [p("div", kr, [g(x(vt), {
1276
1291
  class: "tpl:text-[var(--tpl-text-muted)]",
1277
1292
  size: 14,
1278
1293
  "stroke-width": 2
1279
- }), p("span", null, c(x(l).templateSettings.preheaderText), 1)]), p("div", null, [g(ar, {
1294
+ }), p("span", null, c(x(l).templateSettings.preheaderText), 1)]), p("div", null, [g(ur, {
1280
1295
  "model-value": r.settings.preheaderText ?? "",
1281
1296
  placeholder: x(l).templateSettings.preheaderTextPlaceholder,
1282
1297
  rows: 2,
1283
1298
  "onUpdate:modelValue": a[7] ||= (e) => o("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
1284
- }, null, 8, ["model-value", "placeholder"]), p("div", Tr, [p("span", Er, c(x(l).templateSettings.preheaderTextHint), 1), p("span", Dr, c((r.settings.preheaderText ?? "").length) + "/" + c(Pr), 1)])])], 2),
1285
- p("div", Or, [p("div", kr, [g(x(bt), {
1299
+ }, null, 8, ["model-value", "placeholder"]), p("div", Ar, [p("span", jr, c(x(l).templateSettings.preheaderTextHint), 1), p("span", Mr, c((r.settings.preheaderText ?? "").length) + "/" + c(zr), 1)])])], 2),
1300
+ p("div", Nr, [p("div", Pr, [g(x(xt), {
1286
1301
  size: 14,
1287
1302
  "stroke-width": 2
1288
- }), p("span", null, c(x(l).templateSettings.tips), 1)]), p("ul", Ar, [
1289
- p("li", jr, c(x(l).templateSettings.tip1), 1),
1290
- p("li", Mr, c(x(l).templateSettings.tip2), 1),
1291
- p("li", Nr, c(x(l).templateSettings.tip3), 1)
1303
+ }), p("span", null, c(x(l).templateSettings.tips), 1)]), p("ul", Fr, [
1304
+ p("li", Ir, c(x(l).templateSettings.tip1), 1),
1305
+ p("li", Lr, c(x(l).templateSettings.tip2), 1),
1306
+ p("li", Rr, c(x(l).templateSettings.tip3), 1)
1292
1307
  ])])
1293
1308
  ])]));
1294
1309
  }
1295
- }), Ir = { key: 0 }, Lr = {
1310
+ }), Vr = { key: 0 }, Hr = {
1296
1311
  key: 0,
1297
1312
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1298
- }, Rr = { key: 1 }, zr = [
1313
+ }, Ur = { key: 1 }, Wr = [
1299
1314
  "type",
1300
1315
  "value",
1301
1316
  "placeholder"
1302
- ], Br = {
1317
+ ], Gr = {
1303
1318
  key: 0,
1304
1319
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1305
- }, Vr = "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__*/ jt(/* @__PURE__ */ f({
1320
+ }, Kr = "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__*/ Mt(/* @__PURE__ */ f({
1306
1321
  __name: "MergeTagInput",
1307
1322
  props: {
1308
1323
  modelValue: {},
@@ -1315,14 +1330,14 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1315
1330
  },
1316
1331
  emits: ["update:modelValue"],
1317
1332
  setup(e, { emit: t }) {
1318
- let r = e, i = t, a = d(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: f, isRequestingLogicTag: h, isEditing: _, startEditing: v, handleInput: b, handleKeydown: S, handleClick: C, handleBlur: w, clearValue: E, insertMergeTag: D, insertLogicTag: O } = zn({
1333
+ let r = e, i = t, a = d(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: f, isRequestingLogicTag: h, isEditing: _, startEditing: v, handleInput: b, handleKeydown: S, handleClick: C, handleBlur: w, clearValue: E, insertMergeTag: D, insertLogicTag: O } = Wn({
1319
1334
  modelValue: () => r.modelValue,
1320
1335
  emit: (e) => i("update:modelValue", e),
1321
1336
  elementRef: a
1322
1337
  });
1323
- return (t, r) => x(c) && !x(_) ? (s(), m("div", Ir, [g(Gn, {
1338
+ return (t, r) => x(c) && !x(_) ? (s(), m("div", Vr, [g(Xn, {
1324
1339
  segments: x(o),
1325
- "display-class": Vr,
1340
+ "display-class": Kr,
1326
1341
  pulse: e.pulse,
1327
1342
  onEdit: x(v),
1328
1343
  onClear: x(E)
@@ -1331,39 +1346,39 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1331
1346
  "pulse",
1332
1347
  "onEdit",
1333
1348
  "onClear"
1334
- ]), x(l) || x(f) ? (s(), m("div", Lr, [x(l) ? (s(), y(Jn, {
1349
+ ]), x(l) || x(f) ? (s(), m("div", Hr, [x(l) ? (s(), y($n, {
1335
1350
  key: 0,
1336
1351
  disabled: x(u),
1337
1352
  onInsert: x(D)
1338
- }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(Zn, {
1353
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(nr, {
1339
1354
  key: 1,
1340
1355
  disabled: x(h),
1341
1356
  onInsert: x(O)
1342
- }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)])) : (s(), m("div", Rr, [p("input", {
1357
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)])) : (s(), m("div", Ur, [p("input", {
1343
1358
  ref_key: "inputRef",
1344
1359
  ref: a,
1345
1360
  type: e.type,
1346
- class: n([x(W), { "tpl-pulse-fill": e.pulse }]),
1361
+ class: n([x(G), { "tpl-pulse-fill": e.pulse }]),
1347
1362
  value: e.modelValue,
1348
1363
  placeholder: e.placeholder,
1349
1364
  onInput: r[0] ||= (...e) => x(b) && x(b)(...e),
1350
1365
  onKeydown: r[1] ||= (...e) => x(S) && x(S)(...e),
1351
1366
  onClick: r[2] ||= (...e) => x(C) && x(C)(...e),
1352
1367
  onBlur: r[3] ||= (...e) => x(w) && x(w)(...e)
1353
- }, null, 42, zr), x(l) || x(f) ? (s(), m("div", Br, [x(l) ? (s(), y(Jn, {
1368
+ }, null, 42, Wr), x(l) || x(f) ? (s(), m("div", Gr, [x(l) ? (s(), y($n, {
1354
1369
  key: 0,
1355
1370
  disabled: x(u),
1356
1371
  onInsert: x(D)
1357
- }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(Zn, {
1372
+ }, null, 8, ["disabled", "onInsert"])) : T("", !0), x(f) ? (s(), y(nr, {
1358
1373
  key: 1,
1359
1374
  disabled: x(h),
1360
1375
  onInsert: x(O)
1361
1376
  }, null, 8, ["disabled", "onInsert"])) : T("", !0)])) : T("", !0)]));
1362
1377
  }
1363
- }), [["__scopeId", "data-v-d6563be6"]]), Hr = { class: "tpl:mb-3.5" }, Ur = ["value"], Wr = { value: "" }, Gr = ["value"], Kr = { class: "tpl:mb-3.5" }, qr = { class: "tpl:mb-3.5" }, Jr = { class: "tpl:mb-3.5" }, Yr = { class: "tpl:mb-3.5" }, Xr = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Zr = { class: "tpl:mb-3.5" }, Qr = { class: "tpl:flex tpl:items-stretch" }, $r = ["value"], ei = { class: "tpl:mb-3.5" }, ti = { class: "tpl:flex tpl:items-stretch" }, ni = ["value"], ri = { class: "tpl:mb-3.5" }, ii = ["value"], ai = { value: "auto" }, oi = { value: "full" }, si = { value: "custom" }, ci = {
1378
+ }), [["__scopeId", "data-v-d6563be6"]]), qr = { class: "tpl:mb-3.5" }, Jr = ["value"], Yr = { value: "" }, Xr = ["value"], Zr = { class: "tpl:mb-3.5" }, Qr = { class: "tpl:mb-3.5" }, $r = { class: "tpl:mb-3.5" }, ei = { class: "tpl:mb-3.5" }, ti = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, ni = { class: "tpl:mb-3.5" }, ri = { class: "tpl:flex tpl:items-stretch" }, ii = ["value"], ai = { class: "tpl:mb-3.5" }, oi = { class: "tpl:flex tpl:items-stretch" }, si = ["value"], ci = { class: "tpl:mb-3.5" }, li = ["value"], ui = { value: "auto" }, di = { value: "full" }, fi = { value: "custom" }, pi = {
1364
1379
  key: 0,
1365
1380
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
1366
- }, li = ["value"], ui = 200, di = /* @__PURE__ */ f({
1381
+ }, mi = ["value"], hi = 200, gi = /* @__PURE__ */ f({
1367
1382
  __name: "ButtonToolbar",
1368
1383
  props: {
1369
1384
  block: {},
@@ -1371,7 +1386,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1371
1386
  },
1372
1387
  emits: ["update"],
1373
1388
  setup(t, { emit: r }) {
1374
- let i = t, a = r, { t: o } = H(), l = w(() => i.block.width === "full" ? "full" : typeof i.block.width == "number" ? "custom" : "auto");
1389
+ let i = t, a = r, { t: o } = U(), l = w(() => i.block.width === "full" ? "full" : typeof i.block.width == "number" ? "custom" : "auto");
1375
1390
  function u(e, t) {
1376
1391
  a("update", { [e]: t });
1377
1392
  }
@@ -1381,7 +1396,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1381
1396
  return;
1382
1397
  }
1383
1398
  if (e === "custom") {
1384
- u("width", typeof i.block.width == "number" ? i.block.width : ui);
1399
+ u("width", typeof i.block.width == "number" ? i.block.width : hi);
1385
1400
  return;
1386
1401
  }
1387
1402
  u("width", void 0);
@@ -1391,28 +1406,28 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1391
1406
  !Number.isFinite(t) || t <= 0 || u("width", t);
1392
1407
  }
1393
1408
  return (r, i) => (s(), m(C, null, [
1394
- p("div", Hr, [p("label", { class: n(x(G)) }, c(x(o).button.fontFamily), 3), p("select", {
1395
- class: n(x(W)),
1409
+ p("div", qr, [p("label", { class: n(x(K)) }, c(x(o).button.fontFamily), 3), p("select", {
1410
+ class: n(x(G)),
1396
1411
  value: t.block.fontFamily || "",
1397
1412
  onChange: i[0] ||= (e) => u("fontFamily", e.target.value || void 0)
1398
- }, [p("option", Wr, c(x(o).button.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
1413
+ }, [p("option", Yr, c(x(o).button.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
1399
1414
  key: e.value,
1400
1415
  value: e.value
1401
- }, c(e.label), 9, Gr))), 128))], 42, Ur)]),
1402
- p("div", Kr, [p("label", { class: n(x(G)) }, c(x(o).button.text), 3), g($, {
1416
+ }, c(e.label), 9, Xr))), 128))], 42, Jr)]),
1417
+ p("div", Zr, [p("label", { class: n(x(K)) }, c(x(o).button.text), 3), g($, {
1403
1418
  "model-value": t.block.text,
1404
1419
  type: "text",
1405
1420
  "onUpdate:modelValue": i[1] ||= (e) => u("text", e)
1406
1421
  }, null, 8, ["model-value"])]),
1407
- p("div", qr, [
1408
- p("label", { class: n(x(G)) }, c(x(o).button.url), 3),
1422
+ p("div", Qr, [
1423
+ p("label", { class: n(x(K)) }, c(x(o).button.url), 3),
1409
1424
  g($, {
1410
1425
  "model-value": t.block.url,
1411
1426
  type: "url",
1412
1427
  placeholder: x(o).button.urlPlaceholder,
1413
1428
  "onUpdate:modelValue": i[2] ||= (e) => u("url", e)
1414
1429
  }, null, 8, ["model-value", "placeholder"]),
1415
- t.block.url ? (s(), y(Y, {
1430
+ t.block.url ? (s(), y(X, {
1416
1431
  key: 0,
1417
1432
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
1418
1433
  "model-value": t.block.openInNewTab ?? !1,
@@ -1420,51 +1435,51 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1420
1435
  "onUpdate:modelValue": i[3] ||= (e) => u("openInNewTab", e)
1421
1436
  }, null, 8, ["model-value", "label"])) : T("", !0)
1422
1437
  ]),
1423
- p("div", Jr, [p("label", { class: n(x(G)) }, c(x(o).button.background), 3), g(J, {
1438
+ p("div", $r, [p("label", { class: n(x(K)) }, c(x(o).button.background), 3), g(Y, {
1424
1439
  "model-value": t.block.backgroundColor,
1425
1440
  "onUpdate:modelValue": i[4] ||= (e) => u("backgroundColor", e)
1426
1441
  }, null, 8, ["model-value"])]),
1427
- p("div", Yr, [p("label", { class: n(x(G)) }, c(x(o).button.textColor), 3), g(J, {
1442
+ p("div", ei, [p("label", { class: n(x(K)) }, c(x(o).button.textColor), 3), g(Y, {
1428
1443
  "model-value": t.block.textColor,
1429
1444
  "onUpdate:modelValue": i[5] ||= (e) => u("textColor", e)
1430
1445
  }, null, 8, ["model-value"])]),
1431
- p("div", Xr, [p("div", Zr, [p("label", { class: n(x(G)) }, c(x(o).button.borderRadius), 3), p("div", Qr, [p("input", {
1446
+ p("div", ti, [p("div", ni, [p("label", { class: n(x(K)) }, c(x(o).button.borderRadius), 3), p("div", ri, [p("input", {
1432
1447
  type: "number",
1433
- class: n(x(q)),
1448
+ class: n(x(J)),
1434
1449
  value: t.block.borderRadius,
1435
1450
  min: "0",
1436
1451
  max: "50",
1437
1452
  onInput: i[6] ||= (e) => u("borderRadius", Number(e.target.value))
1438
- }, null, 42, $r), p("span", { class: n(x(K)) }, "px", 2)])]), p("div", ei, [p("label", { class: n(x(G)) }, c(x(o).button.fontSize), 3), p("div", ti, [p("input", {
1453
+ }, null, 42, ii), p("span", { class: n(x(q)) }, "px", 2)])]), p("div", ai, [p("label", { class: n(x(K)) }, c(x(o).button.fontSize), 3), p("div", oi, [p("input", {
1439
1454
  type: "number",
1440
- class: n(x(q)),
1455
+ class: n(x(J)),
1441
1456
  value: t.block.fontSize,
1442
1457
  min: "10",
1443
1458
  max: "36",
1444
1459
  onInput: i[7] ||= (e) => u("fontSize", Number(e.target.value))
1445
- }, null, 42, ni), p("span", { class: n(x(K)) }, "px", 2)])])]),
1446
- p("div", ri, [
1447
- p("label", { class: n(x(G)) }, c(x(o).button.width), 3),
1460
+ }, null, 42, si), p("span", { class: n(x(q)) }, "px", 2)])])]),
1461
+ p("div", ci, [
1462
+ p("label", { class: n(x(K)) }, c(x(o).button.width), 3),
1448
1463
  p("select", {
1449
- class: n(x(W)),
1464
+ class: n(x(G)),
1450
1465
  value: l.value,
1451
1466
  onChange: i[8] ||= (e) => d(e.target.value)
1452
1467
  }, [
1453
- p("option", ai, c(x(o).button.widthAuto), 1),
1454
- p("option", oi, c(x(o).button.fullWidth), 1),
1455
- p("option", si, c(x(o).button.widthCustom), 1)
1456
- ], 42, ii),
1457
- l.value === "custom" ? (s(), m("div", ci, [p("input", {
1468
+ p("option", ui, c(x(o).button.widthAuto), 1),
1469
+ p("option", di, c(x(o).button.fullWidth), 1),
1470
+ p("option", fi, c(x(o).button.widthCustom), 1)
1471
+ ], 42, li),
1472
+ l.value === "custom" ? (s(), m("div", pi, [p("input", {
1458
1473
  type: "number",
1459
- class: n(x(q)),
1460
- value: typeof t.block.width == "number" ? t.block.width : ui,
1474
+ class: n(x(J)),
1475
+ value: typeof t.block.width == "number" ? t.block.width : hi,
1461
1476
  min: "20",
1462
1477
  onInput: i[9] ||= (e) => f(e.target.value)
1463
- }, null, 42, li), p("span", { class: n(x(K)) }, "px", 2)])) : T("", !0)
1478
+ }, null, 42, mi), p("span", { class: n(x(q)) }, "px", 2)])) : T("", !0)
1464
1479
  ])
1465
1480
  ], 64));
1466
1481
  }
1467
- }), fi = { class: "spacing-control" }, pi = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, mi = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, hi = { class: "tpl:flex tpl:items-center" }, gi = ["aria-label"], _i = ["value", "aria-label"], vi = ["aria-label"], yi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, bi = { class: "tpl:flex tpl:items-center" }, xi = ["aria-label"], Si = ["value", "aria-label"], Ci = ["aria-label"], wi = ["aria-label", "title"], Ti = { class: "tpl:flex tpl:items-center" }, Ei = ["aria-label"], Di = ["value", "aria-label"], Oi = ["aria-label"], ki = { class: "tpl:flex tpl:items-center" }, Ai = ["aria-label"], ji = ["value", "aria-label"], Mi = ["aria-label"], Ni = "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)]", Pi = "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)]", Fi = /*#__PURE__*/ jt(/* @__PURE__ */ f({
1482
+ }), _i = { class: "spacing-control" }, vi = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, yi = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, bi = { class: "tpl:flex tpl:items-center" }, xi = ["aria-label"], Si = ["value", "aria-label"], Ci = ["aria-label"], wi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ti = { class: "tpl:flex tpl:items-center" }, Ei = ["aria-label"], Di = ["value", "aria-label"], Oi = ["aria-label"], ki = ["aria-label", "title"], Ai = { class: "tpl:flex tpl:items-center" }, ji = ["aria-label"], Mi = ["value", "aria-label"], Ni = ["aria-label"], Pi = { class: "tpl:flex tpl:items-center" }, Fi = ["aria-label"], Ii = ["value", "aria-label"], Li = ["aria-label"], Ri = "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)]", zi = "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)]", Bi = /*#__PURE__*/ Mt(/* @__PURE__ */ f({
1468
1483
  __name: "SpacingControl",
1469
1484
  props: {
1470
1485
  modelValue: {},
@@ -1472,7 +1487,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1472
1487
  },
1473
1488
  emits: ["update:modelValue"],
1474
1489
  setup(e, { emit: t }) {
1475
- let r = e, a = t, { t: o } = H(), l = w(() => r.modelValue.top === r.modelValue.right && r.modelValue.right === r.modelValue.bottom && r.modelValue.bottom === r.modelValue.left), u = d(l.value);
1490
+ let r = e, a = t, { t: o } = U(), l = w(() => r.modelValue.top === r.modelValue.right && r.modelValue.right === r.modelValue.bottom && r.modelValue.bottom === r.modelValue.left), u = d(l.value);
1476
1491
  i(l, (e) => {
1477
1492
  !e && u.value && (u.value = !1);
1478
1493
  });
@@ -1511,161 +1526,163 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1511
1526
  });
1512
1527
  }
1513
1528
  }
1514
- return (t, r) => (s(), m("div", fi, [p("label", pi, c(e.label), 1), p("div", mi, [
1515
- p("div", hi, [
1529
+ return (t, r) => (s(), m("div", _i, [p("label", vi, c(e.label), 1), p("div", yi, [
1530
+ p("div", bi, [
1516
1531
  p("button", {
1517
1532
  "aria-label": x(o).spacingControl.decreaseTop,
1518
- class: n([Ni, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1533
+ class: n([Ri, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1519
1534
  onClick: r[0] ||= (e) => f("top", -1)
1520
- }, [g(x(pt), {
1535
+ }, [g(x(mt), {
1521
1536
  size: 12,
1522
1537
  "stroke-width": 2
1523
- })], 10, gi),
1538
+ })], 10, xi),
1524
1539
  p("input", {
1525
1540
  type: "number",
1526
- class: n(Pi),
1541
+ class: n(zi),
1527
1542
  value: e.modelValue.top,
1528
1543
  "aria-label": x(o).spacingControl.top,
1529
1544
  min: "0",
1530
1545
  onInput: r[1] ||= (e) => h("top", Number(e.target.value))
1531
- }, null, 40, _i),
1546
+ }, null, 40, Si),
1532
1547
  p("button", {
1533
1548
  "aria-label": x(o).spacingControl.increaseTop,
1534
- class: n([Ni, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1549
+ class: n([Ri, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1535
1550
  onClick: r[2] ||= (e) => f("top", 1)
1536
1551
  }, [g(x(Q), {
1537
1552
  size: 12,
1538
1553
  "stroke-width": 2
1539
- })], 10, vi)
1554
+ })], 10, Ci)
1540
1555
  ]),
1541
- p("div", yi, [
1542
- p("div", bi, [
1556
+ p("div", wi, [
1557
+ p("div", Ti, [
1543
1558
  p("button", {
1544
1559
  "aria-label": x(o).spacingControl.decreaseLeft,
1545
- class: n([Ni, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1560
+ class: n([Ri, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1546
1561
  onClick: r[3] ||= (e) => f("left", -1)
1547
- }, [g(x(pt), {
1562
+ }, [g(x(mt), {
1548
1563
  size: 12,
1549
1564
  "stroke-width": 2
1550
- })], 10, xi),
1565
+ })], 10, Ei),
1551
1566
  p("input", {
1552
1567
  type: "number",
1553
- class: n(Pi),
1568
+ class: n(zi),
1554
1569
  value: e.modelValue.left,
1555
1570
  "aria-label": x(o).spacingControl.left,
1556
1571
  min: "0",
1557
1572
  onInput: r[4] ||= (e) => h("left", Number(e.target.value))
1558
- }, null, 40, Si),
1573
+ }, null, 40, Di),
1559
1574
  p("button", {
1560
1575
  "aria-label": x(o).spacingControl.increaseLeft,
1561
- class: n([Ni, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1576
+ class: n([Ri, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1562
1577
  onClick: r[5] ||= (e) => f("left", 1)
1563
1578
  }, [g(x(Q), {
1564
1579
  size: 12,
1565
1580
  "stroke-width": 2
1566
- })], 10, Ci)
1581
+ })], 10, Oi)
1567
1582
  ]),
1568
1583
  p("button", {
1569
1584
  class: n(["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)]", u.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)]"]),
1570
1585
  "aria-label": u.value ? x(o).spacingControl.unlock : x(o).spacingControl.lockAll,
1571
1586
  title: u.value ? x(o).spacingControl.unlock : x(o).spacingControl.lockAll,
1572
1587
  onClick: _
1573
- }, [u.value ? (s(), y(x(Qt), {
1588
+ }, [u.value ? (s(), y(x(en), {
1574
1589
  key: 0,
1575
1590
  size: 14,
1576
1591
  "stroke-width": 2
1577
- })) : (s(), y(x(Zt), {
1592
+ })) : (s(), y(x($t), {
1578
1593
  key: 1,
1579
1594
  size: 14,
1580
1595
  "stroke-width": 2
1581
- }))], 10, wi),
1582
- p("div", Ti, [
1596
+ }))], 10, ki),
1597
+ p("div", Ai, [
1583
1598
  p("button", {
1584
1599
  "aria-label": x(o).spacingControl.decreaseRight,
1585
- class: n([Ni, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1600
+ class: n([Ri, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1586
1601
  onClick: r[6] ||= (e) => f("right", -1)
1587
- }, [g(x(pt), {
1602
+ }, [g(x(mt), {
1588
1603
  size: 12,
1589
1604
  "stroke-width": 2
1590
- })], 10, Ei),
1605
+ })], 10, ji),
1591
1606
  p("input", {
1592
1607
  type: "number",
1593
- class: n(Pi),
1608
+ class: n(zi),
1594
1609
  value: e.modelValue.right,
1595
1610
  "aria-label": x(o).spacingControl.right,
1596
1611
  min: "0",
1597
1612
  onInput: r[7] ||= (e) => h("right", Number(e.target.value))
1598
- }, null, 40, Di),
1613
+ }, null, 40, Mi),
1599
1614
  p("button", {
1600
1615
  "aria-label": x(o).spacingControl.increaseRight,
1601
- class: n([Ni, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1616
+ class: n([Ri, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1602
1617
  onClick: r[8] ||= (e) => f("right", 1)
1603
1618
  }, [g(x(Q), {
1604
1619
  size: 12,
1605
1620
  "stroke-width": 2
1606
- })], 10, Oi)
1621
+ })], 10, Ni)
1607
1622
  ])
1608
1623
  ]),
1609
- p("div", ki, [
1624
+ p("div", Pi, [
1610
1625
  p("button", {
1611
1626
  "aria-label": x(o).spacingControl.decreaseBottom,
1612
- class: n([Ni, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1627
+ class: n([Ri, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1613
1628
  onClick: r[9] ||= (e) => f("bottom", -1)
1614
- }, [g(x(pt), {
1629
+ }, [g(x(mt), {
1615
1630
  size: 12,
1616
1631
  "stroke-width": 2
1617
- })], 10, Ai),
1632
+ })], 10, Fi),
1618
1633
  p("input", {
1619
1634
  type: "number",
1620
- class: n(Pi),
1635
+ class: n(zi),
1621
1636
  value: e.modelValue.bottom,
1622
1637
  "aria-label": x(o).spacingControl.bottom,
1623
1638
  min: "0",
1624
1639
  onInput: r[10] ||= (e) => h("bottom", Number(e.target.value))
1625
- }, null, 40, ji),
1640
+ }, null, 40, Ii),
1626
1641
  p("button", {
1627
1642
  "aria-label": x(o).spacingControl.increaseBottom,
1628
- class: n([Ni, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1643
+ class: n([Ri, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1629
1644
  onClick: r[11] ||= (e) => f("bottom", 1)
1630
1645
  }, [g(x(Q), {
1631
1646
  size: 12,
1632
1647
  "stroke-width": 2
1633
- })], 10, Mi)
1648
+ })], 10, Li)
1634
1649
  ])
1635
1650
  ])]));
1636
1651
  }
1637
- }), [["__scopeId", "data-v-9a9c8a07"]]), Ii = { class: "tpl:mt-3" }, Li = /* @__PURE__ */ f({
1652
+ }), [["__scopeId", "data-v-9a9c8a07"]]), Vi = ["data-testid"], Hi = { class: "tpl:mt-3" }, Ui = /* @__PURE__ */ f({
1638
1653
  __name: "CollapsibleSection",
1639
1654
  props: {
1640
1655
  title: {},
1641
1656
  open: { type: Boolean },
1642
- noBorder: { type: Boolean }
1657
+ noBorder: { type: Boolean },
1658
+ headerTestId: {}
1643
1659
  },
1644
1660
  emits: ["toggle"],
1645
1661
  setup(e) {
1646
1662
  return (t, r) => (s(), m("div", { class: n(["tpl:py-3", e.noBorder ? "" : "tpl:border-t tpl:border-[var(--tpl-border)]"]) }, [p("button", {
1647
1663
  type: "button",
1664
+ "data-testid": e.headerTestId,
1648
1665
  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)]",
1649
1666
  onClick: r[0] ||= (e) => t.$emit("toggle")
1650
- }, [g(x(dt), {
1667
+ }, [g(x(ft), {
1651
1668
  class: n(["tpl:transition-transform tpl:duration-200", e.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
1652
1669
  size: 12,
1653
1670
  "stroke-width": 2
1654
- }, null, 8, ["class"]), p("span", null, c(e.title), 1)]), k(p("div", Ii, [_(t.$slots, "default")], 512), [[M, e.open]])], 2));
1671
+ }, null, 8, ["class"]), p("span", null, c(e.title), 1)], 8, Vi), k(p("div", Hi, [_(t.$slots, "default")], 512), [[M, e.open]])], 2));
1655
1672
  }
1656
- }), Ri = { class: "tpl:space-y-2" }, zi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Bi = { class: "tpl:space-y-2" }, Vi = ["value"], Hi = { value: "" }, Ui = ["label"], Wi = ["value"], Gi = ["value"], Ki = {
1673
+ }), Wi = { class: "tpl:space-y-2" }, Gi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ki = { class: "tpl:space-y-2" }, qi = ["value"], Ji = { value: "" }, Yi = ["label"], Xi = ["value"], Zi = ["value"], Qi = {
1657
1674
  key: 0,
1658
1675
  value: "__custom__"
1659
- }, qi = {
1676
+ }, $i = {
1660
1677
  key: 0,
1661
1678
  class: "tpl:space-y-2"
1662
- }, Ji = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Yi = { 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" }, Zi = ["disabled"], Qi = {
1679
+ }, ea = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ta = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, na = { class: "tpl:flex tpl:justify-end" }, ra = ["disabled"], ia = {
1663
1680
  key: 0,
1664
1681
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
1665
- }, $i = { class: "tpl:space-y-1" }, ea = { 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)]" }, ta = {
1682
+ }, aa = { class: "tpl:space-y-1" }, oa = { 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)]" }, sa = {
1666
1683
  key: 0,
1667
1684
  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)]"
1668
- }, na = /* @__PURE__ */ f({
1685
+ }, ca = /* @__PURE__ */ f({
1669
1686
  __name: "CommonBlockSettings",
1670
1687
  props: {
1671
1688
  block: {},
@@ -1673,23 +1690,23 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1673
1690
  },
1674
1691
  emits: ["update"],
1675
1692
  setup(t, { emit: r }) {
1676
- let a = t, u = r, { t: f } = H(), h = D(nt, []), _ = D(rt, !1), v = S(/* @__PURE__ */ new Set()), E = d(!1), O = d(""), j = d(""), M = [{
1693
+ let a = t, u = r, { t: f } = U(), h = D(et, []), _ = D(rt, !1), v = S(/* @__PURE__ */ new Set()), E = d(!1), O = d(""), j = d(""), M = [{
1677
1694
  key: "desktop",
1678
- icon: Ct,
1695
+ icon: wt,
1679
1696
  labelKey: "showOnDesktop"
1680
1697
  }, {
1681
1698
  key: "mobile",
1682
- icon: wt,
1699
+ icon: Tt,
1683
1700
  labelKey: "showOnMobile"
1684
1701
  }];
1685
1702
  function N(e) {
1686
1703
  v.has(e) ? v.delete(e) : v.add(e);
1687
1704
  }
1688
1705
  let P = w(() => h.length > 0 || _), F = w(() => a.block.displayCondition ? !h.some((e) => e.label === a.block.displayCondition?.label) : !1);
1689
- function I() {
1706
+ function ee() {
1690
1707
  E.value = !0, F.value && a.block.displayCondition ? (O.value = a.block.displayCondition.before, j.value = a.block.displayCondition.after ?? "") : (O.value = "", j.value = "");
1691
1708
  }
1692
- function L() {
1709
+ function I() {
1693
1710
  O.value.trim() && (u("update", { displayCondition: {
1694
1711
  label: f.blockSettings.customCondition,
1695
1712
  before: O.value.trim(),
@@ -1703,7 +1720,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1703
1720
  }
1704
1721
  F.value && (O.value = e.before, j.value = e.after ?? "");
1705
1722
  }, { immediate: !0 });
1706
- let R = w(() => {
1723
+ let L = w(() => {
1707
1724
  let e = {};
1708
1725
  for (let t of h) {
1709
1726
  let n = t.group ?? "";
@@ -1711,33 +1728,33 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1711
1728
  }
1712
1729
  return e;
1713
1730
  });
1714
- function z(e, t) {
1731
+ function R(e, t) {
1715
1732
  u("update", { styles: {
1716
1733
  ...a.block.styles,
1717
1734
  [e]: t
1718
1735
  } });
1719
1736
  }
1720
- function B(e) {
1737
+ function z(e) {
1721
1738
  return a.block.visibility?.[e] !== !1;
1722
1739
  }
1723
- function ee(e) {
1740
+ function B(e) {
1724
1741
  let t = {
1725
- desktop: B("desktop"),
1726
- mobile: B("mobile")
1742
+ desktop: z("desktop"),
1743
+ mobile: z("mobile")
1727
1744
  };
1728
1745
  t[e] = !t[e], u("update", { visibility: t });
1729
1746
  }
1730
1747
  return (r, i) => (s(), m("div", { class: n(["tpl:flex tpl:flex-col", t.isFirstSection ? "" : "tpl:mt-4"]) }, [
1731
- g(Li, {
1748
+ g(Ui, {
1732
1749
  title: x(f).blockSettings.spacing,
1733
1750
  open: v.has("spacing"),
1734
1751
  "no-border": t.isFirstSection,
1735
1752
  onToggle: i[1] ||= (e) => N("spacing")
1736
1753
  }, {
1737
- default: l(() => [g(Fi, {
1754
+ default: l(() => [g(Bi, {
1738
1755
  label: x(f).blockSettings.padding,
1739
1756
  "model-value": t.block.styles.padding,
1740
- "onUpdate:modelValue": i[0] ||= (e) => z("padding", e)
1757
+ "onUpdate:modelValue": i[0] ||= (e) => R("padding", e)
1741
1758
  }, null, 8, ["label", "model-value"])]),
1742
1759
  _: 1
1743
1760
  }, 8, [
@@ -1745,30 +1762,30 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1745
1762
  "open",
1746
1763
  "no-border"
1747
1764
  ]),
1748
- g(Li, {
1765
+ g(Ui, {
1749
1766
  title: x(f).blockSettings.background,
1750
1767
  open: v.has("bg"),
1751
1768
  onToggle: i[3] ||= (e) => N("bg")
1752
1769
  }, {
1753
- default: l(() => [p("label", { class: n(x(G)) }, c(x(f).blockSettings.color), 3), g(J, {
1770
+ default: l(() => [p("label", { class: n(x(K)) }, c(x(f).blockSettings.color), 3), g(Y, {
1754
1771
  "model-value": t.block.styles.backgroundColor ?? "",
1755
- "onUpdate:modelValue": i[2] ||= (e) => z("backgroundColor", e)
1772
+ "onUpdate:modelValue": i[2] ||= (e) => R("backgroundColor", e)
1756
1773
  }, null, 8, ["model-value"])]),
1757
1774
  _: 1
1758
1775
  }, 8, ["title", "open"]),
1759
- g(Li, {
1776
+ g(Ui, {
1760
1777
  title: x(f).blockSettings.display,
1761
1778
  open: v.has("display"),
1762
1779
  onToggle: i[4] ||= (e) => N("display")
1763
1780
  }, {
1764
- default: l(() => [p("div", Ri, [(s(), m(C, null, e(M, (e) => g(Y, {
1781
+ default: l(() => [p("div", Wi, [(s(), m(C, null, e(M, (e) => g(X, {
1765
1782
  key: e.key,
1766
1783
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
1767
- "model-value": B(e.key),
1784
+ "model-value": z(e.key),
1768
1785
  label: x(f).blockSettings[e.labelKey],
1769
- "onUpdate:modelValue": (t) => ee(e.key)
1786
+ "onUpdate:modelValue": (t) => B(e.key)
1770
1787
  }, {
1771
- default: l(() => [p("span", zi, [(s(), y(o(e.icon), {
1788
+ default: l(() => [p("span", Gi, [(s(), y(o(e.icon), {
1772
1789
  size: 14,
1773
1790
  "stroke-width": 1.5
1774
1791
  })), b(" " + c(x(f).blockSettings[e.labelKey]), 1)])]),
@@ -1780,19 +1797,21 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1780
1797
  ])), 64))])]),
1781
1798
  _: 1
1782
1799
  }, 8, ["title", "open"]),
1783
- P.value ? (s(), y(Li, {
1800
+ P.value ? (s(), y(Ui, {
1784
1801
  key: 0,
1802
+ "header-test-id": "display-condition-section",
1785
1803
  title: x(f).blockSettings.displayCondition,
1786
1804
  open: v.has("condition"),
1787
1805
  onToggle: i[8] ||= (e) => N("condition")
1788
1806
  }, {
1789
- default: l(() => [p("div", Bi, [p("select", {
1807
+ default: l(() => [p("div", Ki, [p("select", {
1808
+ "data-testid": "display-condition-select",
1790
1809
  class: n(["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)]", t.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)]"]),
1791
1810
  value: E.value || F.value ? "__custom__" : t.block.displayCondition?.label ?? "",
1792
1811
  onChange: i[5] ||= (e) => {
1793
1812
  let t = e.target.value;
1794
1813
  if (t === "__custom__") {
1795
- I();
1814
+ ee();
1796
1815
  return;
1797
1816
  }
1798
1817
  if (E.value = !1, !t) {
@@ -1803,41 +1822,41 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1803
1822
  n && u("update", { displayCondition: n });
1804
1823
  }
1805
1824
  }, [
1806
- p("option", Hi, c(x(f).blockSettings.noCondition), 1),
1807
- (s(!0), m(C, null, e(R.value, (t, n) => (s(), m(C, { key: n }, [n ? (s(), m("optgroup", {
1825
+ p("option", Ji, c(x(f).blockSettings.noCondition), 1),
1826
+ (s(!0), m(C, null, e(L.value, (t, n) => (s(), m(C, { key: n }, [n ? (s(), m("optgroup", {
1808
1827
  key: 0,
1809
1828
  label: String(n)
1810
1829
  }, [(s(!0), m(C, null, e(t, (e) => (s(), m("option", {
1811
1830
  key: e.label,
1812
1831
  value: e.label
1813
- }, c(e.label), 9, Wi))), 128))], 8, Ui)) : (s(!0), m(C, { key: 1 }, e(t, (e) => (s(), m("option", {
1832
+ }, c(e.label), 9, Xi))), 128))], 8, Yi)) : (s(!0), m(C, { key: 1 }, e(t, (e) => (s(), m("option", {
1814
1833
  key: e.label,
1815
1834
  value: e.label
1816
- }, c(e.label), 9, Gi))), 128))], 64))), 128)),
1817
- x(_) ? (s(), m("option", Ki, c(x(f).blockSettings.customCondition), 1)) : T("", !0)
1818
- ], 42, Vi), E.value || F.value ? (s(), m("div", qi, [
1819
- p("div", null, [p("label", Ji, c(x(f).blockSettings.customConditionBefore), 1), k(p("textarea", {
1835
+ }, c(e.label), 9, Zi))), 128))], 64))), 128)),
1836
+ x(_) ? (s(), m("option", Qi, c(x(f).blockSettings.customCondition), 1)) : T("", !0)
1837
+ ], 42, qi), E.value || F.value ? (s(), m("div", $i, [
1838
+ p("div", null, [p("label", ea, c(x(f).blockSettings.customConditionBefore), 1), k(p("textarea", {
1820
1839
  "onUpdate:modelValue": i[6] ||= (e) => O.value = e,
1821
1840
  rows: "2",
1822
- class: n(x(zt))
1841
+ class: n(x(Bt))
1823
1842
  }, null, 2), [[A, O.value]])]),
1824
- p("div", null, [p("label", Yi, c(x(f).blockSettings.customConditionAfter), 1), k(p("textarea", {
1843
+ p("div", null, [p("label", ta, c(x(f).blockSettings.customConditionAfter), 1), k(p("textarea", {
1825
1844
  "onUpdate:modelValue": i[7] ||= (e) => j.value = e,
1826
1845
  rows: "2",
1827
- class: n(x(zt))
1846
+ class: n(x(Bt))
1828
1847
  }, null, 2), [[A, j.value]])]),
1829
- p("div", Xi, [p("button", {
1848
+ p("div", na, [p("button", {
1830
1849
  type: "button",
1831
1850
  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",
1832
1851
  disabled: !O.value.trim(),
1833
- onClick: L
1834
- }, c(x(f).blockSettings.applyCondition), 9, Zi)])
1835
- ])) : t.block.displayCondition && !F.value ? (s(), m(C, { key: 1 }, [t.block.displayCondition.description ? (s(), m("p", Qi, c(t.block.displayCondition.description), 1)) : T("", !0), p("div", $i, [p("pre", ea, c(t.block.displayCondition.before), 1), t.block.displayCondition.after ? (s(), m("pre", ta, c(t.block.displayCondition.after), 1)) : T("", !0)])], 64)) : T("", !0)])]),
1852
+ onClick: I
1853
+ }, c(x(f).blockSettings.applyCondition), 9, ra)])
1854
+ ])) : t.block.displayCondition && !F.value ? (s(), m(C, { key: 1 }, [t.block.displayCondition.description ? (s(), m("p", ia, c(t.block.displayCondition.description), 1)) : T("", !0), p("div", aa, [p("pre", oa, c(t.block.displayCondition.before), 1), t.block.displayCondition.after ? (s(), m("pre", sa, c(t.block.displayCondition.after), 1)) : T("", !0)])], 64)) : T("", !0)])]),
1836
1855
  _: 1
1837
1856
  }, 8, ["title", "open"])) : T("", !0)
1838
1857
  ], 2));
1839
1858
  }
1840
- }), ra = ["title"], ia = /* @__PURE__ */ f({
1859
+ }), la = ["title"], ua = /* @__PURE__ */ f({
1841
1860
  __name: "BooleanField",
1842
1861
  props: {
1843
1862
  field: {},
@@ -1846,11 +1865,11 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1846
1865
  },
1847
1866
  emits: ["update:modelValue"],
1848
1867
  setup(e, { emit: t }) {
1849
- let n = t, { t: r } = H();
1868
+ let n = t, { t: r } = U();
1850
1869
  return (t, i) => (s(), m("div", {
1851
1870
  class: "tpl:mb-3.5",
1852
1871
  title: e.readOnly ? x(r).customBlocks.dataSource.readOnlyTooltip : void 0
1853
- }, [g(Y, {
1872
+ }, [g(X, {
1854
1873
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1855
1874
  "model-value": e.modelValue,
1856
1875
  label: e.field.label,
@@ -1858,7 +1877,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1858
1877
  disabled: e.readOnly,
1859
1878
  "onUpdate:modelValue": i[0] ||= (e) => n("update:modelValue", e)
1860
1879
  }, {
1861
- default: l(() => [b(c(e.field.label) + " ", 1), e.readOnly ? (s(), y(x(Qt), {
1880
+ default: l(() => [b(c(e.field.label) + " ", 1), e.readOnly ? (s(), y(x(en), {
1862
1881
  key: 0,
1863
1882
  size: 12,
1864
1883
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
@@ -1869,12 +1888,12 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1869
1888
  "label",
1870
1889
  "required",
1871
1890
  "disabled"
1872
- ])], 8, ra));
1891
+ ])], 8, la));
1873
1892
  }
1874
- }), aa = { class: "tpl:mb-3.5" }, oa = {
1893
+ }), da = { class: "tpl:mb-3.5" }, fa = {
1875
1894
  key: 1,
1876
1895
  class: "tpl:text-[var(--tpl-danger)]"
1877
- }, sa = /* @__PURE__ */ f({
1896
+ }, pa = /* @__PURE__ */ f({
1878
1897
  __name: "FieldWrapper",
1879
1898
  props: {
1880
1899
  label: {},
@@ -1882,17 +1901,17 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1882
1901
  readOnly: { type: Boolean }
1883
1902
  },
1884
1903
  setup(e) {
1885
- return (t, r) => (s(), m("div", aa, [p("label", { class: n(x(G)) }, [
1904
+ return (t, r) => (s(), m("div", da, [p("label", { class: n(x(K)) }, [
1886
1905
  b(c(e.label) + " ", 1),
1887
- e.readOnly ? (s(), y(x(Qt), {
1906
+ e.readOnly ? (s(), y(x(en), {
1888
1907
  key: 0,
1889
1908
  size: 12,
1890
1909
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1891
1910
  })) : T("", !0),
1892
- e.required ? (s(), m("span", oa, "*")) : T("", !0)
1911
+ e.required ? (s(), m("span", fa, "*")) : T("", !0)
1893
1912
  ], 2), _(t.$slots, "default")]));
1894
1913
  }
1895
- }), ca = /* @__PURE__ */ f({
1914
+ }), ma = /* @__PURE__ */ f({
1896
1915
  __name: "ColorField",
1897
1916
  props: {
1898
1917
  field: {},
@@ -1901,13 +1920,13 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1901
1920
  },
1902
1921
  emits: ["update:modelValue"],
1903
1922
  setup(e, { emit: t }) {
1904
- let n = e, r = t, { t: i } = H(), a = D(tt, Le), o = w(() => V(n.field, a));
1905
- return (t, n) => (s(), y(sa, {
1923
+ let n = e, r = t, { t: i } = U(), a = D(ct, Ie), o = w(() => ae(n.field, a));
1924
+ return (t, n) => (s(), y(pa, {
1906
1925
  label: e.field.label,
1907
1926
  required: e.field.required,
1908
1927
  "read-only": e.readOnly
1909
1928
  }, {
1910
- default: l(() => [g(J, {
1929
+ default: l(() => [g(Y, {
1911
1930
  "model-value": e.modelValue,
1912
1931
  placeholder: e.field.placeholder,
1913
1932
  disabled: e.readOnly,
@@ -1930,15 +1949,15 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1930
1949
  "read-only"
1931
1950
  ]));
1932
1951
  }
1933
- }), la = {
1952
+ }), ha = {
1934
1953
  key: 0,
1935
1954
  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)]",
1936
1955
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
1937
- }, ua = [
1956
+ }, ga = [
1938
1957
  "value",
1939
1958
  "placeholder",
1940
1959
  "title"
1941
- ], da = ["value", "placeholder"], fa = /* @__PURE__ */ f({
1960
+ ], _a = ["value", "placeholder"], va = /* @__PURE__ */ f({
1942
1961
  __name: "ImageField",
1943
1962
  props: {
1944
1963
  field: {},
@@ -1947,7 +1966,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1947
1966
  },
1948
1967
  emits: ["update:modelValue"],
1949
1968
  setup(e, { emit: t }) {
1950
- let r = e, i = t, { t: a } = H(), o = D($e, null), u = Pt(), f = w(() => !!o);
1969
+ let r = e, i = t, { t: a } = U(), o = D(Ue, null), u = Ft(), f = w(() => !!o);
1951
1970
  async function h() {
1952
1971
  let e = await o?.({ accept: ["images"] });
1953
1972
  u.alive && e && i("update:modelValue", e.url);
@@ -1973,7 +1992,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1973
1992
  enabled: S,
1974
1993
  onFiles: E
1975
1994
  });
1976
- return (t, r) => (s(), y(sa, {
1995
+ return (t, r) => (s(), y(pa, {
1977
1996
  label: e.field.label,
1978
1997
  required: e.field.required,
1979
1998
  "read-only": e.readOnly
@@ -1983,7 +2002,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1983
2002
  ref: _,
1984
2003
  class: "tpl:relative"
1985
2004
  }, [
1986
- S.value && (x(O) || v.value) ? (s(), m("div", la, [v.value ? (s(), m(C, { key: 0 }, [g(x(St), {
2005
+ S.value && (x(O) || v.value) ? (s(), m("div", ha, [v.value ? (s(), m(C, { key: 0 }, [g(x(Ct), {
1987
2006
  class: "tpl-spinner",
1988
2007
  size: 18,
1989
2008
  "stroke-width": 2
@@ -1994,19 +2013,19 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
1994
2013
  e.readOnly ? (s(), m("input", {
1995
2014
  key: 1,
1996
2015
  type: "url",
1997
- class: n([x(W), "tpl:opacity-60 tpl:cursor-not-allowed"]),
2016
+ class: n([x(G), "tpl:opacity-60 tpl:cursor-not-allowed"]),
1998
2017
  value: e.modelValue,
1999
2018
  placeholder: e.field.placeholder || "https://...",
2000
2019
  disabled: "",
2001
2020
  title: x(a).customBlocks.dataSource.readOnlyTooltip
2002
- }, null, 10, ua)) : (s(), m("input", {
2021
+ }, null, 10, ga)) : (s(), m("input", {
2003
2022
  key: 2,
2004
2023
  type: "url",
2005
- class: n(x(W)),
2024
+ class: n(x(G)),
2006
2025
  value: e.modelValue,
2007
2026
  placeholder: e.field.placeholder || "https://...",
2008
2027
  onInput: r[0] ||= (e) => i("update:modelValue", e.target.value)
2009
- }, null, 42, da)),
2028
+ }, null, 42, _a)),
2010
2029
  f.value && !e.readOnly ? (s(), m("button", {
2011
2030
  key: 3,
2012
2031
  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)]",
@@ -2023,7 +2042,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2023
2042
  "read-only"
2024
2043
  ]));
2025
2044
  }
2026
- }), pa = [
2045
+ }), ya = [
2027
2046
  "value",
2028
2047
  "placeholder",
2029
2048
  "min",
@@ -2031,7 +2050,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2031
2050
  "step",
2032
2051
  "disabled",
2033
2052
  "title"
2034
- ], ma = /* @__PURE__ */ f({
2053
+ ], ba = /* @__PURE__ */ f({
2035
2054
  __name: "NumberField",
2036
2055
  props: {
2037
2056
  field: {},
@@ -2040,15 +2059,15 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2040
2059
  },
2041
2060
  emits: ["update:modelValue"],
2042
2061
  setup(e, { emit: t }) {
2043
- let r = t, { t: i } = H();
2044
- return (t, a) => (s(), y(sa, {
2062
+ let r = t, { t: i } = U();
2063
+ return (t, a) => (s(), y(pa, {
2045
2064
  label: e.field.label,
2046
2065
  required: e.field.required,
2047
2066
  "read-only": e.readOnly
2048
2067
  }, {
2049
2068
  default: l(() => [p("input", {
2050
2069
  type: "number",
2051
- class: n([x(W), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
2070
+ class: n([x(G), e.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
2052
2071
  value: e.modelValue,
2053
2072
  placeholder: e.field.placeholder,
2054
2073
  min: e.field.min,
@@ -2057,7 +2076,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2057
2076
  disabled: e.readOnly,
2058
2077
  title: e.readOnly ? x(i).customBlocks.dataSource.readOnlyTooltip : void 0,
2059
2078
  onInput: a[0] ||= (t) => !e.readOnly && r("update:modelValue", Number(t.target.value))
2060
- }, null, 42, pa)]),
2079
+ }, null, 42, ya)]),
2061
2080
  _: 1
2062
2081
  }, 8, [
2063
2082
  "label",
@@ -2065,10 +2084,10 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2065
2084
  "read-only"
2066
2085
  ]));
2067
2086
  }
2068
- }), ha = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ga = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, _a = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, va = ["title", "onClick"], ya = {
2087
+ }), xa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Sa = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, Ca = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, wa = ["title", "onClick"], Ta = {
2069
2088
  key: 1,
2070
2089
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2071
- }, ba = /* @__PURE__ */ f({
2090
+ }, Ea = /* @__PURE__ */ f({
2072
2091
  __name: "RepeatableField",
2073
2092
  props: {
2074
2093
  field: {},
@@ -2077,7 +2096,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2077
2096
  },
2078
2097
  emits: ["update:modelValue"],
2079
2098
  setup(t, { emit: r }) {
2080
- let i = t, a = r, { t: u } = H(), d = w(() => i.modelValue || []), f = w(() => !i.field.maxItems || d.value.length < i.field.maxItems), h = w(() => !i.field.minItems || d.value.length > i.field.minItems);
2099
+ let i = t, a = r, { t: u } = U(), d = w(() => i.modelValue || []), f = w(() => !i.field.maxItems || d.value.length < i.field.maxItems), h = w(() => !i.field.minItems || d.value.length > i.field.minItems);
2081
2100
  function _() {
2082
2101
  if (!f.value || i.readOnly) return;
2083
2102
  let e = {};
@@ -2096,25 +2115,25 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2096
2115
  } : r);
2097
2116
  a("update:modelValue", r);
2098
2117
  }
2099
- return (r, i) => (s(), y(sa, {
2118
+ return (r, i) => (s(), y(pa, {
2100
2119
  label: t.field.label,
2101
2120
  required: t.field.required,
2102
2121
  "read-only": t.readOnly
2103
2122
  }, {
2104
- default: l(() => [p("div", ha, [
2123
+ default: l(() => [p("div", xa, [
2105
2124
  (s(!0), m(C, null, e(d.value, (n, r) => (s(), m("div", {
2106
2125
  key: `${t.field.key}-${r}`,
2107
2126
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
2108
- }, [p("div", ga, [p("span", _a, " #" + c(r + 1), 1), h.value && !t.readOnly ? (s(), m("button", {
2127
+ }, [p("div", Sa, [p("span", Ca, " #" + c(r + 1), 1), h.value && !t.readOnly ? (s(), m("button", {
2109
2128
  key: 0,
2110
2129
  type: "button",
2111
2130
  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)]",
2112
2131
  title: x(u).customBlocks.fields.removeItem,
2113
2132
  onClick: (e) => v(r)
2114
- }, [g(x(kt), {
2133
+ }, [g(x(At), {
2115
2134
  size: 12,
2116
2135
  "stroke-width": 2
2117
- })], 8, va)) : T("", !0)]), (s(!0), m(C, null, e(t.field.fields, (e) => (s(), y(o(x(ka)(e.type)), {
2136
+ })], 8, wa)) : T("", !0)]), (s(!0), m(C, null, e(t.field.fields, (e) => (s(), y(o(x(Fa)(e.type)), {
2118
2137
  key: e.key,
2119
2138
  field: e,
2120
2139
  "model-value": n[e.key],
@@ -2129,13 +2148,13 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2129
2148
  f.value && !t.readOnly ? (s(), m("button", {
2130
2149
  key: 0,
2131
2150
  type: "button",
2132
- class: n(x(Vt)),
2151
+ class: n(x(Ht)),
2133
2152
  onClick: _
2134
2153
  }, [g(x(Q), {
2135
2154
  size: 14,
2136
2155
  "stroke-width": 2
2137
2156
  }), b(" " + c(x(u).customBlocks.fields.addItem), 1)], 2)) : T("", !0),
2138
- !f.value && !t.readOnly ? (s(), m("p", ya, c(x(u).customBlocks.fields.maxItemsReached), 1)) : T("", !0)
2157
+ !f.value && !t.readOnly ? (s(), m("p", Ta, c(x(u).customBlocks.fields.maxItemsReached), 1)) : T("", !0)
2139
2158
  ])]),
2140
2159
  _: 1
2141
2160
  }, 8, [
@@ -2144,11 +2163,11 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2144
2163
  "read-only"
2145
2164
  ]));
2146
2165
  }
2147
- }), xa = [
2166
+ }), Da = [
2148
2167
  "value",
2149
2168
  "disabled",
2150
2169
  "title"
2151
- ], Sa = ["value"], Ca = /* @__PURE__ */ f({
2170
+ ], Oa = ["value"], ka = /* @__PURE__ */ f({
2152
2171
  __name: "SelectField",
2153
2172
  props: {
2154
2173
  field: {},
@@ -2157,14 +2176,14 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2157
2176
  },
2158
2177
  emits: ["update:modelValue"],
2159
2178
  setup(t, { emit: r }) {
2160
- let i = r, { t: a } = H();
2161
- return (r, o) => (s(), y(sa, {
2179
+ let i = r, { t: a } = U();
2180
+ return (r, o) => (s(), y(pa, {
2162
2181
  label: t.field.label,
2163
2182
  required: t.field.required,
2164
2183
  "read-only": t.readOnly
2165
2184
  }, {
2166
2185
  default: l(() => [p("select", {
2167
- class: n([x(W), t.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
2186
+ class: n([x(G), t.readOnly && "tpl:opacity-60 tpl:cursor-not-allowed"]),
2168
2187
  value: t.modelValue,
2169
2188
  disabled: t.readOnly,
2170
2189
  title: t.readOnly ? x(a).customBlocks.dataSource.readOnlyTooltip : void 0,
@@ -2172,7 +2191,7 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2172
2191
  }, [(s(!0), m(C, null, e(t.field.options, (e) => (s(), m("option", {
2173
2192
  key: e.value,
2174
2193
  value: e.value
2175
- }, c(e.label), 9, Sa))), 128))], 42, xa)]),
2194
+ }, c(e.label), 9, Oa))), 128))], 42, Da)]),
2176
2195
  _: 1
2177
2196
  }, 8, [
2178
2197
  "label",
@@ -2180,11 +2199,11 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2180
2199
  "read-only"
2181
2200
  ]));
2182
2201
  }
2183
- }), wa = [
2202
+ }), Aa = [
2184
2203
  "value",
2185
2204
  "placeholder",
2186
2205
  "title"
2187
- ], Ta = /* @__PURE__ */ f({
2206
+ ], ja = /* @__PURE__ */ f({
2188
2207
  __name: "TextField",
2189
2208
  props: {
2190
2209
  field: {},
@@ -2193,8 +2212,8 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2193
2212
  },
2194
2213
  emits: ["update:modelValue"],
2195
2214
  setup(e, { emit: t }) {
2196
- let r = t, { t: i } = H();
2197
- return (t, a) => (s(), y(sa, {
2215
+ let r = t, { t: i } = U();
2216
+ return (t, a) => (s(), y(pa, {
2198
2217
  label: e.field.label,
2199
2218
  required: e.field.required,
2200
2219
  "read-only": e.readOnly
@@ -2202,12 +2221,12 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2202
2221
  default: l(() => [e.readOnly ? (s(), m("input", {
2203
2222
  key: 0,
2204
2223
  type: "text",
2205
- class: n([x(W), "tpl:opacity-60 tpl:cursor-not-allowed"]),
2224
+ class: n([x(G), "tpl:opacity-60 tpl:cursor-not-allowed"]),
2206
2225
  value: e.modelValue,
2207
2226
  placeholder: e.field.placeholder,
2208
2227
  disabled: "",
2209
2228
  title: x(i).customBlocks.dataSource.readOnlyTooltip
2210
- }, null, 10, wa)) : (s(), y($, {
2229
+ }, null, 10, Aa)) : (s(), y($, {
2211
2230
  key: 1,
2212
2231
  "model-value": e.modelValue,
2213
2232
  placeholder: e.field.placeholder,
@@ -2220,12 +2239,12 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2220
2239
  "read-only"
2221
2240
  ]));
2222
2241
  }
2223
- }), Ea = [
2242
+ }), Ma = [
2224
2243
  "value",
2225
2244
  "placeholder",
2226
2245
  "title"
2227
- ], Da = "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", Oa = {
2228
- text: Ta,
2246
+ ], Na = "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", Pa = {
2247
+ text: ja,
2229
2248
  textarea: /* @__PURE__ */ f({
2230
2249
  __name: "TextareaField",
2231
2250
  props: {
@@ -2235,8 +2254,8 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2235
2254
  },
2236
2255
  emits: ["update:modelValue"],
2237
2256
  setup(e, { emit: t }) {
2238
- let r = t, { t: i } = H();
2239
- return (t, a) => (s(), y(sa, {
2257
+ let r = t, { t: i } = U();
2258
+ return (t, a) => (s(), y(pa, {
2240
2259
  label: e.field.label,
2241
2260
  required: e.field.required,
2242
2261
  "read-only": e.readOnly
@@ -2248,8 +2267,8 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2248
2267
  rows: "3",
2249
2268
  disabled: "",
2250
2269
  title: x(i).customBlocks.dataSource.readOnlyTooltip,
2251
- class: n(Da)
2252
- }, null, 8, Ea)) : (s(), y(ar, {
2270
+ class: n(Na)
2271
+ }, null, 8, Ma)) : (s(), y(ur, {
2253
2272
  key: 1,
2254
2273
  "model-value": e.modelValue,
2255
2274
  placeholder: e.field.placeholder,
@@ -2263,42 +2282,42 @@ var Bn = ["aria-label", "onKeydown"], Vn = ["data-tooltip"], Hn = ["data-tooltip
2263
2282
  ]));
2264
2283
  }
2265
2284
  }),
2266
- image: fa,
2267
- color: ca,
2268
- number: ma,
2269
- select: Ca,
2270
- boolean: ia,
2271
- repeatable: ba
2285
+ image: va,
2286
+ color: ma,
2287
+ number: ba,
2288
+ select: ka,
2289
+ boolean: ua,
2290
+ repeatable: Ea
2272
2291
  };
2273
- function ka(e) {
2274
- return Oa[e] ?? Ta;
2292
+ function Fa(e) {
2293
+ return Pa[e] ?? ja;
2275
2294
  }
2276
2295
  //#endregion
2277
2296
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
2278
- var Aa = {
2297
+ var Ia = {
2279
2298
  key: 0,
2280
2299
  class: "tpl:p-4"
2281
- }, ja = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ma = { key: 1 }, Na = {
2300
+ }, La = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ra = { key: 1 }, za = {
2282
2301
  key: 0,
2283
2302
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2284
- }, Pa = {
2303
+ }, Ba = {
2285
2304
  key: 1,
2286
2305
  class: "tpl:mb-4"
2287
- }, Fa = {
2306
+ }, Va = {
2288
2307
  key: 1,
2289
2308
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
2290
- }, Ia = {
2309
+ }, Ha = {
2291
2310
  key: 0,
2292
2311
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
2293
- }, La = {
2312
+ }, Ua = {
2294
2313
  key: 2,
2295
2314
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
2296
- }, Ra = /* @__PURE__ */ f({
2315
+ }, Wa = /* @__PURE__ */ f({
2297
2316
  __name: "CustomBlockToolbar",
2298
2317
  props: { block: {} },
2299
2318
  emits: ["updateFieldValues", "updateDataSourceFetched"],
2300
2319
  setup(t, { emit: n }) {
2301
- let r = t, i = n, { t: a } = H(), l = D(Ze, []), u = w(() => l.find((e) => e.type === r.block.customType)), d = w(() => r.block), { isFetching: f, fetchError: h, fetch: _, hasDataSource: v, needsFetch: S } = se({
2320
+ let r = t, i = n, { t: a } = U(), l = D(at, []), u = w(() => l.find((e) => e.type === r.block.customType)), d = w(() => r.block), { isFetching: f, fetchError: h, fetch: _, hasDataSource: v, needsFetch: S } = ce({
2302
2321
  definition: u,
2303
2322
  block: d,
2304
2323
  onUpdate: (e, t) => {
@@ -2314,23 +2333,23 @@ var Aa = {
2314
2333
  [e]: t
2315
2334
  });
2316
2335
  }
2317
- return (n, r) => u.value ? (s(), m("div", Ma, [
2318
- u.value.description ? (s(), m("p", Na, c(u.value.description), 1)) : T("", !0),
2319
- x(v) ? (s(), m("div", Pa, [x(S) && !x(f) ? (s(), m("button", {
2336
+ return (n, r) => u.value ? (s(), m("div", Ra, [
2337
+ u.value.description ? (s(), m("p", za, c(u.value.description), 1)) : T("", !0),
2338
+ x(v) ? (s(), m("div", Ba, [x(S) && !x(f) ? (s(), m("button", {
2320
2339
  key: 0,
2321
2340
  type: "button",
2322
2341
  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)]",
2323
2342
  onClick: r[0] ||= (...e) => x(_) && x(_)(...e)
2324
- }, c(u.value?.dataSource?.label || x(a).customBlocks.dataSource.fetchButton), 1)) : (s(), m("div", Fa, [x(f) ? (s(), m("div", Ia, c(x(a).customBlocks.dataSource.fetching), 1)) : (s(), m("button", {
2343
+ }, c(u.value?.dataSource?.label || x(a).customBlocks.dataSource.fetchButton), 1)) : (s(), m("div", Va, [x(f) ? (s(), m("div", Ha, c(x(a).customBlocks.dataSource.fetching), 1)) : (s(), m("button", {
2325
2344
  key: 1,
2326
2345
  type: "button",
2327
2346
  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)]",
2328
2347
  onClick: r[1] ||= (...e) => x(_) && x(_)(...e)
2329
- }, [g(x(vt), { size: 12 }), b(" " + c(x(a).customBlocks.dataSource.changeButton), 1)]))])), x(h) ? (s(), m("p", La, [g(x(ft), {
2348
+ }, [g(x(yt), { size: 12 }), b(" " + c(x(a).customBlocks.dataSource.changeButton), 1)]))])), x(h) ? (s(), m("p", Ua, [g(x(pt), {
2330
2349
  size: 14,
2331
2350
  class: "tpl:shrink-0"
2332
2351
  }), b(" " + c(x(a).customBlocks.dataSource.fetchError), 1)])) : T("", !0)])) : T("", !0),
2333
- (s(!0), m(C, null, e(u.value.fields, (e) => (s(), y(o(x(ka)(e.type)), {
2352
+ (s(!0), m(C, null, e(u.value.fields, (e) => (s(), y(o(x(Fa)(e.type)), {
2334
2353
  key: e.key,
2335
2354
  field: e,
2336
2355
  "model-value": t.block.fieldValues[e.key],
@@ -2342,19 +2361,19 @@ var Aa = {
2342
2361
  "read-only",
2343
2362
  "onUpdate:modelValue"
2344
2363
  ]))), 128))
2345
- ])) : (s(), m("div", Aa, [p("p", ja, c(x(a).customBlocks.toolbar.noDefinition), 1)]));
2364
+ ])) : (s(), m("div", Ia, [p("p", La, c(x(a).customBlocks.toolbar.noDefinition), 1)]));
2346
2365
  }
2347
- }), za = { class: "tpl:mb-3.5" }, Ba = { class: "tpl:mb-3.5" }, Va = { class: "tpl:mb-3.5" }, Ha = { class: "tpl:flex tpl:items-stretch" }, Ua = ["value"], Wa = /* @__PURE__ */ f({
2366
+ }), Ga = { class: "tpl:mb-3.5" }, Ka = { class: "tpl:mb-3.5" }, qa = { class: "tpl:mb-3.5" }, Ja = { class: "tpl:flex tpl:items-stretch" }, Ya = ["value"], Xa = /* @__PURE__ */ f({
2348
2367
  __name: "DividerToolbar",
2349
2368
  props: { block: {} },
2350
2369
  emits: ["update"],
2351
2370
  setup(e, { emit: t }) {
2352
- let r = t, { t: i } = H();
2371
+ let r = t, { t: i } = U();
2353
2372
  function a(e, t) {
2354
2373
  r("update", { [e]: t });
2355
2374
  }
2356
2375
  return (t, r) => (s(), m(C, null, [
2357
- p("div", za, [p("label", { class: n(x(G)) }, c(x(i).divider.style), 3), g(Z, {
2376
+ p("div", Ga, [p("label", { class: n(x(K)) }, c(x(i).divider.style), 3), g(qt, {
2358
2377
  options: [
2359
2378
  {
2360
2379
  value: "solid",
@@ -2372,57 +2391,57 @@ var Aa = {
2372
2391
  "model-value": e.block.lineStyle,
2373
2392
  "onUpdate:modelValue": r[0] ||= (e) => a("lineStyle", e)
2374
2393
  }, null, 8, ["options", "model-value"])]),
2375
- p("div", Ba, [p("label", { class: n(x(G)) }, c(x(i).divider.color), 3), g(J, {
2394
+ p("div", Ka, [p("label", { class: n(x(K)) }, c(x(i).divider.color), 3), g(Y, {
2376
2395
  "model-value": e.block.color,
2377
2396
  "onUpdate:modelValue": r[1] ||= (e) => a("color", e)
2378
2397
  }, null, 8, ["model-value"])]),
2379
- p("div", Va, [p("label", { class: n(x(G)) }, c(x(i).divider.thickness), 3), p("div", Ha, [p("input", {
2398
+ p("div", qa, [p("label", { class: n(x(K)) }, c(x(i).divider.thickness), 3), p("div", Ja, [p("input", {
2380
2399
  type: "number",
2381
- class: n(x(q)),
2400
+ class: n(x(J)),
2382
2401
  value: e.block.thickness,
2383
2402
  min: "1",
2384
2403
  max: "10",
2385
2404
  onInput: r[2] ||= (e) => a("thickness", Number(e.target.value))
2386
- }, null, 42, Ua), p("span", { class: n(x(K)) }, "px", 2)])])
2405
+ }, null, 42, Ya), p("span", { class: n(x(q)) }, "px", 2)])])
2387
2406
  ], 64));
2388
2407
  }
2389
- }), Ga = { class: "tpl:mb-3.5" }, Ka = ["value"], qa = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ja = /* @__PURE__ */ f({
2408
+ }), Za = { class: "tpl:mb-3.5" }, Qa = ["value"], $a = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, eo = /* @__PURE__ */ f({
2390
2409
  __name: "HtmlToolbar",
2391
2410
  props: { block: {} },
2392
2411
  emits: ["update"],
2393
2412
  setup(e, { emit: t }) {
2394
- let r = t, { t: i } = H();
2395
- return (t, a) => (s(), m("div", Ga, [
2396
- p("label", { class: n(x(G)) }, c(x(i).html.content), 3),
2413
+ let r = t, { t: i } = U();
2414
+ return (t, a) => (s(), m("div", Za, [
2415
+ p("label", { class: n(x(K)) }, c(x(i).html.content), 3),
2397
2416
  p("textarea", {
2398
2417
  value: e.block.content,
2399
2418
  placeholder: "<div>...</div>",
2400
2419
  rows: "10",
2401
- class: n(x(zt)),
2420
+ class: n(x(Bt)),
2402
2421
  onInput: a[0] ||= (e) => r("update", { content: e.target.value })
2403
- }, null, 42, Ka),
2404
- p("p", qa, [g(x(bt), {
2422
+ }, null, 42, Qa),
2423
+ p("p", $a, [g(x(xt), {
2405
2424
  size: 12,
2406
2425
  class: "tpl:mt-0.5 tpl:shrink-0"
2407
2426
  }), b(" " + c(x(i).html.sanitizationHint), 1)])
2408
2427
  ]));
2409
2428
  }
2410
- }), Ya = { class: "tpl:mb-3.5" }, Xa = {
2429
+ }), to = { class: "tpl:mb-3.5" }, no = {
2411
2430
  key: 0,
2412
2431
  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)]",
2413
2432
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
2414
- }, Za = {
2433
+ }, ro = {
2415
2434
  key: 0,
2416
2435
  class: "tpl:mb-3.5"
2417
- }, Qa = ["value", "placeholder"], $a = { class: "tpl:mb-3.5" }, eo = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, to = { class: "tpl:mb-3.5" }, no = ["value"], ro = { value: "full" }, io = { value: "custom" }, ao = {
2436
+ }, io = ["value", "placeholder"], ao = { class: "tpl:mb-3.5" }, oo = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, so = { class: "tpl:mb-3.5" }, co = ["value"], lo = { value: "full" }, uo = { value: "custom" }, fo = {
2418
2437
  key: 0,
2419
2438
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
2420
- }, oo = ["value"], so = { class: "tpl:mb-3.5" }, co = { class: "tpl:mb-3.5" }, lo = 350, uo = /* @__PURE__ */ f({
2439
+ }, po = ["value"], mo = { class: "tpl:mb-3.5" }, ho = { class: "tpl:mb-3.5" }, go = 350, _o = /* @__PURE__ */ f({
2421
2440
  __name: "ImageToolbar",
2422
2441
  props: { block: {} },
2423
2442
  emits: ["update"],
2424
2443
  setup(e, { emit: t }) {
2425
- let r = e, i = t, { t: a } = H(), o = D($e, null), u = D(et, ee.liquid), f = Pt(), h = w(() => !!o), _ = d(!1), v = d(!1), { start: S } = Ie(() => {
2444
+ let r = e, i = t, { t: a } = U(), o = D(Ue, null), u = D(Re, B.liquid), f = Ft(), h = w(() => !!o), _ = d(!1), v = d(!1), { start: S } = Fe(() => {
2426
2445
  _.value = !1;
2427
2446
  }, 1e3, { immediate: !1 }), E = [
2428
2447
  300,
@@ -2438,7 +2457,7 @@ var Aa = {
2438
2457
  function A(e) {
2439
2458
  if (e === "custom") {
2440
2459
  let e = r.block.width;
2441
- (typeof e != "number" || E.includes(e)) && k("width", lo);
2460
+ (typeof e != "number" || E.includes(e)) && k("width", go);
2442
2461
  return;
2443
2462
  }
2444
2463
  k("width", e === "full" ? "full" : Number(e));
@@ -2451,8 +2470,8 @@ var Aa = {
2451
2470
  let e = await o?.({ accept: ["images"] });
2452
2471
  f.alive && e && (k("src", e.url), e.alt && (k("alt", e.alt), v.value = !0), _.value = !0, S());
2453
2472
  }
2454
- let N = d(), P = d(!1), I = w(() => te(r.block.src, u)), L = w(() => h.value && !P.value && !I.value);
2455
- async function R(e) {
2473
+ let N = d(), P = d(!1), ee = w(() => V(r.block.src, u)), I = w(() => h.value && !P.value && !ee.value);
2474
+ async function L(e) {
2456
2475
  if (o) {
2457
2476
  P.value = !0;
2458
2477
  try {
@@ -2467,18 +2486,18 @@ var Aa = {
2467
2486
  }
2468
2487
  }
2469
2488
  }
2470
- let { isOver: z } = pe({
2489
+ let { isOver: R } = pe({
2471
2490
  target: N,
2472
- enabled: L,
2473
- onFiles: R
2491
+ enabled: I,
2492
+ onFiles: L
2474
2493
  });
2475
2494
  return (t, r) => (s(), m(C, null, [
2476
- p("div", Ya, [p("label", { class: n(x(G)) }, c(x(a).image.imageUrl), 3), p("div", {
2495
+ p("div", to, [p("label", { class: n(x(K)) }, c(x(a).image.imageUrl), 3), p("div", {
2477
2496
  ref_key: "dropZoneRef",
2478
2497
  ref: N,
2479
2498
  class: "tpl:relative"
2480
2499
  }, [
2481
- L.value && (x(z) || P.value) ? (s(), m("div", Xa, [P.value ? (s(), m(C, { key: 0 }, [g(x(St), {
2500
+ I.value && (x(R) || P.value) ? (s(), m("div", no, [P.value ? (s(), m(C, { key: 0 }, [g(x(Ct), {
2482
2501
  class: "tpl-spinner",
2483
2502
  size: 18,
2484
2503
  "stroke-width": 2
@@ -2511,15 +2530,15 @@ var Aa = {
2511
2530
  "stroke-width": 1.5
2512
2531
  }), b(" " + c(x(a).image.browseMedia), 1)])) : T("", !0)
2513
2532
  ], 512)]),
2514
- x(te)(e.block.src, x(u)) ? (s(), m("div", Za, [p("label", { class: n(x(G)) }, [b(c(x(a).image.placeholderUrl) + " ", 1), r[9] ||= p("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, c("(optional)"), -1)], 2), p("input", {
2533
+ x(V)(e.block.src, x(u)) ? (s(), m("div", ro, [p("label", { class: n(x(K)) }, [b(c(x(a).image.placeholderUrl) + " ", 1), r[9] ||= p("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, c("(optional)"), -1)], 2), p("input", {
2515
2534
  type: "url",
2516
- class: n(x(W)),
2535
+ class: n(x(G)),
2517
2536
  value: e.block.placeholderUrl || "",
2518
2537
  placeholder: x(a).image.placeholderUrlPlaceholder,
2519
2538
  onInput: r[1] ||= (e) => k("placeholderUrl", e.target.value)
2520
- }, null, 42, Qa)])) : T("", !0),
2521
- p("div", $a, [
2522
- p("label", { class: n(x(G)) }, c(x(a).image.altText), 3),
2539
+ }, null, 42, io)])) : T("", !0),
2540
+ p("div", ao, [
2541
+ p("label", { class: n(x(K)) }, c(x(a).image.altText), 3),
2523
2542
  g($, {
2524
2543
  "model-value": e.block.alt,
2525
2544
  type: "text",
@@ -2533,38 +2552,38 @@ var Aa = {
2533
2552
  "pulse",
2534
2553
  "disabled"
2535
2554
  ]),
2536
- g(Y, {
2555
+ g(X, {
2537
2556
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
2538
2557
  "model-value": e.block.decorative === !0,
2539
2558
  label: x(a).image.decorative,
2540
2559
  "onUpdate:modelValue": r[3] ||= (e) => k("decorative", e)
2541
2560
  }, {
2542
- default: l(() => [p("span", null, [b(c(x(a).image.decorative) + " ", 1), p("span", eo, c(x(a).image.decorativeHint), 1)])]),
2561
+ default: l(() => [p("span", null, [b(c(x(a).image.decorative) + " ", 1), p("span", oo, c(x(a).image.decorativeHint), 1)])]),
2543
2562
  _: 1
2544
2563
  }, 8, ["model-value", "label"])
2545
2564
  ]),
2546
- p("div", to, [
2547
- p("label", { class: n(x(G)) }, c(x(a).image.width), 3),
2565
+ p("div", so, [
2566
+ p("label", { class: n(x(K)) }, c(x(a).image.width), 3),
2548
2567
  p("select", {
2549
- class: n(x(W)),
2568
+ class: n(x(G)),
2550
2569
  value: O.value,
2551
2570
  onChange: r[4] ||= (e) => A(e.target.value)
2552
2571
  }, [
2553
- p("option", ro, c(x(a).image.fullWidth), 1),
2572
+ p("option", lo, c(x(a).image.fullWidth), 1),
2554
2573
  r[10] ||= p("option", { value: "300" }, "300px", -1),
2555
2574
  r[11] ||= p("option", { value: "400" }, "400px", -1),
2556
2575
  r[12] ||= p("option", { value: "500" }, "500px", -1),
2557
- p("option", io, c(x(a).image.widthCustom), 1)
2558
- ], 42, no),
2559
- O.value === "custom" ? (s(), m("div", ao, [p("input", {
2576
+ p("option", uo, c(x(a).image.widthCustom), 1)
2577
+ ], 42, co),
2578
+ O.value === "custom" ? (s(), m("div", fo, [p("input", {
2560
2579
  type: "number",
2561
- class: n(x(q)),
2562
- value: typeof e.block.width == "number" ? e.block.width : lo,
2580
+ class: n(x(J)),
2581
+ value: typeof e.block.width == "number" ? e.block.width : go,
2563
2582
  min: "20",
2564
2583
  onInput: r[5] ||= (e) => j(e.target.value)
2565
- }, null, 42, oo), p("span", { class: n(x(K)) }, "px", 2)])) : T("", !0)
2584
+ }, null, 42, po), p("span", { class: n(x(q)) }, "px", 2)])) : T("", !0)
2566
2585
  ]),
2567
- p("div", so, [p("label", { class: n(x(G)) }, c(x(a).title.align), 3), g(Z, {
2586
+ p("div", mo, [p("label", { class: n(x(K)) }, c(x(a).title.align), 3), g(qt, {
2568
2587
  options: [
2569
2588
  {
2570
2589
  value: "left",
@@ -2582,15 +2601,15 @@ var Aa = {
2582
2601
  "model-value": e.block.align,
2583
2602
  "onUpdate:modelValue": r[6] ||= (e) => k("align", e)
2584
2603
  }, null, 8, ["options", "model-value"])]),
2585
- p("div", co, [
2586
- p("label", { class: n(x(G)) }, c(x(a).image.linkUrl), 3),
2604
+ p("div", ho, [
2605
+ p("label", { class: n(x(K)) }, c(x(a).image.linkUrl), 3),
2587
2606
  g($, {
2588
2607
  "model-value": e.block.linkUrl || "",
2589
2608
  type: "url",
2590
2609
  placeholder: x(a).image.imageUrlPlaceholder,
2591
2610
  "onUpdate:modelValue": r[7] ||= (e) => k("linkUrl", e)
2592
2611
  }, null, 8, ["model-value", "placeholder"]),
2593
- e.block.linkUrl ? (s(), y(Y, {
2612
+ e.block.linkUrl ? (s(), y(X, {
2594
2613
  key: 0,
2595
2614
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
2596
2615
  "model-value": e.block.linkOpenInNewTab ?? !1,
@@ -2600,11 +2619,11 @@ var Aa = {
2600
2619
  ])
2601
2620
  ], 64));
2602
2621
  }
2603
- }), fo = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, po = { class: "tpl:flex tpl:items-center tpl:gap-2" }, mo = [
2622
+ }), vo = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, yo = { class: "tpl:flex tpl:items-center tpl:gap-2" }, bo = [
2604
2623
  "value",
2605
2624
  "placeholder",
2606
2625
  "onInput"
2607
- ], ho = ["title", "onClick"], go = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, _o = { class: "tpl:flex tpl:items-center tpl:gap-2" }, vo = ["value"], yo = { value: "" }, bo = ["value"], xo = ["value"], So = /* @__PURE__ */ f({
2626
+ ], xo = ["title", "onClick"], So = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Co = { class: "tpl:flex tpl:items-center tpl:gap-2" }, wo = ["value"], To = { value: "" }, Eo = ["value"], Do = ["value"], Oo = /* @__PURE__ */ f({
2608
2627
  __name: "MenuToolbar",
2609
2628
  props: {
2610
2629
  block: {},
@@ -2612,7 +2631,7 @@ var Aa = {
2612
2631
  },
2613
2632
  emits: ["update"],
2614
2633
  setup(t, { emit: r }) {
2615
- let i = t, a = r, { t: o } = H(), u = w(() => [
2634
+ let i = t, a = r, { t: o } = U(), u = w(() => [
2616
2635
  {
2617
2636
  key: "openInNewTab",
2618
2637
  label: o.menu.openInNewTab
@@ -2629,17 +2648,17 @@ var Aa = {
2629
2648
  {
2630
2649
  value: "left",
2631
2650
  label: o.title.alignLeft,
2632
- icon: Ot
2651
+ icon: kt
2633
2652
  },
2634
2653
  {
2635
2654
  value: "center",
2636
2655
  label: o.title.alignCenter,
2637
- icon: Dt
2656
+ icon: Ot
2638
2657
  },
2639
2658
  {
2640
2659
  value: "right",
2641
2660
  label: o.title.alignRight,
2642
- icon: Et
2661
+ icon: Dt
2643
2662
  }
2644
2663
  ]);
2645
2664
  function f(e, t) {
@@ -2647,7 +2666,7 @@ var Aa = {
2647
2666
  }
2648
2667
  function h() {
2649
2668
  let e = {
2650
- id: B(),
2669
+ id: z(),
2651
2670
  text: "",
2652
2671
  url: "",
2653
2672
  openInNewTab: !1,
@@ -2667,25 +2686,25 @@ var Aa = {
2667
2686
  a("update", { items: i.block.items.filter((t) => t.id !== e) });
2668
2687
  }
2669
2688
  return (r, i) => (s(), m(C, null, [
2670
- g(X, { label: x(o).menu.items }, {
2671
- default: l(() => [p("div", fo, [(s(!0), m(C, null, e(t.block.items, (r) => (s(), m("div", {
2689
+ g(Z, { label: x(o).menu.items }, {
2690
+ default: l(() => [p("div", vo, [(s(!0), m(C, null, e(t.block.items, (r) => (s(), m("div", {
2672
2691
  key: r.id,
2673
2692
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
2674
2693
  }, [
2675
- p("div", po, [p("input", {
2694
+ p("div", yo, [p("input", {
2676
2695
  type: "text",
2677
- class: n([x(W), "tpl:flex-1"]),
2696
+ class: n([x(G), "tpl:flex-1"]),
2678
2697
  value: r.text,
2679
2698
  placeholder: x(o).menu.text,
2680
2699
  onInput: (e) => _(r.id, "text", e.target.value)
2681
- }, null, 42, mo), p("button", {
2682
- class: n(x(Rt)),
2700
+ }, null, 42, bo), p("button", {
2701
+ class: n(x(zt)),
2683
2702
  title: x(o).menu.removeItem,
2684
2703
  onClick: (e) => v(r.id)
2685
- }, [g(x(At), {
2704
+ }, [g(x(jt), {
2686
2705
  size: 14,
2687
2706
  "stroke-width": 2
2688
- })], 10, ho)]),
2707
+ })], 10, xo)]),
2689
2708
  g($, {
2690
2709
  "model-value": r.url,
2691
2710
  type: "url",
@@ -2696,7 +2715,7 @@ var Aa = {
2696
2715
  "placeholder",
2697
2716
  "onUpdate:modelValue"
2698
2717
  ]),
2699
- p("div", go, [(s(!0), m(C, null, e(u.value, (e) => (s(), y(Y, {
2718
+ p("div", So, [(s(!0), m(C, null, e(u.value, (e) => (s(), y(X, {
2700
2719
  key: e.key,
2701
2720
  "model-value": r[e.key],
2702
2721
  label: e.label,
@@ -2706,13 +2725,13 @@ var Aa = {
2706
2725
  "label",
2707
2726
  "onUpdate:modelValue"
2708
2727
  ]))), 128))]),
2709
- p("div", _o, [p("label", { class: n([x(G), "tpl:!mb-0"]) }, c(x(o).menu.color), 3), g(J, {
2728
+ p("div", Co, [p("label", { class: n([x(K), "tpl:!mb-0"]) }, c(x(o).menu.color), 3), g(Y, {
2710
2729
  "swatch-only": "",
2711
2730
  "model-value": r.color || t.block.linkColor || t.block.color || "",
2712
2731
  "onUpdate:modelValue": (e) => _(r.id, "color", e)
2713
2732
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
2714
2733
  ]))), 128)), p("button", {
2715
- class: n(x(Vt)),
2734
+ class: n(x(Ht)),
2716
2735
  onClick: h
2717
2736
  }, [g(x(Q), {
2718
2737
  size: 14,
@@ -2720,19 +2739,19 @@ var Aa = {
2720
2739
  }), b(" " + c(x(o).menu.addItem), 1)], 2)])]),
2721
2740
  _: 1
2722
2741
  }, 8, ["label"]),
2723
- g(X, { label: x(o).menu.fontFamily }, {
2742
+ g(Z, { label: x(o).menu.fontFamily }, {
2724
2743
  default: l(() => [p("select", {
2725
- class: n(x(W)),
2744
+ class: n(x(G)),
2726
2745
  value: t.block.fontFamily || "",
2727
2746
  onChange: i[0] ||= (e) => f("fontFamily", e.target.value || void 0)
2728
- }, [p("option", yo, c(x(o).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
2747
+ }, [p("option", To, c(x(o).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
2729
2748
  key: e.value,
2730
2749
  value: e.value
2731
- }, c(e.label), 9, bo))), 128))], 42, vo)]),
2750
+ }, c(e.label), 9, Eo))), 128))], 42, wo)]),
2732
2751
  _: 1
2733
2752
  }, 8, ["label"]),
2734
- g(X, { label: x(o).menu.fontSize }, {
2735
- default: l(() => [g(Kt, {
2753
+ g(Z, { label: x(o).menu.fontSize }, {
2754
+ default: l(() => [g(Jt, {
2736
2755
  "model-value": t.block.fontSize,
2737
2756
  min: 8,
2738
2757
  max: 48,
@@ -2741,46 +2760,46 @@ var Aa = {
2741
2760
  }, null, 8, ["model-value"])]),
2742
2761
  _: 1
2743
2762
  }, 8, ["label"]),
2744
- g(X, { label: x(o).menu.color }, {
2745
- default: l(() => [g(J, {
2763
+ g(Z, { label: x(o).menu.color }, {
2764
+ default: l(() => [g(Y, {
2746
2765
  "model-value": t.block.color ?? "",
2747
2766
  "onUpdate:modelValue": i[2] ||= (e) => f("color", e || void 0)
2748
2767
  }, null, 8, ["model-value"])]),
2749
2768
  _: 1
2750
2769
  }, 8, ["label"]),
2751
- g(X, { label: x(o).menu.linkColor }, {
2752
- default: l(() => [g(J, {
2770
+ g(Z, { label: x(o).menu.linkColor }, {
2771
+ default: l(() => [g(Y, {
2753
2772
  "model-value": t.block.linkColor || t.block.color || "",
2754
2773
  "onUpdate:modelValue": i[3] ||= (e) => f("linkColor", e || void 0)
2755
2774
  }, null, 8, ["model-value"])]),
2756
2775
  _: 1
2757
2776
  }, 8, ["label"]),
2758
- g(X, { label: x(o).menu.textAlign }, {
2759
- default: l(() => [g(Z, {
2777
+ g(Z, { label: x(o).menu.textAlign }, {
2778
+ default: l(() => [g(qt, {
2760
2779
  options: d.value,
2761
2780
  "model-value": t.block.textAlign,
2762
2781
  "onUpdate:modelValue": i[4] ||= (e) => f("textAlign", e)
2763
2782
  }, null, 8, ["options", "model-value"])]),
2764
2783
  _: 1
2765
2784
  }, 8, ["label"]),
2766
- g(X, { label: x(o).menu.separator }, {
2785
+ g(Z, { label: x(o).menu.separator }, {
2767
2786
  default: l(() => [p("input", {
2768
2787
  type: "text",
2769
- class: n(x(W)),
2788
+ class: n(x(G)),
2770
2789
  value: t.block.separator,
2771
2790
  onInput: i[5] ||= (e) => f("separator", e.target.value)
2772
- }, null, 42, xo)]),
2791
+ }, null, 42, Do)]),
2773
2792
  _: 1
2774
2793
  }, 8, ["label"]),
2775
- g(X, { label: x(o).menu.separatorColor }, {
2776
- default: l(() => [g(J, {
2794
+ g(Z, { label: x(o).menu.separatorColor }, {
2795
+ default: l(() => [g(Y, {
2777
2796
  "model-value": t.block.separatorColor,
2778
2797
  "onUpdate:modelValue": i[6] ||= (e) => f("separatorColor", e)
2779
2798
  }, null, 8, ["model-value"])]),
2780
2799
  _: 1
2781
2800
  }, 8, ["label"]),
2782
- g(X, { label: x(o).menu.spacing }, {
2783
- default: l(() => [g(Kt, {
2801
+ g(Z, { label: x(o).menu.spacing }, {
2802
+ default: l(() => [g(Jt, {
2784
2803
  "model-value": t.block.spacing,
2785
2804
  min: 0,
2786
2805
  max: 50,
@@ -2794,11 +2813,11 @@ var Aa = {
2794
2813
  });
2795
2814
  //#endregion
2796
2815
  //#region src/utils/rebalanceColumnChildren.ts
2797
- function Co(e) {
2816
+ function ko(e) {
2798
2817
  return e === "1" ? 1 : e === "3" ? 3 : 2;
2799
2818
  }
2800
- function wo(e, t) {
2801
- let n = Co(t);
2819
+ function Ao(e, t) {
2820
+ let n = ko(t);
2802
2821
  if (e.length === n) return e;
2803
2822
  if (e.length < n) {
2804
2823
  let t = Array.from({ length: n - e.length }, () => []);
@@ -2809,18 +2828,18 @@ function wo(e, t) {
2809
2828
  }
2810
2829
  //#endregion
2811
2830
  //#region src/components/toolbar/SectionToolbar.vue?vue&type=script&setup=true&lang.ts
2812
- var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2831
+ var jo = { class: "tpl:mb-3.5" }, Mo = ["value"], No = ["value"], Po = {
2813
2832
  key: 0,
2814
2833
  class: "tpl:mb-3.5"
2815
- }, ko = { class: "tpl:mb-3.5" }, Ao = { class: "tpl:flex tpl:items-stretch" }, jo = ["value"], Mo = { class: "tpl:mb-3.5" }, No = {
2834
+ }, Fo = { class: "tpl:mb-3.5" }, Io = { class: "tpl:flex tpl:items-stretch" }, Lo = ["value"], Ro = { class: "tpl:mb-3.5" }, zo = {
2816
2835
  key: 0,
2817
2836
  class: "tpl:mt-3 tpl:ml-0.5 tpl:space-y-3 tpl:border-l tpl:border-[var(--tpl-border)] tpl:pl-3"
2818
- }, Po = { class: "tpl:flex tpl:items-stretch" }, Fo = ["value"], Io = /* @__PURE__ */ f({
2837
+ }, Bo = { class: "tpl:flex tpl:items-stretch" }, Vo = ["value"], Ho = /* @__PURE__ */ f({
2819
2838
  __name: "SectionToolbar",
2820
2839
  props: { block: {} },
2821
2840
  emits: ["update"],
2822
2841
  setup(t, { emit: r }) {
2823
- let i = t, a = r, { t: o } = H(), l = w(() => [
2842
+ let i = t, a = r, { t: o } = U(), l = w(() => [
2824
2843
  {
2825
2844
  value: "1",
2826
2845
  label: o.section.column1
@@ -2843,7 +2862,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2843
2862
  }
2844
2863
  ]);
2845
2864
  function u(e) {
2846
- let t = e.target.value, n = wo(i.block.children, t);
2865
+ let t = e.target.value, n = Ao(i.block.children, t);
2847
2866
  a("update", {
2848
2867
  columns: t,
2849
2868
  children: n
@@ -2877,39 +2896,39 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2877
2896
  _({ borderRadius: Number(e.target.value) });
2878
2897
  }
2879
2898
  return (r, i) => (s(), m(C, null, [
2880
- p("div", To, [p("label", { class: n(x(G)) }, c(x(o).section.columns), 3), p("select", {
2881
- class: n(x(W)),
2899
+ p("div", jo, [p("label", { class: n(x(K)) }, c(x(o).section.columns), 3), p("select", {
2900
+ class: n(x(G)),
2882
2901
  value: t.block.columns,
2883
2902
  onChange: u
2884
2903
  }, [(s(!0), m(C, null, e(l.value, (e) => (s(), m("option", {
2885
2904
  key: e.value,
2886
2905
  value: e.value
2887
- }, c(e.label), 9, Do))), 128))], 42, Eo)]),
2888
- t.block.columns === "1" ? T("", !0) : (s(), m("div", Oo, [g(Y, {
2906
+ }, c(e.label), 9, No))), 128))], 42, Mo)]),
2907
+ t.block.columns === "1" ? T("", !0) : (s(), m("div", Po, [g(X, {
2889
2908
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
2890
2909
  "model-value": t.block.stackOnMobile !== !1,
2891
2910
  label: x(o).section.stackOnMobile,
2892
2911
  "onUpdate:modelValue": i[0] ||= (e) => d(e)
2893
2912
  }, null, 8, ["model-value", "label"])])),
2894
- p("div", ko, [p("label", { class: n(x(G)) }, c(x(o).section.borderRadius), 3), p("div", Ao, [p("input", {
2913
+ p("div", Fo, [p("label", { class: n(x(K)) }, c(x(o).section.borderRadius), 3), p("div", Io, [p("input", {
2895
2914
  type: "number",
2896
- class: n(x(q)),
2915
+ class: n(x(J)),
2897
2916
  value: t.block.borderRadius ?? 0,
2898
2917
  min: "0",
2899
2918
  max: "50",
2900
2919
  onInput: f
2901
- }, null, 42, jo), p("span", { class: n(x(K)) }, "px", 2)])]),
2902
- p("div", Mo, [g(Y, {
2920
+ }, null, 42, Lo), p("span", { class: n(x(q)) }, "px", 2)])]),
2921
+ p("div", Ro, [g(X, {
2903
2922
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
2904
2923
  "model-value": !!t.block.wrapper,
2905
2924
  label: x(o).section.wrapperEnable,
2906
2925
  "onUpdate:modelValue": i[1] ||= (e) => h(e)
2907
- }, null, 8, ["model-value", "label"]), t.block.wrapper ? (s(), m("div", No, [
2908
- p("div", null, [p("label", { class: n(x(G)) }, c(x(o).blockSettings.color), 3), g(J, {
2926
+ }, null, 8, ["model-value", "label"]), t.block.wrapper ? (s(), m("div", zo, [
2927
+ p("div", null, [p("label", { class: n(x(K)) }, c(x(o).blockSettings.color), 3), g(Y, {
2909
2928
  "model-value": t.block.wrapper.backgroundColor ?? "",
2910
2929
  "onUpdate:modelValue": i[2] ||= (e) => _({ backgroundColor: e })
2911
2930
  }, null, 8, ["model-value"])]),
2912
- g(Fi, {
2931
+ g(Bi, {
2913
2932
  label: x(o).blockSettings.padding,
2914
2933
  "model-value": t.block.wrapper.padding ?? {
2915
2934
  top: 0,
@@ -2919,29 +2938,29 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2919
2938
  },
2920
2939
  "onUpdate:modelValue": v
2921
2940
  }, null, 8, ["label", "model-value"]),
2922
- p("div", null, [p("label", { class: n(x(G)) }, c(x(o).section.borderRadius), 3), p("div", Po, [p("input", {
2941
+ p("div", null, [p("label", { class: n(x(K)) }, c(x(o).section.borderRadius), 3), p("div", Bo, [p("input", {
2923
2942
  type: "number",
2924
- class: n(x(q)),
2943
+ class: n(x(J)),
2925
2944
  value: t.block.wrapper.borderRadius ?? 0,
2926
2945
  min: "0",
2927
2946
  max: "50",
2928
2947
  onInput: y
2929
- }, null, 42, Fo), p("span", { class: n(x(K)) }, "px", 2)])])
2948
+ }, null, 42, Vo), p("span", { class: n(x(q)) }, "px", 2)])])
2930
2949
  ])) : T("", !0)])
2931
2950
  ], 64));
2932
2951
  }
2933
- }), Lo = { class: "tpl:mb-3.5" }, Ro = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, zo = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Bo = ["value", "onChange"], Vo = ["value"], Ho = ["title", "onClick"], Uo = { class: "tpl:mb-3.5" }, Wo = ["value"], Go = { value: "solid" }, Ko = { value: "outlined" }, qo = { value: "rounded" }, Jo = { value: "square" }, Yo = { value: "circle" }, Xo = { class: "tpl:mb-3.5" }, Zo = { class: "tpl:mb-3.5" }, Qo = { class: "tpl:flex tpl:items-stretch" }, $o = ["value"], es = { class: "tpl:mb-3.5" }, ts = /* @__PURE__ */ f({
2952
+ }), Uo = { class: "tpl:mb-3.5" }, Wo = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Go = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ko = ["value", "onChange"], qo = ["value"], Jo = ["title", "onClick"], Yo = { class: "tpl:mb-3.5" }, Xo = ["value"], Zo = { value: "solid" }, Qo = { value: "outlined" }, $o = { value: "rounded" }, es = { value: "square" }, ts = { value: "circle" }, ns = { class: "tpl:mb-3.5" }, rs = { class: "tpl:mb-3.5" }, is = { class: "tpl:flex tpl:items-stretch" }, as = ["value"], os = { class: "tpl:mb-3.5" }, ss = /* @__PURE__ */ f({
2934
2953
  __name: "SocialToolbar",
2935
2954
  props: { block: {} },
2936
2955
  emits: ["update"],
2937
2956
  setup(t, { emit: r }) {
2938
- let i = t, a = r, { t: o } = H();
2957
+ let i = t, a = r, { t: o } = U();
2939
2958
  function l(e, t) {
2940
2959
  a("update", { [e]: t });
2941
2960
  }
2942
2961
  function u() {
2943
2962
  let e = {
2944
- id: B(),
2963
+ id: z(),
2945
2964
  platform: "facebook",
2946
2965
  url: ""
2947
2966
  };
@@ -2958,25 +2977,25 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2958
2977
  a("update", { icons: i.block.icons.filter((t) => t.id !== e) });
2959
2978
  }
2960
2979
  return (r, i) => (s(), m(C, null, [
2961
- p("div", Lo, [p("label", { class: n(x(G)) }, c(x(o).social.icons), 3), p("div", Ro, [(s(!0), m(C, null, e(t.block.icons, (t) => (s(), m("div", {
2980
+ p("div", Uo, [p("label", { class: n(x(K)) }, c(x(o).social.icons), 3), p("div", Wo, [(s(!0), m(C, null, e(t.block.icons, (t) => (s(), m("div", {
2962
2981
  key: t.id,
2963
2982
  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"
2964
- }, [p("div", zo, [p("select", {
2983
+ }, [p("div", Go, [p("select", {
2965
2984
  "data-testid": "social-platform-select",
2966
- class: n([x(W), "tpl:flex-1"]),
2985
+ class: n([x(G), "tpl:flex-1"]),
2967
2986
  value: t.platform,
2968
2987
  onChange: (e) => d(t.id, "platform", e.target.value)
2969
2988
  }, [(s(!0), m(C, null, e(x(Te), (e) => (s(), m("option", {
2970
2989
  key: e,
2971
2990
  value: e
2972
- }, c(x(o).social.platforms[e]), 9, Vo))), 128))], 42, Bo), p("button", {
2973
- class: n(x(Rt)),
2991
+ }, c(x(o).social.platforms[e]), 9, qo))), 128))], 42, Ko), p("button", {
2992
+ class: n(x(zt)),
2974
2993
  title: x(o).social.removeIcon,
2975
2994
  onClick: (e) => f(t.id)
2976
- }, [g(x(At), {
2995
+ }, [g(x(jt), {
2977
2996
  size: 14,
2978
2997
  "stroke-width": 2
2979
- })], 10, Ho)]), g($, {
2998
+ })], 10, Jo)]), g($, {
2980
2999
  "model-value": t.url,
2981
3000
  type: "url",
2982
3001
  placeholder: x(o).social.urlPlaceholder,
@@ -2986,24 +3005,24 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
2986
3005
  "placeholder",
2987
3006
  "onUpdate:modelValue"
2988
3007
  ])]))), 128)), p("button", {
2989
- class: n(x(Vt)),
3008
+ class: n(x(Ht)),
2990
3009
  onClick: u
2991
3010
  }, [g(x(Q), {
2992
3011
  size: 14,
2993
3012
  "stroke-width": 2
2994
3013
  }), b(" " + c(x(o).social.addIcon), 1)], 2)])]),
2995
- p("div", Uo, [p("label", { class: n(x(G)) }, c(x(o).social.style), 3), p("select", {
2996
- class: n(x(W)),
3014
+ p("div", Yo, [p("label", { class: n(x(K)) }, c(x(o).social.style), 3), p("select", {
3015
+ class: n(x(G)),
2997
3016
  value: t.block.iconStyle,
2998
3017
  onChange: i[0] ||= (e) => l("iconStyle", e.target.value)
2999
3018
  }, [
3000
- p("option", Go, c(x(o).social.styleSolid), 1),
3001
- p("option", Ko, c(x(o).social.styleOutlined), 1),
3002
- p("option", qo, c(x(o).social.styleRounded), 1),
3003
- p("option", Jo, c(x(o).social.styleSquare), 1),
3004
- p("option", Yo, c(x(o).social.styleCircle), 1)
3005
- ], 42, Wo)]),
3006
- p("div", Xo, [p("label", { class: n(x(G)) }, c(x(o).social.size), 3), g(Z, {
3019
+ p("option", Zo, c(x(o).social.styleSolid), 1),
3020
+ p("option", Qo, c(x(o).social.styleOutlined), 1),
3021
+ p("option", $o, c(x(o).social.styleRounded), 1),
3022
+ p("option", es, c(x(o).social.styleSquare), 1),
3023
+ p("option", ts, c(x(o).social.styleCircle), 1)
3024
+ ], 42, Xo)]),
3025
+ p("div", ns, [p("label", { class: n(x(K)) }, c(x(o).social.size), 3), g(qt, {
3007
3026
  options: [
3008
3027
  {
3009
3028
  value: "small",
@@ -3021,30 +3040,30 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3021
3040
  "model-value": t.block.iconSize,
3022
3041
  "onUpdate:modelValue": i[1] ||= (e) => l("iconSize", e)
3023
3042
  }, null, 8, ["options", "model-value"])]),
3024
- p("div", Zo, [p("label", { class: n(x(G)) }, c(x(o).social.spacing), 3), p("div", Qo, [p("input", {
3043
+ p("div", rs, [p("label", { class: n(x(K)) }, c(x(o).social.spacing), 3), p("div", is, [p("input", {
3025
3044
  type: "number",
3026
- class: n(x(q)),
3045
+ class: n(x(J)),
3027
3046
  value: t.block.spacing,
3028
3047
  min: "0",
3029
3048
  max: "50",
3030
3049
  onInput: i[2] ||= (e) => l("spacing", Number(e.target.value))
3031
- }, null, 42, $o), p("span", { class: n(x(K)) }, "px", 2)])]),
3032
- p("div", es, [p("label", { class: n(x(G)) }, c(x(o).social.align), 3), g(Z, {
3050
+ }, null, 42, as), p("span", { class: n(x(q)) }, "px", 2)])]),
3051
+ p("div", os, [p("label", { class: n(x(K)) }, c(x(o).social.align), 3), g(qt, {
3033
3052
  options: [
3034
3053
  {
3035
3054
  value: "left",
3036
3055
  label: x(o).title.alignLeft,
3037
- icon: x(Ot)
3056
+ icon: x(kt)
3038
3057
  },
3039
3058
  {
3040
3059
  value: "center",
3041
3060
  label: x(o).title.alignCenter,
3042
- icon: x(Dt)
3061
+ icon: x(Ot)
3043
3062
  },
3044
3063
  {
3045
3064
  value: "right",
3046
3065
  label: x(o).title.alignRight,
3047
- icon: x(Et)
3066
+ icon: x(Dt)
3048
3067
  }
3049
3068
  ],
3050
3069
  "model-value": t.block.align,
@@ -3052,22 +3071,22 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3052
3071
  }, null, 8, ["options", "model-value"])])
3053
3072
  ], 64));
3054
3073
  }
3055
- }), ns = { class: "tpl:mb-3.5" }, rs = { class: "tpl:flex tpl:items-stretch" }, is = ["value"], as = ["value"], os = /* @__PURE__ */ f({
3074
+ }), cs = { class: "tpl:mb-3.5" }, ls = { class: "tpl:flex tpl:items-stretch" }, us = ["value"], ds = ["value"], fs = /* @__PURE__ */ f({
3056
3075
  __name: "SpacerToolbar",
3057
3076
  props: { block: {} },
3058
3077
  emits: ["update"],
3059
3078
  setup(e, { emit: t }) {
3060
- let r = t, { t: i } = H();
3061
- return (t, a) => (s(), m("div", ns, [
3062
- p("label", { class: n(x(G)) }, c(x(i).spacer.height), 3),
3063
- p("div", rs, [p("input", {
3079
+ let r = t, { t: i } = U();
3080
+ return (t, a) => (s(), m("div", cs, [
3081
+ p("label", { class: n(x(K)) }, c(x(i).spacer.height), 3),
3082
+ p("div", ls, [p("input", {
3064
3083
  type: "number",
3065
- class: n(x(q)),
3084
+ class: n(x(J)),
3066
3085
  value: e.block.height,
3067
3086
  min: "10",
3068
3087
  max: "100",
3069
3088
  onInput: a[0] ||= (e) => r("update", { height: Number(e.target.value) })
3070
- }, null, 42, is), p("span", { class: n(x(K)) }, "px", 2)]),
3089
+ }, null, 42, us), p("span", { class: n(x(q)) }, "px", 2)]),
3071
3090
  p("input", {
3072
3091
  type: "range",
3073
3092
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -3075,13 +3094,13 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3075
3094
  min: "10",
3076
3095
  max: "100",
3077
3096
  onInput: a[1] ||= (e) => r("update", { height: Number(e.target.value) })
3078
- }, null, 40, as)
3097
+ }, null, 40, ds)
3079
3098
  ]));
3080
3099
  }
3081
- }), ss = { class: "tpl:mb-3.5" }, cs = { class: "tpl:flex tpl:items-center tpl:gap-3" }, ls = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, us = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ds = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, fs = ["disabled"], ps = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, ms = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, hs = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, gs = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, _s = ["disabled"], vs = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, ys = { class: "tpl:mb-3.5" }, bs = {
3100
+ }), ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:flex tpl:items-center tpl:gap-3" }, hs = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, gs = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, _s = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, vs = ["disabled"], ys = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, bs = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, xs = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ss = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Cs = ["disabled"], ws = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ts = { class: "tpl:mb-3.5" }, Es = {
3082
3101
  key: 0,
3083
3102
  class: "tpl:mb-3.5"
3084
- }, xs = { class: "tpl:mb-3.5" }, Ss = { class: "tpl:mb-3.5" }, Cs = { class: "tpl:flex tpl:items-stretch" }, ws = ["value"], Ts = { class: "tpl:mb-3.5" }, Es = { class: "tpl:flex tpl:items-stretch" }, Ds = ["value"], Os = { class: "tpl:mb-3.5" }, ks = ["value"], As = { value: "" }, js = ["value"], Ms = { class: "tpl:mb-3.5" }, Ns = { class: "tpl:flex tpl:items-stretch" }, Ps = ["value"], Fs = { class: "tpl:mb-3.5" }, Is = { class: "tpl:mb-3.5" }, Ls = /* @__PURE__ */ f({
3103
+ }, Ds = { class: "tpl:mb-3.5" }, Os = { class: "tpl:mb-3.5" }, ks = { class: "tpl:flex tpl:items-stretch" }, As = ["value"], js = { class: "tpl:mb-3.5" }, Ms = { class: "tpl:flex tpl:items-stretch" }, Ns = ["value"], Ps = { class: "tpl:mb-3.5" }, Fs = ["value"], Is = { value: "" }, Ls = ["value"], Rs = { class: "tpl:mb-3.5" }, zs = { class: "tpl:flex tpl:items-stretch" }, Bs = ["value"], Vs = { class: "tpl:mb-3.5" }, Hs = { class: "tpl:mb-3.5" }, Us = /* @__PURE__ */ f({
3085
3104
  __name: "TableToolbar",
3086
3105
  props: {
3087
3106
  block: {},
@@ -3089,15 +3108,15 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3089
3108
  },
3090
3109
  emits: ["update"],
3091
3110
  setup(t, { emit: r }) {
3092
- let i = t, a = r, { t: o } = H(), l = w(() => i.block.rows.length > 0 ? i.block.rows[0].cells.length : 0);
3111
+ let i = t, a = r, { t: o } = U(), l = w(() => i.block.rows.length > 0 ? i.block.rows[0].cells.length : 0);
3093
3112
  function u(e, t) {
3094
3113
  a("update", { [e]: t });
3095
3114
  }
3096
3115
  function d() {
3097
3116
  let e = i.block.rows.length > 0 ? i.block.rows[0].cells.length : 3, t = {
3098
- id: B(),
3117
+ id: z(),
3099
3118
  cells: Array.from({ length: e }, () => ({
3100
- id: B(),
3119
+ id: z(),
3101
3120
  content: ""
3102
3121
  }))
3103
3122
  };
@@ -3110,7 +3129,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3110
3129
  let e = i.block.rows.map((e) => ({
3111
3130
  ...e,
3112
3131
  cells: [...e.cells, {
3113
- id: B(),
3132
+ id: z(),
3114
3133
  content: ""
3115
3134
  }]
3116
3135
  }));
@@ -3124,16 +3143,16 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3124
3143
  a("update", { rows: t });
3125
3144
  }
3126
3145
  return (r, i) => (s(), m(C, null, [
3127
- p("div", ss, [p("label", { class: n(x(G)) }, c(x(o).table.dimensions), 3), p("div", cs, [p("div", ls, [p("span", us, c(x(o).table.rows), 1), p("div", ds, [
3146
+ p("div", ps, [p("label", { class: n(x(K)) }, c(x(o).table.dimensions), 3), p("div", ms, [p("div", hs, [p("span", gs, c(x(o).table.rows), 1), p("div", _s, [
3128
3147
  p("button", {
3129
3148
  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",
3130
3149
  disabled: t.block.rows.length <= 1,
3131
3150
  onClick: i[0] ||= (e) => f(t.block.rows[t.block.rows.length - 1].id)
3132
- }, [g(x(pt), {
3151
+ }, [g(x(mt), {
3133
3152
  size: 12,
3134
3153
  "stroke-width": 2
3135
- })], 8, fs),
3136
- p("span", ps, c(t.block.rows.length), 1),
3154
+ })], 8, vs),
3155
+ p("span", ys, c(t.block.rows.length), 1),
3137
3156
  p("button", {
3138
3157
  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)]",
3139
3158
  onClick: d
@@ -3141,16 +3160,16 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3141
3160
  size: 12,
3142
3161
  "stroke-width": 2
3143
3162
  })])
3144
- ])]), p("div", ms, [p("span", hs, c(x(o).table.columns), 1), p("div", gs, [
3163
+ ])]), p("div", bs, [p("span", xs, c(x(o).table.columns), 1), p("div", Ss, [
3145
3164
  p("button", {
3146
3165
  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",
3147
3166
  disabled: l.value <= 1,
3148
3167
  onClick: i[1] ||= (e) => _(l.value - 1)
3149
- }, [g(x(pt), {
3168
+ }, [g(x(mt), {
3150
3169
  size: 12,
3151
3170
  "stroke-width": 2
3152
- })], 8, _s),
3153
- p("span", vs, c(l.value), 1),
3171
+ })], 8, Cs),
3172
+ p("span", ws, c(l.value), 1),
3154
3173
  p("button", {
3155
3174
  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)]",
3156
3175
  onClick: h
@@ -3159,15 +3178,15 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3159
3178
  "stroke-width": 2
3160
3179
  })])
3161
3180
  ])])])]),
3162
- p("div", ys, [g(Y, {
3181
+ p("div", Ts, [g(X, {
3163
3182
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
3164
3183
  "model-value": t.block.hasHeaderRow,
3165
3184
  label: x(o).table.hasHeaderRow,
3166
3185
  "onUpdate:modelValue": i[2] ||= (e) => u("hasHeaderRow", e)
3167
3186
  }, null, 8, ["model-value", "label"])]),
3168
- t.block.hasHeaderRow ? (s(), m("div", bs, [p("label", { class: n(x(G)) }, c(x(o).table.headerBackgroundColor), 3), g(J, {
3187
+ t.block.hasHeaderRow ? (s(), m("div", Es, [p("label", { class: n(x(K)) }, c(x(o).table.headerBackgroundColor), 3), g(Y, {
3169
3188
  "model-value": t.block.headerBackgroundColor ?? "",
3170
- "seed-color": x(Bt),
3189
+ "seed-color": x(Vt),
3171
3190
  placeholder: x(o).table.noHeaderBg,
3172
3191
  "onUpdate:modelValue": i[3] ||= (e) => u("headerBackgroundColor", e || null)
3173
3192
  }, null, 8, [
@@ -3175,62 +3194,62 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3175
3194
  "seed-color",
3176
3195
  "placeholder"
3177
3196
  ])])) : T("", !0),
3178
- p("div", xs, [p("label", { class: n(x(G)) }, c(x(o).table.borderColor), 3), g(J, {
3197
+ p("div", Ds, [p("label", { class: n(x(K)) }, c(x(o).table.borderColor), 3), g(Y, {
3179
3198
  "model-value": t.block.borderColor,
3180
3199
  "onUpdate:modelValue": i[4] ||= (e) => u("borderColor", e)
3181
3200
  }, null, 8, ["model-value"])]),
3182
- p("div", Ss, [p("label", { class: n(x(G)) }, c(x(o).table.borderWidth), 3), p("div", Cs, [p("input", {
3201
+ p("div", Os, [p("label", { class: n(x(K)) }, c(x(o).table.borderWidth), 3), p("div", ks, [p("input", {
3183
3202
  type: "number",
3184
- class: n(x(q)),
3203
+ class: n(x(J)),
3185
3204
  value: t.block.borderWidth,
3186
3205
  min: "0",
3187
3206
  max: "10",
3188
3207
  onInput: i[5] ||= (e) => u("borderWidth", Number(e.target.value))
3189
- }, null, 42, ws), p("span", { class: n(x(K)) }, "px", 2)])]),
3190
- p("div", Ts, [p("label", { class: n(x(G)) }, c(x(o).table.cellPadding), 3), p("div", Es, [p("input", {
3208
+ }, null, 42, As), p("span", { class: n(x(q)) }, "px", 2)])]),
3209
+ p("div", js, [p("label", { class: n(x(K)) }, c(x(o).table.cellPadding), 3), p("div", Ms, [p("input", {
3191
3210
  type: "number",
3192
- class: n(x(q)),
3211
+ class: n(x(J)),
3193
3212
  value: t.block.cellPadding,
3194
3213
  min: "0",
3195
3214
  max: "30",
3196
3215
  onInput: i[6] ||= (e) => u("cellPadding", Number(e.target.value))
3197
- }, null, 42, Ds), p("span", { class: n(x(K)) }, "px", 2)])]),
3198
- p("div", Os, [p("label", { class: n(x(G)) }, c(x(o).table.fontFamily), 3), p("select", {
3199
- class: n(x(W)),
3216
+ }, null, 42, Ns), p("span", { class: n(x(q)) }, "px", 2)])]),
3217
+ p("div", Ps, [p("label", { class: n(x(K)) }, c(x(o).table.fontFamily), 3), p("select", {
3218
+ class: n(x(G)),
3200
3219
  value: t.block.fontFamily || "",
3201
3220
  onChange: i[7] ||= (e) => u("fontFamily", e.target.value || void 0)
3202
- }, [p("option", As, c(x(o).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
3221
+ }, [p("option", Is, c(x(o).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
3203
3222
  key: e.value,
3204
3223
  value: e.value
3205
- }, c(e.label), 9, js))), 128))], 42, ks)]),
3206
- p("div", Ms, [p("label", { class: n(x(G)) }, c(x(o).table.fontSize), 3), p("div", Ns, [p("input", {
3224
+ }, c(e.label), 9, Ls))), 128))], 42, Fs)]),
3225
+ p("div", Rs, [p("label", { class: n(x(K)) }, c(x(o).table.fontSize), 3), p("div", zs, [p("input", {
3207
3226
  type: "number",
3208
- class: n(x(q)),
3227
+ class: n(x(J)),
3209
3228
  value: t.block.fontSize,
3210
3229
  min: "10",
3211
3230
  max: "32",
3212
3231
  onInput: i[8] ||= (e) => u("fontSize", Number(e.target.value))
3213
- }, null, 42, Ps), p("span", { class: n(x(K)) }, "px", 2)])]),
3214
- p("div", Fs, [p("label", { class: n(x(G)) }, c(x(o).table.color), 3), g(J, {
3232
+ }, null, 42, Bs), p("span", { class: n(x(q)) }, "px", 2)])]),
3233
+ p("div", Vs, [p("label", { class: n(x(K)) }, c(x(o).table.color), 3), g(Y, {
3215
3234
  "model-value": t.block.color ?? "",
3216
3235
  "onUpdate:modelValue": i[9] ||= (e) => u("color", e || void 0)
3217
3236
  }, null, 8, ["model-value"])]),
3218
- p("div", Is, [p("label", { class: n(x(G)) }, c(x(o).table.textAlign), 3), g(Z, {
3237
+ p("div", Hs, [p("label", { class: n(x(K)) }, c(x(o).table.textAlign), 3), g(qt, {
3219
3238
  options: [
3220
3239
  {
3221
3240
  value: "left",
3222
3241
  label: x(o).title.alignLeft,
3223
- icon: x(Ot)
3242
+ icon: x(kt)
3224
3243
  },
3225
3244
  {
3226
3245
  value: "center",
3227
3246
  label: x(o).title.alignCenter,
3228
- icon: x(Dt)
3247
+ icon: x(Ot)
3229
3248
  },
3230
3249
  {
3231
3250
  value: "right",
3232
3251
  label: x(o).title.alignRight,
3233
- icon: x(Et)
3252
+ icon: x(Dt)
3234
3253
  }
3235
3254
  ],
3236
3255
  "model-value": t.block.textAlign,
@@ -3238,7 +3257,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3238
3257
  }, null, 8, ["options", "model-value"])])
3239
3258
  ], 64));
3240
3259
  }
3241
- }), Rs = { class: "tpl:mb-3.5" }, zs = ["value"], Bs = { value: 1 }, Vs = { value: 2 }, Hs = { value: 3 }, Us = { value: 4 }, Ws = { class: "tpl:mb-3.5" }, Gs = ["value"], Ks = { value: "" }, qs = ["value"], Js = { class: "tpl:mb-3.5" }, Ys = { class: "tpl:mb-3.5" }, Xs = /* @__PURE__ */ f({
3260
+ }), Ws = { class: "tpl:mb-3.5" }, Gs = ["value"], Ks = { value: 1 }, qs = { value: 2 }, Js = { value: 3 }, Ys = { value: 4 }, Xs = { class: "tpl:mb-3.5" }, Zs = ["value"], Qs = { value: "" }, $s = ["value"], ec = { class: "tpl:mb-3.5" }, tc = { class: "tpl:mb-3.5" }, nc = /* @__PURE__ */ f({
3242
3261
  __name: "TitleToolbar",
3243
3262
  props: {
3244
3263
  block: {},
@@ -3246,49 +3265,49 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3246
3265
  },
3247
3266
  emits: ["update"],
3248
3267
  setup(t, { emit: r }) {
3249
- let i = r, { t: a } = H();
3268
+ let i = r, { t: a } = U();
3250
3269
  function o(e, t) {
3251
3270
  i("update", { [e]: t });
3252
3271
  }
3253
3272
  return (r, i) => (s(), m(C, null, [
3254
- p("div", Rs, [p("label", { class: n(x(G)) }, c(x(a).title.level), 3), p("select", {
3255
- class: n(x(W)),
3273
+ p("div", Ws, [p("label", { class: n(x(K)) }, c(x(a).title.level), 3), p("select", {
3274
+ class: n(x(G)),
3256
3275
  value: t.block.level,
3257
3276
  onChange: i[0] ||= (e) => o("level", Number(e.target.value))
3258
3277
  }, [
3259
- p("option", Bs, c(x(a).title.heading1), 1),
3260
- p("option", Vs, c(x(a).title.heading2), 1),
3261
- p("option", Hs, c(x(a).title.heading3), 1),
3262
- p("option", Us, c(x(a).title.heading4), 1)
3263
- ], 42, zs)]),
3264
- p("div", Ws, [p("label", { class: n(x(G)) }, c(x(a).title.fontFamily), 3), p("select", {
3265
- class: n(x(W)),
3278
+ p("option", Ks, c(x(a).title.heading1), 1),
3279
+ p("option", qs, c(x(a).title.heading2), 1),
3280
+ p("option", Js, c(x(a).title.heading3), 1),
3281
+ p("option", Ys, c(x(a).title.heading4), 1)
3282
+ ], 42, Gs)]),
3283
+ p("div", Xs, [p("label", { class: n(x(K)) }, c(x(a).title.fontFamily), 3), p("select", {
3284
+ class: n(x(G)),
3266
3285
  value: t.block.fontFamily || "",
3267
3286
  onChange: i[1] ||= (e) => o("fontFamily", e.target.value || void 0)
3268
- }, [p("option", Ks, c(x(a).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
3287
+ }, [p("option", Qs, c(x(a).title.inheritFont), 1), (s(!0), m(C, null, e(t.fontFamilies, (e) => (s(), m("option", {
3269
3288
  key: e.value,
3270
3289
  value: e.value
3271
- }, c(e.label), 9, qs))), 128))], 42, Gs)]),
3272
- p("div", Js, [p("label", { class: n(x(G)) }, c(x(a).title.color), 3), g(J, {
3290
+ }, c(e.label), 9, $s))), 128))], 42, Zs)]),
3291
+ p("div", ec, [p("label", { class: n(x(K)) }, c(x(a).title.color), 3), g(Y, {
3273
3292
  "model-value": t.block.color ?? "",
3274
3293
  "onUpdate:modelValue": i[2] ||= (e) => o("color", e || void 0)
3275
3294
  }, null, 8, ["model-value"])]),
3276
- p("div", Ys, [p("label", { class: n(x(G)) }, c(x(a).title.align), 3), g(Z, {
3295
+ p("div", tc, [p("label", { class: n(x(K)) }, c(x(a).title.align), 3), g(qt, {
3277
3296
  options: [
3278
3297
  {
3279
3298
  value: "left",
3280
3299
  label: x(a).title.alignLeft,
3281
- icon: x(Ot)
3300
+ icon: x(kt)
3282
3301
  },
3283
3302
  {
3284
3303
  value: "center",
3285
3304
  label: x(a).title.alignCenter,
3286
- icon: x(Dt)
3305
+ icon: x(Ot)
3287
3306
  },
3288
3307
  {
3289
3308
  value: "right",
3290
3309
  label: x(a).title.alignRight,
3291
- icon: x(Et)
3310
+ icon: x(Dt)
3292
3311
  }
3293
3312
  ],
3294
3313
  "model-value": t.block.textAlign,
@@ -3296,19 +3315,19 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3296
3315
  }, null, 8, ["options", "model-value"])])
3297
3316
  ], 64));
3298
3317
  }
3299
- }), Zs = { class: "tpl:mb-3.5" }, Qs = {
3318
+ }), rc = { class: "tpl:mb-3.5" }, ic = {
3300
3319
  key: 0,
3301
3320
  class: "tpl:mb-3.5"
3302
- }, $s = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, ec = [
3321
+ }, ac = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, oc = [
3303
3322
  "value",
3304
3323
  "placeholder",
3305
3324
  "title"
3306
- ], tc = { class: "tpl:mb-3.5" }, nc = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, rc = { class: "tpl:mb-3.5" }, ic = { class: "tpl:mb-3.5" }, ac = ["value"], oc = { value: "full" }, sc = { class: "tpl:mb-3.5" }, cc = /* @__PURE__ */ f({
3325
+ ], sc = { class: "tpl:mb-3.5" }, cc = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, lc = { class: "tpl:mb-3.5" }, uc = { class: "tpl:mb-3.5" }, dc = ["value"], fc = { value: "full" }, pc = { class: "tpl:mb-3.5" }, mc = /* @__PURE__ */ f({
3307
3326
  __name: "VideoToolbar",
3308
3327
  props: { block: {} },
3309
3328
  emits: ["update"],
3310
3329
  setup(e, { emit: t }) {
3311
- let r = e, i = t, { t: a } = H(), o = D($e, null), l = D(et, ee.liquid), u = Pt(), f = w(() => !!o), h = w(() => te(r.block.url, l)), _ = d(!1), { start: v } = Ie(() => {
3330
+ let r = e, i = t, { t: a } = U(), o = D(Ue, null), l = D(Re, B.liquid), u = Ft(), f = w(() => !!o), h = w(() => V(r.block.url, l)), _ = d(!1), { start: v } = Fe(() => {
3312
3331
  _.value = !1;
3313
3332
  }, 1e3, { immediate: !1 });
3314
3333
  function S(e, t) {
@@ -3319,15 +3338,15 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3319
3338
  u.alive && e && (S("thumbnailUrl", e.url), _.value = !0, v());
3320
3339
  }
3321
3340
  return (t, r) => (s(), m(C, null, [
3322
- p("div", Zs, [
3323
- p("label", { class: n(x(G)) }, c(x(a).video.videoUrl), 3),
3341
+ p("div", rc, [
3342
+ p("label", { class: n(x(K)) }, c(x(a).video.videoUrl), 3),
3324
3343
  g($, {
3325
3344
  "model-value": e.block.url,
3326
3345
  type: "url",
3327
3346
  placeholder: x(a).video.videoUrlPlaceholder,
3328
3347
  "onUpdate:modelValue": r[0] ||= (e) => S("url", e)
3329
3348
  }, null, 8, ["model-value", "placeholder"]),
3330
- e.block.url ? (s(), y(Y, {
3349
+ e.block.url ? (s(), y(X, {
3331
3350
  key: 0,
3332
3351
  class: "tpl:mt-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]",
3333
3352
  "model-value": e.block.openInNewTab ?? !1,
@@ -3335,16 +3354,16 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3335
3354
  "onUpdate:modelValue": r[1] ||= (e) => S("openInNewTab", e)
3336
3355
  }, null, 8, ["model-value", "label"])) : T("", !0)
3337
3356
  ]),
3338
- h.value ? (s(), m("div", Qs, [p("label", { class: n(x(G)) }, [b(c(x(a).video.placeholderUrl) + " ", 1), p("span", $s, c(x(a).video.optional), 1)], 2), p("input", {
3357
+ h.value ? (s(), m("div", ic, [p("label", { class: n(x(K)) }, [b(c(x(a).video.placeholderUrl) + " ", 1), p("span", ac, c(x(a).video.optional), 1)], 2), p("input", {
3339
3358
  type: "url",
3340
- class: n(x(W)),
3359
+ class: n(x(G)),
3341
3360
  value: e.block.placeholderUrl || "",
3342
3361
  placeholder: x(a).video.placeholderUrlPlaceholder,
3343
3362
  title: x(a).video.placeholderUrlTooltip,
3344
3363
  onInput: r[2] ||= (e) => S("placeholderUrl", e.target.value)
3345
- }, null, 42, ec)])) : T("", !0),
3346
- p("div", tc, [
3347
- p("label", { class: n(x(G)) }, [b(c(x(a).video.customThumbnail) + " ", 1), p("span", nc, c(x(a).video.optional), 1)], 2),
3364
+ }, null, 42, oc)])) : T("", !0),
3365
+ p("div", sc, [
3366
+ p("label", { class: n(x(K)) }, [b(c(x(a).video.customThumbnail) + " ", 1), p("span", cc, c(x(a).video.optional), 1)], 2),
3348
3367
  g($, {
3349
3368
  "model-value": e.block.thumbnailUrl,
3350
3369
  type: "url",
@@ -3370,23 +3389,23 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3370
3389
  "stroke-width": 1.5
3371
3390
  }), b(" " + c(x(a).image.browseMedia), 1)])) : T("", !0)
3372
3391
  ]),
3373
- p("div", rc, [p("label", { class: n(x(G)) }, c(x(a).video.altText), 3), g($, {
3392
+ p("div", lc, [p("label", { class: n(x(K)) }, c(x(a).video.altText), 3), g($, {
3374
3393
  "model-value": e.block.alt,
3375
3394
  type: "text",
3376
3395
  placeholder: x(a).video.altTextPlaceholder,
3377
3396
  "onUpdate:modelValue": r[4] ||= (e) => S("alt", e)
3378
3397
  }, null, 8, ["model-value", "placeholder"])]),
3379
- p("div", ic, [p("label", { class: n(x(G)) }, c(x(a).video.width), 3), p("select", {
3380
- class: n(x(W)),
3398
+ p("div", uc, [p("label", { class: n(x(K)) }, c(x(a).video.width), 3), p("select", {
3399
+ class: n(x(G)),
3381
3400
  value: e.block.width,
3382
3401
  onChange: r[5] ||= (e) => S("width", e.target.value === "full" ? "full" : Number(e.target.value))
3383
3402
  }, [
3384
- p("option", oc, c(x(a).video.fullWidth), 1),
3403
+ p("option", fc, c(x(a).video.fullWidth), 1),
3385
3404
  r[7] ||= p("option", { value: "300" }, "300px", -1),
3386
3405
  r[8] ||= p("option", { value: "400" }, "400px", -1),
3387
3406
  r[9] ||= p("option", { value: "500" }, "500px", -1)
3388
- ], 42, ac)]),
3389
- p("div", sc, [p("label", { class: n(x(G)) }, c(x(a).title.align), 3), g(Z, {
3407
+ ], 42, dc)]),
3408
+ p("div", pc, [p("label", { class: n(x(K)) }, c(x(a).title.align), 3), g(qt, {
3390
3409
  options: [
3391
3410
  {
3392
3411
  value: "left",
@@ -3406,7 +3425,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3406
3425
  }, null, 8, ["options", "model-value"])])
3407
3426
  ], 64));
3408
3427
  }
3409
- }), lc = ["aria-label"], uc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, dc = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, fc = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, pc = { class: "tpl:flex tpl:gap-1" }, mc = ["title"], hc = ["title"], gc = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, _c = /*#__PURE__*/ jt(/* @__PURE__ */ f({
3428
+ }), hc = ["aria-label"], gc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, _c = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, vc = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, yc = { class: "tpl:flex tpl:gap-1" }, bc = ["title"], xc = ["title"], Sc = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Cc = /*#__PURE__*/ Mt(/* @__PURE__ */ f({
3410
3429
  __name: "Toolbar",
3411
3430
  props: { block: {} },
3412
3431
  emits: [
@@ -3415,7 +3434,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3415
3434
  "duplicate"
3416
3435
  ],
3417
3436
  setup(e, { emit: t }) {
3418
- let n = h(() => import("./CountdownToolbar-DHp6T0Q_.js")), r = e, i = t, { t: a } = H(), l = He(Je, "Toolbar"), u = D(Ze, []), d = w(() => r.block.type), f = w(() => R(r.block)), _ = w(() => {
3437
+ let n = h(() => import("./CountdownToolbar-DBmb3tlb.js")), r = e, i = t, { t: a } = U(), l = Be(lt, "Toolbar"), u = D(at, []), d = w(() => r.block.type), f = w(() => L(r.block)), _ = w(() => {
3419
3438
  if (f.value) return u.find((e) => e.type === r.block.customType);
3420
3439
  }), v = w(() => f.value ? _.value?.name ?? r.block.customType : de(d.value, a)), b = l.fonts;
3421
3440
  function S(e) {
@@ -3424,7 +3443,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3424
3443
  return (t, r) => (s(), m("aside", {
3425
3444
  "aria-label": x(a).landmarks.blockToolbar,
3426
3445
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
3427
- }, [p("div", uc, [p("div", dc, [x(gt)[d.value] ? (s(), y(o(x(gt)[d.value]), {
3446
+ }, [p("div", gc, [p("div", _c, [x(_t)[d.value] ? (s(), y(o(x(_t)[d.value]), {
3428
3447
  key: 0,
3429
3448
  size: 16,
3430
3449
  "stroke-width": 1.5
@@ -3432,70 +3451,70 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3432
3451
  key: 1,
3433
3452
  size: 16,
3434
3453
  "stroke-width": 1.5
3435
- })) : T("", !0), p("h3", fc, c(v.value), 1)]), p("div", pc, [p("button", {
3454
+ })) : T("", !0), p("h3", vc, c(v.value), 1)]), p("div", yc, [p("button", {
3436
3455
  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)]",
3437
3456
  title: x(a).toolbar.duplicate,
3438
3457
  onClick: r[0] ||= (e) => i("duplicate")
3439
- }, [g(x(ce), {
3458
+ }, [g(x(H), {
3440
3459
  size: 14,
3441
3460
  "stroke-width": 2
3442
- })], 8, mc), p("button", {
3461
+ })], 8, bc), p("button", {
3443
3462
  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)]",
3444
3463
  title: x(a).toolbar.delete,
3445
3464
  onClick: r[1] ||= (e) => i("delete")
3446
- }, [g(x(kt), {
3465
+ }, [g(x(At), {
3447
3466
  size: 14,
3448
3467
  "stroke-width": 2
3449
- })], 8, hc)])]), p("div", gc, [f.value ? (s(), y(Ra, {
3468
+ })], 8, xc)])]), p("div", Sc, [f.value ? (s(), y(Wa, {
3450
3469
  key: 0,
3451
3470
  block: e.block,
3452
3471
  onUpdateFieldValues: r[2] ||= (e) => i("update", { fieldValues: e }),
3453
3472
  onUpdateDataSourceFetched: r[3] ||= (e) => i("update", { dataSourceFetched: e })
3454
- }, null, 8, ["block"])) : d.value === "section" ? (s(), y(Io, {
3473
+ }, null, 8, ["block"])) : d.value === "section" ? (s(), y(Ho, {
3455
3474
  key: 1,
3456
3475
  block: e.block,
3457
3476
  onUpdate: S
3458
- }, null, 8, ["block"])) : d.value === "title" ? (s(), y(Xs, {
3477
+ }, null, 8, ["block"])) : d.value === "title" ? (s(), y(nc, {
3459
3478
  key: 2,
3460
3479
  block: e.block,
3461
3480
  "font-families": x(b),
3462
3481
  onUpdate: S
3463
- }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (s(), m(C, { key: 3 }, [], 64)) : d.value === "image" ? (s(), y(uo, {
3482
+ }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (s(), m(C, { key: 3 }, [], 64)) : d.value === "image" ? (s(), y(_o, {
3464
3483
  key: 4,
3465
3484
  block: e.block,
3466
3485
  onUpdate: S
3467
- }, null, 8, ["block"])) : d.value === "video" ? (s(), y(cc, {
3486
+ }, null, 8, ["block"])) : d.value === "video" ? (s(), y(mc, {
3468
3487
  key: 5,
3469
3488
  block: e.block,
3470
3489
  onUpdate: S
3471
- }, null, 8, ["block"])) : d.value === "button" ? (s(), y(di, {
3490
+ }, null, 8, ["block"])) : d.value === "button" ? (s(), y(gi, {
3472
3491
  key: 6,
3473
3492
  block: e.block,
3474
3493
  "font-families": x(b),
3475
3494
  onUpdate: S
3476
- }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (s(), y(Wa, {
3495
+ }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (s(), y(Xa, {
3477
3496
  key: 7,
3478
3497
  block: e.block,
3479
3498
  onUpdate: S
3480
- }, null, 8, ["block"])) : d.value === "social" ? (s(), y(ts, {
3499
+ }, null, 8, ["block"])) : d.value === "social" ? (s(), y(ss, {
3481
3500
  key: 8,
3482
3501
  block: e.block,
3483
3502
  onUpdate: S
3484
- }, null, 8, ["block"])) : d.value === "menu" ? (s(), y(So, {
3503
+ }, null, 8, ["block"])) : d.value === "menu" ? (s(), y(Oo, {
3485
3504
  key: 9,
3486
3505
  block: e.block,
3487
3506
  "font-families": x(b),
3488
3507
  onUpdate: S
3489
- }, null, 8, ["block", "font-families"])) : d.value === "table" ? (s(), y(Ls, {
3508
+ }, null, 8, ["block", "font-families"])) : d.value === "table" ? (s(), y(Us, {
3490
3509
  key: 10,
3491
3510
  block: e.block,
3492
3511
  "font-families": x(b),
3493
3512
  onUpdate: S
3494
- }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (s(), y(os, {
3513
+ }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (s(), y(fs, {
3495
3514
  key: 11,
3496
3515
  block: e.block,
3497
3516
  onUpdate: S
3498
- }, null, 8, ["block"])) : d.value === "html" ? (s(), y(Ja, {
3517
+ }, null, 8, ["block"])) : d.value === "html" ? (s(), y(eo, {
3499
3518
  key: 12,
3500
3519
  block: e.block,
3501
3520
  onUpdate: S
@@ -3504,52 +3523,52 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3504
3523
  block: e.block,
3505
3524
  "font-families": x(b),
3506
3525
  onUpdate: S
3507
- }, null, 8, ["block", "font-families"])) : T("", !0), g(na, {
3526
+ }, null, 8, ["block", "font-families"])) : T("", !0), g(ca, {
3508
3527
  block: e.block,
3509
3528
  "is-first-section": d.value === "paragraph",
3510
3529
  onUpdate: S
3511
- }, null, 8, ["block", "is-first-section"])])], 8, lc));
3530
+ }, null, 8, ["block", "is-first-section"])])], 8, hc));
3512
3531
  }
3513
- }), [["__scopeId", "data-v-2ac88283"]]), vc = ["aria-label"], yc = {
3532
+ }), [["__scopeId", "data-v-2ac88283"]]), wc = ["aria-label"], Tc = {
3514
3533
  role: "tablist",
3515
3534
  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"
3516
- }, bc = [
3535
+ }, Ec = [
3517
3536
  "aria-selected",
3518
3537
  "aria-label",
3519
3538
  "title"
3520
- ], xc = { key: 0 }, Sc = [
3539
+ ], Dc = { key: 0 }, Oc = [
3521
3540
  "aria-selected",
3522
3541
  "aria-label",
3523
3542
  "title"
3524
- ], Cc = { key: 0 }, wc = [
3543
+ ], kc = { key: 0 }, Ac = [
3525
3544
  "aria-selected",
3526
3545
  "aria-label",
3527
3546
  "title"
3528
- ], Tc = { key: 0 }, Ec = {
3547
+ ], jc = { key: 0 }, Mc = {
3529
3548
  key: 1,
3530
3549
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
3531
- }, Dc = {
3550
+ }, Nc = {
3532
3551
  key: 0,
3533
3552
  id: "tpl-tabpanel-content",
3534
3553
  role: "tabpanel",
3535
3554
  "aria-labelledby": "tpl-tab-content",
3536
3555
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3537
- }, Oc = {
3556
+ }, Pc = {
3538
3557
  key: 1,
3539
3558
  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)]"
3540
- }, kc = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Ac = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, jc = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Mc = {
3559
+ }, Fc = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Ic = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Lc = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Rc = {
3541
3560
  key: 1,
3542
3561
  id: "tpl-tabpanel-settings",
3543
3562
  role: "tabpanel",
3544
3563
  "aria-labelledby": "tpl-tab-settings",
3545
3564
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3546
- }, Nc = {
3565
+ }, zc = {
3547
3566
  key: 2,
3548
3567
  id: "tpl-tabpanel-issues",
3549
3568
  role: "tabpanel",
3550
3569
  "aria-labelledby": "tpl-tab-issues",
3551
3570
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3552
- }, Pc = /* @__PURE__ */ f({
3571
+ }, Bc = /* @__PURE__ */ f({
3553
3572
  __name: "RightSidebar",
3554
3573
  props: {
3555
3574
  selectedBlock: {},
@@ -3563,7 +3582,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3563
3582
  "update-settings"
3564
3583
  ],
3565
3584
  setup(e, { emit: r }) {
3566
- let a = h(() => import("./IssuesPanel-CoOfib44.js")), o = e, l = r, { t: u } = H(), f = d("content"), _ = D(Ue, null), v = w(() => _ !== null), b = w(() => _?.issues.value.length ?? 0);
3585
+ let a = h(() => import("./IssuesPanel-D3XgmYCt.js")), o = e, l = r, { t: u } = U(), f = d("content"), _ = D(ze, null), v = w(() => _ !== null), b = w(() => _?.issues.value.length ?? 0);
3567
3586
  function S(e) {
3568
3587
  return f.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)]";
3569
3588
  }
@@ -3579,7 +3598,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3579
3598
  "aria-label": x(u).landmarks.rightSidebar,
3580
3599
  class: n(["tpl-right-sidebar tpl:absolute tpl:top-14 tpl:bottom-0 tpl:z-40 tpl:flex tpl:w-[320px] tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)] tpl:transition-all tpl:duration-200 tpl:border-l tpl:border-[var(--tpl-border)]", e.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
3581
3600
  }, [
3582
- p("div", yc, [
3601
+ p("div", Tc, [
3583
3602
  p("button", {
3584
3603
  id: "tpl-tab-content",
3585
3604
  role: "tab",
@@ -3590,10 +3609,10 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3590
3609
  class: n(["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)]", S("content")]),
3591
3610
  style: t(C("content")),
3592
3611
  onClick: i[0] ||= (e) => f.value = "content"
3593
- }, [g(x(en), {
3612
+ }, [g(x(nn), {
3594
3613
  size: 14,
3595
3614
  "stroke-width": 2
3596
- }), f.value === "content" ? (s(), m("span", xc, c(x(u).sidebar.content), 1)) : T("", !0)], 14, bc),
3615
+ }), f.value === "content" ? (s(), m("span", Dc, c(x(u).sidebar.content), 1)) : T("", !0)], 14, Ec),
3597
3616
  p("button", {
3598
3617
  id: "tpl-tab-settings",
3599
3618
  role: "tab",
@@ -3604,10 +3623,10 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3604
3623
  class: n(["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)]", S("settings")]),
3605
3624
  style: t(C("settings")),
3606
3625
  onClick: i[1] ||= (e) => f.value = "settings"
3607
- }, [g(x(nn), {
3626
+ }, [g(x(an), {
3608
3627
  size: 14,
3609
3628
  "stroke-width": 1.5
3610
- }), f.value === "settings" ? (s(), m("span", Cc, c(x(u).sidebar.settings), 1)) : T("", !0)], 14, Sc),
3629
+ }), f.value === "settings" ? (s(), m("span", kc, c(x(u).sidebar.settings), 1)) : T("", !0)], 14, Oc),
3611
3630
  v.value ? (s(), m("button", {
3612
3631
  key: 0,
3613
3632
  id: "tpl-tab-issues",
@@ -3620,63 +3639,63 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3620
3639
  style: t(C("issues")),
3621
3640
  onClick: i[2] ||= (e) => f.value = "issues"
3622
3641
  }, [
3623
- g(x(xt), {
3642
+ g(x(St), {
3624
3643
  size: 14,
3625
3644
  "stroke-width": 1.5
3626
3645
  }),
3627
- f.value === "issues" ? (s(), m("span", Tc, c(x(u).issues.panelTabLabel), 1)) : T("", !0),
3628
- b.value > 0 ? (s(), m("span", Ec, c(b.value), 1)) : T("", !0)
3629
- ], 14, wc)) : T("", !0)
3646
+ f.value === "issues" ? (s(), m("span", jc, c(x(u).issues.panelTabLabel), 1)) : T("", !0),
3647
+ b.value > 0 ? (s(), m("span", Mc, c(b.value), 1)) : T("", !0)
3648
+ ], 14, Ac)) : T("", !0)
3630
3649
  ]),
3631
- f.value === "content" ? (s(), m("div", Dc, [e.selectedBlock ? (s(), y(_c, {
3650
+ f.value === "content" ? (s(), m("div", Nc, [e.selectedBlock ? (s(), y(Cc, {
3632
3651
  key: 0,
3633
3652
  block: e.selectedBlock,
3634
3653
  onUpdate: i[3] ||= (e) => l("update-block", e),
3635
3654
  onDelete: i[4] ||= (e) => l("delete-block"),
3636
3655
  onDuplicate: i[5] ||= (e) => l("duplicate-block")
3637
- }, null, 8, ["block"])) : (s(), m("div", Oc, [
3638
- p("div", kc, [g(x(Xt), {
3656
+ }, null, 8, ["block"])) : (s(), m("div", Pc, [
3657
+ p("div", Fc, [g(x(Qt), {
3639
3658
  size: 40,
3640
3659
  "stroke-width": 1.5
3641
3660
  })]),
3642
- p("h3", Ac, c(x(u).sidebar.noSelection), 1),
3643
- p("p", jc, c(x(u).sidebar.noSelectionHint), 1)
3661
+ p("h3", Ic, c(x(u).sidebar.noSelection), 1),
3662
+ p("p", Lc, c(x(u).sidebar.noSelectionHint), 1)
3644
3663
  ]))])) : T("", !0),
3645
- f.value === "settings" ? (s(), m("div", Mc, [g(Fr, {
3664
+ f.value === "settings" ? (s(), m("div", Rc, [g(Br, {
3646
3665
  settings: e.settings,
3647
3666
  onUpdate: i[6] ||= (e) => l("update-settings", e)
3648
3667
  }, null, 8, ["settings"])])) : T("", !0),
3649
- f.value === "issues" && v.value ? (s(), m("div", Nc, [g(x(a))])) : T("", !0)
3650
- ], 10, vc));
3668
+ f.value === "issues" && v.value ? (s(), m("div", zc, [g(x(a))])) : T("", !0)
3669
+ ], 10, wc));
3651
3670
  }
3652
- }), Fc = {
3671
+ }), Vc = {
3653
3672
  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)]",
3654
3673
  style: { "z-index": "10001" },
3655
3674
  role: "status",
3656
3675
  "data-testid": "small-screen-notice"
3657
- }, Ic = { class: "tpl:text-[var(--tpl-text-dim)]" }, Lc = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Rc = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, zc = /* @__PURE__ */ f({
3676
+ }, Hc = { class: "tpl:text-[var(--tpl-text-dim)]" }, Uc = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Wc = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, Gc = /* @__PURE__ */ f({
3658
3677
  __name: "SmallScreenNotice",
3659
3678
  setup(e) {
3660
- let { t } = H();
3661
- return (e, n) => (s(), m("div", Fc, [
3662
- p("div", Ic, [g(x(Ct), {
3679
+ let { t } = U();
3680
+ return (e, n) => (s(), m("div", Vc, [
3681
+ p("div", Hc, [g(x(wt), {
3663
3682
  size: 48,
3664
3683
  "stroke-width": 1.5
3665
3684
  })]),
3666
- p("h2", Lc, c(x(t).smallScreen.title), 1),
3667
- p("p", Rc, c(x(t).smallScreen.message), 1)
3685
+ p("h2", Uc, c(x(t).smallScreen.title), 1),
3686
+ p("p", Wc, c(x(t).smallScreen.message), 1)
3668
3687
  ]));
3669
3688
  }
3670
- }), Bc = [
3689
+ }), Kc = [
3671
3690
  "aria-label",
3672
3691
  "title",
3673
3692
  "aria-pressed"
3674
- ], Vc = /*#__PURE__*/ jt(/* @__PURE__ */ f({
3693
+ ], qc = /*#__PURE__*/ Mt(/* @__PURE__ */ f({
3675
3694
  __name: "PreviewToggle",
3676
3695
  props: { previewMode: { type: Boolean } },
3677
3696
  emits: ["change"],
3678
3697
  setup(e, { emit: n }) {
3679
- let r = n, { t: i } = H();
3698
+ let r = n, { t: i } = U();
3680
3699
  return (n, a) => (s(), m("button", {
3681
3700
  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",
3682
3701
  style: t({
@@ -3694,7 +3713,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3694
3713
  "leave-to-class": "tpl-icon-leave-to",
3695
3714
  mode: "out-in"
3696
3715
  }, {
3697
- default: l(() => [e.previewMode ? (s(), y(x(_t), {
3716
+ default: l(() => [e.previewMode ? (s(), y(x(vt), {
3698
3717
  key: "eye",
3699
3718
  size: 18,
3700
3719
  "stroke-width": 1.5
@@ -3704,18 +3723,18 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3704
3723
  "stroke-width": 1.5
3705
3724
  }))]),
3706
3725
  _: 1
3707
- })], 12, Bc));
3726
+ })], 12, Kc));
3708
3727
  }
3709
- }), [["__scopeId", "data-v-af87d02a"]]), Hc = [
3728
+ }), [["__scopeId", "data-v-af87d02a"]]), Jc = [
3710
3729
  "aria-label",
3711
3730
  "title",
3712
3731
  "aria-pressed"
3713
- ], Uc = /*#__PURE__*/ jt(/* @__PURE__ */ f({
3732
+ ], Yc = /*#__PURE__*/ Mt(/* @__PURE__ */ f({
3714
3733
  __name: "DarkModeToggle",
3715
3734
  props: { darkMode: { type: Boolean } },
3716
3735
  emits: ["change"],
3717
3736
  setup(e, { emit: n }) {
3718
- let r = n, { t: i } = H();
3737
+ let r = n, { t: i } = U();
3719
3738
  return (n, a) => (s(), m("button", {
3720
3739
  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",
3721
3740
  style: t({
@@ -3733,37 +3752,37 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3733
3752
  "leave-to-class": "tpl-icon-leave-to",
3734
3753
  mode: "out-in"
3735
3754
  }, {
3736
- default: l(() => [e.darkMode ? (s(), y(x($t), {
3755
+ default: l(() => [e.darkMode ? (s(), y(x(tn), {
3737
3756
  key: "moon",
3738
3757
  size: 18,
3739
3758
  "stroke-width": 1.5
3740
- })) : (s(), y(x(on), {
3759
+ })) : (s(), y(x(cn), {
3741
3760
  key: "sun",
3742
3761
  size: 18,
3743
3762
  "stroke-width": 1.5
3744
3763
  }))]),
3745
3764
  _: 1
3746
- })], 12, Hc));
3765
+ })], 12, Jc));
3747
3766
  }
3748
- }), [["__scopeId", "data-v-f8694f76"]]), Wc = {
3767
+ }), [["__scopeId", "data-v-f8694f76"]]), Xc = {
3749
3768
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
3750
3769
  style: {
3751
3770
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
3752
3771
  "backdrop-filter": "blur(8px)",
3753
3772
  "-webkit-backdrop-filter": "blur(8px)"
3754
3773
  }
3755
- }, Gc = {
3774
+ }, Zc = {
3756
3775
  href: "https://github.com/templatical/sdk",
3757
3776
  target: "_blank",
3758
3777
  rel: "noopener noreferrer",
3759
3778
  class: "tpl:transition-colors tpl:duration-150 hover:tpl:opacity-80 tpl:text-[var(--tpl-text-dim)]",
3760
3779
  style: { "text-decoration": "none" }
3761
- }, Kc = /* @__PURE__ */ f({
3780
+ }, Qc = /* @__PURE__ */ f({
3762
3781
  __name: "EditorFooter",
3763
3782
  props: { positionClass: {} },
3764
3783
  setup(e) {
3765
- let { t } = H();
3766
- return (r, i) => (s(), m("footer", { class: n(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [p("div", Wc, [
3784
+ let { t } = U();
3785
+ return (r, i) => (s(), m("footer", { class: n(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [p("div", Xc, [
3767
3786
  p("span", null, c(x(t).footer.poweredBy), 1),
3768
3787
  i[0] ||= p("a", {
3769
3788
  href: "https://templatical.com",
@@ -3778,32 +3797,32 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3778
3797
  alt: ""
3779
3798
  }), b(" Templatical ")], -1),
3780
3799
  i[1] ||= p("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
3781
- p("a", Gc, c(x(t).footer.openSource), 1)
3800
+ p("a", Zc, c(x(t).footer.openSource), 1)
3782
3801
  ])], 2));
3783
3802
  }
3784
- }), qc = ["aria-labelledby", "data-tpl-theme"], Jc = { 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" }, Yc = ["id"], Xc = ["aria-label"], Zc = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Qc = [
3803
+ }), $c = ["aria-labelledby", "data-tpl-theme"], el = { 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" }, tl = ["id"], nl = ["aria-label"], rl = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, il = [
3785
3804
  "id",
3786
3805
  "placeholder",
3787
3806
  "aria-label",
3788
3807
  "aria-activedescendant"
3789
- ], $c = {
3808
+ ], al = {
3790
3809
  key: 0,
3791
3810
  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",
3792
3811
  "data-testid": "merge-tag-picker-group-pills"
3793
- }, el = ["data-group-name", "onClick"], tl = ["aria-label"], nl = {
3812
+ }, ol = ["data-group-name", "onClick"], sl = ["aria-label"], cl = {
3794
3813
  key: 0,
3795
3814
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3796
3815
  "data-testid": "merge-tag-picker-empty"
3797
- }, rl = {
3816
+ }, ll = {
3798
3817
  key: 1,
3799
3818
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
3800
3819
  "data-testid": "merge-tag-picker-empty"
3801
- }, il = [
3820
+ }, ul = [
3802
3821
  "aria-expanded",
3803
3822
  "data-group-name",
3804
3823
  "data-group-collapsed",
3805
3824
  "onClick"
3806
- ], al = { class: "tpl:ml-1 tpl:font-normal" }, ol = [
3825
+ ], dl = { class: "tpl:ml-1 tpl:font-normal" }, fl = [
3807
3826
  "id",
3808
3827
  "aria-selected",
3809
3828
  "data-selected",
@@ -3812,32 +3831,32 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3812
3831
  "title",
3813
3832
  "onMousemove",
3814
3833
  "onClick"
3815
- ], sl = { class: "tpl:text-sm tpl:font-medium" }, cl = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, ll = {
3834
+ ], pl = { class: "tpl:text-sm tpl:font-medium" }, ml = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, hl = {
3816
3835
  key: 0,
3817
3836
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3818
- }, ul = {
3837
+ }, gl = {
3819
3838
  key: 1,
3820
3839
  "data-testid": "merge-tag-picker-sample",
3821
3840
  class: "tpl:line-clamp-1 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
3822
- }, dl = "tpl-merge-tag-picker-list", fl = /* @__PURE__ */ f({
3841
+ }, _l = "tpl-merge-tag-picker-list", vl = /* @__PURE__ */ f({
3823
3842
  __name: "MergeTagPickerModal",
3824
3843
  setup(r) {
3825
- let a = He(Be, "MergeTagPickerModal"), { t: o, format: u } = H(), f = D(Ke, null), h = D(ze, null), _ = d(""), v = Fe(_, 200), b = d(null), S = w(() => v.value.trim().length > 0), O = d(0), M = w(() => a.tags.value.some((e) => !!e.group)), P = d(/* @__PURE__ */ new Set());
3844
+ let a = Be(We, "MergeTagPickerModal"), { t: o, format: u } = U(), f = D(Ye, null), h = D(Je, null), _ = d(""), v = Pe(_, 200), b = d(null), S = w(() => v.value.trim().length > 0), O = d(0), M = w(() => a.tags.value.some((e) => !!e.group)), P = d(/* @__PURE__ */ new Set());
3826
3845
  function F(e) {
3827
3846
  return P.value.has(e);
3828
3847
  }
3829
- function I(e) {
3848
+ function ee(e) {
3830
3849
  let t = new Set(P.value);
3831
3850
  t.has(e) ? t.delete(e) : t.add(e), P.value = t, O.value = 0;
3832
3851
  }
3833
- let L = w(() => {
3852
+ let I = w(() => {
3834
3853
  let e = v.value.trim().toLowerCase();
3835
3854
  return e ? a.tags.value.filter((t) => [
3836
3855
  t.label,
3837
3856
  t.value,
3838
3857
  t.description ?? ""
3839
3858
  ].join(" ").toLowerCase().includes(e)) : a.tags.value;
3840
- }), R = w(() => {
3859
+ }), L = w(() => {
3841
3860
  if (!M.value) return [];
3842
3861
  let e = o.mergeTag.picker.otherGroup, t = /* @__PURE__ */ new Set(), n = [];
3843
3862
  for (let r of a.tags.value) {
@@ -3845,8 +3864,8 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3845
3864
  t.has(i) || (t.add(i), n.push(i));
3846
3865
  }
3847
3866
  return n;
3848
- }), z = w(() => {
3849
- let e = L.value;
3867
+ }), R = w(() => {
3868
+ let e = I.value;
3850
3869
  if (!M.value || S.value) return e.map((e, t) => ({
3851
3870
  kind: "tag",
3852
3871
  tag: e,
@@ -3871,32 +3890,32 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3871
3890
  }), a++;
3872
3891
  }
3873
3892
  return i;
3874
- }), B = w(() => z.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3893
+ }), z = w(() => R.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
3875
3894
  i(() => a.isOpen.value, (e) => {
3876
3895
  e && (_.value = "", O.value = 0, P.value = /* @__PURE__ */ new Set(), E(() => {
3877
3896
  b.value?.focus();
3878
3897
  }));
3879
- }), i(B, (e) => {
3898
+ }), i(z, (e) => {
3880
3899
  O.value >= e.length && (O.value = Math.max(0, e.length - 1));
3881
3900
  });
3882
- function ee(e) {
3901
+ function B(e) {
3883
3902
  a.resolve(e);
3884
3903
  }
3885
- function te() {
3904
+ function V() {
3886
3905
  a.resolve(null);
3887
3906
  }
3888
- function ne(e) {
3889
- if (B.value.length === 0) return;
3907
+ function te(e) {
3908
+ if (z.value.length === 0) return;
3890
3909
  let t = O.value + e;
3891
- O.value = Math.max(0, Math.min(B.value.length - 1, t)), V();
3910
+ O.value = Math.max(0, Math.min(z.value.length - 1, t)), ae();
3892
3911
  }
3893
- let re = d(null), ie = d({});
3894
- function ae(e, t) {
3895
- ie.value[e] = t ?? null;
3912
+ let ne = d(null), re = d({});
3913
+ function ie(e, t) {
3914
+ re.value[e] = t ?? null;
3896
3915
  }
3897
- function V() {
3916
+ function ae() {
3898
3917
  E(() => {
3899
- let e = re.value;
3918
+ let e = ne.value;
3900
3919
  e && e.querySelector(`[data-merge-tag-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
3901
3920
  });
3902
3921
  }
@@ -3906,7 +3925,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3906
3925
  t.delete(e), P.value = t;
3907
3926
  }
3908
3927
  E(() => {
3909
- let t = re.value;
3928
+ let t = ne.value;
3910
3929
  if (!t) return;
3911
3930
  let n = 0, r = !1;
3912
3931
  for (let i of Array.from(t.children)) {
@@ -3922,55 +3941,55 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3922
3941
  });
3923
3942
  });
3924
3943
  }
3925
- function se(e) {
3926
- if (e.key === "ArrowDown") e.preventDefault(), ne(1);
3927
- else if (e.key === "ArrowUp") e.preventDefault(), ne(-1);
3944
+ function H(e) {
3945
+ if (e.key === "ArrowDown") e.preventDefault(), te(1);
3946
+ else if (e.key === "ArrowUp") e.preventDefault(), te(-1);
3928
3947
  else if (e.key === "Enter") {
3929
3948
  e.preventDefault();
3930
- let t = B.value[O.value];
3931
- t && ee(t);
3949
+ let t = z.value[O.value];
3950
+ t && B(t);
3932
3951
  }
3933
3952
  }
3934
- function ce() {
3935
- if (B.value.length !== 0) return `${dl}-opt-${O.value}`;
3953
+ function se() {
3954
+ if (z.value.length !== 0) return `${_l}-opt-${O.value}`;
3936
3955
  }
3937
- function le(e) {
3938
- return `${dl}-opt-${e}`;
3956
+ function ce(e) {
3957
+ return `${_l}-opt-${e}`;
3939
3958
  }
3940
- let ue = w(() => a.tags.value.length === 0), de = w(() => !ue.value && L.value.length === 0), fe = w(() => M.value && R.value.length > 1 && !S.value);
3941
- return (r, i) => (s(), y(qt, {
3959
+ let le = w(() => a.tags.value.length === 0), ue = w(() => !le.value && I.value.length === 0), de = w(() => M.value && L.value.length > 1 && !S.value);
3960
+ return (r, i) => (s(), y(Yt, {
3942
3961
  visible: x(a).isOpen.value,
3943
- onClose: te,
3944
- onKeydown: se
3962
+ onClose: V,
3963
+ onKeydown: H
3945
3964
  }, {
3946
3965
  default: l(() => [p("div", {
3947
3966
  role: "dialog",
3948
3967
  "aria-modal": "true",
3949
- "aria-labelledby": `${dl}-title`,
3968
+ "aria-labelledby": `${_l}-title`,
3950
3969
  "data-tpl-theme": x(h),
3951
3970
  "data-testid": "merge-tag-picker-modal",
3952
3971
  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)]",
3953
3972
  style: t(x(f))
3954
3973
  }, [
3955
- p("header", Jc, [p("h2", {
3956
- id: `${dl}-title`,
3974
+ p("header", el, [p("h2", {
3975
+ id: `${_l}-title`,
3957
3976
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
3958
- }, c(x(o).mergeTag.picker.title), 9, Yc), p("button", {
3977
+ }, c(x(o).mergeTag.picker.title), 9, tl), p("button", {
3959
3978
  type: "button",
3960
3979
  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)]",
3961
3980
  "aria-label": x(o).mergeTag.picker.close,
3962
3981
  "data-testid": "merge-tag-picker-close",
3963
- onClick: te
3964
- }, [g(x(At), {
3982
+ onClick: V
3983
+ }, [g(x(jt), {
3965
3984
  size: 16,
3966
3985
  "stroke-width": 2
3967
- })], 8, Xc)]),
3968
- p("div", Zc, [g(x(mt), {
3986
+ })], 8, nl)]),
3987
+ p("div", rl, [g(x(ht), {
3969
3988
  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)]",
3970
3989
  size: 14,
3971
3990
  "stroke-width": 2
3972
3991
  }), k(p("input", {
3973
- id: `${dl}-search`,
3992
+ id: `${_l}-search`,
3974
3993
  ref_key: "searchInputRef",
3975
3994
  ref: b,
3976
3995
  "onUpdate:modelValue": i[0] ||= (e) => _.value = e,
@@ -3978,50 +3997,50 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
3978
3997
  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)]",
3979
3998
  placeholder: x(o).mergeTag.picker.searchPlaceholder,
3980
3999
  "aria-label": x(o).mergeTag.picker.searchAriaLabel,
3981
- "aria-controls": dl,
3982
- "aria-activedescendant": ce(),
4000
+ "aria-controls": _l,
4001
+ "aria-activedescendant": se(),
3983
4002
  "data-testid": "merge-tag-picker-search",
3984
4003
  onKeydown: i[1] ||= N(j(() => {}, ["prevent"]), ["enter"])
3985
- }, null, 40, Qc), [[A, _.value]])]),
3986
- fe.value ? (s(), m("div", $c, [(s(!0), m(C, null, e(R.value, (e) => (s(), m("button", {
4004
+ }, null, 40, il), [[A, _.value]])]),
4005
+ de.value ? (s(), m("div", al, [(s(!0), m(C, null, e(L.value, (e) => (s(), m("button", {
3987
4006
  key: e,
3988
4007
  type: "button",
3989
4008
  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)]",
3990
4009
  "data-testid": "merge-tag-picker-group-pill",
3991
4010
  "data-group-name": e,
3992
4011
  onClick: (t) => oe(e)
3993
- }, c(e), 9, el))), 128))])) : T("", !0),
4012
+ }, c(e), 9, ol))), 128))])) : T("", !0),
3994
4013
  p("div", {
3995
- id: dl,
4014
+ id: _l,
3996
4015
  ref_key: "listRef",
3997
- ref: re,
4016
+ ref: ne,
3998
4017
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
3999
4018
  role: "listbox",
4000
4019
  "aria-label": x(o).mergeTag.picker.title,
4001
4020
  "data-testid": "merge-tag-picker-list"
4002
- }, [ue.value ? (s(), m("div", nl, c(x(o).mergeTag.picker.empty), 1)) : de.value ? (s(), m("div", rl, c(x(o).mergeTag.picker.noResults), 1)) : (s(!0), m(C, { key: 2 }, e(z.value, (e, t) => (s(), m(C, { key: t }, [e.kind === "header" ? (s(), m("button", {
4021
+ }, [le.value ? (s(), m("div", cl, c(x(o).mergeTag.picker.empty), 1)) : ue.value ? (s(), m("div", ll, c(x(o).mergeTag.picker.noResults), 1)) : (s(!0), m(C, { key: 2 }, e(R.value, (e, t) => (s(), m(C, { key: t }, [e.kind === "header" ? (s(), m("button", {
4003
4022
  key: 0,
4004
4023
  ref_for: !0,
4005
- ref: (t) => ae(e.group, t),
4024
+ ref: (t) => ie(e.group, t),
4006
4025
  type: "button",
4007
4026
  "aria-expanded": !F(e.group),
4008
- "aria-controls": dl,
4027
+ "aria-controls": _l,
4009
4028
  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)]",
4010
4029
  "data-testid": "merge-tag-picker-group-header",
4011
4030
  "data-group-name": e.group,
4012
4031
  "data-group-collapsed": F(e.group) ? "true" : "false",
4013
- onClick: (t) => I(e.group)
4032
+ onClick: (t) => ee(e.group)
4014
4033
  }, [
4015
- g(x(dt), {
4034
+ g(x(ft), {
4016
4035
  size: 12,
4017
4036
  "stroke-width": 2,
4018
4037
  class: n(["tpl:transition-transform", F(e.group) ? "tpl:-rotate-90" : ""])
4019
4038
  }, null, 8, ["class"]),
4020
4039
  p("span", null, c(e.group), 1),
4021
- p("span", al, " (" + c(x(u)(x(o).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
4022
- ], 8, il)) : (s(), m("button", {
4040
+ p("span", dl, " (" + c(x(u)(x(o).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
4041
+ ], 8, ul)) : (s(), m("button", {
4023
4042
  key: 1,
4024
- id: le(e.index),
4043
+ id: ce(e.index),
4025
4044
  type: "button",
4026
4045
  role: "option",
4027
4046
  "aria-selected": e.index === O.value,
@@ -4032,25 +4051,25 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4032
4051
  class: n(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === O.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
4033
4052
  "data-testid": "merge-tag-picker-item",
4034
4053
  onMousemove: (t) => O.value = e.index,
4035
- onClick: (t) => ee(e.tag)
4054
+ onClick: (t) => B(e.tag)
4036
4055
  }, [
4037
- p("span", sl, c(e.tag.label), 1),
4038
- p("span", cl, c(e.tag.value), 1),
4039
- e.tag.description ? (s(), m("span", ll, c(e.tag.description), 1)) : T("", !0),
4040
- e.tag.sample === void 0 ? T("", !0) : (s(), m("span", ul, c(x(u)(x(o).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
4041
- ], 42, ol))], 64))), 128))], 8, tl)
4042
- ], 12, qc)]),
4056
+ p("span", pl, c(e.tag.label), 1),
4057
+ p("span", ml, c(e.tag.value), 1),
4058
+ e.tag.description ? (s(), m("span", hl, c(e.tag.description), 1)) : T("", !0),
4059
+ e.tag.sample === void 0 ? T("", !0) : (s(), m("span", gl, c(x(u)(x(o).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
4060
+ ], 42, fl))], 64))), 128))], 8, sl)
4061
+ ], 12, $c)]),
4043
4062
  _: 1
4044
4063
  }, 8, ["visible"]));
4045
4064
  }
4046
- }), pl = ["data-logic-keyword"], ml = /* @__PURE__ */ f({
4065
+ }), yl = ["data-logic-keyword"], bl = /* @__PURE__ */ f({
4047
4066
  __name: "LogicTagBadge",
4048
4067
  props: {
4049
4068
  value: {},
4050
4069
  syntax: {}
4051
4070
  },
4052
4071
  setup(e) {
4053
- let t = e, n = w(() => z(t.value, t.syntax)), r = w(() => L(t.value, t.syntax));
4072
+ let t = e, n = w(() => R(t.value, t.syntax)), r = w(() => I(t.value, t.syntax));
4054
4073
  return (e, t) => n.value ? (s(), m("span", {
4055
4074
  key: 0,
4056
4075
  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",
@@ -4060,22 +4079,22 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4060
4079
  },
4061
4080
  "data-testid": "merge-tag-logic-badge",
4062
4081
  "data-logic-keyword": r.value
4063
- }, c(r.value), 9, pl)) : T("", !0);
4082
+ }, c(r.value), 9, yl)) : T("", !0);
4064
4083
  }
4065
- }), hl = ["aria-labelledby", "data-tpl-theme"], gl = { 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" }, _l = ["id"], vl = ["aria-label"], yl = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, bl = [
4084
+ }), xl = ["aria-labelledby", "data-tpl-theme"], Sl = { 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" }, Cl = ["id"], wl = ["aria-label"], Tl = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, El = [
4066
4085
  "id",
4067
4086
  "placeholder",
4068
4087
  "aria-label",
4069
4088
  "aria-activedescendant"
4070
- ], xl = ["aria-label"], Sl = {
4089
+ ], Dl = ["aria-label"], Ol = {
4071
4090
  key: 0,
4072
4091
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4073
4092
  "data-testid": "logic-picker-empty"
4074
- }, Cl = {
4093
+ }, kl = {
4075
4094
  key: 1,
4076
4095
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4077
4096
  "data-testid": "logic-picker-empty"
4078
- }, wl = ["data-group-name"], Tl = [
4097
+ }, Al = ["data-group-name"], jl = [
4079
4098
  "id",
4080
4099
  "aria-selected",
4081
4100
  "data-selected",
@@ -4083,19 +4102,19 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4083
4102
  "data-logic-kind",
4084
4103
  "onMousemove",
4085
4104
  "onClick"
4086
- ], El = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, Dl = { class: "tpl:text-sm tpl:font-medium" }, Ol = {
4105
+ ], Ml = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, Nl = { class: "tpl:text-sm tpl:font-medium" }, Pl = {
4087
4106
  key: 0,
4088
4107
  class: "tpl:flex tpl:items-center"
4089
- }, kl = {
4108
+ }, Fl = {
4090
4109
  key: 1,
4091
4110
  class: "tpl:flex tpl:items-center tpl:gap-1"
4092
- }, Al = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, jl = {
4111
+ }, Il = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Ll = {
4093
4112
  key: 0,
4094
4113
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
4095
- }, Ml = "tpl-logic-picker-list", Nl = /* @__PURE__ */ f({
4114
+ }, Rl = "tpl-logic-picker-list", zl = /* @__PURE__ */ f({
4096
4115
  __name: "LogicTagPickerModal",
4097
4116
  setup(r) {
4098
- let a = He(st, "LogicTagPickerModal"), { t: o } = H(), u = D(et, ee.liquid), f = D(Ke, null), h = D(ze, null), _ = d(""), v = Fe(_, 200), b = d(null), S = w(() => v.value.trim().length > 0), O = d(0);
4117
+ let a = Be(qe, "LogicTagPickerModal"), { t: o } = U(), u = D(Re, B.liquid), f = D(Ye, null), h = D(Je, null), _ = d(""), v = Pe(_, 200), b = d(null), S = w(() => v.value.trim().length > 0), O = d(0);
4099
4118
  function M(e) {
4100
4119
  let t = v.value.trim().toLowerCase();
4101
4120
  return !t || e.filter(Boolean).join(" ").toLowerCase().includes(t);
@@ -4109,7 +4128,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4109
4128
  e.before,
4110
4129
  e.after,
4111
4130
  e.description
4112
- ]))), I = w(() => [...F.value.map((e) => ({
4131
+ ]))), ee = w(() => [...F.value.map((e) => ({
4113
4132
  kind: "pair",
4114
4133
  pair: e,
4115
4134
  group: e.group
@@ -4117,8 +4136,8 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4117
4136
  kind: "tag",
4118
4137
  tag: e,
4119
4138
  group: e.group
4120
- }))]), L = w(() => a.tags.value.some((e) => !!e.group) || a.pairs.value.some((e) => !!e.group));
4121
- function R(e) {
4139
+ }))]), I = w(() => a.tags.value.some((e) => !!e.group) || a.pairs.value.some((e) => !!e.group));
4140
+ function L(e) {
4122
4141
  let t = o.logicTag.picker.otherGroup, n = /* @__PURE__ */ new Map(), r = [];
4123
4142
  for (let i of e) {
4124
4143
  let e = i.group ?? t;
@@ -4126,7 +4145,7 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4126
4145
  }
4127
4146
  return r.map((e) => [e, n.get(e)]);
4128
4147
  }
4129
- let z = w(() => {
4148
+ let R = w(() => {
4130
4149
  let e = [], t = [], n = 0, r = (r) => {
4131
4150
  r.kind === "tag" ? (e.push({
4132
4151
  kind: "tag",
@@ -4137,9 +4156,9 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4137
4156
  pair: r.pair,
4138
4157
  index: n
4139
4158
  }), t.push(r.pair)), n++;
4140
- }, i = I.value;
4141
- if (S.value || !L.value) for (let e of i) r(e);
4142
- else for (let [t, n] of R(i)) {
4159
+ }, i = ee.value;
4160
+ if (S.value || !I.value) for (let e of i) r(e);
4161
+ else for (let [t, n] of L(i)) {
4143
4162
  e.push({
4144
4163
  kind: "header",
4145
4164
  label: t
@@ -4150,72 +4169,72 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4150
4169
  rows: e,
4151
4170
  items: t
4152
4171
  };
4153
- }), B = w(() => z.value.items), te = w(() => a.tags.value.length === 0 && a.pairs.value.length === 0), ne = w(() => !te.value && B.value.length === 0);
4172
+ }), z = w(() => R.value.items), V = w(() => a.tags.value.length === 0 && a.pairs.value.length === 0), te = w(() => !V.value && z.value.length === 0);
4154
4173
  i(() => a.isOpen.value, (e) => {
4155
4174
  e && (_.value = "", O.value = 0, E(() => b.value?.focus()));
4156
- }), i(B, (e) => {
4175
+ }), i(z, (e) => {
4157
4176
  O.value >= e.length && (O.value = Math.max(0, e.length - 1));
4158
4177
  });
4159
- let re = d(null);
4160
- function ie(e) {
4178
+ let ne = d(null);
4179
+ function re(e) {
4161
4180
  a.resolve(e);
4162
4181
  }
4163
- function ae() {
4182
+ function ie() {
4164
4183
  a.resolve(null);
4165
4184
  }
4166
- function V(e) {
4167
- B.value.length !== 0 && (O.value = Math.max(0, Math.min(B.value.length - 1, O.value + e)), E(() => {
4168
- re.value?.querySelector(`[data-logic-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
4185
+ function ae(e) {
4186
+ z.value.length !== 0 && (O.value = Math.max(0, Math.min(z.value.length - 1, O.value + e)), E(() => {
4187
+ ne.value?.querySelector(`[data-logic-index="${O.value}"]`)?.scrollIntoView({ block: "nearest" });
4169
4188
  }));
4170
4189
  }
4171
4190
  function oe(e) {
4172
- if (e.key === "ArrowDown") e.preventDefault(), V(1);
4173
- else if (e.key === "ArrowUp") e.preventDefault(), V(-1);
4191
+ if (e.key === "ArrowDown") e.preventDefault(), ae(1);
4192
+ else if (e.key === "ArrowUp") e.preventDefault(), ae(-1);
4174
4193
  else if (e.key === "Enter") {
4175
4194
  e.preventDefault();
4176
- let t = B.value[O.value];
4177
- t && ie(t);
4195
+ let t = z.value[O.value];
4196
+ t && re(t);
4178
4197
  }
4179
4198
  }
4180
- function se(e) {
4181
- return `${Ml}-opt-${e}`;
4199
+ function H(e) {
4200
+ return `${Rl}-opt-${e}`;
4182
4201
  }
4183
- function ce() {
4184
- return B.value.length === 0 ? void 0 : `${Ml}-opt-${O.value}`;
4202
+ function se() {
4203
+ return z.value.length === 0 ? void 0 : `${Rl}-opt-${O.value}`;
4185
4204
  }
4186
- return (r, i) => (s(), y(qt, {
4205
+ return (r, i) => (s(), y(Yt, {
4187
4206
  visible: x(a).isOpen.value,
4188
- onClose: ae,
4207
+ onClose: ie,
4189
4208
  onKeydown: oe
4190
4209
  }, {
4191
4210
  default: l(() => [p("div", {
4192
4211
  role: "dialog",
4193
4212
  "aria-modal": "true",
4194
- "aria-labelledby": `${Ml}-title`,
4213
+ "aria-labelledby": `${Rl}-title`,
4195
4214
  "data-tpl-theme": x(h),
4196
4215
  "data-testid": "logic-picker-modal",
4197
4216
  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)]",
4198
4217
  style: t(x(f))
4199
4218
  }, [
4200
- p("header", gl, [p("h2", {
4201
- id: `${Ml}-title`,
4219
+ p("header", Sl, [p("h2", {
4220
+ id: `${Rl}-title`,
4202
4221
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
4203
- }, c(x(o).logicTag.picker.title), 9, _l), p("button", {
4222
+ }, c(x(o).logicTag.picker.title), 9, Cl), p("button", {
4204
4223
  type: "button",
4205
4224
  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)]",
4206
4225
  "aria-label": x(o).logicTag.picker.close,
4207
4226
  "data-testid": "logic-picker-close",
4208
- onClick: ae
4209
- }, [g(x(At), {
4227
+ onClick: ie
4228
+ }, [g(x(jt), {
4210
4229
  size: 16,
4211
4230
  "stroke-width": 2
4212
- })], 8, vl)]),
4213
- p("div", yl, [g(x(mt), {
4231
+ })], 8, wl)]),
4232
+ p("div", Tl, [g(x(ht), {
4214
4233
  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)]",
4215
4234
  size: 14,
4216
4235
  "stroke-width": 2
4217
4236
  }), k(p("input", {
4218
- id: `${Ml}-search`,
4237
+ id: `${Rl}-search`,
4219
4238
  ref_key: "searchInputRef",
4220
4239
  ref: b,
4221
4240
  "onUpdate:modelValue": i[0] ||= (e) => _.value = e,
@@ -4223,27 +4242,27 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4223
4242
  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)]",
4224
4243
  placeholder: x(o).logicTag.picker.searchPlaceholder,
4225
4244
  "aria-label": x(o).logicTag.picker.searchAriaLabel,
4226
- "aria-controls": Ml,
4227
- "aria-activedescendant": ce(),
4245
+ "aria-controls": Rl,
4246
+ "aria-activedescendant": se(),
4228
4247
  "data-testid": "logic-picker-search",
4229
4248
  onKeydown: i[1] ||= N(j(() => {}, ["prevent"]), ["enter"])
4230
- }, null, 40, bl), [[A, _.value]])]),
4249
+ }, null, 40, El), [[A, _.value]])]),
4231
4250
  p("div", {
4232
- id: Ml,
4251
+ id: Rl,
4233
4252
  ref_key: "listRef",
4234
- ref: re,
4253
+ ref: ne,
4235
4254
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
4236
4255
  role: "listbox",
4237
4256
  "aria-label": x(o).logicTag.picker.title,
4238
4257
  "data-testid": "logic-picker-list"
4239
- }, [te.value ? (s(), m("div", Sl, c(x(o).logicTag.picker.empty), 1)) : ne.value ? (s(), m("div", Cl, c(x(o).logicTag.picker.noResults), 1)) : (s(!0), m(C, { key: 2 }, e(z.value.rows, (e, t) => (s(), m(C, { key: t }, [e.kind === "header" ? (s(), m("div", {
4258
+ }, [V.value ? (s(), m("div", Ol, c(x(o).logicTag.picker.empty), 1)) : te.value ? (s(), m("div", kl, c(x(o).logicTag.picker.noResults), 1)) : (s(!0), m(C, { key: 2 }, e(R.value.rows, (e, t) => (s(), m(C, { key: t }, [e.kind === "header" ? (s(), m("div", {
4240
4259
  key: 0,
4241
4260
  class: "tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]",
4242
4261
  "data-testid": "logic-picker-header",
4243
4262
  "data-group-name": e.label
4244
- }, c(e.label), 9, wl)) : (s(), m("button", {
4263
+ }, c(e.label), 9, Al)) : (s(), m("button", {
4245
4264
  key: 1,
4246
- id: se(e.index),
4265
+ id: H(e.index),
4247
4266
  type: "button",
4248
4267
  role: "option",
4249
4268
  "aria-selected": e.index === O.value,
@@ -4253,29 +4272,29 @@ var To = { class: "tpl:mb-3.5" }, Eo = ["value"], Do = ["value"], Oo = {
4253
4272
  class: n(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === O.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
4254
4273
  "data-testid": "logic-picker-item",
4255
4274
  onMousemove: (t) => O.value = e.index,
4256
- onClick: (t) => ie(e.kind === "tag" ? e.tag : e.pair)
4275
+ onClick: (t) => re(e.kind === "tag" ? e.tag : e.pair)
4257
4276
  }, [
4258
- p("span", El, [p("span", Dl, c(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (s(), m("span", Ol, [g(ml, {
4277
+ p("span", Ml, [p("span", Nl, c(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (s(), m("span", Pl, [g(bl, {
4259
4278
  value: e.tag.value,
4260
4279
  syntax: x(u)
4261
- }, null, 8, ["value", "syntax"])])) : (s(), m("span", kl, [
4262
- g(ml, {
4280
+ }, null, 8, ["value", "syntax"])])) : (s(), m("span", Fl, [
4281
+ g(bl, {
4263
4282
  value: e.pair.before,
4264
4283
  syntax: x(u)
4265
4284
  }, null, 8, ["value", "syntax"]),
4266
4285
  i[2] ||= p("span", { class: "tpl:text-[var(--tpl-text-dim)]" }, "…", -1),
4267
- g(ml, {
4286
+ g(bl, {
4268
4287
  value: e.pair.after,
4269
4288
  syntax: x(u)
4270
4289
  }, null, 8, ["value", "syntax"])
4271
4290
  ]))]),
4272
- p("span", Al, c(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4273
- (e.kind === "tag" ? e.tag.description : e.pair.description) ? (s(), m("span", jl, c(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : T("", !0)
4274
- ], 42, Tl))], 64))), 128))], 8, xl)
4275
- ], 12, hl)]),
4291
+ p("span", Il, c(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4292
+ (e.kind === "tag" ? e.tag.description : e.pair.description) ? (s(), m("span", Ll, c(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : T("", !0)
4293
+ ], 42, jl))], 64))), 128))], 8, Dl)
4294
+ ], 12, xl)]),
4276
4295
  _: 1
4277
4296
  }, 8, ["visible"]));
4278
4297
  }
4279
4298
  });
4280
4299
  //#endregion
4281
- export { Vc as a, Mn as c, fn as d, dn as f, tn as h, Uc as i, Cn as l, sn as m, fl as n, zc as o, ln as p, Kc as r, Pc as s, Nl as t, Sn as u };
4300
+ export { qc as a, Ln as c, mn as d, pn as f, rn as h, Yc as i, On as l, ln as m, vl as n, Gc as o, dn as p, Qc as r, Bc as s, zl as t, Dn as u };