@templatical/editor 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/dist/{AiChatSidebar-a8TPBAl2.js → AiChatSidebar-DqSoJAXx.js} +1 -1
  3. package/dist/{AiFeatureMenu-CbgDjLqk.js → AiFeatureMenu-CoBvE72q.js} +1 -1
  4. package/dist/{BlockPreviewCanvas-XNV83YGg.js → BlockPreviewCanvas-W6-MRpWz.js} +33 -33
  5. package/dist/{CloudHeaderExtras-C-tbLyfE.js → CloudHeaderExtras-AbsNuL9T.js} +1 -1
  6. package/dist/{CloudPanels-DnWDrgnQ.js → CloudPanels-BNL6rSeB.js} +2 -2
  7. package/dist/{CollaboratorBar-DUmeCkyD.js → CollaboratorBar-DlZ-wOL_.js} +1 -1
  8. package/dist/{CountdownToolbar-DkC-qSgq.js → CountdownToolbar-Bnq25sR-.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-OoiYJAKS.js → DesignReferenceSidebar-Cl5eE8Kn.js} +1 -1
  10. package/dist/{LogicTagInsertButton-BimKobaG.js → LogicTagInsertButton-SI6irEtn.js} +243 -219
  11. package/dist/{MediaEditModal-BFWmufJK.js → MediaEditModal-C-InB-H2.js} +1 -1
  12. package/dist/{MediaPanels-BmDda5rY.js → MediaPanels-CTosUpeo.js} +1 -1
  13. package/dist/{MergeTagInput-DqpVzhy7.js → MergeTagInput-BMQGNh1k.js} +1 -1
  14. package/dist/{MergeTagModeToggle-BkIiAgpQ.js → MergeTagModeToggle-Cm9s-w6o.js} +1 -1
  15. package/dist/{ParagraphEditor-D67Cqh-T.js → ParagraphEditor-CnBPQCVo.js} +19 -19
  16. package/dist/{RestoreVersionDialog-BaKDuPCX.js → RestoreVersionDialog-B13whpxH.js} +1 -1
  17. package/dist/{RichTextEditorContent-AEtfKvLz.js → RichTextEditorContent-DOvhgc-7.js} +3 -3
  18. package/dist/{SaveBlockDialog-BxkI52fN.js → SaveBlockDialog-b5yrQfoN.js} +5 -5
  19. package/dist/{SavedBlocksBrowserModal-C4_25Kvn.js → SavedBlocksBrowserModal-DpqK4Zqp.js} +4 -4
  20. package/dist/{SavedBlocksPanels-DQ0w9G1O.js → SavedBlocksPanels-C2wURIlT.js} +1 -1
  21. package/dist/{SavedBlocksPickBar-CtH-sfxh.js → SavedBlocksPickBar-Bx9_SXVA.js} +1 -1
  22. package/dist/{TemplateSettings-BD1WNP4C.js → TemplateSettings-Gn9ps1R6.js} +3 -3
  23. package/dist/{TestEmailModal-DZi58FU9.js → TestEmailModal-DaIaklcg.js} +5 -5
  24. package/dist/{TestEmailPanel-D__9Wvgz.js → TestEmailPanel-CKSvzakC.js} +1 -1
  25. package/dist/{TitleEditor-v5p89Djs.js → TitleEditor-C66Jk73n.js} +7 -7
  26. package/dist/{ToggleSwitch-CJfQ8u57.js → ToggleSwitch-BqttX9lY.js} +1 -1
  27. package/dist/{Toolbar-C7SjilzH.js → Toolbar-DVsKYQaC.js} +846 -553
  28. package/dist/{TplModal-B8uLyoXE.js → TplModal-DRQln7xH.js} +2 -2
  29. package/dist/{VersionHistoryPanels-DfNrRT6y.js → VersionHistoryPanels-Df5WjNah.js} +1 -1
  30. package/dist/{WrapperBlock-yGmKw0T-.js → WrapperBlock-B0cUORGz.js} +4 -4
  31. package/dist/{blockTypeIcons-B0Bq1WT1.js → blockTypeIcons-DfQNZnl7.js} +1 -1
  32. package/dist/bundle-stats.json +7 -7
  33. package/dist/{ca-Ckgw9yd0.js → ca--zGWn9AU.js} +14 -0
  34. package/dist/cdn/chunks/{AiChatSidebar-mKImUXi6.js → AiChatSidebar-DD17BwXn.js} +10 -10
  35. package/dist/cdn/chunks/{AiChatSidebar-mKImUXi6.js.map → AiChatSidebar-DD17BwXn.js.map} +1 -1
  36. package/dist/cdn/chunks/{AiFeatureMenu-23HCL517.js → AiFeatureMenu-Di381OsL.js} +5 -5
  37. package/dist/cdn/chunks/{AiFeatureMenu-23HCL517.js.map → AiFeatureMenu-Di381OsL.js.map} +1 -1
  38. package/dist/cdn/chunks/{BlockIssueBadge-DS1pUf5g.js → BlockIssueBadge-BR_N3nRh.js} +2 -2
  39. package/dist/cdn/chunks/{BlockIssueBadge-DS1pUf5g.js.map → BlockIssueBadge-BR_N3nRh.js.map} +1 -1
  40. package/dist/cdn/chunks/{BlockPreviewCanvas-DObWyQfh.js → BlockPreviewCanvas-BXpcAiiY.js} +28 -28
  41. package/dist/cdn/chunks/{BlockPreviewCanvas-DObWyQfh.js.map → BlockPreviewCanvas-BXpcAiiY.js.map} +1 -1
  42. package/dist/cdn/chunks/{CloudHeaderExtras-DOB_uWpt.js → CloudHeaderExtras-BEM2eWfF.js} +3 -3
  43. package/dist/cdn/chunks/{CloudHeaderExtras-DOB_uWpt.js.map → CloudHeaderExtras-BEM2eWfF.js.map} +1 -1
  44. package/dist/cdn/chunks/{CloudPanels-DcAn5QW7.js → CloudPanels-D7nK1-bm.js} +4 -4
  45. package/dist/cdn/chunks/{CloudPanels-DcAn5QW7.js.map → CloudPanels-D7nK1-bm.js.map} +1 -1
  46. package/dist/cdn/chunks/{CollaboratorBar-C0M8c2Vv.js → CollaboratorBar-D1SUwahw.js} +3 -3
  47. package/dist/cdn/chunks/{CollaboratorBar-C0M8c2Vv.js.map → CollaboratorBar-D1SUwahw.js.map} +1 -1
  48. package/dist/cdn/chunks/{CommentsPanel-BtAGZfF6.js → CommentsPanel-qsLMAlJU.js} +2 -2
  49. package/dist/cdn/chunks/{CommentsPanel-BtAGZfF6.js.map → CommentsPanel-qsLMAlJU.js.map} +1 -1
  50. package/dist/cdn/chunks/{CommentsSidebar-Ws07MXYj.js → CommentsSidebar-CTwEE-s_.js} +16 -16
  51. package/dist/cdn/chunks/{CommentsSidebar-Ws07MXYj.js.map → CommentsSidebar-CTwEE-s_.js.map} +1 -1
  52. package/dist/cdn/chunks/{CountdownToolbar-Bu93WiS8.js → CountdownToolbar-BJTcnIQ-.js} +4 -4
  53. package/dist/cdn/chunks/{CountdownToolbar-Bu93WiS8.js.map → CountdownToolbar-BJTcnIQ-.js.map} +1 -1
  54. package/dist/cdn/chunks/{DesignReferenceSidebar-BlSdh5B7.js → DesignReferenceSidebar-Dl3eEGtS.js} +9 -9
  55. package/dist/cdn/chunks/{DesignReferenceSidebar-BlSdh5B7.js.map → DesignReferenceSidebar-Dl3eEGtS.js.map} +1 -1
  56. package/dist/cdn/chunks/{IssuesPanel-CKkv9z9g.js → IssuesPanel-L9Gq_T8n.js} +8 -8
  57. package/dist/cdn/chunks/{IssuesPanel-CKkv9z9g.js.map → IssuesPanel-L9Gq_T8n.js.map} +1 -1
  58. package/dist/cdn/chunks/{LogicTagInsertButton-CHc1yZ9v.js → LogicTagInsertButton-3pIbVE9p.js} +250 -226
  59. package/dist/cdn/chunks/LogicTagInsertButton-3pIbVE9p.js.map +1 -0
  60. package/dist/cdn/chunks/{MediaEditModal-CZBZviu2.js → MediaEditModal-rTjYl-fV.js} +2 -2
  61. package/dist/cdn/chunks/{MediaEditModal-CZBZviu2.js.map → MediaEditModal-rTjYl-fV.js.map} +1 -1
  62. package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js → MediaPanels-DMXRQVqg.js} +2 -2
  63. package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js.map → MediaPanels-DMXRQVqg.js.map} +1 -1
  64. package/dist/cdn/chunks/{MergeTagInput--qTYfCWk.js → MergeTagInput-JcBzr77a.js} +2 -2
  65. package/dist/cdn/chunks/{MergeTagInput--qTYfCWk.js.map → MergeTagInput-JcBzr77a.js.map} +1 -1
  66. package/dist/cdn/chunks/{MergeTagModeToggle-CdWIGo3Q.js → MergeTagModeToggle-CYmueXS2.js} +10 -10
  67. package/dist/cdn/chunks/{MergeTagModeToggle-CdWIGo3Q.js.map → MergeTagModeToggle-CYmueXS2.js.map} +1 -1
  68. package/dist/cdn/chunks/{ParagraphEditor-BilbVtrG.js → ParagraphEditor-DbjFDnYm.js} +39 -39
  69. package/dist/cdn/chunks/{ParagraphEditor-BilbVtrG.js.map → ParagraphEditor-DbjFDnYm.js.map} +1 -1
  70. package/dist/cdn/chunks/{RestoreVersionDialog-Q-a44Vjv.js → RestoreVersionDialog-pANCWcce.js} +3 -3
  71. package/dist/cdn/chunks/{RestoreVersionDialog-Q-a44Vjv.js.map → RestoreVersionDialog-pANCWcce.js.map} +1 -1
  72. package/dist/cdn/chunks/{RichTextEditorContent-Fzuu9pLP.js → RichTextEditorContent-BtM1or8A.js} +5 -5
  73. package/dist/cdn/chunks/{RichTextEditorContent-Fzuu9pLP.js.map → RichTextEditorContent-BtM1or8A.js.map} +1 -1
  74. package/dist/cdn/chunks/{SaveBlockDialog-DeW_M6kh.js → SaveBlockDialog-CGM3mrGj.js} +38 -38
  75. package/dist/cdn/chunks/{SaveBlockDialog-DeW_M6kh.js.map → SaveBlockDialog-CGM3mrGj.js.map} +1 -1
  76. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BzQWibKG.js → SavedBlocksBrowserModal-C6Z8AvtD.js} +10 -10
  77. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BzQWibKG.js.map → SavedBlocksBrowserModal-C6Z8AvtD.js.map} +1 -1
  78. package/dist/cdn/chunks/{SavedBlocksPanels-Ce1RePjk.js → SavedBlocksPanels-DNwKmnhp.js} +2 -2
  79. package/dist/cdn/chunks/{SavedBlocksPanels-Ce1RePjk.js.map → SavedBlocksPanels-DNwKmnhp.js.map} +1 -1
  80. package/dist/cdn/chunks/{SavedBlocksPickBar-DIDl6xfy.js → SavedBlocksPickBar-D2p1ufB4.js} +3 -3
  81. package/dist/cdn/chunks/{SavedBlocksPickBar-DIDl6xfy.js.map → SavedBlocksPickBar-D2p1ufB4.js.map} +1 -1
  82. package/dist/cdn/chunks/{TemplateScoringPanel-d_Ppowsq.js → TemplateScoringPanel-BDB4RErx.js} +19 -19
  83. package/dist/cdn/chunks/{TemplateScoringPanel-d_Ppowsq.js.map → TemplateScoringPanel-BDB4RErx.js.map} +1 -1
  84. package/dist/cdn/chunks/{TemplateSettings-Dr5OJ0Gi.js → TemplateSettings-DVN1t3yF.js} +9 -9
  85. package/dist/cdn/chunks/{TemplateSettings-Dr5OJ0Gi.js.map → TemplateSettings-DVN1t3yF.js.map} +1 -1
  86. package/dist/cdn/chunks/{TestEmailModal-CWTmaJuT.js → TestEmailModal-DZBCmBtT.js} +7 -7
  87. package/dist/cdn/chunks/{TestEmailModal-CWTmaJuT.js.map → TestEmailModal-DZBCmBtT.js.map} +1 -1
  88. package/dist/cdn/chunks/{TestEmailPanel-BdYsVHXA.js → TestEmailPanel-1ibwYCUl.js} +2 -2
  89. package/dist/cdn/chunks/{TestEmailPanel-BdYsVHXA.js.map → TestEmailPanel-1ibwYCUl.js.map} +1 -1
  90. package/dist/cdn/chunks/{TitleEditor-pJeeZ-PX.js → TitleEditor-BRl2qKbd.js} +13 -13
  91. package/dist/cdn/chunks/{TitleEditor-pJeeZ-PX.js.map → TitleEditor-BRl2qKbd.js.map} +1 -1
  92. package/dist/cdn/chunks/{ToggleSwitch-0dGCYnRY.js → ToggleSwitch-niSL2uog.js} +2 -2
  93. package/dist/cdn/chunks/{ToggleSwitch-0dGCYnRY.js.map → ToggleSwitch-niSL2uog.js.map} +1 -1
  94. package/dist/cdn/chunks/{Toolbar-BsiHW9gY.js → Toolbar-tTl0P-rr.js} +814 -566
  95. package/dist/cdn/chunks/Toolbar-tTl0P-rr.js.map +1 -0
  96. package/dist/cdn/chunks/{TplModal-CEuGD7pt.js → TplModal-C_eIPykE.js} +3 -3
  97. package/dist/cdn/chunks/{TplModal-CEuGD7pt.js.map → TplModal-C_eIPykE.js.map} +1 -1
  98. package/dist/cdn/chunks/{VersionHistoryMenu-B3-hNu9c.js → VersionHistoryMenu-Ww57XAzj.js} +7 -7
  99. package/dist/cdn/chunks/{VersionHistoryMenu-B3-hNu9c.js.map → VersionHistoryMenu-Ww57XAzj.js.map} +1 -1
  100. package/dist/cdn/chunks/{VersionHistoryPanels-C1yck5gT.js → VersionHistoryPanels-w0EG_qVW.js} +2 -2
  101. package/dist/cdn/chunks/{VersionHistoryPanels-C1yck5gT.js.map → VersionHistoryPanels-w0EG_qVW.js.map} +1 -1
  102. package/dist/cdn/chunks/{VersionPreviewBanner-PzVQSBJE.js → VersionPreviewBanner-Bbd4C-AN.js} +2 -2
  103. package/dist/cdn/chunks/{VersionPreviewBanner-PzVQSBJE.js.map → VersionPreviewBanner-Bbd4C-AN.js.map} +1 -1
  104. package/dist/cdn/chunks/{WrapperBlock-DGkbmj06.js → WrapperBlock-Ch4KeMIb.js} +4 -4
  105. package/dist/cdn/chunks/{WrapperBlock-DGkbmj06.js.map → WrapperBlock-Ch4KeMIb.js.map} +1 -1
  106. package/dist/cdn/chunks/blockTypeIcons-CyPXFh7L.js +21 -0
  107. package/dist/cdn/chunks/{blockTypeIcons-raBjStuv.js.map → blockTypeIcons-CyPXFh7L.js.map} +1 -1
  108. package/dist/cdn/chunks/{ca-Ckgw9yd0.js → ca--zGWn9AU.js} +15 -1
  109. package/dist/cdn/chunks/ca--zGWn9AU.js.map +1 -0
  110. package/dist/cdn/chunks/{cloud-CIT4yPp4.js → cloud-De-eh1u6.js} +2 -2
  111. package/dist/cdn/chunks/{cloud-CIT4yPp4.js.map → cloud-De-eh1u6.js.map} +1 -1
  112. package/dist/cdn/chunks/{createCloudRuntime-COUxbPvd.js → createCloudRuntime-DsaUaWvr.js} +3 -3
  113. package/dist/cdn/chunks/{createCloudRuntime-COUxbPvd.js.map → createCloudRuntime-DsaUaWvr.js.map} +1 -1
  114. package/dist/cdn/chunks/{de-D4dweQw8.js → de-BRNLKcDl.js} +15 -1
  115. package/dist/cdn/chunks/de-BRNLKcDl.js.map +1 -0
  116. package/dist/cdn/chunks/{editor-modal-zxvWz8R6.js → editor-modal-BdI0iA5r.js} +89 -88
  117. package/dist/cdn/chunks/{editor-modal-zxvWz8R6.js.map → editor-modal-BdI0iA5r.js.map} +1 -1
  118. package/dist/cdn/chunks/en-Cs-nw16K.js +2 -0
  119. package/dist/{en-VE7R7NyL.js → cdn/chunks/en-JJjqHMjy.js} +16 -0
  120. package/dist/cdn/chunks/en-JJjqHMjy.js.map +1 -0
  121. package/dist/cdn/chunks/{es-B9OhP8H3.js → es-BIh8BxV9.js} +15 -1
  122. package/dist/cdn/chunks/es-BIh8BxV9.js.map +1 -0
  123. package/dist/cdn/chunks/{extensions-CafoGF65.js → extensions-DK_9-6Bd.js} +4 -4
  124. package/dist/cdn/chunks/{extensions-CafoGF65.js.map → extensions-DK_9-6Bd.js.map} +1 -1
  125. package/dist/{fr-wrXhIi00.js → cdn/chunks/fr-C5VUZogP.js} +16 -0
  126. package/dist/cdn/chunks/fr-C5VUZogP.js.map +1 -0
  127. package/dist/cdn/chunks/{icons-BKkJ-5xF.js → icons-Bad3WZ3G.js} +49 -8
  128. package/dist/cdn/chunks/icons-Bad3WZ3G.js.map +1 -0
  129. package/dist/cdn/chunks/ja-DhlWUfke.js +94 -0
  130. package/dist/cdn/chunks/ja-DhlWUfke.js.map +1 -0
  131. package/dist/cdn/chunks/ja-x5JYxaCW.js +639 -0
  132. package/dist/cdn/chunks/ja-x5JYxaCW.js.map +1 -0
  133. package/dist/cdn/chunks/{nl-DeFatKJe.js → nl-UXxFyXV6.js} +15 -1
  134. package/dist/cdn/chunks/{nl-DeFatKJe.js.map → nl-UXxFyXV6.js.map} +1 -1
  135. package/dist/cdn/chunks/{preRenderCustomBlocks-Dpj-_cOj.js → preRenderCustomBlocks-h4ZFBKbD.js} +2 -2
  136. package/dist/cdn/chunks/{preRenderCustomBlocks-Dpj-_cOj.js.map → preRenderCustomBlocks-h4ZFBKbD.js.map} +1 -1
  137. package/dist/cdn/chunks/{pt-BR-Bh1J8ey6.js → pt-BR-DHm3SP6W.js} +15 -1
  138. package/dist/cdn/chunks/pt-BR-DHm3SP6W.js.map +1 -0
  139. package/dist/cdn/chunks/{socialIcons-BvYNMn1G.js → socialIcons-ZOCwCCyn.js} +3 -3
  140. package/dist/cdn/chunks/{socialIcons-BvYNMn1G.js.map → socialIcons-ZOCwCCyn.js.map} +1 -1
  141. package/dist/cdn/chunks/{src-DveVYoWS.js → src-BR3I3gOW.js} +265 -224
  142. package/dist/cdn/chunks/src-BR3I3gOW.js.map +1 -0
  143. package/dist/cdn/chunks/{src-CbGCES0u.js → src-BxoLKnkl.js} +178 -165
  144. package/dist/cdn/chunks/src-BxoLKnkl.js.map +1 -0
  145. package/dist/cdn/chunks/{src-Cnc5E71L.js → src-fZSLjhjy.js} +12 -12
  146. package/dist/cdn/chunks/{src-Cnc5E71L.js.map → src-fZSLjhjy.js.map} +1 -1
  147. package/dist/cdn/chunks/{useEditorCore-CQraU2s_.js → useEditorCore-yd40TFKy.js} +467 -446
  148. package/dist/cdn/chunks/useEditorCore-yd40TFKy.js.map +1 -0
  149. package/dist/cdn/chunks/{useLogicTag-DF7-l66G.js → useLogicTag-J_i_hvZg.js} +2 -2
  150. package/dist/cdn/chunks/{useLogicTag-DF7-l66G.js.map → useLogicTag-J_i_hvZg.js.map} +1 -1
  151. package/dist/cdn/chunks/{useMergeTag-DbIHw4NG.js → useMergeTag-C5MyHYxJ.js} +2 -2
  152. package/dist/cdn/chunks/{useMergeTag-DbIHw4NG.js.map → useMergeTag-C5MyHYxJ.js.map} +1 -1
  153. package/dist/cdn/chunks/{usePopoverPosition-BJRvAb-h.js → usePopoverPosition-DGXjXKjM.js} +25 -12
  154. package/dist/cdn/chunks/usePopoverPosition-DGXjXKjM.js.map +1 -0
  155. package/dist/cdn/editor.css +1 -1
  156. package/dist/cdn/editor.js +64 -64
  157. package/dist/{cloud-DsqqUfzh.js → cloud-AO_X8T9g.js} +1 -1
  158. package/dist/{createCloudRuntime-iLflkYzP.js → createCloudRuntime-D641nhri.js} +2 -2
  159. package/dist/{de-D4dweQw8.js → de-BRNLKcDl.js} +14 -0
  160. package/dist/{dist-DbUZvK04.js → dist-iLUVPysa.js} +263 -222
  161. package/dist/{editor-modal-Czq1I8oC.js → editor-modal-qzmEVcIk.js} +3 -2
  162. package/dist/en-1tgLzB8q.js +2 -0
  163. package/dist/{cdn/chunks/en-VE7R7NyL.js → en-JJjqHMjy.js} +14 -2
  164. package/dist/{es-B9OhP8H3.js → es-BIh8BxV9.js} +14 -0
  165. package/dist/{extensions-DDhjuVKy.js → extensions-DoT2-_pz.js} +11 -11
  166. package/dist/{cdn/chunks/fr-wrXhIi00.js → fr-C5VUZogP.js} +14 -2
  167. package/dist/ja-DhlWUfke.js +92 -0
  168. package/dist/ja-x5JYxaCW.js +637 -0
  169. package/dist/{nl-DeFatKJe.js → nl-UXxFyXV6.js} +14 -0
  170. package/dist/{preRenderCustomBlocks-BBSqQgke.js → preRenderCustomBlocks-CTstI3Q-.js} +4 -4
  171. package/dist/{pt-BR-Bh1J8ey6.js → pt-BR-DHm3SP6W.js} +14 -0
  172. package/dist/{socialIcons-O7PZCW2P.js → socialIcons-CACVa6m_.js} +46 -46
  173. package/dist/style.css +1 -1
  174. package/dist/templatical-editor.js +109 -109
  175. package/dist/{useEditorCore-Dt_VWNqX.js → useEditorCore-LyNoGs0m.js} +902 -881
  176. package/dist/{useLogicTag-D9pvgxQR.js → useLogicTag-BaH8gey0.js} +1 -1
  177. package/dist/{useMergeTag-BaVFPdlq.js → useMergeTag-Cyad1yBE.js} +1 -1
  178. package/dist/{usePopoverPosition-DH7z3Ghm.js → usePopoverPosition-BYmd-lhR.js} +24 -11
  179. package/package.json +8 -8
  180. package/dist/cdn/chunks/LogicTagInsertButton-CHc1yZ9v.js.map +0 -1
  181. package/dist/cdn/chunks/Toolbar-BsiHW9gY.js.map +0 -1
  182. package/dist/cdn/chunks/blockTypeIcons-raBjStuv.js +0 -21
  183. package/dist/cdn/chunks/ca-Ckgw9yd0.js.map +0 -1
  184. package/dist/cdn/chunks/de-D4dweQw8.js.map +0 -1
  185. package/dist/cdn/chunks/en-BcQ9ovQu.js +0 -2
  186. package/dist/cdn/chunks/en-VE7R7NyL.js.map +0 -1
  187. package/dist/cdn/chunks/es-B9OhP8H3.js.map +0 -1
  188. package/dist/cdn/chunks/fr-wrXhIi00.js.map +0 -1
  189. package/dist/cdn/chunks/icons-BKkJ-5xF.js.map +0 -1
  190. package/dist/cdn/chunks/pt-BR-Bh1J8ey6.js.map +0 -1
  191. package/dist/cdn/chunks/src-CbGCES0u.js.map +0 -1
  192. package/dist/cdn/chunks/src-DveVYoWS.js.map +0 -1
  193. package/dist/cdn/chunks/useEditorCore-CQraU2s_.js.map +0 -1
  194. package/dist/cdn/chunks/usePopoverPosition-BJRvAb-h.js.map +0 -1
  195. package/dist/en-DQqmtndQ.js +0 -2
