@templatical/editor 0.23.0 → 0.24.1

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