@@ -1,35 +1,35 @@
1
1
  import { A as e, B as t, E as n, F as r, H as i, I as a, K as o, N as s, P as c, Q as l, R as u, S as d, U as f, X as p, Y as m, at as h, b as g, c as _, ct as v, et as y, f as b, g as x, h as S, it as C, j as w, k as T, l as E, lt as D, m as O, p as k, q as A, rt as j, s as M, t as N, u as P, ut as F, w as I, x as L, y as R } from "./draggable-IB4x6w2O.js";
2
- import { A as z, B, F as V, G as ee, H as te, I as ne, J as re, M as ie, N as ae, O as oe, P as se, R as ce, T as le, V as ue, Y as de, Z as fe, _ as pe, a as me, b as he, d as ge, f as _e, ft as ve, g as ye, h as be, i as H, j as xe, k as Se, l as Ce, m as we, n as Te, o as Ee, p as De, pt as Oe, q as ke, r as Ae, s as je, u as Me, ut as Ne, z as Pe } from "./src-DveVYoWS.js";
3
- import { a as Fe, b as Ie, g as Le, h as Re, i as ze, m as Be, n as Ve, o as He, t as Ue, v as We, y as Ge } from "./socialIcons-BvYNMn1G.js";
4
- import { _ as Ke, h as qe, v as Je, y as Ye } from "./dist-BRZhN8qJ.js";
5
- import { a as U, c as Xe, i as Ze } from "./dist-CXB2_kBa.js";
6
- import { $ as Qe, A as $e, B as et, C as tt, D as nt, E as rt, F as W, G as it, H as at, I as ot, J as st, K as ct, L as lt, M as ut, N as dt, O as G, P as ft, Q as K, R as pt, S as mt, T as ht, V as gt, X as _t, Y as vt, Z as yt, _ as bt, a as xt, b as St, c as Ct, d as wt, f as Tt, g as q, h as Et, j as Dt, k as Ot, l as kt, m as At, n as jt, o as Mt, p as Nt, q as Pt, r as Ft, s as It, v as Lt, w as Rt, x as zt, y as Bt, z as Vt } from "./keys-DCWeHkSF.js";
2
+ import { A as z, B, F as V, G as H, H as ee, I as te, J as ne, M as re, N as ie, O as ae, P as oe, R as se, T as ce, V as le, Y as ue, Z as de, _ as fe, _t as pe, a as me, b as he, d as ge, f as _e, g as ve, gt as ye, h as be, ht as xe, i as U, j as Se, k as Ce, l as we, m as Te, mt as Ee, n as De, o as Oe, p as ke, q as Ae, r as je, s as Me, u as Ne, ut as Pe, vt as W, z as Fe } from "./src-BR3I3gOW.js";
3
+ import { a as Ie, b as Le, g as Re, h as ze, i as Be, m as Ve, n as He, o as Ue, t as We, v as Ge, y as Ke } from "./socialIcons-ZOCwCCyn.js";
4
+ import { _ as qe, h as Je, v as Ye, y as Xe } from "./dist-BRZhN8qJ.js";
5
+ import { a as G, c as Ze, i as Qe } from "./dist-CXB2_kBa.js";
6
+ import { $ as $e, A as et, B as tt, C as nt, D as rt, E as it, F as K, G as at, H as ot, I as st, J as ct, K as lt, L as ut, M as dt, N as ft, O as q, P as pt, Q as J, R as mt, S as ht, T as gt, V as _t, X as vt, Y as yt, Z as bt, _ as xt, a as St, b as Ct, c as wt, d as Tt, f as Et, g as Y, h as Dt, j as Ot, k as kt, l as At, m as jt, n as Mt, o as Nt, p as Pt, q as Ft, r as It, s as Lt, v as Rt, w as zt, x as Bt, y as Vt, z as Ht } from "./keys-DCWeHkSF.js";
7
7
  import "./timeouts-DHPZQ0G3.js";
8
- import { t as J } from "./useI18n-CyO_Nmca.js";
9
- import { t as Y } from "./logger-ByvdoAwq.js";
10
- import { i as Ht, o as Ut, r as X, t as Wt } from "./usePopoverPosition-BJRvAb-h.js";
11
- import { r as Gt, t as Kt } from "./templateSettingsFields-YCFVBVYh.js";
12
- import { A as qt, Bt as Jt, Et as Yt, H as Xt, Ot as Zt, Tt as Qt, X as $t, d as en, ft as tn, ht as nn, it as rn, o as an, s as on, tt as sn, u as cn, v as ln, vt as un, zt as dn } from "./icons-BKkJ-5xF.js";
13
- import { t as fn } from "./LoadingTrack-_7DH_5aw.js";
14
- import { t as pn } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
- import { t as mn } from "./useEditorRoot-CshefZLP.js";
8
+ import { t as X } from "./useI18n-CyO_Nmca.js";
9
+ import { t as Z } from "./logger-ByvdoAwq.js";
10
+ import { i as Ut, r as Wt, s as Gt, t as Kt } from "./usePopoverPosition-DGXjXKjM.js";
11
+ import { r as qt, t as Jt } from "./templateSettingsFields-YCFVBVYh.js";
12
+ import { Bt as Yt, Dt as Xt, Et as Zt, U as Qt, Vt as $t, Z as en, at as tn, d as nn, f as rn, gt as an, j as on, kt as sn, nt as cn, o as ln, pt as un, s as dn, y as fn, yt as pn } from "./icons-Bad3WZ3G.js";
13
+ import { t as mn } from "./LoadingTrack-_7DH_5aw.js";
14
+ import { t as hn } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
+ import { t as gn } from "./useEditorRoot-CshefZLP.js";
16
16
  import "./useCloudI18n-CrjWbpbu.js";
17
- import { t as Z } from "./useMergeTag-DbIHw4NG.js";
18
- import { t as hn } from "./useLogicTag-DF7-l66G.js";
19
- import { t as gn } from "./useAliveFlag-DAlQLbM2.js";
17
+ import { t as _n } from "./useMergeTag-C5MyHYxJ.js";
18
+ import { t as vn } from "./useLogicTag-J_i_hvZg.js";
19
+ import { t as yn } from "./useAliveFlag-DAlQLbM2.js";
20
20
  //#region src/utils/activeEditorTracker.ts
21
- var _n = /* @__PURE__ */ new Set(), Q = 0, vn = 0;
22
- function yn() {
23
- let e = ++vn;
24
- return _n.add(e), Q === 0 && (Q = e), {
21
+ var bn = /* @__PURE__ */ new Set(), Q = 0, xn = 0;
22
+ function Sn() {
23
+ let e = ++xn;
24
+ return bn.add(e), Q === 0 && (Q = e), {
25
25
  id: e,
26
- isActive: () => _n.size <= 1 || Q === e,
26
+ isActive: () => bn.size <= 1 || Q === e,
27
27
  claim: () => {
28
28
  Q = e;
29
29
  },
30
30
  dispose: () => {
31
- if (_n.delete(e), Q === e) {
32
- let e = Array.from(_n);
31
+ if (bn.delete(e), Q === e) {
32
+ let e = Array.from(bn);
33
33
  Q = e[e.length - 1] ?? 0;
34
34
  }
35
35
  }
@@ -37,8 +37,8 @@ function yn() {
37
37
  }
38
38
  //#endregion
39
39
  //#region src/composables/usePreviewResolution.ts
40
- var bn = 500;
41
- function xn(e) {
40
+ var Cn = 500;
41
+ function wn(e) {
42
42
  let n = typeof e.resolvePreview == "function", r = l(null), i = l(!1), a = l(!1), o = 0, s = null;
43
43
  function c() {
44
44
  s !== null && (clearTimeout(s), s = null);
@@ -49,13 +49,13 @@ function xn(e) {
49
49
  let n = ++o;
50
50
  i.value = !0;
51
51
  let s = {
52
- content: le(e.getContent()),
52
+ content: ce(e.getContent()),
53
53
  ...e.getRecipient?.() === void 0 ? {} : { recipient: e.getRecipient() }
54
54
  };
55
55
  try {
56
56
  let e = await t(s);
57
57
  if (n !== o) return;
58
- if (!Te(e)) {
58
+ if (!De(e)) {
59
59
  a.value = !0;
60
60
  return;
61
61
  }
@@ -75,7 +75,7 @@ function xn(e) {
75
75
  }
76
76
  s = setTimeout(() => {
77
77
  s = null, u();
78
- }, bn);
78
+ }, Cn);
79
79
  }
80
80
  }
81
81
  return t(() => [e.isActive(), e.getRecipient?.()], ([e]) => {
@@ -97,7 +97,7 @@ function xn(e) {
97
97
  }
98
98
  //#endregion
99
99
  //#region src/composables/useImageUrlResolver.ts
100
- function Sn(e) {
100
+ function Tn(e) {
101
101
  let t = p(/* @__PURE__ */ new Map()), n = /* @__PURE__ */ new Set();
102
102
  function r(e) {
103
103
  return t.get(e);
@@ -130,8 +130,8 @@ function Sn(e) {
130
130
  lookup: a
131
131
  };
132
132
  }
133
- function Cn(e) {
134
- let r = n(zt, null), i = b(e);
133
+ function En(e) {
134
+ let r = n(Bt, null), i = b(e);
135
135
  if (!r) return i;
136
136
  let a;
137
137
  function s() {
@@ -160,7 +160,7 @@ function Cn(e) {
160
160
  }
161
161
  //#endregion
162
162
  //#region src/composables/useMergeTagPicker.ts
163
- function wn() {
163
+ function Dn() {
164
164
  let e = l(!1), t = l([]), n = l(null), r = null;
165
165
  function i(i, a) {
166
166
  if (r) {
@@ -191,7 +191,7 @@ function wn() {
191
191
  }
192
192
  //#endregion
193
193
  //#region src/composables/useLogicTagPicker.ts
194
- function Tn() {
194
+ function On() {
195
195
  let e = l(!1), t = l([]), n = l([]), r = null;
196
196
  function i(i, a) {
197
197
  if (r) {
@@ -222,17 +222,17 @@ function Tn() {
222
222
  }
223
223
  //#endregion
224
224
  //#region src/composables/useTemplateLint.ts
225
- function En(e) {
225
+ function kn(e) {
226
226
  return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
227
227
  }
228
- function Dn(e) {
229
- let n = l([]), r = l(!1), i = l(!1), a = y(null), o = En(e.options), s = null, c = !1;
228
+ function An(e) {
229
+ let n = l([]), r = l(!1), i = l(!1), a = y(null), o = kn(e.options), s = null, c = !1;
230
230
  o || u();
231
231
  async function u() {
232
232
  try {
233
- let t = await import("./src-Cnc5E71L.js");
233
+ let t = await import("./src-fZSLjhjy.js");
234
234
  if (c) return;
235
- a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Ye(e.content, d, {
235
+ a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Xe(e.content, d, {
236
236
  debounce: e.debounce ?? 500,
237
237
  deep: !0
238
238
  });
@@ -267,7 +267,7 @@ function Dn(e) {
267
267
  }
268
268
  //#endregion
269
269
  //#region src/composables/useKeyboardReorder.ts
270
- function On(e, t, n = []) {
270
+ function jn(e, t, n = []) {
271
271
  let r = l(null), i = l(""), a = null;
272
272
  function o(t) {
273
273
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -294,7 +294,7 @@ function On(e, t, n = []) {
294
294
  let i = o(r);
295
295
  if (!i) return "";
296
296
  let a = (i.sectionId ? c(i.sectionId, i.columnIndex ?? 0) : e.content.value.blocks)?.[i.index];
297
- return a ? He(a, t.t, n) : "";
297
+ return a ? Ue(a, t.t, n) : "";
298
298
  }
299
299
  function c(t, n) {
300
300
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -363,13 +363,13 @@ function On(e, t, n = []) {
363
363
  }
364
364
  //#endregion
365
365
  //#region src/composables/useUiTheme.ts
366
- function kn(e) {
367
- let t = Xe("(prefers-color-scheme: dark)");
366
+ function Mn(e) {
367
+ let t = Ze("(prefers-color-scheme: dark)");
368
368
  return { resolvedTheme: b(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
369
369
  }
370
370
  //#endregion
371
371
  //#region src/composables/useThemeStyles.ts
372
- var An = {
372
+ var Nn = {
373
373
  bg: "--tpl-bg",
374
374
  bgElevated: "--tpl-bg-elevated",
375
375
  bgHover: "--tpl-bg-hover",
@@ -393,10 +393,10 @@ var An = {
393
393
  dangerLight: "--tpl-danger-light",
394
394
  canvasBg: "--tpl-canvas-bg"
395
395
  };
396
- function jn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
396
+ function Pn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
397
397
  return { themeStyles: b(() => {
398
398
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
399
- if (a) for (let [e, t] of Object.entries(An)) {
399
+ if (a) for (let [e, t] of Object.entries(Nn)) {
400
400
  let n = a[e];
401
401
  n && (r[t] = n);
402
402
  }
@@ -405,7 +405,7 @@ function jn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
405
405
  }
406
406
  //#endregion
407
407
  //#region src/composables/useBlockRegistry.ts
408
- function Mn() {
408
+ function Fn() {
409
409
  let e = y(/* @__PURE__ */ new Map());
410
410
  function t(t, n) {
411
411
  e.value.set(t, n), C(e);
@@ -445,7 +445,7 @@ function Mn() {
445
445
  strictFilters: !1
446
446
  }).parseAndRender(t.template, e.fieldValues);
447
447
  } catch (t) {
448
- return Y.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
448
+ return Z.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
449
449
  }
450
450
  }
451
451
  function c(t) {
@@ -463,9 +463,9 @@ function Mn() {
463
463
  }
464
464
  //#endregion
465
465
  //#region src/composables/useCustomBlockStylesheets.ts
466
- function Nn(e, t) {
466
+ function In(e, t) {
467
467
  return b(() => {
468
- let n = Pn(e.value.blocks);
468
+ let n = Ln(e.value.blocks);
469
469
  if (n.size === 0) return [];
470
470
  let r = /* @__PURE__ */ new Set(), i = [];
471
471
  for (let e of n) {
@@ -477,33 +477,33 @@ function Nn(e, t) {
477
477
  return i;
478
478
  });
479
479
  }
480
- function Pn(e) {
480
+ function Ln(e) {
481
481
  let t = /* @__PURE__ */ new Set();
482
- return Fn(e, t), t;
482
+ return Rn(e, t), t;
483
483
  }
484
- function Fn(e, t) {
484
+ function Rn(e, t) {
485
485
  for (let n of e) {
486
- if (fe(n)) {
486
+ if (de(n)) {
487
487
  t.add(n.customType);
488
488
  continue;
489
489
  }
490
490
  if (n.type === "section") {
491
491
  let e = n.children;
492
492
  if (!e) continue;
493
- for (let n of e) Fn(n, t);
494
- } else Ne(n) && Fn(n.children, t);
493
+ for (let n of e) Rn(n, t);
494
+ } else Pe(n) && Rn(n.children, t);
495
495
  }
496
496
  }
497
497
  //#endregion
498
498
  //#region src/utils/registerBuiltInBlocks.ts
499
- var In = [
499
+ var zn = [
500
500
  {
501
501
  type: "section",
502
- createBlock: ne
502
+ createBlock: te
503
503
  },
504
504
  {
505
505
  type: "title",
506
- createBlock: ue
506
+ createBlock: le
507
507
  },
508
508
  {
509
509
  type: "paragraph",
@@ -511,27 +511,27 @@ var In = [
511
511
  },
512
512
  {
513
513
  type: "image",
514
- createBlock: ae
514
+ createBlock: ie
515
515
  },
516
516
  {
517
517
  type: "button",
518
- createBlock: oe
518
+ createBlock: ae
519
519
  },
520
520
  {
521
521
  type: "divider",
522
- createBlock: xe
522
+ createBlock: Se
523
523
  },
524
524
  {
525
525
  type: "video",
526
- createBlock: te
526
+ createBlock: ee
527
527
  },
528
528
  {
529
529
  type: "social",
530
- createBlock: ce
530
+ createBlock: se
531
531
  },
532
532
  {
533
533
  type: "menu",
534
- createBlock: se
534
+ createBlock: oe
535
535
  },
536
536
  {
537
537
  type: "table",
@@ -539,19 +539,19 @@ var In = [
539
539
  },
540
540
  {
541
541
  type: "spacer",
542
- createBlock: Pe
542
+ createBlock: Fe
543
543
  },
544
544
  {
545
545
  type: "html",
546
- createBlock: ie
546
+ createBlock: re
547
547
  },
548
548
  {
549
549
  type: "countdown",
550
- createBlock: Se
550
+ createBlock: Ce
551
551
  }
552
552
  ];
553
- function Ln(e, t) {
554
- for (let n of In) {
553
+ function Bn(e, t) {
554
+ for (let n of zn) {
555
555
  let r = t[n.type];
556
556
  r && e.registerBuiltIn(n.type, {
557
557
  component: r,
@@ -561,33 +561,33 @@ function Ln(e, t) {
561
561
  }
562
562
  //#endregion
563
563
  //#region src/utils/resolveHtmlBlockPreview.ts
564
- function Rn(e) {
564
+ function Vn(e) {
565
565
  return typeof e == "boolean" ? e : e?.enabled ?? !1;
566
566
  }
567
567
  //#endregion
568
568
  //#region src/utils/collectOffPaletteDefaults.ts
569
- function zn(e) {
569
+ function Hn(e) {
570
570
  return typeof e == "object" && !!e && !Array.isArray(e);
571
571
  }
572
- function Bn(e, t, n) {
573
- let r = new Set(e.map((e) => X(e))), i = [], a = (e, t) => {
574
- for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(X(o)) && i.push(`${t}.${n}: ${o}`) : zn(o) && a(o, `${t}.${n}`);
572
+ function Un(e, t, n) {
573
+ let r = new Set(e.map((e) => Wt(e))), i = [], a = (e, t) => {
574
+ for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Wt(o)) && i.push(`${t}.${n}: ${o}`) : Hn(o) && a(o, `${t}.${n}`);
575
575
  }, o = t;
576
- for (let [e, t] of Object.entries(ke)) {
576
+ for (let [e, t] of Object.entries(Ae)) {
577
577
  let n = o?.[e];
578
578
  a({
579
579
  ...t,
580
- ...zn(n) ? n : {}
580
+ ...Hn(n) ? n : {}
581
581
  }, e);
582
582
  }
583
583
  return a({
584
- ...re,
584
+ ...ne,
585
585
  ...n ?? {}
586
586
  }, "template"), i;
587
587
  }
588
588
  //#endregion
589
589
  //#region src/utils/localizedBlockDefaults.ts
590
- function Vn(e) {
590
+ function Wn(e) {
591
591
  return {
592
592
  title: { content: `<p>${e.blockDefaults.title}</p>` },
593
593
  paragraph: { content: `<p>${e.blockDefaults.paragraph}</p>` },
@@ -596,58 +596,59 @@ function Vn(e) {
596
596
  }
597
597
  //#endregion
598
598
  //#region src/i18n/index.ts
599
- var Hn = /* #__PURE__ */ Object.assign({
600
- "./locales/ca.ts": () => import("./ca-Ckgw9yd0.js"),
601
- "./locales/de.ts": () => import("./de-D4dweQw8.js"),
602
- "./locales/en.ts": () => import("./en-VE7R7NyL.js"),
603
- "./locales/es.ts": () => import("./es-B9OhP8H3.js"),
604
- "./locales/fr.ts": () => import("./fr-wrXhIi00.js"),
605
- "./locales/nl.ts": () => import("./nl-DeFatKJe.js"),
606
- "./locales/pt-BR.ts": () => import("./pt-BR-Bh1J8ey6.js")
607
- }), Un = /* #__PURE__ */ Object.assign({
599
+ var Gn = /* #__PURE__ */ Object.assign({
600
+ "./locales/ca.ts": () => import("./ca--zGWn9AU.js"),
601
+ "./locales/de.ts": () => import("./de-BRNLKcDl.js"),
602
+ "./locales/en.ts": () => import("./en-JJjqHMjy.js"),
603
+ "./locales/es.ts": () => import("./es-BIh8BxV9.js"),
604
+ "./locales/fr.ts": () => import("./fr-C5VUZogP.js"),
605
+ "./locales/ja.ts": () => import("./ja-x5JYxaCW.js"),
606
+ "./locales/nl.ts": () => import("./nl-UXxFyXV6.js"),
607
+ "./locales/pt-BR.ts": () => import("./pt-BR-DHm3SP6W.js")
608
+ }), Kn = /* #__PURE__ */ Object.assign({
608
609
  "./locales/cloud/de.ts": () => import("./de-mMY5yQJu.js"),
609
610
  "./locales/cloud/en.ts": () => import("./en-ChVeGQBY.js"),
610
611
  "./locales/cloud/pt-BR.ts": () => import("./pt-BR-CoCwRUi0.js")
611
612
  });
612
- function Wn(e) {
613
+ function qn(e) {
613
614
  return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
614
615
  }
615
- var Gn = Wn(Hn), Kn = Wn(Un);
616
- function qn(e) {
616
+ var Jn = qn(Gn), Yn = qn(Kn);
617
+ function Xn(e) {
617
618
  return e.trim().replace(/_/g, "-").toLowerCase();
618
619
  }
619
- function Jn(e, t) {
620
- let n = qn(e);
621
- return t.find((e) => qn(e) === n);
620
+ function Zn(e, t) {
621
+ let n = Xn(e);
622
+ return t.find((e) => Xn(e) === n);
622
623
  }
623
- function Yn(e) {
624
- return qn(e).split("-")[0];
624
+ function Qn(e) {
625
+ return Xn(e).split("-")[0];
625
626
  }
626
- function Xn(e, t) {
627
- return Jn(e, t) ?? Jn(Yn(e), t);
627
+ function $n(e, t) {
628
+ return Zn(e, t) ?? Zn(Qn(e), t);
628
629
  }
629
- function Zn(e, t) {
630
- return Xn(e, t) ?? "en";
630
+ function er(e, t) {
631
+ return $n(e, t) ?? "en";
631
632
  }
632
- async function Qn(e) {
633
- let t = Hn[`./locales/${Zn(e, Gn)}.ts`];
633
+ async function tr(e) {
634
+ let t = Gn[`./locales/${er(e, Jn)}.ts`];
634
635
  return (await t()).default;
635
636
  }
636
- async function $n(e) {
637
- let t = Un[`./locales/cloud/${Zn(e, Kn)}.ts`];
637
+ async function nr(e) {
638
+ let t = Kn[`./locales/cloud/${er(e, Yn)}.ts`];
638
639
  return (await t()).default;
639
640
  }
640
- function er(e) {
641
- return Xn(e, Gn) !== void 0;
641
+ function rr(e) {
642
+ return $n(e, Jn) !== void 0;
642
643
  }
643
- function tr(e) {
644
- return Xn(e, Kn) !== void 0;
644
+ function ir(e) {
645
+ return $n(e, Yn) !== void 0;
645
646
  }
646
- function nr() {
647
- return [...Gn];
647
+ function ar() {
648
+ return [...Jn];
648
649
  }
649
- function rr() {
650
- return [...Kn];
650
+ function or() {
651
+ return [...Yn];
651
652
  }
652
653
  //#endregion
653
654
  //#region src/i18n/contentDefaults.ts
@@ -707,17 +708,25 @@ var $ = {
707
708
  minutes: "Minuts",
708
709
  seconds: "Segons",
709
710
  expired: "Aquesta oferta ha caducat"
710
- }
711
- }, ir = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
712
- function ar(e) {
711
+ },
712
+ ja: {
713
+ video: "動画",
714
+ days: "日",
715
+ hours: "時間",
716
+ minutes: "分",
717
+ seconds: "秒",
718
+ expired: "このオファーは終了しました"
719
+ }
720
+ }, sr = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
721
+ function cr(e) {
713
722
  if (!e) return $.en;
714
- let t = e.trim().replace(/_/g, "-").toLowerCase(), n = ir.get(t);
723
+ let t = e.trim().replace(/_/g, "-").toLowerCase(), n = sr.get(t);
715
724
  if (n) return $[n];
716
- let r = ir.get(Yn(t));
725
+ let r = sr.get(Qn(t));
717
726
  return r ? $[r] : $.en;
718
727
  }
719
- function or(e) {
720
- let t = ar(e);
728
+ function lr(e) {
729
+ let t = cr(e);
721
730
  return {
722
731
  video: { alt: t.video },
723
732
  countdown: {
@@ -731,9 +740,9 @@ function or(e) {
731
740
  }
732
741
  //#endregion
733
742
  //#region src/utils/collectColorFieldIssues.ts
734
- function sr(e, t) {
743
+ function ur(e, t) {
735
744
  let n = [], r = (r, i) => {
736
- let a = Fe(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
745
+ let a = Ie(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
737
746
  if (a.invalidPresets.length > 0 && n.push({
738
747
  id: s("invalid-presets"),
739
748
  message: `${o}: presets skipped invalid entries: ${a.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).` + (a.presetsInherited ? " No valid entries are left, so the field inherits colors.presets." : "")
@@ -744,8 +753,8 @@ function sr(e, t) {
744
753
  id: s("allow-custom-ignored"),
745
754
  message: `${o}: allowCustom: true is ignored because colors.allowCustom is false — a field can narrow the editor-wide palette, never unlock it.`
746
755
  }), !a.allowCustom && a.presets.length > 0) {
747
- let e = r.default ?? "", t = new Set(a.presets.map((e) => X(e)));
748
- e !== "" && !t.has(X(e)) && n.push({
756
+ let e = r.default ?? "", t = new Set(a.presets.map((e) => Wt(e)));
757
+ e !== "" && !t.has(Wt(e)) && n.push({
749
758
  id: s("off-palette-default"),
750
759
  message: `${o} locks custom colours, but its default ${e} falls outside the field's presets: ${a.presets.join(", ")}. New blocks start on a colour the picker can't reselect — set the default from the same palette.`
751
760
  });
@@ -757,7 +766,7 @@ function sr(e, t) {
757
766
  }
758
767
  //#endregion
759
768
  //#region src/utils/keyboardShortcuts.ts
760
- function cr(e) {
769
+ function dr(e) {
761
770
  for (let t of e.composedPath()) {
762
771
  if (!(t instanceof HTMLElement)) continue;
763
772
  if (t.isContentEditable) return !0;
@@ -766,18 +775,18 @@ function cr(e) {
766
775
  }
767
776
  return !1;
768
777
  }
769
- function lr(e, t) {
778
+ function fr(e, t) {
770
779
  let n = e.metaKey || e.ctrlKey;
771
780
  if (n && e.key.toLowerCase() === "s") {
772
781
  e.preventDefault(), t.onSave?.();
773
782
  return;
774
783
  }
775
784
  if (n && e.key.toLowerCase() === "z") {
776
- if (cr(e)) return;
785
+ if (dr(e)) return;
777
786
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
778
787
  return;
779
788
  }
780
- if (t.isPicking?.() && !cr(e)) {
789
+ if (t.isPicking?.() && !dr(e)) {
781
790
  if (e.key === "Escape") {
782
791
  e.preventDefault(), t.onCancelPick?.();
783
792
  return;
@@ -795,11 +804,57 @@ function lr(e, t) {
795
804
  t.selectBlock(null);
796
805
  return;
797
806
  }
798
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !cr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
807
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !dr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
808
+ }
809
+ //#endregion
810
+ //#region src/utils/blockComponentResolver.ts
811
+ function pr(e) {
812
+ let t = { fontFamily: e.fontFamily };
813
+ return e.textColor && (t.color = e.textColor), e.linkColor && (t["--tpl-doc-link-color"] = e.linkColor), e.linkUnderline && (t["--tpl-doc-link-underline"] = "underline"), t;
814
+ }
815
+ function mr(e, t, n) {
816
+ if (t) {
817
+ let n = t.getComponent(e);
818
+ if (n) return n;
819
+ }
820
+ return n[e.type] ?? null;
821
+ }
822
+ function hr(e) {
823
+ if (e.type === "wrapper") return {};
824
+ let { padding: t, backgroundColor: n } = e.styles, r = {
825
+ padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
826
+ backgroundColor: n || "transparent"
827
+ };
828
+ if ((e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? xe.paragraphGap : xe.paragraphGap}px`), e.type === "section") {
829
+ let t = W(e.borderRadius);
830
+ t !== null && (r.borderRadius = t), Object.assign(r, gr(e.border));
831
+ }
832
+ return r;
833
+ }
834
+ function gr(e) {
835
+ let t = {};
836
+ for (let [n, r] of Object.entries(pe(e))) t[n.replace(/-(\w)/g, (e, t) => t.toUpperCase())] = r;
837
+ return t;
838
+ }
839
+ function _r(e) {
840
+ if (e.type !== "section" || !e.wrapper) return null;
841
+ let t = e.wrapper, n = {};
842
+ t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`);
843
+ let r = W(t.borderRadius);
844
+ return r !== null && (n.borderRadius = r), n;
845
+ }
846
+ function vr(e) {
847
+ if (e.type !== "wrapper") return null;
848
+ let t = {};
849
+ if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
850
+ let n = e.styles.padding;
851
+ t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
852
+ }
853
+ return e.borderRadius && e.borderRadius > 0 && (t.borderRadius = `${e.borderRadius}px`), t;
799
854
  }
800
855
  //#endregion
801
856
  //#region src/utils/mergeTagLabelSegments.ts
802
- function ur(e, t, n, r = !1) {
857
+ function yr(e, t, n, r = !1) {
803
858
  if (!e) return [];
804
859
  let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
805
860
  for (; (s = i.exec(e)) !== null;) {
@@ -809,10 +864,10 @@ function ur(e, t, n, r = !1) {
809
864
  });
810
865
  let i = s[0];
811
866
  if (_e(i, n)) {
812
- let e = r ? je(i, t) : void 0;
867
+ let e = r ? Me(i, t) : void 0;
813
868
  a.push(e === void 0 ? {
814
869
  type: "tag",
815
- value: Ee(i, t)
870
+ value: Oe(i, t)
816
871
  } : {
817
872
  type: "text",
818
873
  value: e
@@ -833,20 +888,20 @@ function ur(e, t, n, r = !1) {
833
888
  }
834
889
  //#endregion
835
890
  //#region src/components/MergeTagPreviewText.vue
836
- var dr = d({
891
+ var br = d({
837
892
  name: "MergeTagPreviewText",
838
893
  props: { text: {
839
894
  type: String,
840
895
  required: !0
841
896
  } },
842
897
  setup(e) {
843
- let t = n(G, W), r = n(ft, Ae.liquid), i = n(K, null), a = b(() => ur(e.text, t.value, r, i?.value ?? !1));
898
+ let t = n(q, K), r = n(pt, je.liquid), i = n(J, null), a = b(() => yr(e.text, t.value, r, i?.value ?? !1));
844
899
  return () => a.value.map((e, t) => e.type === "tag" ? I("span", {
845
900
  key: t,
846
901
  class: "tpl-merge-tag-label"
847
902
  }, e.value) : e.value);
848
903
  }
849
- }), fr = ["href"], pr = /* @__PURE__ */ d({
904
+ }), xr = ["href"], Sr = /* @__PURE__ */ d({
850
905
  __name: "ButtonBlock",
851
906
  props: {
852
907
  block: {},
@@ -862,23 +917,23 @@ var dr = d({
862
917
  fontSize: `${t.block.fontSize}px`,
863
918
  fontWeight: "bold",
864
919
  textDecoration: "none",
865
- borderRadius: `${t.block.borderRadius}px`,
920
+ borderRadius: typeof t.block.borderRadius == "number" ? `${t.block.borderRadius}px` : W(t.block.borderRadius) ?? "0px",
866
921
  textAlign: "center"
867
922
  };
868
- return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
923
+ return Object.assign(e, gr(t.block.border)), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
869
924
  }), r = b(() => ({ textAlign: t.block.align ?? "center" }));
870
925
  return (t, i) => (s(), x("div", { style: D(r.value) }, [k("a", {
871
926
  href: e.block.url || "#",
872
927
  style: D(n.value),
873
928
  class: "tpl:cursor-default",
874
929
  onClick: i[0] ||= E(() => {}, ["prevent"])
875
- }, [g(dr, { text: e.block.text }, null, 8, ["text"])], 12, fr)], 4));
930
+ }, [g(br, { text: e.block.text }, null, 8, ["text"])], 12, xr)], 4));
876
931
  }
877
- }), mr = ["innerHTML"], hr = [
932
+ }), Cr = ["innerHTML"], wr = [
878
933
  "src",
879
934
  "width",
880
935
  "height"
881
- ], gr = /* @__PURE__ */ d({
936
+ ], Tr = /* @__PURE__ */ d({
882
937
  __name: "CustomBlockIcon",
883
938
  props: {
884
939
  icon: {},
@@ -894,24 +949,24 @@ var dr = d({
894
949
  height: `${n.value}px`
895
950
  }),
896
951
  innerHTML: e.icon
897
- }, null, 12, mr)) : i.value ? (s(), x("img", {
952
+ }, null, 12, Cr)) : i.value ? (s(), x("img", {
898
953
  key: 1,
899
954
  src: e.icon,
900
955
  width: n.value,
901
956
  height: n.value,
902
957
  class: "tpl:inline-block",
903
958
  alt: ""
904
- }, null, 8, hr)) : (s(), O(h(dn), {
959
+ }, null, 8, wr)) : (s(), O(h(Yt), {
905
960
  key: 2,
906
961
  size: n.value,
907
962
  "stroke-width": 1.5
908
963
  }, null, 8, ["size"]));
909
964
  }
910
- }), _r = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
911
- function vr(e, n) {
912
- let r = mn(), i = null, a = null, o = null;
965
+ }), Er = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
966
+ function Dr(e, n) {
967
+ let r = gn(), i = null, a = null, o = null;
913
968
  function s() {
914
- return e.value ? Array.from(e.value.querySelectorAll(_r)).filter((e) => e.offsetParent !== null) : [];
969
+ return e.value ? Array.from(e.value.querySelectorAll(Er)).filter((e) => e.offsetParent !== null) : [];
915
970
  }
916
971
  function c(e) {
917
972
  if (e.key !== "Tab") return;
@@ -926,7 +981,7 @@ function vr(e, n) {
926
981
  o = null;
927
982
  let t = s();
928
983
  t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
929
- }), a = U(e, "keydown", c);
984
+ }), a = G(e, "keydown", c);
930
985
  }
931
986
  function u(e = {}) {
932
987
  let t = e.restoreFocus !== !1;
@@ -941,8 +996,8 @@ function vr(e, n) {
941
996
  }
942
997
  //#endregion
943
998
  //#region src/composables/useEmoji.ts
944
- function yr() {
945
- let [e, n] = Je(!1), r = y([]), i = !1;
999
+ function Or() {
1000
+ let [e, n] = Ye(!1), r = y([]), i = !1;
946
1001
  m(() => {
947
1002
  i = !0;
948
1003
  }), t(e, async (e) => {
@@ -967,7 +1022,7 @@ function yr() {
967
1022
  }
968
1023
  //#endregion
969
1024
  //#region src/composables/useFonts.ts
970
- var br = [
1025
+ var kr = [
971
1026
  {
972
1027
  value: "Arial",
973
1028
  label: "Arial"
@@ -996,7 +1051,7 @@ var br = [
996
1051
  value: "Courier New",
997
1052
  label: "Courier New"
998
1053
  }
999
- ], xr = {
1054
+ ], Ar = {
1000
1055
  arial: "Arial, sans-serif",
1001
1056
  helvetica: "Helvetica, sans-serif",
1002
1057
  georgia: "Georgia, serif",
@@ -1004,23 +1059,23 @@ var br = [
1004
1059
  verdana: "Verdana, sans-serif",
1005
1060
  "trebuchet ms": "'Trebuchet MS', sans-serif",
1006
1061
  "courier new": "'Courier New', monospace"
1007
- }, Sr = "Arial, sans-serif";
1008
- function Cr(e) {
1009
- if (e === void 0 || e === !0) return [...br];
1062
+ }, jr = "Arial, sans-serif";
1063
+ function Mr(e) {
1064
+ if (e === void 0 || e === !0) return [...kr];
1010
1065
  if (e === !1) return [];
1011
1066
  let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
1012
1067
  for (let i of e) {
1013
- let e = i.toLowerCase(), a = br.find((t) => t.value.toLowerCase() === e);
1068
+ let e = i.toLowerCase(), a = kr.find((t) => t.value.toLowerCase() === e);
1014
1069
  if (!a) {
1015
- r.has(e) || (r.add(e), Y.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${br.map((e) => e.value).join(", ")}.`));
1070
+ r.has(e) || (r.add(e), Z.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${kr.map((e) => e.value).join(", ")}.`));
1016
1071
  continue;
1017
1072
  }
1018
1073
  n.has(a.value) || (n.add(a.value), t.push(a));
1019
1074
  }
1020
1075
  return t;
1021
1076
  }
1022
- function wr(e) {
1023
- let t = l(e?.customFonts ?? []), n = l(!1), r = Cr(e?.builtIns), i = b(() => e?.defaultFallback ?? Sr), a = b(() => {
1077
+ function Nr(e) {
1078
+ let t = l(e?.customFonts ?? []), n = l(!1), r = Mr(e?.builtIns), i = b(() => e?.defaultFallback ?? jr), a = b(() => {
1024
1079
  let e = [...r], n = t.value.map((e) => ({
1025
1080
  value: e.name,
1026
1081
  label: e.name,
@@ -1031,20 +1086,20 @@ function wr(e) {
1031
1086
  function s(e) {
1032
1087
  return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1033
1088
  }
1034
- let c = e?.defaultFont ?? Sr.split(",")[0].trim();
1035
- s(c) || Y.warn(`config.fonts: new templates seed "${c}", which the font picker doesn't offer — authors can't reselect it. Either add it to fonts.builtIns, or set fonts.defaultFont to an offered font.`);
1089
+ let c = e?.defaultFont ?? jr.split(",")[0].trim();
1090
+ s(c) || Z.warn(`config.fonts: new templates seed "${c}", which the font picker doesn't offer — authors can't reselect it. Either add it to fonts.builtIns, or set fonts.defaultFont to an offered font.`);
1036
1091
  function u() {
1037
1092
  if (e?.defaultFont && s(e.defaultFont)) {
1038
1093
  let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1039
1094
  if (t) return t.value;
1040
1095
  }
1041
- return Sr;
1096
+ return jr;
1042
1097
  }
1043
1098
  let d = b(() => u());
1044
1099
  function f(e) {
1045
1100
  if (!e) return i.value;
1046
1101
  let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
1047
- return n ? `'${n.name}', ${n.fallback ?? i.value}` : xr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1102
+ return n ? `'${n.name}', ${n.fallback ?? i.value}` : Ar[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1048
1103
  }
1049
1104
  let p = [], h = !1;
1050
1105
  async function g() {
@@ -1060,7 +1115,7 @@ function wr(e) {
1060
1115
  t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
1061
1116
  });
1062
1117
  } catch (t) {
1063
- Y.warn(`Failed to load custom font "${e.name}":`, t);
1118
+ Z.warn(`Failed to load custom font "${e.name}":`, t);
1064
1119
  }
1065
1120
  });
1066
1121
  await Promise.allSettled(e), !h && (n.value = !0);
@@ -1085,7 +1140,7 @@ function wr(e) {
1085
1140
  }
1086
1141
  //#endregion
1087
1142
  //#region src/utils/mergeTagNodeSpec.ts
1088
- function Tr(e, t, n) {
1143
+ function Pr(e, t, n) {
1089
1144
  return ge(e, n) ? {
1090
1145
  type: "logicMergeTagNode",
1091
1146
  attrs: {
@@ -1102,15 +1157,15 @@ function Tr(e, t, n) {
1102
1157
  }
1103
1158
  //#endregion
1104
1159
  //#region src/utils/insertLogicTag.ts
1105
- function Er(e) {
1160
+ function Fr(e) {
1106
1161
  return "before" in e && "after" in e;
1107
1162
  }
1108
- function Dr(e, t, n) {
1109
- if (!Er(t)) {
1110
- e.chain().focus().insertContent(Tr(t.value, t.label, n)).run();
1163
+ function Ir(e, t, n) {
1164
+ if (!Fr(t)) {
1165
+ e.chain().focus().insertContent(Pr(t.value, t.label, n)).run();
1111
1166
  return;
1112
1167
  }
1113
- let r = Tr(t.before, t.label, n), i = Tr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1168
+ let r = Pr(t.before, t.label, n), i = Pr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1114
1169
  if (a !== o) {
1115
1170
  e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
1116
1171
  return;
@@ -1119,20 +1174,20 @@ function Dr(e, t, n) {
1119
1174
  }
1120
1175
  //#endregion
1121
1176
  //#region src/utils/linkColorExtension.ts
1122
- function Or(e) {
1177
+ function Lr(e) {
1123
1178
  if (!e) return null;
1124
1179
  let t = e.trim();
1125
1180
  return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
1126
1181
  }
1127
- function kr(e) {
1182
+ function Rr(e) {
1128
1183
  return e.extend({ addAttributes() {
1129
1184
  return {
1130
1185
  ...this.parent?.(),
1131
1186
  color: {
1132
1187
  default: null,
1133
- parseHTML: (e) => Or(Ht(e.style.color)),
1188
+ parseHTML: (e) => Lr(Ut(e.style.color)),
1134
1189
  renderHTML: (e) => {
1135
- let t = Or(e.color);
1190
+ let t = Lr(e.color);
1136
1191
  return t ? { style: `color: ${t}` } : {};
1137
1192
  }
1138
1193
  }
@@ -1141,9 +1196,9 @@ function kr(e) {
1141
1196
  }
1142
1197
  //#endregion
1143
1198
  //#region src/composables/useRichTextLinkDialog.ts
1144
- function Ar(e, t = Ae.liquid) {
1199
+ function zr(e, t = je.liquid) {
1145
1200
  let n = l(!1), r = l(""), i = l(""), a = l(null);
1146
- vr(a, n);
1201
+ Dr(a, n);
1147
1202
  function o() {
1148
1203
  let t = e.value?.getAttributes("link") ?? {};
1149
1204
  r.value = t.href || "", i.value = t.color || "", n.value = !0;
@@ -1152,7 +1207,7 @@ function Ar(e, t = Ae.liquid) {
1152
1207
  if (r.value) {
1153
1208
  let t = d(r.value);
1154
1209
  if (t !== null) {
1155
- let n = Or(i.value), r = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1210
+ let n = Lr(i.value), r = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1156
1211
  n && typeof e.value?.commands.unsetColor == "function" && r?.unsetColor(), r?.run();
1157
1212
  }
1158
1213
  }
@@ -1202,13 +1257,13 @@ function Ar(e, t = Ae.liquid) {
1202
1257
  }
1203
1258
  //#endregion
1204
1259
  //#region src/composables/useRichTextEditor.ts
1205
- function jr(r) {
1206
- let i = n(q, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = Z(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = hn(), h = n(vt, null), g = (A(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = Ce(u), v = y(null), b = () => ee(i?.content?.value?.settings ?? { locale: "en" });
1260
+ function Br(r) {
1261
+ let i = n(Y, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = _n(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = vn(), h = n(yt, null), g = (A(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = we(u), v = y(null), b = () => H(i?.content?.value?.settings ?? { locale: "en" });
1207
1262
  t(b, (e) => {
1208
1263
  let t = v.value?.view.dom;
1209
1264
  t && t.setAttribute("dir", e);
1210
1265
  });
1211
- let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } = Ar(v, u), { start: j, stop: M } = Ke(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), N = y(null), P = l(!0), F = l(null), I = !1;
1266
+ let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } = zr(v, u), { start: j, stop: M } = qe(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), N = y(null), P = l(!0), F = l(null), I = !1;
1212
1267
  async function L() {
1213
1268
  F.value = null, P.value = !0;
1214
1269
  try {
@@ -1239,7 +1294,7 @@ function jr(r) {
1239
1294
  v.value = s, P.value = !1, j();
1240
1295
  } catch (e) {
1241
1296
  if (I) return;
1242
- Y.error(`[${r.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, e), F.value = e instanceof Error ? e.message : "Failed to load editor", P.value = !1;
1297
+ Z.error(`[${r.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, e), F.value = e instanceof Error ? e.message : "Failed to load editor", P.value = !1;
1243
1298
  }
1244
1299
  }
1245
1300
  function R() {
@@ -1257,7 +1312,7 @@ function jr(r) {
1257
1312
  let i = t.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
1258
1313
  n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog") || i || r.onDone();
1259
1314
  }
1260
- U(document, "mousedown", B), e(() => {
1315
+ G(document, "mousedown", B), e(() => {
1261
1316
  I = !0, z(), M(), v.value?.destroy();
1262
1317
  });
1263
1318
  async function V() {
@@ -1267,9 +1322,9 @@ function jr(r) {
1267
1322
  value: e.value
1268
1323
  }).run() : v.value?.commands.focus());
1269
1324
  }
1270
- async function te() {
1325
+ async function ee() {
1271
1326
  let e = await m();
1272
- I || (e && v.value ? Dr(v.value, e, u) : v.value?.commands.focus());
1327
+ I || (e && v.value ? Ir(v.value, e, u) : v.value?.commands.focus());
1273
1328
  }
1274
1329
  return {
1275
1330
  editor: v,
@@ -1293,14 +1348,14 @@ function jr(r) {
1293
1348
  closeLinkDialog: O,
1294
1349
  handleLinkKeydown: k,
1295
1350
  handleAddMergeTag: V,
1296
- handleAddLogicTag: te
1351
+ handleAddLogicTag: ee
1297
1352
  };
1298
1353
  }
1299
1354
  //#endregion
1300
1355
  //#region src/composables/useSmallScreenNotice.ts
1301
- var Mr = "(max-width: 767px)";
1302
- function Nr(e) {
1303
- let t = Xe(Mr);
1356
+ var Vr = "(max-width: 767px)";
1357
+ function Hr(e) {
1358
+ let t = Ze(Vr);
1304
1359
  return {
1305
1360
  isSmallScreen: t,
1306
1361
  showNotice: b(() => (j(e) ?? !0) && t.value)
@@ -1308,20 +1363,20 @@ function Nr(e) {
1308
1363
  }
1309
1364
  //#endregion
1310
1365
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
1311
- var Pr = { class: "tpl:w-full" }, Fr = {
1366
+ var Ur = { class: "tpl:w-full" }, Wr = {
1312
1367
  key: 0,
1313
1368
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
1314
- }, Ir = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lr = {
1369
+ }, Gr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Kr = {
1315
1370
  key: 1,
1316
1371
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
1317
- }, Rr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zr = {
1372
+ }, qr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Jr = {
1318
1373
  key: 2,
1319
1374
  class: "tpl:relative"
1320
- }, Br = ["innerHTML"], Vr = {
1375
+ }, Yr = ["innerHTML"], Xr = {
1321
1376
  key: 0,
1322
1377
  class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
1323
1378
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
1324
- }, Hr = /* @__PURE__ */ d({
1379
+ }, Zr = /* @__PURE__ */ d({
1325
1380
  __name: "CustomBlock",
1326
1381
  props: {
1327
1382
  block: {},
@@ -1329,7 +1384,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1329
1384
  },
1330
1385
  emits: ["fetchData"],
1331
1386
  setup(e, { emit: r }) {
1332
- let i = e, a = r, { t: o } = J(), c = n(It, null), u = l(""), d = l(!1), f = b(() => c?.getDefinition(i.block.customType)), p = b(() => !!f.value), m = b(() => i.block), { isFetching: _, fetch: v, needsFetch: y, hasDataSource: C } = Re({
1387
+ let i = e, a = r, { t: o } = X(), c = n(Lt, null), u = l(""), d = l(!1), f = b(() => c?.getDefinition(i.block.customType)), p = b(() => !!f.value), m = b(() => i.block), { isFetching: _, fetch: v, needsFetch: y, hasDataSource: C } = ze({
1333
1388
  definition: f,
1334
1389
  block: m,
1335
1390
  onUpdate: (e, t) => {
@@ -1338,10 +1393,10 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1338
1393
  dataSourceFetched: t
1339
1394
  });
1340
1395
  }
1341
- }), T = n(G, W), D = n(K, null), A = b(() => {
1396
+ }), T = n(q, K), D = n(J, null), A = b(() => {
1342
1397
  if (!D?.value) return i.block;
1343
1398
  let e = {};
1344
- for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? pe(n, T.value) : n;
1399
+ for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? fe(n, T.value) : n;
1345
1400
  return {
1346
1401
  ...i.block,
1347
1402
  fieldValues: e
@@ -1358,17 +1413,17 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1358
1413
  }
1359
1414
  }
1360
1415
  }
1361
- let M = qe(j, 150);
1416
+ let M = Je(j, 150);
1362
1417
  return w(() => {
1363
1418
  j();
1364
1419
  }), t(() => i.block.fieldValues, () => {
1365
1420
  M();
1366
1421
  }, { deep: !0 }), t(() => D?.value, () => {
1367
1422
  M();
1368
- }), (e, t) => (s(), x("div", Pr, [p.value ? d.value ? (s(), x("div", Lr, [g(h(cn), {
1423
+ }), (e, t) => (s(), x("div", Ur, [p.value ? d.value ? (s(), x("div", Kr, [g(h(nn), {
1369
1424
  size: 24,
1370
1425
  class: "tpl:text-[var(--tpl-danger)]"
1371
- }), k("span", Rr, F(h(o).customBlocks.renderError), 1)])) : (s(), x("div", zr, [k("div", { innerHTML: u.value }, null, 8, Br), h(C) && h(y) ? (s(), x("div", Vr, [h(_) ? (s(), O(fn, {
1426
+ }), k("span", qr, F(h(o).customBlocks.renderError), 1)])) : (s(), x("div", Jr, [k("div", { innerHTML: u.value }, null, 8, Yr), h(C) && h(y) ? (s(), x("div", Xr, [h(_) ? (s(), O(mn, {
1372
1427
  key: 1,
1373
1428
  class: "tpl:w-48"
1374
1429
  })) : (s(), x("button", {
@@ -1376,16 +1431,16 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1376
1431
  type: "button",
1377
1432
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-[var(--tpl-shadow)] tpl:transition-all tpl:hover:border-[var(--tpl-primary)] tpl:hover:shadow-[var(--tpl-shadow-md)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
1378
1433
  onClick: t[0] ||= E((...e) => h(v) && h(v)(...e), ["stop"])
1379
- }, [f.value?.icon ? (s(), O(gr, {
1434
+ }, [f.value?.icon ? (s(), O(Tr, {
1380
1435
  key: 0,
1381
1436
  icon: f.value.icon,
1382
1437
  size: 16
1383
- }, null, 8, ["icon"])) : S("", !0), R(" " + F(f.value?.dataSource?.label || h(o).customBlocks.dataSource.fetchButton), 1)]))])) : S("", !0)])) : (s(), x("div", Fr, [g(h(Xt), {
1438
+ }, null, 8, ["icon"])) : S("", !0), R(" " + F(f.value?.dataSource?.label || h(o).customBlocks.dataSource.fetchButton), 1)]))])) : S("", !0)])) : (s(), x("div", Wr, [g(h(Qt), {
1384
1439
  size: 24,
1385
1440
  class: "tpl:text-[var(--tpl-warning)]"
1386
- }), k("span", Ir, F(h(o).customBlocks.definitionNotFound), 1)]))]));
1441
+ }), k("span", Gr, F(h(o).customBlocks.definitionNotFound), 1)]))]));
1387
1442
  }
1388
- }), Ur = { class: "tpl:w-full" }, Wr = /* @__PURE__ */ d({
1443
+ }), Qr = { class: "tpl:w-full" }, $r = /* @__PURE__ */ d({
1389
1444
  __name: "DividerBlock",
1390
1445
  props: {
1391
1446
  block: {},
@@ -1397,28 +1452,28 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1397
1452
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
1398
1453
  margin: t.block.width === "full" ? "0" : "0 auto"
1399
1454
  }));
1400
- return (e, t) => (s(), x("div", Ur, [k("hr", {
1455
+ return (e, t) => (s(), x("div", Qr, [k("hr", {
1401
1456
  class: "tpl:m-0 tpl:border-none",
1402
1457
  style: D(n.value)
1403
1458
  }, null, 4)]));
1404
1459
  }
1405
- }), Gr = { class: "tpl:w-full" }, Kr = ["srcdoc", "title"], qr = {
1460
+ }), ei = { class: "tpl:w-full" }, ti = ["srcdoc", "title"], ni = {
1406
1461
  key: 1,
1407
1462
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]"
1408
- }, Jr = {
1463
+ }, ri = {
1409
1464
  key: 0,
1410
1465
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
1411
- }, Yr = {
1466
+ }, ii = {
1412
1467
  key: 1,
1413
1468
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
1414
- }, Xr = /* @__PURE__ */ d({
1469
+ }, ai = /* @__PURE__ */ d({
1415
1470
  __name: "HtmlBlock",
1416
1471
  props: {
1417
1472
  block: {},
1418
1473
  viewport: {}
1419
1474
  },
1420
1475
  setup(r) {
1421
- let i = r, { t: a } = J(), o = n(St, !1), c = b(() => i.block.content.trim().length > 0), u = b(() => o && c.value), d = n(G, W), f = n(K, null), p = b(() => f?.value ? pe(i.block.content, d.value) : i.block.content), m = l(null), _ = l(60), v = null;
1476
+ let i = r, { t: a } = X(), o = n(Ct, !1), c = b(() => i.block.content.trim().length > 0), u = b(() => o && c.value), d = n(q, K), f = n(J, null), p = b(() => f?.value ? fe(i.block.content, d.value) : i.block.content), m = l(null), _ = l(60), v = null;
1422
1477
  function y() {
1423
1478
  let e = m.value?.contentDocument;
1424
1479
  e && (_.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
@@ -1432,7 +1487,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1432
1487
  e || (v?.disconnect(), v = null);
1433
1488
  }), e(() => {
1434
1489
  v?.disconnect(), v = null;
1435
- }), (e, t) => (s(), x("div", Gr, [u.value ? (s(), x("iframe", {
1490
+ }), (e, t) => (s(), x("div", ei, [u.value ? (s(), x("iframe", {
1436
1491
  key: 0,
1437
1492
  ref_key: "iframeRef",
1438
1493
  ref: m,
@@ -1442,22 +1497,22 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1442
1497
  class: "tpl:block tpl:w-full tpl:border-0",
1443
1498
  style: D({ height: `${_.value}px` }),
1444
1499
  onLoad: S
1445
- }, null, 44, Kr)) : (s(), x("div", qr, [g(h(Zt), {
1500
+ }, null, 44, ti)) : (s(), x("div", ni, [g(h(sn), {
1446
1501
  size: 24,
1447
1502
  class: "tpl:text-[var(--tpl-text-dim)]"
1448
- }), c.value ? (s(), x("span", Jr, F(h(a).html.preview), 1)) : (s(), x("span", Yr, F(h(a).html.empty), 1))]))]));
1503
+ }), c.value ? (s(), x("span", ri, F(h(a).html.preview), 1)) : (s(), x("span", ii, F(h(a).html.empty), 1))]))]));
1449
1504
  }
1450
- }), Zr = ["data-drop-enabled"], Qr = {
1505
+ }), oi = ["data-drop-enabled"], si = {
1451
1506
  key: 0,
1452
1507
  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-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
1453
1508
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
1454
- }, $r = ["href"], ei = ["src", "alt"], ti = ["src", "alt"], ni = {
1509
+ }, ci = ["href"], li = ["src", "alt"], ui = ["src", "alt"], di = {
1455
1510
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
1456
1511
  style: { opacity: "0.7" }
1457
- }, ri = ["href"], ii = ["src", "alt"], ai = ["src", "alt"], oi = {
1512
+ }, fi = ["href"], pi = ["src", "alt"], mi = ["src", "alt"], hi = {
1458
1513
  key: 4,
1459
1514
  class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
1460
- }, si = ["aria-label"], ci = { key: 1 }, li = /* @__PURE__ */ d({
1515
+ }, gi = ["aria-label"], _i = { key: 1 }, vi = /* @__PURE__ */ d({
1461
1516
  __name: "ImageBlock",
1462
1517
  props: {
1463
1518
  block: {},
@@ -1465,7 +1520,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1465
1520
  },
1466
1521
  emits: ["update"],
1467
1522
  setup(e, { emit: t }) {
1468
- let r = e, i = t, { t: a } = J(), { syntax: o } = Z(), c = n(lt, null), u = n(Ct, null), d = b(() => !!c), f = gn();
1523
+ let r = e, i = t, { t: a } = X(), { syntax: o } = _n(), c = n(ut, null), u = n(wt, null), d = b(() => !!c), f = yn();
1469
1524
  async function p() {
1470
1525
  let e = await c?.({ accept: ["images"] });
1471
1526
  if (f.alive && e) {
@@ -1473,7 +1528,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1473
1528
  e.alt && (t.alt = e.alt), i("update", t);
1474
1529
  }
1475
1530
  }
1476
- let m = l(), _ = l(!1), v = b(() => (u?.value ?? !!c) && !_.value && !O.value);
1531
+ let m = l(), _ = l(!1), v = b(() => (u?.value ?? !!c) && !_.value && !A.value);
1477
1532
  async function y(e) {
1478
1533
  if (c) {
1479
1534
  _.value = !0;
@@ -1492,22 +1547,26 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1492
1547
  }
1493
1548
  }
1494
1549
  }
1495
- let { isOver: C } = ze({
1550
+ let { isOver: C } = Be({
1496
1551
  target: m,
1497
1552
  enabled: v,
1498
1553
  onFiles: y
1499
1554
  }), w = b(() => ({ textAlign: r.block.align })), T = b(() => {
1555
+ let e = r.block.border, t = ["left", "right"].map((t) => ye(e?.[t]) === null ? 0 : e[t].width).reduce((e, t) => e + t, 0);
1556
+ return t > 0 ? `calc(100% - ${t}px)` : "100%";
1557
+ }), O = b(() => {
1500
1558
  let e = r.block.align;
1501
1559
  return {
1502
1560
  maxWidth: "100%",
1503
- width: r.block.width === "full" ? "100%" : `${r.block.width}px`,
1561
+ width: r.block.width === "full" ? T.value : `${r.block.width}px`,
1504
1562
  height: r.block.height ? `${r.block.height}px` : void 0,
1505
- borderRadius: r.block.borderRadius && r.block.borderRadius > 0 ? `${r.block.borderRadius}px` : void 0,
1563
+ borderRadius: W(r.block.borderRadius) ?? void 0,
1564
+ ...gr(r.block.border),
1506
1565
  display: "block",
1507
1566
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
1508
1567
  marginRight: e === "center" ? "auto" : void 0
1509
1568
  };
1510
- }), O = b(() => H(r.block.src, o)), A = Cn(() => O.value ? void 0 : r.block.src), j = Cn(() => O.value ? r.block.placeholderUrl : void 0);
1569
+ }), A = b(() => U(r.block.src, o)), j = En(() => A.value ? void 0 : r.block.src), M = En(() => A.value ? r.block.placeholderUrl : void 0);
1511
1570
  return (t, n) => (s(), x("div", {
1512
1571
  ref_key: "dropZoneRef",
1513
1572
  ref: m,
@@ -1515,14 +1574,14 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1515
1574
  "data-drop-enabled": v.value,
1516
1575
  class: "tpl:relative tpl:w-full",
1517
1576
  style: D(w.value)
1518
- }, [v.value && (h(C) || _.value) ? (s(), x("div", Qr, [_.value ? (s(), x(P, { key: 0 }, [g(h(rn), {
1577
+ }, [v.value && (h(C) || _.value) ? (s(), x("div", si, [_.value ? (s(), x(P, { key: 0 }, [g(h(tn), {
1519
1578
  class: "tpl-spinner",
1520
1579
  size: 20,
1521
1580
  "stroke-width": 2
1522
- }), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(on), {
1581
+ }), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(dn), {
1523
1582
  size: 20,
1524
1583
  "stroke-width": 1.5
1525
- }), R(" " + F(h(a).image.dropToUpload), 1)], 64))])) : S("", !0), e.block.src && O.value && e.block.placeholderUrl ? (s(), x(P, { key: 1 }, [e.block.linkUrl ? (s(), x("a", {
1584
+ }), R(" " + F(h(a).image.dropToUpload), 1)], 64))])) : S("", !0), e.block.src && A.value && e.block.placeholderUrl ? (s(), x(P, { key: 1 }, [e.block.linkUrl ? (s(), x("a", {
1526
1585
  key: 0,
1527
1586
  href: e.block.linkUrl,
1528
1587
  target: "_blank",
@@ -1531,25 +1590,25 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1531
1590
  }, [k("img", {
1532
1591
  class: "tpl:border-0",
1533
1592
  loading: "lazy",
1534
- src: h(j),
1593
+ src: h(M),
1535
1594
  alt: e.block.alt || h(a).image.altTextPlaceholder,
1536
- style: D(T.value)
1537
- }, null, 12, ei)], 8, $r)) : (s(), x("img", {
1595
+ style: D(O.value)
1596
+ }, null, 12, li)], 8, ci)) : (s(), x("img", {
1538
1597
  key: 1,
1539
1598
  class: "tpl:border-0",
1540
- src: h(j),
1599
+ src: h(M),
1541
1600
  alt: e.block.alt,
1542
- style: D(T.value)
1543
- }, null, 12, ti))], 64)) : e.block.src && O.value ? (s(), x("div", {
1601
+ style: D(O.value)
1602
+ }, null, 12, ui))], 64)) : e.block.src && A.value ? (s(), x("div", {
1544
1603
  key: 2,
1545
1604
  class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
1546
- style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, T.value])
1547
- }, [g(h(tn), {
1605
+ style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, O.value])
1606
+ }, [g(h(un), {
1548
1607
  size: 32,
1549
1608
  "stroke-width": 1.5,
1550
1609
  class: "tpl:text-[var(--tpl-primary)]",
1551
1610
  style: { opacity: "0.5" }
1552
- }), k("span", ni, [g(dr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), x(P, { key: 3 }, [e.block.linkUrl ? (s(), x("a", {
1611
+ }), k("span", di, [g(br, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), x(P, { key: 3 }, [e.block.linkUrl ? (s(), x("a", {
1553
1612
  key: 0,
1554
1613
  href: e.block.linkUrl,
1555
1614
  target: "_blank",
@@ -1558,36 +1617,36 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1558
1617
  }, [k("img", {
1559
1618
  class: "tpl:border-0",
1560
1619
  loading: "lazy",
1561
- src: h(A),
1620
+ src: h(j),
1562
1621
  alt: e.block.alt || h(a).image.altTextPlaceholder,
1563
- style: D(T.value)
1564
- }, null, 12, ii)], 8, ri)) : (s(), x("img", {
1622
+ style: D(O.value)
1623
+ }, null, 12, pi)], 8, fi)) : (s(), x("img", {
1565
1624
  key: 1,
1566
1625
  class: "tpl:border-0",
1567
- src: h(A),
1626
+ src: h(j),
1568
1627
  alt: e.block.alt,
1569
- style: D(T.value)
1570
- }, null, 12, ai))], 64)) : (s(), x("div", oi, [d.value ? (s(), x("button", {
1628
+ style: D(O.value)
1629
+ }, null, 12, mi))], 64)) : (s(), x("div", hi, [d.value ? (s(), x("button", {
1571
1630
  key: 0,
1572
1631
  "aria-label": h(a).image.browseMedia,
1573
1632
  class: "tpl:flex tpl:items-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:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1574
1633
  onClick: E(p, ["stop"])
1575
- }, [g(h(tn), {
1634
+ }, [g(h(un), {
1576
1635
  size: 14,
1577
1636
  "stroke-width": 1.5
1578
- }), R(" " + F(h(a).image.browseMedia), 1)], 8, si)) : (s(), x("span", ci, F(h(a).image.clickToAdd), 1))]))], 12, Zr));
1637
+ }), R(" " + F(h(a).image.browseMedia), 1)], 8, gi)) : (s(), x("span", _i, F(h(a).image.clickToAdd), 1))]))], 12, oi));
1579
1638
  }
1580
- }), ui = { class: "tpl:w-full" }, di = ["href"], fi = {
1639
+ }), yi = { class: "tpl:w-full" }, bi = ["href"], xi = {
1581
1640
  key: 1,
1582
1641
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
1583
- }, pi = /* @__PURE__ */ d({
1642
+ }, Si = /* @__PURE__ */ d({
1584
1643
  __name: "MenuBlock",
1585
1644
  props: {
1586
1645
  block: {},
1587
1646
  viewport: {}
1588
1647
  },
1589
1648
  setup(e) {
1590
- let t = e, { t: n } = J(), i = b(() => ({
1649
+ let t = e, { t: n } = X(), i = b(() => ({
1591
1650
  display: "flex",
1592
1651
  flexWrap: "wrap",
1593
1652
  gap: `0 ${t.block.spacing}px`,
@@ -1599,7 +1658,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1599
1658
  function o(e) {
1600
1659
  return e || t.block.linkColor || t.block.color;
1601
1660
  }
1602
- return (t, c) => (s(), x("div", ui, [a.value ? (s(), x("div", {
1661
+ return (t, c) => (s(), x("div", yi, [a.value ? (s(), x("div", {
1603
1662
  key: 0,
1604
1663
  style: D(i.value)
1605
1664
  }, [(s(!0), x(P, null, r(e.block.items, (t, n) => (s(), x(P, { key: t.id }, [k("a", {
@@ -1611,15 +1670,15 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1611
1670
  textDecoration: t.underline ? "underline" : "none"
1612
1671
  }),
1613
1672
  onClick: c[0] ||= E(() => {}, ["prevent"])
1614
- }, [g(dr, { text: t.text || "..." }, null, 8, ["text"])], 12, di), n < e.block.items.length - 1 ? (s(), x("span", {
1673
+ }, [g(br, { text: t.text || "..." }, null, 8, ["text"])], 12, bi), n < e.block.items.length - 1 ? (s(), x("span", {
1615
1674
  key: 0,
1616
1675
  style: D({
1617
1676
  color: e.block.separatorColor,
1618
1677
  padding: `0 ${e.block.spacing}px`
1619
1678
  })
1620
- }, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div", fi, [g(h($t), { size: 16 }), k("span", null, F(h(n).menu.addLinks), 1)]))]));
1679
+ }, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div", xi, [g(h(en), { size: 16 }), k("span", null, F(h(n).menu.addLinks), 1)]))]));
1621
1680
  }
1622
- }), mi = /* @__PURE__ */ new Set([
1681
+ }), Ci = /* @__PURE__ */ new Set([
1623
1682
  "http",
1624
1683
  "https",
1625
1684
  "mailto",
@@ -1629,7 +1688,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1629
1688
  "sms",
1630
1689
  "xmpp",
1631
1690
  "cid"
1632
- ]), hi = /* @__PURE__ */ new Set([
1691
+ ]), wi = /* @__PURE__ */ new Set([
1633
1692
  "SCRIPT",
1634
1693
  "STYLE",
1635
1694
  "IFRAME",
@@ -1639,7 +1698,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1639
1698
  "META",
1640
1699
  "BASE",
1641
1700
  "FORM"
1642
- ]), gi = /* @__PURE__ */ new Set([
1701
+ ]), Ti = /* @__PURE__ */ new Set([
1643
1702
  "href",
1644
1703
  "xlink:href",
1645
1704
  "formaction",
@@ -1648,16 +1707,16 @@ var Pr = { class: "tpl:w-full" }, Fr = {
1648
1707
  "background",
1649
1708
  "poster"
1650
1709
  ]);
1651
- function _i(e, t) {
1710
+ function Ei(e, t) {
1652
1711
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
1653
1712
  if (!n || n.startsWith("#")) return !0;
1654
1713
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
1655
1714
  if (!r) return !0;
1656
1715
  let i = r[1].toLowerCase();
1657
- return mi.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
1716
+ return Ci.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
1658
1717
  }
1659
- function vi(e) {
1660
- if (hi.has(e.tagName)) {
1718
+ function Di(e) {
1719
+ if (wi.has(e.tagName)) {
1661
1720
  e.remove();
1662
1721
  return;
1663
1722
  }
@@ -1669,29 +1728,29 @@ function vi(e) {
1669
1728
  e.removeAttribute(n);
1670
1729
  continue;
1671
1730
  }
1672
- if (gi.has(t)) {
1673
- _i(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
1731
+ if (Ti.has(t)) {
1732
+ Ei(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
1674
1733
  continue;
1675
1734
  }
1676
1735
  if (t === "src") {
1677
- _i(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
1736
+ Ei(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
1678
1737
  continue;
1679
1738
  }
1680
1739
  t === "srcdoc" && e.removeAttribute(n);
1681
1740
  }
1682
1741
  let n = Array.from(e.children);
1683
- for (let e of n) vi(e);
1742
+ for (let e of n) Di(e);
1684
1743
  }
1685
- function yi(e) {
1744
+ function Oi(e) {
1686
1745
  if (typeof DOMParser > "u") return e;
1687
1746
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
1688
- for (let e of n) vi(e);
1747
+ for (let e of n) Di(e);
1689
1748
  return t.innerHTML;
1690
1749
  }
1691
1750
  //#endregion
1692
1751
  //#region src/composables/useEditableTextBlock.ts
1693
- function bi(e) {
1694
- let t = n(G, W), r = n(K, null), { syntax: i } = Z(), a = b(() => r?.value ? ye(e(), t.value) : we(e(), t.value)), o = b(() => yi(De(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Ze(c), { toLocal: f } = Wt(), p = b(() => f({
1752
+ function ki(e) {
1753
+ let t = n(q, K), r = n(J, null), { syntax: i } = _n(), a = b(() => r?.value ? ve(e(), t.value) : Te(e(), t.value)), o = b(() => Oi(ke(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Qe(c), { toLocal: f } = Kt(), p = b(() => f({
1695
1754
  top: u.value - 8,
1696
1755
  left: d.value
1697
1756
  }));
@@ -1712,14 +1771,14 @@ function bi(e) {
1712
1771
  }
1713
1772
  //#endregion
1714
1773
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
1715
- var xi = ["innerHTML"], Si = /* @__PURE__ */ d({
1774
+ var Ai = ["innerHTML"], ji = /* @__PURE__ */ d({
1716
1775
  __name: "ParagraphBlock",
1717
1776
  props: {
1718
1777
  block: {},
1719
1778
  viewport: {}
1720
1779
  },
1721
1780
  setup(e) {
1722
- let t = e, n = L(() => import("./ParagraphEditor-BilbVtrG.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content);
1781
+ let t = e, n = L(() => import("./ParagraphEditor-DbjFDnYm.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ki(() => t.block.content);
1723
1782
  return (t, u) => (s(), x("div", {
1724
1783
  ref_key: "blockRef",
1725
1784
  ref: i,
@@ -1738,64 +1797,26 @@ var xi = ["innerHTML"], Si = /* @__PURE__ */ d({
1738
1797
  key: 1,
1739
1798
  class: "tpl-text-content tpl:outline-none",
1740
1799
  innerHTML: h(o)
1741
- }, null, 8, xi))], 544));
1742
- }
1743
- });
1744
- //#endregion
1745
- //#region src/utils/blockComponentResolver.ts
1746
- function Ci(e) {
1747
- let t = { fontFamily: e.fontFamily };
1748
- return e.textColor && (t.color = e.textColor), e.linkColor && (t["--tpl-doc-link-color"] = e.linkColor), e.linkUnderline && (t["--tpl-doc-link-underline"] = "underline"), t;
1749
- }
1750
- function wi(e, t, n) {
1751
- if (t) {
1752
- let n = t.getComponent(e);
1753
- if (n) return n;
1754
- }
1755
- return n[e.type] ?? null;
1756
- }
1757
- function Ti(e) {
1758
- if (e.type === "wrapper") return {};
1759
- let { padding: t, backgroundColor: n } = e.styles, r = {
1760
- padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
1761
- backgroundColor: n || "transparent"
1762
- };
1763
- return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? Oe.paragraphGap : Oe.paragraphGap}px`), e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
1764
- }
1765
- function Ei(e) {
1766
- if (e.type !== "section" || !e.wrapper) return null;
1767
- let t = e.wrapper, n = {};
1768
- return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
1769
- }
1770
- function Di(e) {
1771
- if (e.type !== "wrapper") return null;
1772
- let t = {};
1773
- if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
1774
- let n = e.styles.padding;
1775
- t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
1800
+ }, null, 8, Ai))], 544));
1776
1801
  }
1777
- return e.borderRadius && e.borderRadius > 0 && (t.borderRadius = `${e.borderRadius}px`), t;
1778
- }
1779
- //#endregion
1780
- //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
1781
- var Oi = [
1802
+ }), Mi = [
1782
1803
  "data-block-id",
1783
1804
  "data-block-type",
1784
1805
  "data-tpl-picked"
1785
- ], ki = ["aria-label"], Ai = [
1806
+ ], Ni = ["aria-label"], Pi = [
1786
1807
  "aria-label",
1787
1808
  "aria-pressed",
1788
1809
  "title"
1789
- ], ji = ["aria-label", "title"], Mi = ["aria-label", "title"], Ni = ["aria-label", "title"], Pi = {
1810
+ ], Fi = ["aria-label", "title"], Ii = ["aria-label", "title"], Li = ["aria-label", "title"], Ri = {
1790
1811
  key: 1,
1791
1812
  class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
1792
- }, Fi = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-chrome-bg-elevated)] tpl:text-[var(--tpl-chrome-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Ii = {
1813
+ }, zi = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-chrome-bg-elevated)] tpl:text-[var(--tpl-chrome-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Bi = {
1793
1814
  key: 2,
1794
1815
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
1795
- }, Li = ["aria-label", "title"], Ri = {
1816
+ }, Vi = ["aria-label", "title"], Hi = {
1796
1817
  key: 3,
1797
1818
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
1798
- }, zi = ["aria-label"], Bi = /*#__PURE__*/ pn(/* @__PURE__ */ d({
1819
+ }, Ui = ["aria-label"], Wi = /*#__PURE__*/ hn(/* @__PURE__ */ d({
1799
1820
  __name: "BlockWrapper",
1800
1821
  props: {
1801
1822
  block: {},
@@ -1807,7 +1828,7 @@ var Oi = [
1807
1828
  },
1808
1829
  emits: ["select"],
1809
1830
  setup(e, { emit: t }) {
1810
- let r = L(() => import("./BlockIssueBadge-DS1pUf5g.js")), i = e, o = t, { t: c, format: u } = J(), d = n(mt, null), f = l(null), p = b(() => d?.liftedBlockId.value === i.block.id), m = b(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
1831
+ let r = L(() => import("./BlockIssueBadge-BR_N3nRh.js")), i = e, o = t, { t: c, format: u } = X(), d = n(ht, null), f = l(null), p = b(() => d?.liftedBlockId.value === i.block.id), m = b(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
1811
1832
  async function _() {
1812
1833
  await T(), f.value?.focus();
1813
1834
  }
@@ -1833,20 +1854,20 @@ var Oi = [
1833
1854
  let C = b(() => !i.viewport || !i.block.visibility ? !1 : i.block.visibility[i.viewport] === !1), w = b(() => i.previewMode === !0 && C.value), O = b(() => i.viewport ? {
1834
1855
  desktop: c.viewport.desktop,
1835
1856
  mobile: c.viewport.mobile
1836
- }[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(xt, null), M = n(Tt, null), N = n(kt, {}), P = b(() => N.savedBlocks?.isPicking.value === !0), I = b(() => !i.nested && N.savedBlocks?.isAvailable.value === !0 && N.savedBlocks?.canCreate.value === !0), z = b(() => i.isSelected && !P.value), B = b(() => N.comments?.getBlockCount(i.block.id) ?? 0), V = b(() => Ti(i.block)), ee = b(() => Ei(i.block));
1837
- function te(e) {
1857
+ }[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(St, null), M = n(Et, null), N = n(At, {}), P = b(() => N.savedBlocks?.isPicking.value === !0), I = b(() => !i.nested && N.savedBlocks?.isAvailable.value === !0 && N.savedBlocks?.canCreate.value === !0), z = b(() => i.isSelected && !P.value), B = b(() => N.comments?.getBlockCount(i.block.id) ?? 0), V = b(() => hr(i.block)), H = b(() => _r(i.block));
1858
+ function ee(e) {
1838
1859
  i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
1839
1860
  }
1840
- function ne() {
1861
+ function te() {
1841
1862
  j?.deleteBlock(i.block.id);
1842
1863
  }
1843
- function re() {
1864
+ function ne() {
1844
1865
  j?.duplicateBlock(i.block);
1845
1866
  }
1846
- function ie() {
1867
+ function re() {
1847
1868
  N.savedBlocks?.startPicking(i.block.id);
1848
1869
  }
1849
- function ae() {
1870
+ function ie() {
1850
1871
  M?.toggleBlock(i.block.id);
1851
1872
  }
1852
1873
  return (t, n) => w.value ? S("", !0) : (s(), x("div", {
@@ -1860,7 +1881,7 @@ var Oi = [
1860
1881
  "data-block-id": e.block.id,
1861
1882
  "data-block-type": e.block.type,
1862
1883
  "data-tpl-picked": e.picked || void 0,
1863
- onClick: te
1884
+ onClick: ee
1864
1885
  }, [
1865
1886
  g(h(r), { "block-id": e.block.id }, null, 8, ["block-id"]),
1866
1887
  z.value ? (s(), x("div", {
@@ -1878,65 +1899,65 @@ var Oi = [
1878
1899
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
1879
1900
  title: h(c).blockActions.drag,
1880
1901
  onKeydown: y
1881
- }, [g(h(nn), {
1902
+ }, [g(h(an), {
1882
1903
  size: 14,
1883
1904
  "stroke-width": 1.5
1884
- })], 40, Ai),
1905
+ })], 40, Pi),
1885
1906
  k("button", {
1886
1907
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors",
1887
1908
  "aria-label": h(c).blockActions.duplicate,
1888
1909
  title: h(c).blockActions.duplicate,
1889
- onClick: E(re, ["stop"])
1890
- }, [g(h(Yt), {
1910
+ onClick: E(ne, ["stop"])
1911
+ }, [g(h(Xt), {
1891
1912
  size: 14,
1892
1913
  "stroke-width": 1.5
1893
- })], 8, ji),
1914
+ })], 8, Fi),
1894
1915
  I.value ? (s(), x("button", {
1895
1916
  key: 0,
1896
1917
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors",
1897
1918
  "aria-label": h(c).blockActions.saveAsBlock,
1898
1919
  title: h(c).blockActions.saveAsBlock,
1899
- onClick: E(ie, ["stop"])
1900
- }, [g(h(Jt), {
1920
+ onClick: E(re, ["stop"])
1921
+ }, [g(h($t), {
1901
1922
  size: 14,
1902
1923
  "stroke-width": 1.5
1903
- })], 8, Mi)) : S("", !0),
1924
+ })], 8, Ii)) : S("", !0),
1904
1925
  k("button", {
1905
1926
  class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors",
1906
1927
  "aria-label": h(c).blockActions.delete,
1907
1928
  title: h(c).blockActions.delete,
1908
- onClick: E(ne, ["stop"])
1909
- }, [g(h(en), {
1929
+ onClick: E(te, ["stop"])
1930
+ }, [g(h(rn), {
1910
1931
  size: 14,
1911
1932
  "stroke-width": 1.5
1912
- })], 8, Ni)
1913
- ], 8, ki)) : S("", !0),
1914
- C.value ? (s(), x("div", Pi, [k("span", Fi, [g(h(Qt), {
1933
+ })], 8, Li)
1934
+ ], 8, Ni)) : S("", !0),
1935
+ C.value ? (s(), x("div", Ri, [k("span", zi, [g(h(Zt), {
1915
1936
  size: 12,
1916
1937
  "stroke-width": 1.5
1917
1938
  }), R(" " + F(h(u)(h(c).blockActions.hiddenOnViewport, { viewport: O.value })), 1)])])) : S("", !0),
1918
- A.value && !C.value ? (s(), x("div", Ii, [k("button", {
1939
+ A.value && !C.value ? (s(), x("div", Bi, [k("button", {
1919
1940
  "data-testid": "condition-toggle",
1920
1941
  class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:bg-[var(--tpl-chrome-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
1921
1942
  "aria-label": h(c).blockActions.conditionToggle,
1922
1943
  title: e.block.displayCondition?.label,
1923
- onClick: E(ae, ["stop"])
1924
- }, [g(h(un), {
1944
+ onClick: E(ie, ["stop"])
1945
+ }, [g(h(pn), {
1925
1946
  size: 12,
1926
1947
  "stroke-width": 2
1927
- })], 8, Li)])) : S("", !0),
1928
- B.value > 0 && !C.value ? (s(), x("div", Ri, [k("button", {
1948
+ })], 8, Vi)])) : S("", !0),
1949
+ B.value > 0 && !C.value ? (s(), x("div", Hi, [k("button", {
1929
1950
  class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:bg-[var(--tpl-chrome-primary-light)] tpl:text-[var(--tpl-primary)]",
1930
1951
  "aria-label": h(u)(h(c).blockActions.comments, { count: String(B.value) }),
1931
1952
  onClick: n[0] ||= E((t) => h(N).comments?.openForBlock(e.block.id), ["stop"])
1932
- }, [g(h(sn), {
1953
+ }, [g(h(cn), {
1933
1954
  size: 12,
1934
1955
  "stroke-width": 2.5
1935
- }), R(" " + F(B.value), 1)], 8, zi)])) : S("", !0),
1936
- ee.value ? (s(), x("div", {
1956
+ }), R(" " + F(B.value), 1)], 8, Ui)])) : S("", !0),
1957
+ H.value ? (s(), x("div", {
1937
1958
  key: 4,
1938
1959
  class: "tpl-section-wrapper",
1939
- style: D(ee.value)
1960
+ style: D(H.value)
1940
1961
  }, [k("div", {
1941
1962
  class: "tpl-block-content",
1942
1963
  style: D(V.value)
@@ -1945,31 +1966,31 @@ var Oi = [
1945
1966
  class: "tpl-block-content",
1946
1967
  style: D(V.value)
1947
1968
  }, [a(t.$slots, "default", {}, void 0, !0)], 4))
1948
- ], 10, Oi));
1969
+ ], 10, Mi));
1949
1970
  }
1950
1971
  }), [["__scopeId", "data-v-2c239048"]]);
1951
1972
  //#endregion
1952
1973
  //#region src/utils/unwrapParagraph.ts
1953
- function Vi(e) {
1974
+ function Gi(e) {
1954
1975
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
1955
1976
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
1956
1977
  }
1957
1978
  //#endregion
1958
1979
  //#region src/components/blocks/TitleBlock.vue
1959
- var Hi = /* @__PURE__ */ d({
1980
+ var Ki = /* @__PURE__ */ d({
1960
1981
  __name: "TitleBlock",
1961
1982
  props: {
1962
1983
  block: {},
1963
1984
  viewport: {}
1964
1985
  },
1965
1986
  setup(e) {
1966
- let t = e, n = L(() => import("./TitleEditor-pJeeZ-PX.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content), d = b(() => {
1987
+ let t = e, n = L(() => import("./TitleEditor-BRl2qKbd.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ki(() => t.block.content), d = b(() => {
1967
1988
  let e = {
1968
- fontSize: `${ve[t.block.level]}px`,
1989
+ fontSize: `${Ee[t.block.level]}px`,
1969
1990
  textAlign: t.block.textAlign
1970
1991
  };
1971
1992
  return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
1972
- }), f = b(() => `h${t.block.level}`), p = b(() => Vi(o.value));
1993
+ }), f = b(() => `h${t.block.level}`), p = b(() => Gi(o.value));
1973
1994
  return (t, o) => (s(), x("div", {
1974
1995
  ref_key: "blockRef",
1975
1996
  ref: i,
@@ -1995,16 +2016,16 @@ var Hi = /* @__PURE__ */ d({
1995
2016
  });
1996
2017
  //#endregion
1997
2018
  //#region src/utils/sectionColumnDrop.ts
1998
- function Ui(e) {
2019
+ function qi(e) {
1999
2020
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
2000
2021
  }
2001
2022
  //#endregion
2002
2023
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
2003
- var Wi = { class: "tpl:w-full" }, Gi = {
2024
+ var Ji = { class: "tpl:w-full" }, Yi = {
2004
2025
  key: 0,
2005
2026
  "data-testid": "section-drop-hint",
2006
2027
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-chrome-text-dim)]"
2007
- }, Ki = /* @__PURE__ */ d({
2028
+ }, Xi = /* @__PURE__ */ d({
2008
2029
  __name: "SectionBlock",
2009
2030
  props: {
2010
2031
  block: {},
@@ -2012,13 +2033,13 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2012
2033
  },
2013
2034
  setup(e) {
2014
2035
  let t = {
2015
- title: Hi,
2016
- paragraph: Si,
2017
- image: li,
2018
- button: pr,
2019
- divider: Wr,
2020
- custom: Hr
2021
- }, a = e, { t: o } = J(), c = Qe(q, "SectionBlock"), l = n(Tt, null), d = n(It, null), p = n(kt, {}), m = n(Ft, null);
2036
+ title: Ki,
2037
+ paragraph: ji,
2038
+ image: vi,
2039
+ button: Sr,
2040
+ divider: $r,
2041
+ custom: Zr
2042
+ }, a = e, { t: o } = X(), c = $e(Y, "SectionBlock"), l = n(Et, null), d = n(Lt, null), p = n(At, {}), m = n(It, null);
2022
2043
  function _(e) {
2023
2044
  let t = p.savedBlocks;
2024
2045
  if (t?.isPicking.value) {
@@ -2053,7 +2074,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2053
2074
  r[e] = n, c.updateBlock(a.block.id, { children: r });
2054
2075
  }
2055
2076
  function A(e) {
2056
- return wi(e, d, t);
2077
+ return mr(e, d, t);
2057
2078
  }
2058
2079
  function j(e, t) {
2059
2080
  e.type === "custom" && c.updateBlock(e.id, {
@@ -2061,7 +2082,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2061
2082
  dataSourceFetched: t.dataSourceFetched
2062
2083
  });
2063
2084
  }
2064
- return (t, n) => (s(), x("div", Wi, [k("div", { class: v(["tpl:flex tpl:gap-0", { "tpl:flex-col": w.value }]) }, [(s(!0), x(P, null, r(C.value, (t, n) => (s(), x("div", {
2085
+ return (t, n) => (s(), x("div", Ji, [k("div", { class: v(["tpl:flex tpl:gap-0", { "tpl:flex-col": w.value }]) }, [(s(!0), x(P, null, r(C.value, (t, n) => (s(), x("div", {
2065
2086
  key: n,
2066
2087
  class: v(["tpl:relative tpl:min-h-[60px] tpl:rounded", T(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
2067
2088
  style: D({ width: w.value ? "100%" : y.value[n] })
@@ -2070,7 +2091,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2070
2091
  group: {
2071
2092
  name: "blocks",
2072
2093
  pull: !0,
2073
- put: (e, t, n) => h(Ui)(n)
2094
+ put: (e, t, n) => h(qi)(n)
2074
2095
  },
2075
2096
  animation: 150,
2076
2097
  "ghost-class": "tpl-ghost",
@@ -2083,7 +2104,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2083
2104
  class: "tpl:min-h-[60px]",
2084
2105
  "onUpdate:modelValue": (e) => E(n, e)
2085
2106
  }, {
2086
- default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(Bi, {
2107
+ default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(Wi, {
2087
2108
  block: t,
2088
2109
  "is-selected": h(c).state.selectedBlockId === t.id,
2089
2110
  viewport: e.viewport,
@@ -2115,13 +2136,13 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2115
2136
  "model-value",
2116
2137
  "group",
2117
2138
  "onUpdate:modelValue"
2118
- ]), T(n).length === 0 ? (s(), x("div", Gi, [k("span", null, F(h(o).section.dropHere), 1)])) : S("", !0)], 6))), 128))], 2)]));
2139
+ ]), T(n).length === 0 ? (s(), x("div", Yi, [k("span", null, F(h(o).section.dropHere), 1)])) : S("", !0)], 6))), 128))], 2)]));
2119
2140
  }
2120
- }), qi = [
2141
+ }), Zi = [
2121
2142
  "width",
2122
2143
  "height",
2123
2144
  "fill"
2124
- ], Ji = ["d"], Yi = /* @__PURE__ */ d({
2145
+ ], Qi = ["d"], $i = /* @__PURE__ */ d({
2125
2146
  __name: "SocialIconSvg",
2126
2147
  props: {
2127
2148
  platform: {},
@@ -2129,7 +2150,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2129
2150
  iconSize: {}
2130
2151
  },
2131
2152
  setup(e) {
2132
- let t = e, n = b(() => Ve[t.platform]), r = b(() => Ue[t.iconSize]), i = b(() => {
2153
+ let t = e, n = b(() => He[t.platform]), r = b(() => We[t.iconSize]), i = b(() => {
2133
2154
  let e = {
2134
2155
  display: "inline-flex",
2135
2156
  alignItems: "center",
@@ -2173,25 +2194,25 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2173
2194
  viewBox: "0 0 24 24",
2174
2195
  fill: o.value,
2175
2196
  xmlns: "http://www.w3.org/2000/svg"
2176
- }, [k("path", { d: n.value.path }, null, 8, Ji)], 8, qi))], 4));
2197
+ }, [k("path", { d: n.value.path }, null, 8, Qi)], 8, Zi))], 4));
2177
2198
  }
2178
- }), Xi = { class: "tpl:w-full" }, Zi = ["href"], Qi = {
2199
+ }), ea = { class: "tpl:w-full" }, ta = ["href"], na = {
2179
2200
  key: 1,
2180
2201
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
2181
- }, $i = /* @__PURE__ */ d({
2202
+ }, ra = /* @__PURE__ */ d({
2182
2203
  __name: "SocialIconsBlock",
2183
2204
  props: {
2184
2205
  block: {},
2185
2206
  viewport: {}
2186
2207
  },
2187
2208
  setup(e) {
2188
- let t = e, { t: n } = J(), i = b(() => ({
2209
+ let t = e, { t: n } = X(), i = b(() => ({
2189
2210
  display: "flex",
2190
2211
  flexWrap: "wrap",
2191
2212
  gap: `${t.block.spacing}px`,
2192
2213
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
2193
2214
  })), a = b(() => t.block.icons.length > 0);
2194
- return (t, o) => (s(), x("div", Xi, [a.value ? (s(), x("div", {
2215
+ return (t, o) => (s(), x("div", ea, [a.value ? (s(), x("div", {
2195
2216
  key: 0,
2196
2217
  style: D(i.value)
2197
2218
  }, [(s(!0), x(P, null, r(e.block.icons, (t) => (s(), x("a", {
@@ -2199,7 +2220,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2199
2220
  href: t.url || "#",
2200
2221
  class: "tpl:cursor-default",
2201
2222
  onClick: o[0] ||= E(() => {}, ["prevent"])
2202
- }, [g(Yi, {
2223
+ }, [g($i, {
2203
2224
  platform: t.platform,
2204
2225
  "icon-style": e.block.iconStyle,
2205
2226
  "icon-size": e.block.iconSize
@@ -2207,44 +2228,44 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2207
2228
  "platform",
2208
2229
  "icon-style",
2209
2230
  "icon-size"
2210
- ])], 8, Zi))), 128))], 4)) : (s(), x("div", Qi, [g(h(qt), { size: 16 }), k("span", null, F(h(n).social.addIcons), 1)]))]));
2231
+ ])], 8, ta))), 128))], 4)) : (s(), x("div", na, [g(h(on), { size: 16 }), k("span", null, F(h(n).social.addIcons), 1)]))]));
2211
2232
  }
2212
- }), ea = { class: "tpl:w-full" }, ta = {
2233
+ }), ia = { class: "tpl:w-full" }, aa = {
2213
2234
  key: 0,
2214
2235
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
2215
2236
  style: {
2216
2237
  "background-color": "var(--tpl-bg-hover)",
2217
2238
  color: "var(--tpl-text-dim)"
2218
2239
  }
2219
- }, na = /* @__PURE__ */ d({
2240
+ }, oa = /* @__PURE__ */ d({
2220
2241
  __name: "SpacerBlock",
2221
2242
  props: {
2222
2243
  block: {},
2223
2244
  viewport: {}
2224
2245
  },
2225
2246
  setup(e) {
2226
- let t = e, n = Qe(q, "SpacerBlock"), r = b(() => ({
2247
+ let t = e, n = $e(Y, "SpacerBlock"), r = b(() => ({
2227
2248
  height: `${t.block.height}px`,
2228
2249
  minHeight: `${t.block.height}px`,
2229
2250
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
2230
2251
  }));
2231
- return (t, i) => (s(), x("div", ea, [k("div", {
2252
+ return (t, i) => (s(), x("div", ia, [k("div", {
2232
2253
  style: D(r.value),
2233
2254
  class: v(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !h(n).state.previewMode }])
2234
- }, [h(n).state.previewMode ? S("", !0) : (s(), x("span", ta, F(e.block.height) + "px ", 1))], 6)]));
2255
+ }, [h(n).state.previewMode ? S("", !0) : (s(), x("span", aa, F(e.block.height) + "px ", 1))], 6)]));
2235
2256
  }
2236
- }), ra = { class: "tpl:w-full" }, ia = { key: 0 }, aa = [
2257
+ }), sa = { class: "tpl:w-full" }, ca = { key: 0 }, la = [
2237
2258
  "aria-label",
2238
2259
  "data-placeholder",
2239
2260
  "onBlur"
2240
- ], oa = [
2261
+ ], ua = [
2241
2262
  "aria-label",
2242
2263
  "data-placeholder",
2243
2264
  "onBlur"
2244
- ], sa = {
2265
+ ], da = {
2245
2266
  key: 1,
2246
2267
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
2247
- }, ca = /*#__PURE__*/ pn(/* @__PURE__ */ d({
2268
+ }, fa = /*#__PURE__*/ hn(/* @__PURE__ */ d({
2248
2269
  __name: "TableBlock",
2249
2270
  props: {
2250
2271
  block: {},
@@ -2258,7 +2279,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2258
2279
  updated(e, t) {
2259
2280
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
2260
2281
  }
2261
- }, n = e, { t: i } = J(), a = Qe(q, "TableBlock"), o = b(() => n.block.rows.length > 0), c = b(() => {
2282
+ }, n = e, { t: i } = X(), a = $e(Y, "TableBlock"), o = b(() => n.block.rows.length > 0), c = b(() => {
2262
2283
  let e = {
2263
2284
  width: "100%",
2264
2285
  borderCollapse: "collapse",
@@ -2289,11 +2310,11 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2289
2310
  } : n);
2290
2311
  a.updateBlock(n.block.id, { rows: o });
2291
2312
  }
2292
- return (e, n) => (s(), x("div", ra, [o.value ? (s(), x("table", {
2313
+ return (e, n) => (s(), x("div", sa, [o.value ? (s(), x("table", {
2293
2314
  key: 0,
2294
2315
  style: D(c.value),
2295
2316
  class: "tpl-table-editable"
2296
- }, [d.value ? (s(), x("thead", ia, [k("tr", null, [(s(!0), x(P, null, r(d.value.cells, (e) => f((s(), x("th", {
2317
+ }, [d.value ? (s(), x("thead", ca, [k("tr", null, [(s(!0), x(P, null, r(d.value.cells, (e) => f((s(), x("th", {
2297
2318
  key: e.id,
2298
2319
  style: D(u.value),
2299
2320
  "aria-label": h(i).table.cellPlaceholder,
@@ -2302,7 +2323,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2302
2323
  onBlur: (t) => v(d.value.id, e.id, t),
2303
2324
  onKeydown: n[0] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
2304
2325
  onClick: E(m, ["stop"])
2305
- }, null, 44, aa)), [[t, e.content]])), 128))])])) : S("", !0), k("tbody", null, [(s(!0), x(P, null, r(p.value, (e) => (s(), x("tr", { key: e.id }, [(s(!0), x(P, null, r(e.cells, (r) => f((s(), x("td", {
2326
+ }, null, 44, la)), [[t, e.content]])), 128))])])) : S("", !0), k("tbody", null, [(s(!0), x(P, null, r(p.value, (e) => (s(), x("tr", { key: e.id }, [(s(!0), x(P, null, r(e.cells, (r) => f((s(), x("td", {
2306
2327
  key: r.id,
2307
2328
  style: D(l.value),
2308
2329
  "aria-label": h(i).table.cellPlaceholder,
@@ -2311,9 +2332,9 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2311
2332
  onBlur: (t) => v(e.id, r.id, t),
2312
2333
  onKeydown: n[1] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
2313
2334
  onClick: E(m, ["stop"])
2314
- }, null, 44, oa)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), x("div", sa, [g(h(ln), { size: 16 }), k("span", null, F(h(i).table.empty), 1)]))]));
2335
+ }, null, 44, ua)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), x("div", da, [g(h(fn), { size: 16 }), k("span", null, F(h(i).table.empty), 1)]))]));
2315
2336
  }
2316
- }), [["__scopeId", "data-v-963ac422"]]), la = /* @__PURE__ */ d({
2337
+ }), [["__scopeId", "data-v-963ac422"]]), pa = /* @__PURE__ */ d({
2317
2338
  __name: "VideoPlayButton",
2318
2339
  props: { hoverEffect: {
2319
2340
  type: Boolean,
@@ -2331,7 +2352,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
2331
2352
  });
2332
2353
  //#endregion
2333
2354
  //#region src/utils/videoThumbnail.ts
2334
- function ua(e) {
2355
+ function ma(e) {
2335
2356
  if (!e) return {
2336
2357
  platform: "unknown",
2337
2358
  videoId: null,
@@ -2363,25 +2384,25 @@ function ua(e) {
2363
2384
  thumbnailUrl: null
2364
2385
  };
2365
2386
  }
2366
- function da(e, t) {
2367
- return t || ua(e).thumbnailUrl;
2387
+ function ha(e, t) {
2388
+ return t || ma(e).thumbnailUrl;
2368
2389
  }
2369
2390
  //#endregion
2370
2391
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
2371
- var fa = ["src", "alt"], pa = {
2392
+ var ga = ["src", "alt"], _a = {
2372
2393
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2373
2394
  style: { opacity: "0.7" }
2374
- }, ma = ["href"], ha = ["src", "alt"], ga = ["src", "alt"], _a = {
2395
+ }, va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
2375
2396
  key: 3,
2376
2397
  class: "tpl:flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
2377
- }, va = /* @__PURE__ */ d({
2398
+ }, Sa = /* @__PURE__ */ d({
2378
2399
  __name: "VideoBlock",
2379
2400
  props: {
2380
2401
  block: {},
2381
2402
  viewport: {}
2382
2403
  },
2383
2404
  setup(e) {
2384
- let t = e, { t: n } = J(), { syntax: r } = Z(), i = b(() => H(t.block.url, r) || H(t.block.thumbnailUrl, r)), a = Cn(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = Cn(() => i.value ? t.block.placeholderUrl : void 0), c = b(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : da(t.block.url)), l = b(() => ({ textAlign: t.block.align })), u = b(() => {
2405
+ let t = e, { t: n } = X(), { syntax: r } = _n(), i = b(() => U(t.block.url, r) || U(t.block.thumbnailUrl, r)), a = En(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = En(() => i.value ? t.block.placeholderUrl : void 0), c = b(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : ha(t.block.url)), l = b(() => ({ textAlign: t.block.align })), u = b(() => {
2385
2406
  let e = t.block.align;
2386
2407
  return {
2387
2408
  maxWidth: "100%",
@@ -2391,7 +2412,7 @@ var fa = ["src", "alt"], pa = {
2391
2412
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
2392
2413
  marginRight: e === "center" ? "auto" : void 0
2393
2414
  };
2394
- }), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() => H(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
2415
+ }), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() => U(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
2395
2416
  return (t, r) => (s(), x("div", {
2396
2417
  class: "tpl:w-full",
2397
2418
  style: D(l.value)
@@ -2404,16 +2425,16 @@ var fa = ["src", "alt"], pa = {
2404
2425
  src: h(o),
2405
2426
  alt: e.block.alt,
2406
2427
  style: D(d.value)
2407
- }, null, 12, fa), g(la)], 4)) : i.value ? (s(), x("div", {
2428
+ }, null, 12, ga), g(pa)], 4)) : i.value ? (s(), x("div", {
2408
2429
  key: 1,
2409
2430
  class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
2410
2431
  style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
2411
- }, [g(h(an), {
2432
+ }, [g(h(ln), {
2412
2433
  size: 36,
2413
2434
  "stroke-width": 1.5,
2414
2435
  class: "tpl:text-[var(--tpl-primary)]",
2415
2436
  style: { opacity: "0.5" }
2416
- }), k("span", pa, [g(dr, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), x(P, { key: 2 }, [e.block.url ? (s(), x("a", {
2437
+ }), k("span", _a, [g(br, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), x(P, { key: 2 }, [e.block.url ? (s(), x("a", {
2417
2438
  key: 0,
2418
2439
  href: e.block.url,
2419
2440
  target: "_blank",
@@ -2426,7 +2447,7 @@ var fa = ["src", "alt"], pa = {
2426
2447
  src: c.value,
2427
2448
  alt: e.block.alt,
2428
2449
  style: D(d.value)
2429
- }, null, 12, ha), g(la, { "hover-effect": "" })], 12, ma)) : (s(), x("div", {
2450
+ }, null, 12, ya), g(pa, { "hover-effect": "" })], 12, va)) : (s(), x("div", {
2430
2451
  key: 1,
2431
2452
  class: "tpl:relative tpl:inline-block",
2432
2453
  style: D(u.value)
@@ -2435,54 +2456,54 @@ var fa = ["src", "alt"], pa = {
2435
2456
  src: c.value,
2436
2457
  alt: e.block.alt,
2437
2458
  style: D(d.value)
2438
- }, null, 12, ga), g(la)], 4))], 64)) : (s(), x("div", _a, [g(h(an), {
2459
+ }, null, 12, ba), g(pa)], 4))], 64)) : (s(), x("div", xa, [g(h(ln), {
2439
2460
  size: 40,
2440
2461
  "stroke-width": 1.5,
2441
2462
  class: "tpl:text-[var(--tpl-border-light)]"
2442
2463
  }), k("span", null, F(h(n).video.addVideo), 1)]))], 4));
2443
2464
  }
2444
- }), ya = {
2445
- section: Ki,
2446
- title: Hi,
2447
- paragraph: Si,
2448
- image: li,
2449
- button: pr,
2450
- divider: Wr,
2451
- video: va,
2452
- social: $i,
2453
- menu: pi,
2454
- table: ca,
2455
- spacer: na,
2456
- html: Xr,
2465
+ }), Ca = {
2466
+ section: Xi,
2467
+ title: Ki,
2468
+ paragraph: ji,
2469
+ image: vi,
2470
+ button: Sr,
2471
+ divider: $r,
2472
+ video: Sa,
2473
+ social: ra,
2474
+ menu: Si,
2475
+ table: fa,
2476
+ spacer: oa,
2477
+ html: ai,
2457
2478
  countdown: L(() => import("./CountdownBlock-sVDjKkRw.js"))
2458
2479
  };
2459
- function ba(e) {
2460
- let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = J(i), d = b(() => de(de(de(Vn(i), or(n.content.value.settings?.locale)), ee(n.content.value.settings) === "rtl" ? {
2480
+ function wa(e) {
2481
+ let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = X(i), d = b(() => ue(ue(ue(Wn(i), lr(n.content.value.settings?.locale)), H(n.content.value.settings) === "rtl" ? {
2461
2482
  title: { textAlign: "right" },
2462
2483
  table: { textAlign: "right" }
2463
2484
  } : {}), r.blockDefaults ?? {}));
2464
2485
  n.setUiTheme(r.uiTheme ?? "auto");
2465
- let { resolvedTheme: f } = kn(b(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: h } = jn({
2486
+ let { resolvedTheme: f } = Mn(b(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: h } = Pn({
2466
2487
  themeOverrides: p,
2467
2488
  resolvedTheme: f,
2468
2489
  extraStyles: () => ({
2469
2490
  "--tpl-drop-text": `"${i.canvas.dropHere}"`,
2470
2491
  ...e.themeExtraStyles?.()
2471
2492
  })
2472
- }), g = Ie({
2493
+ }), g = Le({
2473
2494
  content: n.content,
2474
2495
  setContent: (e, t) => n.setContent(e, t),
2475
2496
  ...e.historyOptions
2476
2497
  });
2477
- Be(n, g);
2478
- let _ = Ge({
2498
+ Ve(n, g);
2499
+ let _ = Ke({
2479
2500
  addBlock: n.addBlock,
2480
2501
  removeBlock: n.removeBlock,
2481
2502
  updateBlock: n.updateBlock,
2482
2503
  selectBlock: n.selectBlock,
2483
2504
  findBlockLocation: n.findBlockLocation,
2484
2505
  blockDefaults: () => d.value
2485
- }), v = Le(n), x = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? We({
2506
+ }), v = Re(n), x = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Ge({
2486
2507
  content: n.content,
2487
2508
  isDirty: () => n.state.isDirty,
2488
2509
  ...e.autoSaveOptions
@@ -2490,30 +2511,30 @@ function ba(e) {
2490
2511
  x && (S = t(g.isNavigating, (e) => {
2491
2512
  e ? x.pause() : x.resume();
2492
2513
  }));
2493
- let C = On(n, {
2514
+ let C = jn(n, {
2494
2515
  t: s,
2495
2516
  format: u
2496
- }, r.customBlocks ?? []), w = Ut(r.colors);
2497
- if (w.allowCustomIgnored && Y.warn("config.colors.allowCustom: false is ignored without presets — keeping the color wheel and hex input so a color can still be chosen."), w.invalidPresets.length > 0 && Y.warn(`config.colors.presets skipped invalid entries: ${w.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), w.allowCustom === !1) {
2498
- let e = Bn(w.presets, r.blockDefaults, r.templateDefaults);
2499
- e.length > 0 && Y.warn(`config.colors locks custom colours, but these block/template default colours fall outside colors.presets: ${e.join(", ")}. New blocks start on a colour the palette can't reselect — set blockDefaults / templateDefaults from the same palette.`);
2500
- }
2501
- let T = Gt(r.templateSettings);
2502
- for (let e of T.unknown) Y.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Kt.join(", ")}) — skipping it.`);
2503
- let E = Mn();
2504
- Ln(E, ya);
2517
+ }, r.customBlocks ?? []), w = Gt(r.colors);
2518
+ if (w.allowCustomIgnored && Z.warn("config.colors.allowCustom: false is ignored without presets — keeping the color wheel and hex input so a color can still be chosen."), w.invalidPresets.length > 0 && Z.warn(`config.colors.presets skipped invalid entries: ${w.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), w.allowCustom === !1) {
2519
+ let e = Un(w.presets, r.blockDefaults, r.templateDefaults);
2520
+ e.length > 0 && Z.warn(`config.colors locks custom colours, but these block/template default colours fall outside colors.presets: ${e.join(", ")}. New blocks start on a colour the palette can't reselect — set blockDefaults / templateDefaults from the same palette.`);
2521
+ }
2522
+ let T = qt(r.templateSettings);
2523
+ for (let e of T.unknown) Z.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Jt.join(", ")}) — skipping it.`);
2524
+ let E = Fn();
2525
+ Bn(E, Ca);
2505
2526
  let D = /* @__PURE__ */ new Set();
2506
2527
  function O(e) {
2507
2528
  for (let t of e) {
2508
- E.registerCustom(t, Hr);
2509
- for (let e of sr(t, w)) D.has(e.id) || (D.add(e.id), Y.warn(e.message));
2529
+ E.registerCustom(t, Zr);
2530
+ for (let e of ur(t, w)) D.has(e.id) || (D.add(e.id), Z.warn(e.message));
2510
2531
  }
2511
2532
  }
2512
2533
  r.customBlocks?.length && O(r.customBlocks);
2513
- let k = yn();
2534
+ let k = Sn();
2514
2535
  if (o() && m(k.dispose), e.containerEl) {
2515
2536
  let t = e.containerEl;
2516
- U(document, "pointerdown", (e) => {
2537
+ G(document, "pointerdown", (e) => {
2517
2538
  let n = t.value;
2518
2539
  n && (e.composedPath?.() ?? []).includes(n) && k.claim();
2519
2540
  }, { capture: !0 });
@@ -2527,7 +2548,7 @@ function ba(e) {
2527
2548
  x?.flush();
2528
2549
  }
2529
2550
  function j(t) {
2530
- k.isActive() && lr(t, {
2551
+ k.isActive() && fr(t, {
2531
2552
  history: g,
2532
2553
  selectBlock: (e) => n.selectBlock(e),
2533
2554
  getSelectedBlockId: () => n.state.selectedBlockId,
@@ -2539,21 +2560,21 @@ function ba(e) {
2539
2560
  onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
2540
2561
  });
2541
2562
  }
2542
- U(document, "keydown", j);
2563
+ G(document, "keydown", j);
2543
2564
  let M = l(null);
2544
- c(bt, e.editorRoot ?? document), c(et, M), c(vt, i), c(q, n), c(Bt, g), c(xt, _), c(Tt, v), c(Lt, a), c(st, h), c(yt, f), c(Mt, d), c(_t, r.locale), c(It, E), c(Nt, r.customBlocks ?? []), c(Vt, r.paletteBlocks), c(St, Rn(r.htmlBlockPreview)), c(tt, r.layout), c(it, r.sectionWrapper), c(wt, w), c(Pt, T.fields), c(At, Nn(n.content, E));
2565
+ c(xt, e.editorRoot ?? document), c(tt, M), c(yt, i), c(Y, n), c(Vt, g), c(St, _), c(Et, v), c(Rt, a), c(ct, h), c(bt, f), c(Nt, d), c(vt, r.locale), c(Lt, E), c(Pt, r.customBlocks ?? []), c(Ht, r.paletteBlocks), c(Ct, Vn(r.htmlBlockPreview)), c(nt, r.layout), c(at, r.sectionWrapper), c(Tt, w), c(Ft, T.fields), c(jt, In(n.content, E));
2545
2566
  let N = be(r.mergeTags?.syntax), P = y(r.mergeTags?.tags ?? []);
2546
2567
  function F(e) {
2547
2568
  if (!Array.isArray(e)) {
2548
- Y.warn(`setMergeTags() expects an array of merge tags, received ${typeof e} — ignoring.`);
2569
+ Z.warn(`setMergeTags() expects an array of merge tags, received ${typeof e} — ignoring.`);
2549
2570
  return;
2550
2571
  }
2551
2572
  P.value = e;
2552
2573
  }
2553
- c(G, P), c(ft, N), c(pt, r.mergeTags?.onRequest ?? null), c(Ot, r.mergeTags?.autocomplete !== !1), c(dt, r.mergeTags?.showRawValue !== !1);
2554
- let I = l(Me(r.mergeTags?.tags ?? []));
2555
- c(ut, I);
2556
- let L = xn({
2574
+ c(q, P), c(pt, N), c(mt, r.mergeTags?.onRequest ?? null), c(kt, r.mergeTags?.autocomplete !== !1), c(ft, r.mergeTags?.showRawValue !== !1);
2575
+ let I = l(Ne(r.mergeTags?.tags ?? []));
2576
+ c(dt, I);
2577
+ let L = wn({
2557
2578
  resolvePreview: r.resolvePreview,
2558
2579
  getContent: () => {
2559
2580
  let e = n.content.value;
@@ -2561,19 +2582,19 @@ function ba(e) {
2561
2582
  },
2562
2583
  isActive: () => n.state.previewMode
2563
2584
  });
2564
- c(gt, L), c(at, r.resolvePreview);
2585
+ c(_t, L), c(ot, r.resolvePreview);
2565
2586
  let R = b(() => !(n.state.previewMode && L.isConfigured));
2566
- c(Ft, R);
2567
- let z = wn();
2568
- c($e, z), c(Dt, l(!1)), c(nt, l(!1)), c(ht, r.logicTags?.tags ?? []), c(Rt, r.logicTags?.pairs ?? []), c(ot, r.logicTags?.onRequest ?? null), c(rt, Tn()), c(lt, r.onRequestMedia ?? null), c(Ct, r.canDropMedia ?? null), c(zt, r.resolveImageUrl ? Sn(r.resolveImageUrl) : null), c(Et, r.displayConditions?.conditions ?? []), c(jt, r.displayConditions?.allowCustom ?? !1), c(kt, e.capabilities ?? {}), c(mt, C);
2569
- let B = En(r.lint) ? null : Dn({
2587
+ c(It, R);
2588
+ let z = Dn();
2589
+ c(et, z), c(Ot, l(!1)), c(rt, l(!1)), c(gt, r.logicTags?.tags ?? []), c(zt, r.logicTags?.pairs ?? []), c(st, r.logicTags?.onRequest ?? null), c(it, On()), c(ut, r.onRequestMedia ?? null), c(wt, r.canDropMedia ?? null), c(Bt, r.resolveImageUrl ? Tn(r.resolveImageUrl) : null), c(Dt, r.displayConditions?.conditions ?? []), c(Mt, r.displayConditions?.allowCustom ?? !1), c(At, e.capabilities ?? {}), c(ht, C);
2590
+ let B = kn(r.lint) ? null : An({
2570
2591
  content: n.content,
2571
2592
  options: r.lint ?? {},
2572
2593
  updateBlock: n.updateBlock,
2573
2594
  updateSettings: n.updateSettings,
2574
2595
  removeBlock: n.removeBlock
2575
2596
  });
2576
- c(ct, B);
2597
+ c(lt, B);
2577
2598
  function V() {
2578
2599
  S?.(), B?.destroy(), x?.destroy(), g.destroy();
2579
2600
  }
@@ -2600,6 +2621,6 @@ function ba(e) {
2600
2621
  };
2601
2622
  }
2602
2623
  //#endregion
2603
- export { tr as A, yr as C, Yn as D, pr as E, $n as M, Qn as N, rr as O, xn as P, wr as S, gr as T, Wr as _, $i as a, jr as b, Bi as c, Di as d, wi as f, Xr as g, li as h, na as i, er as j, nr as k, Ti as l, pi as m, va as n, Ki as o, Si as p, ca as r, Hi as s, ba as t, Ci as u, Hr as v, vr as w, kr as x, Nr as y };
2624
+ export { ir as A, hr as C, Qn as D, mr as E, nr as M, tr as N, or as O, wn as P, Sr as S, vr as T, Rr as _, ra as a, Dr as b, Wi as c, vi as d, ai as f, Br as g, Hr as h, oa as i, rr as j, ar as k, ji as l, Zr as m, Sa as n, Xi as o, $r as p, fa as r, Ki as s, wa as t, Si as u, Nr as v, pr as w, Tr as x, Or as y };
2604
2625
 
2605
- //# sourceMappingURL=useEditorCore-CQraU2s_.js.map
2626
+ //# sourceMappingURL=useEditorCore-yd40TFKy.js.map