@templatical/editor 0.30.0 → 0.32.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 (257) hide show
  1. package/dist/{AiChatSidebar-Bq99wU01.js → AiChatSidebar-ftdKHSR-.js} +15 -15
  2. package/dist/{AiFeatureMenu-F-C59LAV.js → AiFeatureMenu-aNeCRlil.js} +7 -7
  3. package/dist/{BlockIssueBadge-Dhk7Hv4m.js → BlockIssueBadge-bTDu6W_2.js} +5 -5
  4. package/dist/{BlockPreviewCanvas-CqU1kwmG.js → BlockPreviewCanvas-BsOuOfzB.js} +20 -19
  5. package/dist/{CloudHeaderExtras-vnGV_mLD.js → CloudHeaderExtras-BNpFohqt.js} +5 -5
  6. package/dist/{CloudPanels-Dv-MD1Tc.js → CloudPanels-xoGWwqSH.js} +7 -7
  7. package/dist/{CollaboratorBar-DmssyJoB.js → CollaboratorBar-mEqXkdEi.js} +4 -4
  8. package/dist/{ColorPicker-CXPSbnRD.js → ColorPicker-FL5Vb9bE.js} +7 -7
  9. package/dist/{CommentsPanel-DnWdgQHg.js → CommentsPanel-slfi74ng.js} +2 -2
  10. package/dist/{CommentsSidebar-ZOqmuo4D.js → CommentsSidebar-Dea4spMl.js} +14 -14
  11. package/dist/{CountdownBlock-BgNK7fZY.js → CountdownBlock-DQTwaRxP.js} +3 -3
  12. package/dist/{CountdownToolbar-SwmE7CIk.js → CountdownToolbar-C7xwJoqh.js} +4 -4
  13. package/dist/{DesignReferenceSidebar-9cLTzOqP.js → DesignReferenceSidebar-BtBd7bbz.js} +11 -11
  14. package/dist/{FieldRow-0-UbQR4a.js → FieldRow-BWt7ECqo.js} +1 -1
  15. package/dist/{IssuesPanel-CDk7lUna.js → IssuesPanel-Ci2H36L2.js} +8 -8
  16. package/dist/{LoadingTrack-5KBr5cE8.js → LoadingTrack-SQXoZVf2.js} +1 -1
  17. package/dist/{MergeTagModeToggle-DtD_Xl9w.js → MergeTagModeToggle-Cdi_DmVw.js} +6 -6
  18. package/dist/{MergeTagSuggestion-DPfXtDzP.js → MergeTagSuggestion-CoCuzEmW.js} +4 -4
  19. package/dist/{ParagraphEditor-C0NbqDmV.js → ParagraphEditor-DQEOFc0K.js} +26 -26
  20. package/dist/{RestoreVersionDialog-DCX0rJiV.js → RestoreVersionDialog-CHwngBae.js} +5 -5
  21. package/dist/{RichTextEditorContent-DZ6GiAUi.js → RichTextEditorContent-C_9xi7dD.js} +8 -8
  22. package/dist/{SaveBlockDialog-e5LtQRVk.js → SaveBlockDialog-tZqZzPjW.js} +21 -21
  23. package/dist/SavedBlocksBrowserModal-Bdj3GOD_.js +322 -0
  24. package/dist/{SavedBlocksPanels-pGZWjSmp.js → SavedBlocksPanels-2sBxAH9w.js} +2 -2
  25. package/dist/{SavedBlocksPickBar-OZaOG1Si.js → SavedBlocksPickBar-DTjQBR00.js} +4 -4
  26. package/dist/{TemplateScoringPanel-CDwlSFEe.js → TemplateScoringPanel-B6nHSrBD.js} +15 -15
  27. package/dist/{TestEmailModal-PVa1VL2p.js → TestEmailModal-DuHbzO37.js} +11 -11
  28. package/dist/{TestEmailPanel-RekBdAtO.js → TestEmailPanel-TpwP-eK_.js} +2 -2
  29. package/dist/{TitleEditor-Cs2tELCL.js → TitleEditor-C0JQJu38.js} +12 -12
  30. package/dist/{TplModal-Bw1i8_eE.js → TplModal-BMGmhquu.js} +5 -5
  31. package/dist/VersionHistoryMenu-D2x6MMYx.js +157 -0
  32. package/dist/{VersionHistoryPanels-TqTC4ofA.js → VersionHistoryPanels-aGlUVEGF.js} +2 -2
  33. package/dist/{VersionPreviewBanner-CQlSzQ2B.js → VersionPreviewBanner-61t3_Z-a.js} +3 -3
  34. package/dist/{blockTypeIcons-C7WedEOG.js → blockTypeIcons-BsNup009.js} +2 -2
  35. package/dist/bundle-stats.json +7 -7
  36. package/dist/{ca-DZSrLNXK.js → ca-C0hfqt4U.js} +5 -0
  37. package/dist/cdn/chunks/{AiChatSidebar-DmZ1Nvxo.js → AiChatSidebar-CqWvtRwB.js} +12 -12
  38. package/dist/cdn/chunks/{AiChatSidebar-DmZ1Nvxo.js.map → AiChatSidebar-CqWvtRwB.js.map} +1 -1
  39. package/dist/cdn/chunks/{AiFeatureMenu-D4tax9j3.js → AiFeatureMenu-DoFrLcXJ.js} +6 -6
  40. package/dist/cdn/chunks/{AiFeatureMenu-D4tax9j3.js.map → AiFeatureMenu-DoFrLcXJ.js.map} +1 -1
  41. package/dist/cdn/chunks/{BlockIssueBadge-Bry71Wjz.js → BlockIssueBadge-B_mUH69a.js} +5 -5
  42. package/dist/cdn/chunks/{BlockIssueBadge-Bry71Wjz.js.map → BlockIssueBadge-B_mUH69a.js.map} +1 -1
  43. package/dist/cdn/chunks/{BlockPreviewCanvas-DDOqFJlT.js → BlockPreviewCanvas-CSIxs7hr.js} +21 -20
  44. package/dist/cdn/chunks/BlockPreviewCanvas-CSIxs7hr.js.map +1 -0
  45. package/dist/cdn/chunks/{CloudHeaderExtras-g-_SFPna.js → CloudHeaderExtras-Dgtr7WaE.js} +5 -5
  46. package/dist/cdn/chunks/{CloudHeaderExtras-g-_SFPna.js.map → CloudHeaderExtras-Dgtr7WaE.js.map} +1 -1
  47. package/dist/cdn/chunks/{CloudPanels-Cnh07_2G.js → CloudPanels-B91lUmof.js} +7 -7
  48. package/dist/cdn/chunks/{CloudPanels-Cnh07_2G.js.map → CloudPanels-B91lUmof.js.map} +1 -1
  49. package/dist/cdn/chunks/{CollaboratorBar-CLGB0prG.js → CollaboratorBar-CQwPWoFu.js} +5 -5
  50. package/dist/cdn/chunks/{CollaboratorBar-CLGB0prG.js.map → CollaboratorBar-CQwPWoFu.js.map} +1 -1
  51. package/dist/cdn/chunks/{ColorPicker-Ww4xHHMI.js → ColorPicker-CdrKX48J.js} +7 -7
  52. package/dist/cdn/chunks/{ColorPicker-Ww4xHHMI.js.map → ColorPicker-CdrKX48J.js.map} +1 -1
  53. package/dist/cdn/chunks/{CommentsPanel-DjId-XH-.js → CommentsPanel-BJNgTmAA.js} +3 -3
  54. package/dist/cdn/chunks/{CommentsPanel-DjId-XH-.js.map → CommentsPanel-BJNgTmAA.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsSidebar-DXXGWSr4.js → CommentsSidebar-D6VIIPhB.js} +5 -5
  56. package/dist/cdn/chunks/{CommentsSidebar-DXXGWSr4.js.map → CommentsSidebar-D6VIIPhB.js.map} +1 -1
  57. package/dist/cdn/chunks/{CountdownBlock-CWeJBC0L.js → CountdownBlock-BRwXUvGU.js} +4 -4
  58. package/dist/cdn/chunks/{CountdownBlock-CWeJBC0L.js.map → CountdownBlock-BRwXUvGU.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownToolbar-CO6xLgYc.js → CountdownToolbar-CVaU5WG6.js} +5 -5
  60. package/dist/cdn/chunks/{CountdownToolbar-CO6xLgYc.js.map → CountdownToolbar-CVaU5WG6.js.map} +1 -1
  61. package/dist/cdn/chunks/{DesignReferenceSidebar-DRGqm33h.js → DesignReferenceSidebar-BvOwE1kg.js} +7 -7
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-DRGqm33h.js.map → DesignReferenceSidebar-BvOwE1kg.js.map} +1 -1
  63. package/dist/cdn/chunks/{FieldRow-CbcpsxZ4.js → FieldRow-D9OJhYeb.js} +2 -2
  64. package/dist/cdn/chunks/{FieldRow-CbcpsxZ4.js.map → FieldRow-D9OJhYeb.js.map} +1 -1
  65. package/dist/cdn/chunks/{IssuesPanel-iC2hgrXx.js → IssuesPanel-MJZxkScz.js} +6 -6
  66. package/dist/cdn/chunks/{IssuesPanel-iC2hgrXx.js.map → IssuesPanel-MJZxkScz.js.map} +1 -1
  67. package/dist/cdn/chunks/{LoadingTrack-Cz1sT0wP.js → LoadingTrack-Cm3TDKb3.js} +2 -2
  68. package/dist/cdn/chunks/{LoadingTrack-Cz1sT0wP.js.map → LoadingTrack-Cm3TDKb3.js.map} +1 -1
  69. package/dist/cdn/chunks/{MergeTagModeToggle-DZtnCj0F.js → MergeTagModeToggle-bNuN6PTV.js} +6 -6
  70. package/dist/cdn/chunks/{MergeTagModeToggle-DZtnCj0F.js.map → MergeTagModeToggle-bNuN6PTV.js.map} +1 -1
  71. package/dist/cdn/chunks/{MergeTagSuggestion-VP_nC-8W.js → MergeTagSuggestion-t8Uj00Er.js} +3 -3
  72. package/dist/cdn/chunks/{MergeTagSuggestion-VP_nC-8W.js.map → MergeTagSuggestion-t8Uj00Er.js.map} +1 -1
  73. package/dist/cdn/chunks/{ParagraphEditor-BalgLjBt.js → ParagraphEditor-BU8tlFbL.js} +28 -28
  74. package/dist/cdn/chunks/{ParagraphEditor-BalgLjBt.js.map → ParagraphEditor-BU8tlFbL.js.map} +1 -1
  75. package/dist/cdn/chunks/{RestoreVersionDialog-DGOXQ0ou.js → RestoreVersionDialog-vdRFfyy0.js} +5 -5
  76. package/dist/cdn/chunks/{RestoreVersionDialog-DGOXQ0ou.js.map → RestoreVersionDialog-vdRFfyy0.js.map} +1 -1
  77. package/dist/cdn/chunks/{RichTextEditorContent-DpvOKKH-.js → RichTextEditorContent-C1-5I8Df.js} +7 -7
  78. package/dist/cdn/chunks/{RichTextEditorContent-DpvOKKH-.js.map → RichTextEditorContent-C1-5I8Df.js.map} +1 -1
  79. package/dist/cdn/chunks/{SaveBlockDialog-Dod3jX9X.js → SaveBlockDialog-DWaeqcM8.js} +9 -9
  80. package/dist/cdn/chunks/{SaveBlockDialog-Dod3jX9X.js.map → SaveBlockDialog-DWaeqcM8.js.map} +1 -1
  81. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BysGB8zb.js → SavedBlocksBrowserModal-qC7UhW74.js} +110 -111
  82. package/dist/cdn/chunks/SavedBlocksBrowserModal-qC7UhW74.js.map +1 -0
  83. package/dist/cdn/chunks/{SavedBlocksPanels-DJ4fceEM.js → SavedBlocksPanels-BvtjtdsY.js} +3 -3
  84. package/dist/cdn/chunks/{SavedBlocksPanels-DJ4fceEM.js.map → SavedBlocksPanels-BvtjtdsY.js.map} +1 -1
  85. package/dist/cdn/chunks/{SavedBlocksPickBar-DGgbqAsb.js → SavedBlocksPickBar-CxXjF3RN.js} +5 -5
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-DGgbqAsb.js.map → SavedBlocksPickBar-CxXjF3RN.js.map} +1 -1
  87. package/dist/cdn/chunks/{TemplateScoringPanel-B0YcaJsR.js → TemplateScoringPanel-CroWaWqy.js} +50 -50
  88. package/dist/cdn/chunks/{TemplateScoringPanel-B0YcaJsR.js.map → TemplateScoringPanel-CroWaWqy.js.map} +1 -1
  89. package/dist/cdn/chunks/{TestEmailModal-DvZFnhWa.js → TestEmailModal-iWxAZRRq.js} +10 -10
  90. package/dist/cdn/chunks/{TestEmailModal-DvZFnhWa.js.map → TestEmailModal-iWxAZRRq.js.map} +1 -1
  91. package/dist/cdn/chunks/{TestEmailPanel-BdxpMiWc.js → TestEmailPanel-CGUtEuwp.js} +3 -3
  92. package/dist/cdn/chunks/{TestEmailPanel-BdxpMiWc.js.map → TestEmailPanel-CGUtEuwp.js.map} +1 -1
  93. package/dist/cdn/chunks/{TitleEditor-CfHWnThg.js → TitleEditor-DvXUW2j-.js} +12 -12
  94. package/dist/cdn/chunks/{TitleEditor-CfHWnThg.js.map → TitleEditor-DvXUW2j-.js.map} +1 -1
  95. package/dist/cdn/chunks/{TplModal-BMTW5bEN.js → TplModal-X-qNoLGZ.js} +5 -5
  96. package/dist/cdn/chunks/{TplModal-BMTW5bEN.js.map → TplModal-X-qNoLGZ.js.map} +1 -1
  97. package/dist/cdn/chunks/VersionHistoryMenu-yKzwxf7n.js +150 -0
  98. package/dist/cdn/chunks/VersionHistoryMenu-yKzwxf7n.js.map +1 -0
  99. package/dist/cdn/chunks/{VersionHistoryPanels-2l_FLtix.js → VersionHistoryPanels--hQaanjH.js} +3 -3
  100. package/dist/cdn/chunks/{VersionHistoryPanels-2l_FLtix.js.map → VersionHistoryPanels--hQaanjH.js.map} +1 -1
  101. package/dist/cdn/chunks/{VersionPreviewBanner-C8pfES5A.js → VersionPreviewBanner-DWU_SqMd.js} +4 -4
  102. package/dist/cdn/chunks/{VersionPreviewBanner-C8pfES5A.js.map → VersionPreviewBanner-DWU_SqMd.js.map} +1 -1
  103. package/dist/cdn/chunks/{blockTypeIcons-JUwZtKaq.js → blockTypeIcons-ZEzEpCti.js} +2 -2
  104. package/dist/cdn/chunks/{blockTypeIcons-JUwZtKaq.js.map → blockTypeIcons-ZEzEpCti.js.map} +1 -1
  105. package/dist/cdn/chunks/{ca-DZSrLNXK.js → ca-C0hfqt4U.js} +6 -1
  106. package/dist/cdn/chunks/ca-C0hfqt4U.js.map +1 -0
  107. package/dist/cdn/chunks/{cloud-CITqEHEc.js → cloud-BP5-6__d.js} +4 -4
  108. package/dist/cdn/chunks/{cloud-CITqEHEc.js.map → cloud-BP5-6__d.js.map} +1 -1
  109. package/dist/cdn/chunks/{createCloudRuntime-jLhuyKds.js → createCloudRuntime-DD6ppb71.js} +10 -10
  110. package/dist/cdn/chunks/{createCloudRuntime-jLhuyKds.js.map → createCloudRuntime-DD6ppb71.js.map} +1 -1
  111. package/dist/{de-DbayqpK-.js → cdn/chunks/de-C6J2Iae8.js} +7 -0
  112. package/dist/cdn/chunks/de-C6J2Iae8.js.map +1 -0
  113. package/dist/cdn/chunks/{dist-CgR3inPR.js → dist-BW6Y49zE.js} +2 -2
  114. package/dist/cdn/chunks/{dist-CgR3inPR.js.map → dist-BW6Y49zE.js.map} +1 -1
  115. package/dist/cdn/chunks/{dist-El3fQnfk.js → dist-CAFTQ6Y2.js} +5 -5
  116. package/dist/cdn/chunks/{dist-El3fQnfk.js.map → dist-CAFTQ6Y2.js.map} +1 -1
  117. package/dist/cdn/chunks/{draggable-D2vo-aQI.js → draggable-kbOhCgnk.js} +12 -13
  118. package/dist/cdn/chunks/{draggable-D2vo-aQI.js.map → draggable-kbOhCgnk.js.map} +1 -1
  119. package/dist/cdn/chunks/{en-l0ib5X0f.js → en-BaUYOQi8.js} +6 -1
  120. package/dist/cdn/chunks/en-BaUYOQi8.js.map +1 -0
  121. package/dist/cdn/chunks/en-mEKGL1PX.js +2 -0
  122. package/dist/cdn/chunks/{es-CMQ-5PJP.js → es-CKDYfJYn.js} +6 -1
  123. package/dist/cdn/chunks/es-CKDYfJYn.js.map +1 -0
  124. package/dist/cdn/chunks/{extensions-D30V0hzj.js → extensions-BUPHNpKD.js} +7 -7
  125. package/dist/cdn/chunks/{extensions-D30V0hzj.js.map → extensions-BUPHNpKD.js.map} +1 -1
  126. package/dist/cdn/chunks/formatAbsoluteDateTime-DMmop3C-.js +15 -0
  127. package/dist/cdn/chunks/formatAbsoluteDateTime-DMmop3C-.js.map +1 -0
  128. package/dist/cdn/chunks/{fr-DNXmZWAq.js → fr-L8DR73mK.js} +6 -1
  129. package/dist/cdn/chunks/fr-L8DR73mK.js.map +1 -0
  130. package/dist/cdn/chunks/{icons-BTdLXRXn.js → icons-SP5Itd-A.js} +16 -16
  131. package/dist/cdn/chunks/icons-SP5Itd-A.js.map +1 -0
  132. package/dist/cdn/chunks/keys-BOn5i9jV.js +12 -0
  133. package/dist/cdn/chunks/keys-BOn5i9jV.js.map +1 -0
  134. package/dist/cdn/chunks/{liquid.browser-BPvKXNfO.js → liquid.browser-BypTT2oc.js} +4 -4
  135. package/dist/cdn/chunks/{liquid.browser-BPvKXNfO.js.map → liquid.browser-BypTT2oc.js.map} +1 -1
  136. package/dist/{nl-BylRRHYJ.js → cdn/chunks/nl-GDWeuX18.js} +7 -0
  137. package/dist/cdn/chunks/nl-GDWeuX18.js.map +1 -0
  138. package/dist/cdn/chunks/{preRenderCustomBlocks-DyCIgmqJ.js → preRenderCustomBlocks-LFB-e-0m.js} +2 -2
  139. package/dist/cdn/chunks/{preRenderCustomBlocks-DyCIgmqJ.js.map → preRenderCustomBlocks-LFB-e-0m.js.map} +1 -1
  140. package/dist/cdn/chunks/{pt-BR-BVoJhpie.js → pt-BR-B1AVVhWj.js} +6 -1
  141. package/dist/cdn/chunks/pt-BR-B1AVVhWj.js.map +1 -0
  142. package/dist/cdn/chunks/{src-6J-yyZoD.js → src-BM3f9I7t.js} +268 -268
  143. package/dist/cdn/chunks/{src-6J-yyZoD.js.map → src-BM3f9I7t.js.map} +1 -1
  144. package/dist/cdn/chunks/{src-BD60gqPW.js → src-CLoCCDfs.js} +26 -26
  145. package/dist/cdn/chunks/{src-BD60gqPW.js.map → src-CLoCCDfs.js.map} +1 -1
  146. package/dist/cdn/chunks/{src-65H3RNcb.js → src-Cxl-9O-L.js} +699 -684
  147. package/dist/cdn/chunks/src-Cxl-9O-L.js.map +1 -0
  148. package/dist/cdn/chunks/{src-CLTXM4PM.js → src-DtnvR_Hl.js} +19 -19
  149. package/dist/cdn/chunks/src-DtnvR_Hl.js.map +1 -0
  150. package/dist/cdn/chunks/{tiptap-Bqy-H6CT.js → tiptap-Epe8m3Vo.js} +2918 -2901
  151. package/dist/cdn/chunks/tiptap-Epe8m3Vo.js.map +1 -0
  152. package/dist/cdn/chunks/{useAliveFlag-DrXxPV8V.js → useAliveFlag-CT9gjvO_.js} +2 -2
  153. package/dist/cdn/chunks/{useAliveFlag-DrXxPV8V.js.map → useAliveFlag-CT9gjvO_.js.map} +1 -1
  154. package/dist/cdn/chunks/{useCloudI18n-D0AoLV0a.js → useCloudI18n-DbsLlCbZ.js} +3 -3
  155. package/dist/cdn/chunks/{useCloudI18n-D0AoLV0a.js.map → useCloudI18n-DbsLlCbZ.js.map} +1 -1
  156. package/dist/cdn/chunks/{useEditorCore-BQeEwEQ9.js → useEditorCore-ChlgO2GN.js} +556 -412
  157. package/dist/cdn/chunks/useEditorCore-ChlgO2GN.js.map +1 -0
  158. package/dist/cdn/chunks/useEditorRoot-BlF1WPeu.js +10 -0
  159. package/dist/cdn/chunks/{useEditorRoot-BFGRBGts.js.map → useEditorRoot-BlF1WPeu.js.map} +1 -1
  160. package/dist/cdn/chunks/{useI18n-DIhawILp.js → useI18n-BdxNNw6j.js} +3 -3
  161. package/dist/cdn/chunks/{useI18n-DIhawILp.js.map → useI18n-BdxNNw6j.js.map} +1 -1
  162. package/dist/cdn/chunks/{useMergeTag-lWo7So18.js → useMergeTag-CI2WUNrR.js} +4 -4
  163. package/dist/cdn/chunks/{useMergeTag-lWo7So18.js.map → useMergeTag-CI2WUNrR.js.map} +1 -1
  164. package/dist/cdn/chunks/{usePopoverPosition-DkiTLnBm.js → usePopoverPosition-Dw1nTSNx.js} +3 -3
  165. package/dist/cdn/chunks/{usePopoverPosition-DkiTLnBm.js.map → usePopoverPosition-Dw1nTSNx.js.map} +1 -1
  166. package/dist/cdn/chunks/{useScrollToBlock-KcSAuXKz.js → useScrollToBlock-BMis3-PR.js} +3 -3
  167. package/dist/cdn/chunks/{useScrollToBlock-KcSAuXKz.js.map → useScrollToBlock-BMis3-PR.js.map} +1 -1
  168. package/dist/cdn/editor.css +1 -1
  169. package/dist/cdn/editor.js +1099 -1143
  170. package/dist/cdn/editor.js.map +1 -1
  171. package/dist/{check-CTe6VejT.js → check-JK8Uacq0.js} +1 -1
  172. package/dist/{chevron-down-BBThVMu-.js → chevron-down-a-fb_Ijn.js} +1 -1
  173. package/dist/{chevron-up-iECwf-Bc.js → chevron-up-x4l0et_Y.js} +1 -1
  174. package/dist/{circle-alert-Z_eeykrO.js → circle-alert-CJDW5LZo.js} +1 -1
  175. package/dist/{clock-CEj1c29j.js → clock-BW6rXk2f.js} +1 -1
  176. package/dist/{cloud-DwJ8ebNl.js → cloud-BMzRKCbk.js} +3 -3
  177. package/dist/{createCloudRuntime-CdXQdl34.js → createCloudRuntime-zNcMjRgb.js} +8 -8
  178. package/dist/{createLucideIcon-DphAT3tw.js → createLucideIcon-Bvw1Zx56.js} +3 -3
  179. package/dist/{cdn/chunks/de-DbayqpK-.js → de-C6J2Iae8.js} +5 -2
  180. package/dist/{dist-gWM8H2hz.js → dist-BxFbxpgW.js} +5 -5
  181. package/dist/{dist-DifptC-U.js → dist-ByT5fgKq.js} +2 -2
  182. package/dist/{dist-BfcqryVg.js → dist-C1tsW_99.js} +2 -2
  183. package/dist/{dist-D2P8U3p6.js → dist-CtF9STPS.js} +2 -2
  184. package/dist/{dist-DSgmnQ-f.js → dist-CtMXAH7a.js} +2 -2
  185. package/dist/dist-D08oVYhr.js +5 -0
  186. package/dist/{dist-BdIwIlKz.js → dist-D7WY8VPq.js} +2 -2
  187. package/dist/{dist-9fjN9cuD.js → dist-DC-3T0ED.js} +2 -2
  188. package/dist/{dist-nmzPlqlz.js → dist-DL9334yz.js} +1429 -1412
  189. package/dist/{dist-DLaIQ5H5.js → dist-DkcA6epL.js} +8 -8
  190. package/dist/dist-DzdeVn-W.js +5 -0
  191. package/dist/{dist-CzVIVbSa.js → dist-PL6vP4SC.js} +61 -61
  192. package/dist/{dist-CuuPnIMy.js → dist-dNiknO7j.js} +4 -4
  193. package/dist/{dist-CaR5TLiM.js → dist-f7HXo6j6.js} +2 -2
  194. package/dist/{dist-BUpBA58N.js → dist-heatwAdo.js} +1 -1
  195. package/dist/{en-l0ib5X0f.js → en-BaUYOQi8.js} +5 -0
  196. package/dist/{es-CMQ-5PJP.js → es-CKDYfJYn.js} +5 -0
  197. package/dist/{extensions-Bjsdx6Vm.js → extensions-kOYwOh72.js} +21 -21
  198. package/dist/formatAbsoluteDateTime-DMmop3C-.js +13 -0
  199. package/dist/{fr-DNXmZWAq.js → fr-L8DR73mK.js} +5 -0
  200. package/dist/{image-up-W1INxCu8.js → image-up-CuzFc1mu.js} +1 -1
  201. package/dist/{info-5t4WYKfh.js → info-DybAwcA3.js} +1 -1
  202. package/dist/keys-BOhFlHsv.js +10 -0
  203. package/dist/{liquid.browser-CJgDDvQz.js → liquid.browser-wPG0n4Cs.js} +3 -3
  204. package/dist/{loader-circle-DJCZ_JMY.js → loader-circle-t-SVgmJ3.js} +1 -1
  205. package/dist/{message-circle-Biu6lHh_.js → message-circle-DtwKrlhN.js} +1 -1
  206. package/dist/{cdn/chunks/nl-BylRRHYJ.js → nl-GDWeuX18.js} +5 -2
  207. package/dist/{pencil-DkPlMca7.js → pencil-2qhC-Y4q.js} +1 -1
  208. package/dist/{preRenderCustomBlocks-2KyBJocY.js → preRenderCustomBlocks-CSIF-HyJ.js} +1 -1
  209. package/dist/{pt-BR-BVoJhpie.js → pt-BR-B1AVVhWj.js} +5 -0
  210. package/dist/{refresh-cw-DHbpkkol.js → refresh-cw-C8SBuPdg.js} +1 -1
  211. package/dist/{runtime-dom.esm-bundler-Co_SPqAz.js → runtime-dom.esm-bundler-BuG03jBM.js} +3 -3
  212. package/dist/{scan-line-DojwGzjU.js → scan-line-E7w4yQyv.js} +1 -1
  213. package/dist/{send-c6ppcE9I.js → send-BoqJliF6.js} +1 -1
  214. package/dist/{shield-check-F9T4ylNK.js → shield-check-D0dMaHtE.js} +1 -1
  215. package/dist/{sparkles-D-0OiTZD.js → sparkles-Dy2BJjiX.js} +1 -1
  216. package/dist/style.css +1 -1
  217. package/dist/templatical-editor.js +1236 -1281
  218. package/dist/{text-align-start-kEEtoRrD.js → text-align-start-DrxjxvIy.js} +1 -1
  219. package/dist/{trash-2-DRQzhY9R.js → trash-rYMzzHZd.js} +2 -2
  220. package/dist/{triangle-alert-Bt4-GU3t.js → triangle-alert-DxnFj4-B.js} +1 -1
  221. package/dist/{upload-D2wtjvH8.js → upload-DZu1adQz.js} +1 -1
  222. package/dist/{useAliveFlag-AFbwfHlJ.js → useAliveFlag-PVmp95MT.js} +1 -1
  223. package/dist/{useCloudI18n-BA69BpQ_.js → useCloudI18n-BlMajbKp.js} +2 -2
  224. package/dist/{useEditorCore-Du9Vx-qr.js → useEditorCore-CwQYCSXO.js} +1212 -1067
  225. package/dist/{useEditorRoot-Cdo8Vhxa.js → useEditorRoot-C92q8uV-.js} +2 -2
  226. package/dist/{useI18n-B135ASaG.js → useI18n-Ce_BRzYv.js} +2 -2
  227. package/dist/{useMergeTag-Cx36rtrt.js → useMergeTag-CrXJ49lr.js} +3 -3
  228. package/dist/{usePopoverPosition-DAOHr_iM.js → usePopoverPosition-CPk7Twye.js} +2 -2
  229. package/dist/{useScrollToBlock-B0Qpjfa4.js → useScrollToBlock-DvpMfWs2.js} +3 -3
  230. package/dist/{vue.runtime.esm-bundler-BhOUdXMi.js → vue.runtime.esm-bundler-D9JUcKrV.js} +4 -4
  231. package/dist/{x-YiG-TUGN.js → x-DJOd1hS4.js} +1 -1
  232. package/package.json +23 -23
  233. package/dist/SavedBlocksBrowserModal-ZQIQoARO.js +0 -323
  234. package/dist/VersionHistoryMenu-B6zAcmAC.js +0 -155
  235. package/dist/cdn/chunks/BlockPreviewCanvas-DDOqFJlT.js.map +0 -1
  236. package/dist/cdn/chunks/SavedBlocksBrowserModal-BysGB8zb.js.map +0 -1
  237. package/dist/cdn/chunks/VersionHistoryMenu-DJGcA_RX.js +0 -148
  238. package/dist/cdn/chunks/VersionHistoryMenu-DJGcA_RX.js.map +0 -1
  239. package/dist/cdn/chunks/ca-DZSrLNXK.js.map +0 -1
  240. package/dist/cdn/chunks/de-DbayqpK-.js.map +0 -1
  241. package/dist/cdn/chunks/en-CwXyUb6-.js +0 -2
  242. package/dist/cdn/chunks/en-l0ib5X0f.js.map +0 -1
  243. package/dist/cdn/chunks/es-CMQ-5PJP.js.map +0 -1
  244. package/dist/cdn/chunks/fr-DNXmZWAq.js.map +0 -1
  245. package/dist/cdn/chunks/icons-BTdLXRXn.js.map +0 -1
  246. package/dist/cdn/chunks/keys-BJ770Mwm.js +0 -12
  247. package/dist/cdn/chunks/keys-BJ770Mwm.js.map +0 -1
  248. package/dist/cdn/chunks/nl-BylRRHYJ.js.map +0 -1
  249. package/dist/cdn/chunks/pt-BR-BVoJhpie.js.map +0 -1
  250. package/dist/cdn/chunks/src-65H3RNcb.js.map +0 -1
  251. package/dist/cdn/chunks/src-CLTXM4PM.js.map +0 -1
  252. package/dist/cdn/chunks/tiptap-Bqy-H6CT.js.map +0 -1
  253. package/dist/cdn/chunks/useEditorCore-BQeEwEQ9.js.map +0 -1
  254. package/dist/cdn/chunks/useEditorRoot-BFGRBGts.js +0 -10
  255. package/dist/dist-CzMzshfS.js +0 -5
  256. package/dist/dist-DTVuNn8M.js +0 -5
  257. package/dist/keys-BJtoezGU.js +0 -10
@@ -1,39 +1,39 @@
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, W as p, X as m, Y as h, Z as g, at as _, b as v, c as y, ct as b, et as x, f as S, g as C, h as w, it as T, j as E, k as D, l as O, lt as k, m as A, ot as j, p as M, q as N, rt as P, s as F, t as I, u as L, ut as R, w as z, x as B, y as V } from "./draggable-D2vo-aQI.js";
2
- import { A as ee, B as te, C as ne, D as re, E as ie, F as ae, H as oe, I as se, L as H, M as ce, N as le, O as ue, P as de, R as fe, S as pe, T as me, _ as he, a as ge, b as _e, d as ve, et as ye, f as be, g as xe, h as Se, i as U, j as Ce, k as we, l as Te, m as Ee, n as De, nt as Oe, o as ke, p as Ae, r as je, s as Me, t as W, tt as Ne, u as Pe, w as Fe, z as Ie } from "./src-BD60gqPW.js";
3
- import { _ as Le, h as Re, v as ze, y as Be } from "./dist-CgR3inPR.js";
4
- import { a as G, c as Ve, i as He, r as Ue } from "./dist-El3fQnfk.js";
5
- import { A as We, B as Ge, C as Ke, D as qe, E as Je, F as Ye, H as Xe, I as Ze, M as Qe, N as $e, O as et, P as tt, S as nt, T as K, U as q, V as rt, W as it, _ as at, a as ot, b as st, c as ct, d as lt, f as ut, g as dt, h as J, j as ft, k as pt, m as mt, n as ht, o as gt, p as _t, r as vt, s as yt, u as bt, v as xt, w as St, x as Ct, y as wt, z as Tt } from "./keys-BJ770Mwm.js";
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, W as p, X as m, Y as h, Z as g, at as _, b as v, c as y, ct as b, et as x, f as S, g as C, h as w, it as T, j as E, k as D, l as O, lt as k, m as A, ot as j, p as M, q as N, rt as P, s as F, t as I, u as L, ut as R, w as z, x as B, y as V } from "./draggable-kbOhCgnk.js";
2
+ import { A as ee, B as te, C as ne, D as re, E as ie, F as ae, I as oe, L as H, M as se, N as ce, O as le, P as ue, R as de, S as fe, T as pe, U as me, V as he, _ as ge, a as _e, b as ve, d as ye, f as be, g as xe, h as Se, i as U, j as Ce, k as we, l as Te, m as Ee, n as De, nt as Oe, o as ke, p as Ae, r as je, rt as Me, s as Ne, t as W, tt as Pe, u as Fe, w as Ie, z as Le } from "./src-CLoCCDfs.js";
3
+ import { _ as Re, h as ze, v as Be, y as Ve } from "./dist-BW6Y49zE.js";
4
+ import { a as G, c as He, i as Ue, r as We } from "./dist-CAFTQ6Y2.js";
5
+ import { A as Ge, B as Ke, C as qe, D as Je, E as Ye, F as Xe, G as Ze, H as Qe, I as $e, M as et, N as tt, O as nt, P as rt, S as it, T as K, U as at, V as ot, W as q, _ as st, a as ct, b as lt, c as ut, d as dt, f as ft, g as pt, h as J, j as mt, k as ht, m as gt, n as _t, o as vt, p as yt, r as bt, s as xt, u as St, v as Ct, w as wt, x as Tt, y as Et, z as Dt } from "./keys-BOn5i9jV.js";
6
6
  import "./timeouts-DHPZQ0G3.js";
7
- import { t as Y } from "./useI18n-DIhawILp.js";
7
+ import { t as Y } from "./useI18n-BdxNNw6j.js";
8
8
  import { t as X } from "./logger-ByvdoAwq.js";
9
- import { a as Et, i as Dt, o as Ot, r as Z, t as kt } from "./usePopoverPosition-DkiTLnBm.js";
10
- import { A as At, Bt as jt, Et as Mt, H as Nt, Ot as Pt, Tt as Ft, X as It, d as Lt, ft as Rt, ht as zt, it as Bt, o as Vt, s as Ht, tt as Ut, u as Wt, v as Gt, vt as Kt, zt as qt } from "./icons-BTdLXRXn.js";
11
- import { t as Jt } from "./LoadingTrack-Cz1sT0wP.js";
12
- import { t as Yt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
- import { t as Xt } from "./useEditorRoot-BFGRBGts.js";
14
- import "./useCloudI18n-D0AoLV0a.js";
15
- import { t as Q } from "./useMergeTag-lWo7So18.js";
16
- import { t as Zt } from "./useAliveFlag-DrXxPV8V.js";
9
+ import { a as Ot, i as kt, o as At, r as Z, t as jt } from "./usePopoverPosition-Dw1nTSNx.js";
10
+ import { A as Mt, Bt as Nt, Et as Pt, H as Ft, Ot as It, Tt as Lt, X as Rt, d as zt, ft as Bt, ht as Vt, it as Ht, o as Ut, s as Wt, tt as Gt, u as Kt, v as qt, vt as Jt, zt as Yt } from "./icons-SP5Itd-A.js";
11
+ import { t as Xt } from "./LoadingTrack-Cm3TDKb3.js";
12
+ import { t as Zt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { t as Qt } from "./useEditorRoot-BlF1WPeu.js";
14
+ import "./useCloudI18n-DbsLlCbZ.js";
15
+ import { t as $t } from "./useMergeTag-CI2WUNrR.js";
16
+ import { t as en } from "./useAliveFlag-CT9gjvO_.js";
17
17
  //#region ../core/src/error-reporting.ts
18
- function Qt(e) {
18
+ function tn(e) {
19
19
  return e instanceof Error ? e : Error(String(e), { cause: e });
20
20
  }
21
- function $t(e, t) {
21
+ function nn(e, t) {
22
22
  try {
23
23
  t();
24
24
  } catch (t) {
25
- e?.(Qt(t));
25
+ e?.(tn(t));
26
26
  }
27
27
  }
28
28
  //#endregion
29
29
  //#region ../core/src/editor.ts
30
- function en(e) {
30
+ function rn(e) {
31
31
  return e === "1" ? 1 : e === "3" ? 3 : 2;
32
32
  }
33
- function tn(e) {
33
+ function an(e) {
34
34
  let t = m({
35
35
  template: null,
36
- content: e.content ?? fe(e.defaultFontFamily, e.templateDefaults),
36
+ content: e.content ?? de(e.defaultFontFamily, e.templateDefaults),
37
37
  selectedBlockId: null,
38
38
  viewport: "desktop",
39
39
  darkMode: !1,
@@ -128,7 +128,7 @@ function tn(e) {
128
128
  if (l(n)) return;
129
129
  let r = o(t.content.blocks, n);
130
130
  if (r && r.type === "section") {
131
- if (i < 0 || i >= en(r.columns)) return;
131
+ if (i < 0 || i >= rn(r.columns)) return;
132
132
  r.children[i] = r.children[i] || [];
133
133
  let t = r.children[i];
134
134
  a !== void 0 && a < t.length ? t.splice(a, 0, e) : t.push(e);
@@ -161,7 +161,7 @@ function tn(e) {
161
161
  let d;
162
162
  if (i) {
163
163
  let e = o(t.content.blocks, i);
164
- if (!e || e.type !== "section" || a < 0 || a >= en(e.columns)) return;
164
+ if (!e || e.type !== "section" || a < 0 || a >= rn(e.columns)) return;
165
165
  e.children[a] = e.children[a] || [], d = e.children[a];
166
166
  } else d = t.content.blocks;
167
167
  let [f] = s.blocks.splice(u, 1);
@@ -174,7 +174,7 @@ function tn(e) {
174
174
  throw new W(`[Templatical] Templates: ${e} ${t}`);
175
175
  }
176
176
  function D(t) {
177
- $t(e.onError, t);
177
+ nn(e.onError, t);
178
178
  }
179
179
  function O(t) {
180
180
  let { templates: n } = e;
@@ -274,11 +274,11 @@ function tn(e) {
274
274
  }
275
275
  //#endregion
276
276
  //#region ../core/src/history.ts
277
- var nn = 50, rn = 300, an = 1500;
278
- function on(e) {
279
- let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = nn } = e, a = l([]), o = l([]), s = l(!1), c = null, u = null, d = p(() => a.value.length > 0), f = p(() => o.value.length > 0);
277
+ var on = 50, sn = 300, cn = 1500;
278
+ function ln(e) {
279
+ let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = on } = e, a = l([]), o = l([]), s = l(!1), c = null, u = null, d = p(() => a.value.length > 0), f = p(() => o.value.length > 0);
280
280
  function m() {
281
- return _e(t.value);
281
+ return ve(t.value);
282
282
  }
283
283
  function h(e) {
284
284
  a.value.push(e), a.value.length > i && a.value.splice(0, a.value.length - i);
@@ -294,21 +294,21 @@ function on(e) {
294
294
  if (u && u.blockId === e) {
295
295
  clearTimeout(u.timeoutId), u.timeoutId = setTimeout(() => {
296
296
  u = null;
297
- }, rn);
297
+ }, sn);
298
298
  return;
299
299
  }
300
300
  g(), h(m()), o.value = [], u = {
301
301
  blockId: e,
302
302
  timeoutId: setTimeout(() => {
303
303
  u = null;
304
- }, rn)
304
+ }, sn)
305
305
  };
306
306
  }
307
307
  }
308
308
  function y() {
309
309
  s.value = !0, c && clearTimeout(c), c = setTimeout(() => {
310
310
  s.value = !1, c = null;
311
- }, an);
311
+ }, cn);
312
312
  }
313
313
  function b() {
314
314
  if (a.value.length === 0) return;
@@ -342,7 +342,7 @@ function on(e) {
342
342
  }
343
343
  //#endregion
344
344
  //#region ../core/src/block-actions.ts
345
- function sn(e) {
345
+ function un(e) {
346
346
  e.type === "table" ? e.rows = e.rows.map((e) => ({
347
347
  ...e,
348
348
  id: H(),
@@ -358,17 +358,17 @@ function sn(e) {
358
358
  id: H()
359
359
  })));
360
360
  }
361
- function cn(e) {
361
+ function dn(e) {
362
362
  let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
363
363
  function o(n, r, a) {
364
- let o = pe(n, e.blockDefaults);
365
- return t(o, r, a), i(o.id), o;
364
+ let o = typeof e.blockDefaults == "function" ? e.blockDefaults() : e.blockDefaults, s = fe(n, o);
365
+ return t(s, r, a), i(s.id), s;
366
366
  }
367
367
  function s(e, n, r) {
368
368
  let o = JSON.parse(JSON.stringify(e));
369
- if (o.id = H(), sn(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
369
+ if (o.id = H(), un(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
370
370
  let t = JSON.parse(JSON.stringify(e));
371
- return t.id = H(), sn(t), t;
371
+ return t.id = H(), un(t), t;
372
372
  }))), n !== void 0 || r !== void 0) t(o, n, r);
373
373
  else {
374
374
  let i = a?.(e.id) ?? null;
@@ -391,9 +391,9 @@ function cn(e) {
391
391
  }
392
392
  //#endregion
393
393
  //#region ../core/src/auto-save.ts
394
- var ln = 2e3;
395
- function un(e) {
396
- let { content: t, isDirty: n, onChange: r, debounce: i = ln, enabled: a = !0 } = e, o = null, s = !1;
394
+ var fn = 2e3;
395
+ function pn(e) {
396
+ let { content: t, isDirty: n, onChange: r, debounce: i = fn, enabled: a = !0 } = e, o = null, s = !1;
397
397
  function c() {
398
398
  return typeof a == "function" ? a() : a;
399
399
  }
@@ -410,7 +410,7 @@ function un(e) {
410
410
  d(), n() && r(JSON.parse(JSON.stringify(t.value)));
411
411
  }
412
412
  function p() {
413
- !c() || s || (d(), o = setTimeout(() => {
413
+ c() && !s && (d(), o = setTimeout(() => {
414
414
  o = null, c() && !s && n() && r(JSON.parse(JSON.stringify(t.value)));
415
415
  }, i));
416
416
  }
@@ -430,7 +430,7 @@ function un(e) {
430
430
  }
431
431
  //#endregion
432
432
  //#region ../core/src/condition-preview.ts
433
- function dn(e) {
433
+ function mn(e) {
434
434
  let t = m(/* @__PURE__ */ new Set()), n = p(() => t.size > 0);
435
435
  function r(e) {
436
436
  return t.has(e);
@@ -450,7 +450,7 @@ function dn(e) {
450
450
  }
451
451
  //#endregion
452
452
  //#region ../core/src/data-source-fetch.ts
453
- function fn(e) {
453
+ function hn(e) {
454
454
  let t = l(!1), n = l(!1), r = p(() => !!e.definition.value?.dataSource), i = p(() => r.value && !e.block.value.dataSourceFetched);
455
455
  async function a() {
456
456
  let r = e.definition.value;
@@ -482,7 +482,7 @@ function fn(e) {
482
482
  }
483
483
  //#endregion
484
484
  //#region ../core/src/history-interceptor.ts
485
- function pn(e, t) {
485
+ function gn(e, t) {
486
486
  let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
487
487
  e.addBlock = (r, i, a, o) => {
488
488
  i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
@@ -498,7 +498,7 @@ function pn(e, t) {
498
498
  }
499
499
  //#endregion
500
500
  //#region ../core/src/saved-blocks.ts
501
- function mn(e) {
501
+ function _n(e) {
502
502
  let { provider: t } = e, n = l([]), r = l(!1), i = S(() => {
503
503
  let e = /* @__PURE__ */ new Set();
504
504
  for (let t of n.value) {
@@ -517,7 +517,7 @@ function mn(e) {
517
517
  throw new W(`[Templatical] Saved blocks: ${e} is ${t}. Check the capability before calling — the editor's own UI hides the action.`);
518
518
  }
519
519
  function f(t) {
520
- $t(e.onError, t);
520
+ nn(e.onError, t);
521
521
  }
522
522
  async function p(i) {
523
523
  r.value = !0;
@@ -586,9 +586,9 @@ function mn(e) {
586
586
  }
587
587
  //#endregion
588
588
  //#region ../core/src/saved-blocks-local.ts
589
- var hn = "templatical:saved-blocks";
590
- function gn(e = {}) {
591
- let t = e.key ?? hn;
589
+ var vn = "templatical:saved-blocks";
590
+ function yn(e = {}) {
591
+ let t = e.key ?? vn;
592
592
  function n() {
593
593
  if (typeof localStorage > "u") throw Error("[Templatical] createLocalStorageSavedBlocksProvider requires a browser environment with localStorage. Supply your own SavedBlocksProvider for server-side or non-browser use.");
594
594
  return localStorage;
@@ -641,7 +641,7 @@ function gn(e = {}) {
641
641
  }
642
642
  //#endregion
643
643
  //#region ../core/src/version-history.ts
644
- function _n(e) {
644
+ function bn(e) {
645
645
  let { provider: t, getTemplateId: n } = e, r = l([]), i = l(!1), a = l(void 0), o = l(!1), s = /* @__PURE__ */ new Map(), c = S(() => typeof t.create == "function"), u = S(() => typeof t.restore == "function");
646
646
  function d(e) {
647
647
  let t = n();
@@ -652,7 +652,7 @@ function _n(e) {
652
652
  throw new W(`[Templatical] Version history: ${e} is disabled by the provider. Check the capability before calling — the editor's own UI hides the action.`);
653
653
  }
654
654
  function p(t) {
655
- $t(e.onError, t);
655
+ nn(e.onError, t);
656
656
  }
657
657
  async function m(n) {
658
658
  let o = d("list");
@@ -721,7 +721,7 @@ function _n(e) {
721
721
  }
722
722
  //#endregion
723
723
  //#region ../core/src/comments.ts
724
- function vn(e) {
724
+ function xn(e) {
725
725
  let { provider: t, getTemplateId: n, getUser: r } = e, i = l([]), a = l(!1), o = l(!1), s = S(() => typeof t.create == "function"), c = S(() => typeof t.update == "function"), u = S(() => typeof t.delete == "function"), d = S(() => typeof t.setResolved == "function"), f = S(() => i.value.reduce((e, t) => e + 1 + (t.replies?.length ?? 0), 0)), p = S(() => i.value.filter((e) => !e.resolvedAt).length), m = S(() => {
726
726
  let e = /* @__PURE__ */ new Map();
727
727
  for (let t of i.value) t.blockId && e.set(t.blockId, (e.get(t.blockId) ?? 0) + 1 + (t.replies?.length ?? 0));
@@ -752,11 +752,11 @@ function vn(e) {
752
752
  return t !== null && e.author.id === t.id;
753
753
  }
754
754
  function b(t) {
755
- let n = Qt(t);
755
+ let n = tn(t);
756
756
  throw e.onError?.(n), n;
757
757
  }
758
758
  function x(t) {
759
- $t(e.onError, t);
759
+ nn(e.onError, t);
760
760
  }
761
761
  function C(e, t, n) {
762
762
  return [
@@ -896,7 +896,7 @@ function vn(e) {
896
896
  applyRemoteDelete: P
897
897
  };
898
898
  }
899
- function yn(e) {
899
+ function Sn(e) {
900
900
  let { comments: n, provider: r, getTemplateId: i } = e, { subscribe: a } = r;
901
901
  if (typeof a != "function") return;
902
902
  let o = null;
@@ -919,27 +919,27 @@ function yn(e) {
919
919
  }
920
920
  //#endregion
921
921
  //#region src/utils/activeEditorTracker.ts
922
- var bn = /* @__PURE__ */ new Set(), $ = 0, xn = 0;
923
- function Sn() {
924
- let e = ++xn;
925
- return bn.add(e), $ === 0 && ($ = e), {
922
+ var Cn = /* @__PURE__ */ new Set(), Q = 0, wn = 0;
923
+ function Tn() {
924
+ let e = ++wn;
925
+ return Cn.add(e), Q === 0 && (Q = e), {
926
926
  id: e,
927
- isActive: () => bn.size <= 1 || $ === e,
927
+ isActive: () => Cn.size <= 1 || Q === e,
928
928
  claim: () => {
929
- $ = e;
929
+ Q = e;
930
930
  },
931
931
  dispose: () => {
932
- if (bn.delete(e), $ === e) {
933
- let e = Array.from(bn);
934
- $ = e[e.length - 1] ?? 0;
932
+ if (Cn.delete(e), Q === e) {
933
+ let e = Array.from(Cn);
934
+ Q = e[e.length - 1] ?? 0;
935
935
  }
936
936
  }
937
937
  };
938
938
  }
939
939
  //#endregion
940
940
  //#region src/composables/usePreviewResolution.ts
941
- var Cn = 500;
942
- function wn(e) {
941
+ var En = 500;
942
+ function Dn(e) {
943
943
  let n = typeof e.resolvePreview == "function", r = l(null), i = l(!1), a = l(!1), o = 0, s = null;
944
944
  function c() {
945
945
  s !== null && (clearTimeout(s), s = null);
@@ -950,7 +950,7 @@ function wn(e) {
950
950
  let n = ++o;
951
951
  i.value = !0;
952
952
  let s = {
953
- content: _e(e.getContent()),
953
+ content: ve(e.getContent()),
954
954
  ...e.getRecipient?.() === void 0 ? {} : { recipient: e.getRecipient() }
955
955
  };
956
956
  try {
@@ -976,7 +976,7 @@ function wn(e) {
976
976
  }
977
977
  s = setTimeout(() => {
978
978
  s = null, u();
979
- }, Cn);
979
+ }, En);
980
980
  }
981
981
  }
982
982
  return t(() => [e.isActive(), e.getRecipient?.()], ([e]) => {
@@ -998,7 +998,7 @@ function wn(e) {
998
998
  }
999
999
  //#endregion
1000
1000
  //#region src/composables/useImageUrlResolver.ts
1001
- function Tn(e) {
1001
+ function On(e) {
1002
1002
  let t = m(/* @__PURE__ */ new Map()), n = /* @__PURE__ */ new Set();
1003
1003
  function r(e) {
1004
1004
  return t.get(e);
@@ -1031,8 +1031,8 @@ function Tn(e) {
1031
1031
  lookup: a
1032
1032
  };
1033
1033
  }
1034
- function En(e) {
1035
- let r = n(st, null), i = S(e);
1034
+ function kn(e) {
1035
+ let r = n(lt, null), i = S(e);
1036
1036
  if (!r) return i;
1037
1037
  let a;
1038
1038
  function s() {
@@ -1043,7 +1043,7 @@ function En(e) {
1043
1043
  return t(i, (e) => {
1044
1044
  s();
1045
1045
  let t = c;
1046
- if (c = !1, !(!e || r.has(e))) {
1046
+ if (c = !1, e && !r.has(e)) {
1047
1047
  if (t) {
1048
1048
  r.lookup(e);
1049
1049
  return;
@@ -1061,7 +1061,7 @@ function En(e) {
1061
1061
  }
1062
1062
  //#endregion
1063
1063
  //#region src/composables/useMergeTagPicker.ts
1064
- function Dn() {
1064
+ function An() {
1065
1065
  let e = l(!1), t = l([]), n = null;
1066
1066
  function r(r) {
1067
1067
  if (n) {
@@ -1091,7 +1091,7 @@ function Dn() {
1091
1091
  }
1092
1092
  //#endregion
1093
1093
  //#region src/composables/useLogicTagPicker.ts
1094
- function On() {
1094
+ function jn() {
1095
1095
  let e = l(!1), t = l([]), n = l([]), r = null;
1096
1096
  function i(i, a) {
1097
1097
  if (r) {
@@ -1122,17 +1122,17 @@ function On() {
1122
1122
  }
1123
1123
  //#endregion
1124
1124
  //#region src/composables/useTemplateLint.ts
1125
- function kn(e) {
1125
+ function Mn(e) {
1126
1126
  return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
1127
1127
  }
1128
- function An(e) {
1129
- let n = l([]), r = l(!1), i = l(!1), a = x(null), o = kn(e.options), s = null, c = !1;
1128
+ function Nn(e) {
1129
+ let n = l([]), r = l(!1), i = l(!1), a = x(null), o = Mn(e.options), s = null, c = !1;
1130
1130
  o || u();
1131
1131
  async function u() {
1132
1132
  try {
1133
- let t = await import("./src-6J-yyZoD.js");
1133
+ let t = await import("./src-BM3f9I7t.js");
1134
1134
  if (c) return;
1135
- a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Be(e.content, d, {
1135
+ a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Ve(e.content, d, {
1136
1136
  debounce: e.debounce ?? 500,
1137
1137
  deep: !0
1138
1138
  });
@@ -1167,17 +1167,17 @@ function An(e) {
1167
1167
  }
1168
1168
  //#endregion
1169
1169
  //#region src/utils/blockTypeLabels.ts
1170
- function jn(e, t) {
1170
+ function Pn(e, t) {
1171
1171
  return t.blocks[e] ?? e;
1172
1172
  }
1173
- function Mn(e, t, n = []) {
1174
- if (e.type !== "custom") return jn(e.type, t);
1173
+ function Fn(e, t, n = []) {
1174
+ if (e.type !== "custom") return Pn(e.type, t);
1175
1175
  let { customType: r } = e;
1176
1176
  return n.find((e) => e.type === r)?.name ?? r;
1177
1177
  }
1178
1178
  //#endregion
1179
1179
  //#region src/composables/useKeyboardReorder.ts
1180
- function Nn(e, t, n = []) {
1180
+ function In(e, t, n = []) {
1181
1181
  let r = l(null), i = l(""), a = null;
1182
1182
  function o(t) {
1183
1183
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -1204,7 +1204,7 @@ function Nn(e, t, n = []) {
1204
1204
  let i = o(r);
1205
1205
  if (!i) return "";
1206
1206
  let a = (i.sectionId ? c(i.sectionId, i.columnIndex ?? 0) : e.content.value.blocks)?.[i.index];
1207
- return a ? Mn(a, t.t, n) : "";
1207
+ return a ? Fn(a, t.t, n) : "";
1208
1208
  }
1209
1209
  function c(t, n) {
1210
1210
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -1273,13 +1273,13 @@ function Nn(e, t, n = []) {
1273
1273
  }
1274
1274
  //#endregion
1275
1275
  //#region src/composables/useUiTheme.ts
1276
- function Pn(e) {
1277
- let t = Ve("(prefers-color-scheme: dark)");
1276
+ function Ln(e) {
1277
+ let t = He("(prefers-color-scheme: dark)");
1278
1278
  return { resolvedTheme: S(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
1279
1279
  }
1280
1280
  //#endregion
1281
1281
  //#region src/composables/useThemeStyles.ts
1282
- var Fn = {
1282
+ var Rn = {
1283
1283
  bg: "--tpl-bg",
1284
1284
  bgElevated: "--tpl-bg-elevated",
1285
1285
  bgHover: "--tpl-bg-hover",
@@ -1303,10 +1303,10 @@ var Fn = {
1303
1303
  dangerLight: "--tpl-danger-light",
1304
1304
  canvasBg: "--tpl-canvas-bg"
1305
1305
  };
1306
- function In({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1306
+ function zn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1307
1307
  return { themeStyles: S(() => {
1308
1308
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
1309
- if (a) for (let [e, t] of Object.entries(Fn)) {
1309
+ if (a) for (let [e, t] of Object.entries(Rn)) {
1310
1310
  let n = a[e];
1311
1311
  n && (r[t] = n);
1312
1312
  }
@@ -1315,7 +1315,7 @@ function In({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
1315
1315
  }
1316
1316
  //#endregion
1317
1317
  //#region src/composables/useBlockRegistry.ts
1318
- function Ln() {
1318
+ function Bn() {
1319
1319
  let e = x(/* @__PURE__ */ new Map());
1320
1320
  function t(t, n) {
1321
1321
  e.value.set(t, n), T(e);
@@ -1324,7 +1324,7 @@ function Ln() {
1324
1324
  let r = `custom:${t.type}`;
1325
1325
  e.value.set(r, {
1326
1326
  component: n,
1327
- createBlock: () => me(t),
1327
+ createBlock: () => pe(t),
1328
1328
  definition: t
1329
1329
  }), T(e);
1330
1330
  }
@@ -1349,7 +1349,7 @@ function Ln() {
1349
1349
  let t = a(e.customType);
1350
1350
  if (!t) return o("Block definition not found");
1351
1351
  try {
1352
- let { Liquid: n } = await import("./liquid.browser-BPvKXNfO.js");
1352
+ let { Liquid: n } = await import("./liquid.browser-BypTT2oc.js");
1353
1353
  return await new n({
1354
1354
  strictVariables: !1,
1355
1355
  strictFilters: !1
@@ -1373,9 +1373,9 @@ function Ln() {
1373
1373
  }
1374
1374
  //#endregion
1375
1375
  //#region src/composables/useCustomBlockStylesheets.ts
1376
- function Rn(e, t) {
1376
+ function Vn(e, t) {
1377
1377
  return S(() => {
1378
- let n = zn(e.value.blocks);
1378
+ let n = Hn(e.value.blocks);
1379
1379
  if (n.size === 0) return [];
1380
1380
  let r = /* @__PURE__ */ new Set(), i = [];
1381
1381
  for (let e of n) {
@@ -1387,26 +1387,26 @@ function Rn(e, t) {
1387
1387
  return i;
1388
1388
  });
1389
1389
  }
1390
- function zn(e) {
1390
+ function Hn(e) {
1391
1391
  let t = /* @__PURE__ */ new Set();
1392
- return Bn(e, t), t;
1392
+ return Un(e, t), t;
1393
1393
  }
1394
- function Bn(e, t) {
1394
+ function Un(e, t) {
1395
1395
  for (let n of e) {
1396
- if (oe(n)) {
1396
+ if (me(n)) {
1397
1397
  t.add(n.customType);
1398
1398
  continue;
1399
1399
  }
1400
1400
  if (n.type === "section") {
1401
1401
  let e = n.children;
1402
1402
  if (!e) continue;
1403
- for (let n of e) Bn(n, t);
1403
+ for (let n of e) Un(n, t);
1404
1404
  }
1405
1405
  }
1406
1406
  }
1407
1407
  //#endregion
1408
1408
  //#region src/utils/registerBuiltInBlocks.ts
1409
- var Vn = [
1409
+ var Wn = [
1410
1410
  {
1411
1411
  type: "section",
1412
1412
  createBlock: Ce
@@ -1421,7 +1421,7 @@ var Vn = [
1421
1421
  },
1422
1422
  {
1423
1423
  type: "image",
1424
- createBlock: ue
1424
+ createBlock: le
1425
1425
  },
1426
1426
  {
1427
1427
  type: "button",
@@ -1433,11 +1433,11 @@ var Vn = [
1433
1433
  },
1434
1434
  {
1435
1435
  type: "video",
1436
- createBlock: se
1436
+ createBlock: oe
1437
1437
  },
1438
1438
  {
1439
1439
  type: "social",
1440
- createBlock: ce
1440
+ createBlock: se
1441
1441
  },
1442
1442
  {
1443
1443
  type: "menu",
@@ -1445,11 +1445,11 @@ var Vn = [
1445
1445
  },
1446
1446
  {
1447
1447
  type: "table",
1448
- createBlock: de
1448
+ createBlock: ue
1449
1449
  },
1450
1450
  {
1451
1451
  type: "spacer",
1452
- createBlock: le
1452
+ createBlock: ce
1453
1453
  },
1454
1454
  {
1455
1455
  type: "html",
@@ -1457,11 +1457,11 @@ var Vn = [
1457
1457
  },
1458
1458
  {
1459
1459
  type: "countdown",
1460
- createBlock: Fe
1460
+ createBlock: Ie
1461
1461
  }
1462
1462
  ];
1463
- function Hn(e, t) {
1464
- for (let n of Vn) {
1463
+ function Gn(e, t) {
1464
+ for (let n of Wn) {
1465
1465
  let r = t[n.type];
1466
1466
  r && e.registerBuiltIn(n.type, {
1467
1467
  component: r,
@@ -1471,23 +1471,23 @@ function Hn(e, t) {
1471
1471
  }
1472
1472
  //#endregion
1473
1473
  //#region src/utils/resolveHtmlBlockPreview.ts
1474
- function Un(e) {
1474
+ function Kn(e) {
1475
1475
  return typeof e == "boolean" ? e : e?.enabled ?? !1;
1476
1476
  }
1477
1477
  //#endregion
1478
1478
  //#region src/utils/collectOffPaletteDefaults.ts
1479
- function Wn(e) {
1479
+ function qn(e) {
1480
1480
  return typeof e == "object" && !!e && !Array.isArray(e);
1481
1481
  }
1482
- function Gn(e, t, n) {
1482
+ function Jn(e, t, n) {
1483
1483
  let r = new Set(e.map((e) => Z(e))), i = [], a = (e, t) => {
1484
- for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Z(o)) && i.push(`${t}.${n}: ${o}`) : Wn(o) && a(o, `${t}.${n}`);
1484
+ for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Z(o)) && i.push(`${t}.${n}: ${o}`) : qn(o) && a(o, `${t}.${n}`);
1485
1485
  }, o = t;
1486
- for (let [e, t] of Object.entries(Ie)) {
1486
+ for (let [e, t] of Object.entries(Le)) {
1487
1487
  let n = o?.[e];
1488
1488
  a({
1489
1489
  ...t,
1490
- ...Wn(n) ? n : {}
1490
+ ...qn(n) ? n : {}
1491
1491
  }, e);
1492
1492
  }
1493
1493
  return a({
@@ -1496,9 +1496,153 @@ function Gn(e, t, n) {
1496
1496
  }, "template"), i;
1497
1497
  }
1498
1498
  //#endregion
1499
+ //#region src/utils/localizedBlockDefaults.ts
1500
+ function Yn(e) {
1501
+ return {
1502
+ title: { content: `<p>${e.blockDefaults.title}</p>` },
1503
+ paragraph: { content: `<p>${e.blockDefaults.paragraph}</p>` },
1504
+ button: { text: e.blockDefaults.button }
1505
+ };
1506
+ }
1507
+ //#endregion
1508
+ //#region src/i18n/index.ts
1509
+ var Xn = /* #__PURE__ */ Object.assign({
1510
+ "./locales/ca.ts": () => import("./ca-C0hfqt4U.js"),
1511
+ "./locales/de.ts": () => import("./de-C6J2Iae8.js"),
1512
+ "./locales/en.ts": () => import("./en-BaUYOQi8.js"),
1513
+ "./locales/es.ts": () => import("./es-CKDYfJYn.js"),
1514
+ "./locales/fr.ts": () => import("./fr-L8DR73mK.js"),
1515
+ "./locales/nl.ts": () => import("./nl-GDWeuX18.js"),
1516
+ "./locales/pt-BR.ts": () => import("./pt-BR-B1AVVhWj.js")
1517
+ }), Zn = /* #__PURE__ */ Object.assign({
1518
+ "./locales/cloud/de.ts": () => import("./de-BytZwgn6.js"),
1519
+ "./locales/cloud/en.ts": () => import("./en-DyOSV0lY.js"),
1520
+ "./locales/cloud/pt-BR.ts": () => import("./pt-BR-C1WLSGDh.js")
1521
+ });
1522
+ function Qn(e) {
1523
+ return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
1524
+ }
1525
+ var $n = Qn(Xn), er = Qn(Zn);
1526
+ function tr(e) {
1527
+ return e.trim().replace(/_/g, "-").toLowerCase();
1528
+ }
1529
+ function nr(e, t) {
1530
+ let n = tr(e);
1531
+ return t.find((e) => tr(e) === n);
1532
+ }
1533
+ function rr(e) {
1534
+ return tr(e).split("-")[0];
1535
+ }
1536
+ function ir(e, t) {
1537
+ return nr(e, t) ?? nr(rr(e), t);
1538
+ }
1539
+ function ar(e, t) {
1540
+ return ir(e, t) ?? "en";
1541
+ }
1542
+ async function or(e) {
1543
+ let t = Xn[`./locales/${ar(e, $n)}.ts`];
1544
+ return (await t()).default;
1545
+ }
1546
+ async function sr(e) {
1547
+ let t = Zn[`./locales/cloud/${ar(e, er)}.ts`];
1548
+ return (await t()).default;
1549
+ }
1550
+ function cr(e) {
1551
+ return ir(e, $n) !== void 0;
1552
+ }
1553
+ function lr(e) {
1554
+ return ir(e, er) !== void 0;
1555
+ }
1556
+ function ur() {
1557
+ return [...$n];
1558
+ }
1559
+ function dr() {
1560
+ return [...er];
1561
+ }
1562
+ //#endregion
1563
+ //#region src/i18n/contentDefaults.ts
1564
+ var $ = {
1565
+ en: {
1566
+ video: "Video",
1567
+ days: "Days",
1568
+ hours: "Hours",
1569
+ minutes: "Minutes",
1570
+ seconds: "Seconds",
1571
+ expired: "This offer has expired"
1572
+ },
1573
+ de: {
1574
+ video: "Video",
1575
+ days: "Tage",
1576
+ hours: "Stunden",
1577
+ minutes: "Minuten",
1578
+ seconds: "Sekunden",
1579
+ expired: "Dieses Angebot ist abgelaufen"
1580
+ },
1581
+ es: {
1582
+ video: "Vídeo",
1583
+ days: "Días",
1584
+ hours: "Horas",
1585
+ minutes: "Minutos",
1586
+ seconds: "Segundos",
1587
+ expired: "Esta oferta ha expirado"
1588
+ },
1589
+ fr: {
1590
+ video: "Vidéo",
1591
+ days: "Jours",
1592
+ hours: "Heures",
1593
+ minutes: "Minutes",
1594
+ seconds: "Secondes",
1595
+ expired: "Cette offre a expiré"
1596
+ },
1597
+ nl: {
1598
+ video: "Video",
1599
+ days: "Dagen",
1600
+ hours: "Uren",
1601
+ minutes: "Minuten",
1602
+ seconds: "Seconden",
1603
+ expired: "Deze aanbieding is verlopen"
1604
+ },
1605
+ "pt-BR": {
1606
+ video: "Vídeo",
1607
+ days: "Dias",
1608
+ hours: "Horas",
1609
+ minutes: "Minutos",
1610
+ seconds: "Segundos",
1611
+ expired: "Esta oferta expirou"
1612
+ },
1613
+ ca: {
1614
+ video: "Vídeo",
1615
+ days: "Dies",
1616
+ hours: "Hores",
1617
+ minutes: "Minuts",
1618
+ seconds: "Segons",
1619
+ expired: "Aquesta oferta ha caducat"
1620
+ }
1621
+ }, fr = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
1622
+ function pr(e) {
1623
+ if (!e) return $.en;
1624
+ let t = e.trim().replace(/_/g, "-").toLowerCase(), n = fr.get(t);
1625
+ if (n) return $[n];
1626
+ let r = fr.get(rr(t));
1627
+ return r ? $[r] : $.en;
1628
+ }
1629
+ function mr(e) {
1630
+ let t = pr(e);
1631
+ return {
1632
+ video: { alt: t.video },
1633
+ countdown: {
1634
+ labelDays: t.days,
1635
+ labelHours: t.hours,
1636
+ labelMinutes: t.minutes,
1637
+ labelSeconds: t.seconds,
1638
+ expiredMessage: t.expired
1639
+ }
1640
+ };
1641
+ }
1642
+ //#endregion
1499
1643
  //#region src/utils/resolveFieldColors.ts
1500
- function Kn(e, t) {
1501
- let n = Ot({ presets: e.presets }, Et), r = n.presets.length === 0;
1644
+ function hr(e, t) {
1645
+ let n = At({ presets: e.presets }, Ot), r = n.presets.length === 0;
1502
1646
  return {
1503
1647
  presets: r ? t.presets : n.presets,
1504
1648
  allowCustom: t.allowCustom === !1 ? !1 : e.allowCustom ?? t.allowCustom,
@@ -1510,9 +1654,9 @@ function Kn(e, t) {
1510
1654
  }
1511
1655
  //#endregion
1512
1656
  //#region src/utils/collectColorFieldIssues.ts
1513
- function qn(e, t) {
1657
+ function gr(e, t) {
1514
1658
  let n = [], r = (r, i) => {
1515
- let a = Kn(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
1659
+ let a = hr(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
1516
1660
  if (a.invalidPresets.length > 0 && n.push({
1517
1661
  id: s("invalid-presets"),
1518
1662
  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." : "")
@@ -1536,7 +1680,7 @@ function qn(e, t) {
1536
1680
  }
1537
1681
  //#endregion
1538
1682
  //#region src/utils/keyboardShortcuts.ts
1539
- function Jn(e) {
1683
+ function _r(e) {
1540
1684
  for (let t of e.composedPath()) {
1541
1685
  if (!(t instanceof HTMLElement)) continue;
1542
1686
  if (t.isContentEditable) return !0;
@@ -1545,18 +1689,18 @@ function Jn(e) {
1545
1689
  }
1546
1690
  return !1;
1547
1691
  }
1548
- function Yn(e, t) {
1692
+ function vr(e, t) {
1549
1693
  let n = e.metaKey || e.ctrlKey;
1550
1694
  if (n && e.key.toLowerCase() === "s") {
1551
1695
  e.preventDefault(), t.onSave?.();
1552
1696
  return;
1553
1697
  }
1554
1698
  if (n && e.key.toLowerCase() === "z") {
1555
- if (Jn(e)) return;
1699
+ if (_r(e)) return;
1556
1700
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
1557
1701
  return;
1558
1702
  }
1559
- if (t.isPicking?.() && !Jn(e)) {
1703
+ if (t.isPicking?.() && !_r(e)) {
1560
1704
  if (e.key === "Escape") {
1561
1705
  e.preventDefault(), t.onCancelPick?.();
1562
1706
  return;
@@ -1574,11 +1718,11 @@ function Yn(e, t) {
1574
1718
  t.selectBlock(null);
1575
1719
  return;
1576
1720
  }
1577
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Jn(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1721
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !_r(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1578
1722
  }
1579
1723
  //#endregion
1580
1724
  //#region src/utils/mergeTagLabelSegments.ts
1581
- function Xn(e, t, n, r = !1) {
1725
+ function yr(e, t, n, r = !1) {
1582
1726
  if (!e) return [];
1583
1727
  let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
1584
1728
  for (; (s = i.exec(e)) !== null;) {
@@ -1588,7 +1732,7 @@ function Xn(e, t, n, r = !1) {
1588
1732
  });
1589
1733
  let i = s[0];
1590
1734
  if (be(i, n)) {
1591
- let e = r ? Me(i, t) : void 0;
1735
+ let e = r ? Ne(i, t) : void 0;
1592
1736
  a.push(e === void 0 ? {
1593
1737
  type: "tag",
1594
1738
  value: ke(i, t)
@@ -1596,9 +1740,9 @@ function Xn(e, t, n, r = !1) {
1596
1740
  type: "text",
1597
1741
  value: e
1598
1742
  });
1599
- } else ve(i, n) ? a.push({
1743
+ } else ye(i, n) ? a.push({
1600
1744
  type: "tag",
1601
- value: ge(i, n)
1745
+ value: _e(i, n)
1602
1746
  }) : a.push({
1603
1747
  type: "text",
1604
1748
  value: i
@@ -1612,20 +1756,20 @@ function Xn(e, t, n, r = !1) {
1612
1756
  }
1613
1757
  //#endregion
1614
1758
  //#region src/components/MergeTagPreviewText.vue
1615
- var Zn = d({
1759
+ var br = d({
1616
1760
  name: "MergeTagPreviewText",
1617
1761
  props: { text: {
1618
1762
  type: String,
1619
1763
  required: !0
1620
1764
  } },
1621
1765
  setup(e) {
1622
- let t = n(K, []), r = n(pt, je.liquid), i = n(q, null), a = S(() => Xn(e.text, t, r, i?.value ?? !1));
1766
+ let t = n(K, []), r = n(ht, je.liquid), i = n(q, null), a = S(() => yr(e.text, t, r, i?.value ?? !1));
1623
1767
  return () => a.value.map((e, t) => e.type === "tag" ? z("span", {
1624
1768
  key: t,
1625
1769
  class: "tpl-merge-tag-label"
1626
1770
  }, e.value) : e.value);
1627
1771
  }
1628
- }), Qn = ["href"], $n = /* @__PURE__ */ d({
1772
+ }), xr = ["href"], Sr = /* @__PURE__ */ d({
1629
1773
  __name: "ButtonBlock",
1630
1774
  props: {
1631
1775
  block: {},
@@ -1651,13 +1795,13 @@ var Zn = d({
1651
1795
  style: k(n.value),
1652
1796
  class: "tpl:cursor-default",
1653
1797
  onClick: i[0] ||= O(() => {}, ["prevent"])
1654
- }, [v(Zn, { text: e.block.text }, null, 8, ["text"])], 12, Qn)], 4));
1798
+ }, [v(br, { text: e.block.text }, null, 8, ["text"])], 12, xr)], 4));
1655
1799
  }
1656
- }), er = ["innerHTML"], tr = [
1800
+ }), Cr = ["innerHTML"], wr = [
1657
1801
  "src",
1658
1802
  "width",
1659
1803
  "height"
1660
- ], nr = /* @__PURE__ */ d({
1804
+ ], Tr = /* @__PURE__ */ d({
1661
1805
  __name: "CustomBlockIcon",
1662
1806
  props: {
1663
1807
  icon: {},
@@ -1673,24 +1817,24 @@ var Zn = d({
1673
1817
  height: `${n.value}px`
1674
1818
  }),
1675
1819
  innerHTML: e.icon
1676
- }, null, 12, er)) : i.value ? (s(), C("img", {
1820
+ }, null, 12, Cr)) : i.value ? (s(), C("img", {
1677
1821
  key: 1,
1678
1822
  src: e.icon,
1679
1823
  width: n.value,
1680
1824
  height: n.value,
1681
1825
  class: "tpl:inline-block",
1682
1826
  alt: ""
1683
- }, null, 8, tr)) : (s(), A(_(qt), {
1827
+ }, null, 8, wr)) : (s(), A(_(Yt), {
1684
1828
  key: 2,
1685
1829
  size: n.value,
1686
1830
  "stroke-width": 1.5
1687
1831
  }, null, 8, ["size"]));
1688
1832
  }
1689
- }), rr = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1690
- function ir(e, n) {
1691
- let r = Xt(), i = null, a = null, o = null;
1833
+ }), Er = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1834
+ function Dr(e, n) {
1835
+ let r = Qt(), i = null, a = null, o = null;
1692
1836
  function s() {
1693
- return e.value ? Array.from(e.value.querySelectorAll(rr)).filter((e) => e.offsetParent !== null) : [];
1837
+ return e.value ? Array.from(e.value.querySelectorAll(Er)).filter((e) => e.offsetParent !== null) : [];
1694
1838
  }
1695
1839
  function c(e) {
1696
1840
  if (e.key !== "Tab") return;
@@ -1720,8 +1864,8 @@ function ir(e, n) {
1720
1864
  }
1721
1865
  //#endregion
1722
1866
  //#region src/composables/useEmoji.ts
1723
- function ar() {
1724
- let [e, n] = ze(!1), r = x([]), i = !1;
1867
+ function Or() {
1868
+ let [e, n] = Be(!1), r = x([]), i = !1;
1725
1869
  h(() => {
1726
1870
  i = !0;
1727
1871
  }), t(e, async (e) => {
@@ -1746,7 +1890,7 @@ function ar() {
1746
1890
  }
1747
1891
  //#endregion
1748
1892
  //#region src/composables/useFonts.ts
1749
- var or = [
1893
+ var kr = [
1750
1894
  {
1751
1895
  value: "Arial",
1752
1896
  label: "Arial"
@@ -1775,7 +1919,7 @@ var or = [
1775
1919
  value: "Courier New",
1776
1920
  label: "Courier New"
1777
1921
  }
1778
- ], sr = {
1922
+ ], Ar = {
1779
1923
  arial: "Arial, sans-serif",
1780
1924
  helvetica: "Helvetica, sans-serif",
1781
1925
  georgia: "Georgia, serif",
@@ -1783,23 +1927,23 @@ var or = [
1783
1927
  verdana: "Verdana, sans-serif",
1784
1928
  "trebuchet ms": "'Trebuchet MS', sans-serif",
1785
1929
  "courier new": "'Courier New', monospace"
1786
- }, cr = "Arial, sans-serif";
1787
- function lr(e) {
1788
- if (e === void 0 || e === !0) return [...or];
1930
+ }, jr = "Arial, sans-serif";
1931
+ function Mr(e) {
1932
+ if (e === void 0 || e === !0) return [...kr];
1789
1933
  if (e === !1) return [];
1790
1934
  let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
1791
1935
  for (let i of e) {
1792
- let e = i.toLowerCase(), a = or.find((t) => t.value.toLowerCase() === e);
1936
+ let e = i.toLowerCase(), a = kr.find((t) => t.value.toLowerCase() === e);
1793
1937
  if (!a) {
1794
- r.has(e) || (r.add(e), X.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${or.map((e) => e.value).join(", ")}.`));
1938
+ r.has(e) || (r.add(e), X.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${kr.map((e) => e.value).join(", ")}.`));
1795
1939
  continue;
1796
1940
  }
1797
1941
  n.has(a.value) || (n.add(a.value), t.push(a));
1798
1942
  }
1799
1943
  return t;
1800
1944
  }
1801
- function ur(e) {
1802
- let t = l(e?.customFonts ?? []), n = l(!1), r = lr(e?.builtIns), i = S(() => e?.defaultFallback ?? cr), a = S(() => {
1945
+ function Nr(e) {
1946
+ let t = l(e?.customFonts ?? []), n = l(!1), r = Mr(e?.builtIns), i = S(() => e?.defaultFallback ?? jr), a = S(() => {
1803
1947
  let e = [...r], n = t.value.map((e) => ({
1804
1948
  value: e.name,
1805
1949
  label: e.name,
@@ -1810,20 +1954,20 @@ function ur(e) {
1810
1954
  function s(e) {
1811
1955
  return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1812
1956
  }
1813
- let c = e?.defaultFont ?? cr.split(",")[0].trim();
1957
+ let c = e?.defaultFont ?? jr.split(",")[0].trim();
1814
1958
  s(c) || X.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.`);
1815
1959
  function u() {
1816
1960
  if (e?.defaultFont && s(e.defaultFont)) {
1817
1961
  let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1818
1962
  if (t) return t.value;
1819
1963
  }
1820
- return cr;
1964
+ return jr;
1821
1965
  }
1822
1966
  let d = S(() => u());
1823
1967
  function f(e) {
1824
1968
  if (!e) return i.value;
1825
1969
  let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
1826
- return n ? `'${n.name}', ${n.fallback ?? i.value}` : sr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1970
+ return n ? `'${n.name}', ${n.fallback ?? i.value}` : Ar[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1827
1971
  }
1828
1972
  let p = [], m = !1;
1829
1973
  async function g() {
@@ -1864,8 +2008,8 @@ function ur(e) {
1864
2008
  }
1865
2009
  //#endregion
1866
2010
  //#region src/composables/useLogicTag.ts
1867
- function dr() {
1868
- let e = n(Ke, []), t = n(nt, []), r = n(pt, je.liquid), i = n(We, null), a = n(St, null), o = l(!1), s = !!i || e.length > 0 || t.length > 0, c = e.length > 0 || t.length > 0;
2011
+ function Pr() {
2012
+ let e = n(qe, []), t = n(it, []), r = n(ht, je.liquid), i = n(Ge, null), a = n(wt, null), o = l(!1), s = !!i || e.length > 0 || t.length > 0, c = e.length > 0 || t.length > 0;
1869
2013
  async function u() {
1870
2014
  if (i) {
1871
2015
  o.value = !0;
@@ -1896,12 +2040,12 @@ function dr() {
1896
2040
  }
1897
2041
  //#endregion
1898
2042
  //#region src/utils/mergeTagNodeSpec.ts
1899
- function fr(e, t, n) {
1900
- return ve(e, n) ? {
2043
+ function Fr(e, t, n) {
2044
+ return ye(e, n) ? {
1901
2045
  type: "logicMergeTagNode",
1902
2046
  attrs: {
1903
2047
  value: e,
1904
- keyword: ge(e, n)
2048
+ keyword: _e(e, n)
1905
2049
  }
1906
2050
  } : {
1907
2051
  type: "mergeTagNode",
@@ -1913,15 +2057,15 @@ function fr(e, t, n) {
1913
2057
  }
1914
2058
  //#endregion
1915
2059
  //#region src/utils/insertLogicTag.ts
1916
- function pr(e) {
2060
+ function Ir(e) {
1917
2061
  return "before" in e && "after" in e;
1918
2062
  }
1919
- function mr(e, t, n) {
1920
- if (!pr(t)) {
1921
- e.chain().focus().insertContent(fr(t.value, t.label, n)).run();
2063
+ function Lr(e, t, n) {
2064
+ if (!Ir(t)) {
2065
+ e.chain().focus().insertContent(Fr(t.value, t.label, n)).run();
1922
2066
  return;
1923
2067
  }
1924
- let r = fr(t.before, t.label, n), i = fr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
2068
+ let r = Fr(t.before, t.label, n), i = Fr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1925
2069
  if (a !== o) {
1926
2070
  e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
1927
2071
  return;
@@ -1930,20 +2074,20 @@ function mr(e, t, n) {
1930
2074
  }
1931
2075
  //#endregion
1932
2076
  //#region src/utils/linkColorExtension.ts
1933
- function hr(e) {
2077
+ function Rr(e) {
1934
2078
  if (!e) return null;
1935
2079
  let t = e.trim();
1936
2080
  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;
1937
2081
  }
1938
- function gr(e) {
2082
+ function zr(e) {
1939
2083
  return e.extend({ addAttributes() {
1940
2084
  return {
1941
2085
  ...this.parent?.(),
1942
2086
  color: {
1943
2087
  default: null,
1944
- parseHTML: (e) => hr(Dt(e.style.color)),
2088
+ parseHTML: (e) => Rr(kt(e.style.color)),
1945
2089
  renderHTML: (e) => {
1946
- let t = hr(e.color);
2090
+ let t = Rr(e.color);
1947
2091
  return t ? { style: `color: ${t}` } : {};
1948
2092
  }
1949
2093
  }
@@ -1952,9 +2096,9 @@ function gr(e) {
1952
2096
  }
1953
2097
  //#endregion
1954
2098
  //#region src/composables/useRichTextLinkDialog.ts
1955
- function _r(e) {
2099
+ function Br(e) {
1956
2100
  let t = l(!1), n = l(""), r = l(""), i = l(null);
1957
- ir(i, t);
2101
+ Dr(i, t);
1958
2102
  function a() {
1959
2103
  let i = e.value?.getAttributes("link") ?? {};
1960
2104
  n.value = i.href || "", r.value = i.color || "", t.value = !0;
@@ -1963,7 +2107,7 @@ function _r(e) {
1963
2107
  if (n.value) {
1964
2108
  let t = c(n.value);
1965
2109
  if (t !== null) {
1966
- let n = hr(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
2110
+ let n = Rr(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1967
2111
  n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
1968
2112
  }
1969
2113
  }
@@ -2010,8 +2154,8 @@ function _r(e) {
2010
2154
  }
2011
2155
  //#endregion
2012
2156
  //#region src/composables/useRichTextEditor.ts
2013
- function vr(r) {
2014
- let i = n(J, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = Q(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = dr(), h = n(rt, null), g = (N(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = Te(u), v = x(null), { showLinkDialog: y, linkUrl: b, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = _r(v), { start: k, stop: A } = Le(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), j = x(null), M = l(!0), P = l(null), F = !1;
2157
+ function Vr(r) {
2158
+ let i = n(J, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = $t(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = Pr(), h = n(ot, null), g = (N(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = Te(u), v = x(null), { showLinkDialog: y, linkUrl: b, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = Br(v), { start: k, stop: A } = Re(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), j = x(null), M = l(!0), P = l(null), F = !1;
2015
2159
  async function I() {
2016
2160
  P.value = null, M.value = !0;
2017
2161
  try {
@@ -2071,7 +2215,7 @@ function vr(r) {
2071
2215
  }
2072
2216
  async function V() {
2073
2217
  let e = await m();
2074
- F || (e && v.value ? mr(v.value, e, u) : v.value?.commands.focus());
2218
+ F || (e && v.value ? Lr(v.value, e, u) : v.value?.commands.focus());
2075
2219
  }
2076
2220
  return {
2077
2221
  editor: v,
@@ -2100,9 +2244,9 @@ function vr(r) {
2100
2244
  }
2101
2245
  //#endregion
2102
2246
  //#region src/composables/useSmallScreenNotice.ts
2103
- var yr = "(max-width: 767px)";
2104
- function br(e) {
2105
- let t = Ve(yr);
2247
+ var Hr = "(max-width: 767px)";
2248
+ function Ur(e) {
2249
+ let t = He(Hr);
2106
2250
  return {
2107
2251
  isSmallScreen: t,
2108
2252
  showNotice: S(() => (P(e) ?? !0) && t.value)
@@ -2110,20 +2254,20 @@ function br(e) {
2110
2254
  }
2111
2255
  //#endregion
2112
2256
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
2113
- var xr = { class: "tpl:w-full" }, Sr = {
2257
+ var Wr = { class: "tpl:w-full" }, Gr = {
2114
2258
  key: 0,
2115
2259
  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)]"
2116
- }, Cr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wr = {
2260
+ }, Kr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, qr = {
2117
2261
  key: 1,
2118
2262
  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)]"
2119
- }, Tr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Er = {
2263
+ }, Jr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Yr = {
2120
2264
  key: 2,
2121
2265
  class: "tpl:relative"
2122
- }, Dr = ["innerHTML"], Or = {
2266
+ }, Xr = ["innerHTML"], Zr = {
2123
2267
  key: 0,
2124
2268
  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]",
2125
2269
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
2126
- }, kr = /* @__PURE__ */ d({
2270
+ }, Qr = /* @__PURE__ */ d({
2127
2271
  __name: "CustomBlock",
2128
2272
  props: {
2129
2273
  block: {},
@@ -2131,7 +2275,7 @@ var xr = { class: "tpl:w-full" }, Sr = {
2131
2275
  },
2132
2276
  emits: ["fetchData"],
2133
2277
  setup(e, { emit: r }) {
2134
- let i = e, a = r, { t: o } = Y(), c = n(yt, null), u = l(""), d = l(!1), f = S(() => c?.getDefinition(i.block.customType)), p = S(() => !!f.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: y } = fn({
2278
+ let i = e, a = r, { t: o } = Y(), c = n(xt, null), u = l(""), d = l(!1), f = S(() => c?.getDefinition(i.block.customType)), p = S(() => !!f.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: y } = hn({
2135
2279
  definition: f,
2136
2280
  block: S(() => i.block),
2137
2281
  onUpdate: (e, t) => {
@@ -2143,7 +2287,7 @@ var xr = { class: "tpl:w-full" }, Sr = {
2143
2287
  }), b = n(K, []), x = n(q, null), T = S(() => {
2144
2288
  if (!x?.value) return i.block;
2145
2289
  let e = {};
2146
- for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? he(n, b) : n;
2290
+ for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? ge(n, b) : n;
2147
2291
  return {
2148
2292
  ...i.block,
2149
2293
  fieldValues: e
@@ -2160,17 +2304,17 @@ var xr = { class: "tpl:w-full" }, Sr = {
2160
2304
  }
2161
2305
  }
2162
2306
  }
2163
- let k = Re(D, 150);
2307
+ let k = ze(D, 150);
2164
2308
  return E(() => {
2165
2309
  D();
2166
2310
  }), t(() => i.block.fieldValues, () => {
2167
2311
  k();
2168
2312
  }, { deep: !0 }), t(() => x?.value, () => {
2169
2313
  k();
2170
- }), (e, t) => (s(), C("div", xr, [p.value ? d.value ? (s(), C("div", wr, [v(_(Wt), {
2314
+ }), (e, t) => (s(), C("div", Wr, [p.value ? d.value ? (s(), C("div", qr, [v(_(Kt), {
2171
2315
  size: 24,
2172
2316
  class: "tpl:text-[var(--tpl-danger)]"
2173
- }), M("span", Tr, R(_(o).customBlocks.renderError), 1)])) : (s(), C("div", Er, [M("div", { innerHTML: u.value }, null, 8, Dr), _(y) && _(g) ? (s(), C("div", Or, [_(m) ? (s(), A(Jt, {
2317
+ }), M("span", Jr, R(_(o).customBlocks.renderError), 1)])) : (s(), C("div", Yr, [M("div", { innerHTML: u.value }, null, 8, Xr), _(y) && _(g) ? (s(), C("div", Zr, [_(m) ? (s(), A(Xt, {
2174
2318
  key: 1,
2175
2319
  class: "tpl:w-48"
2176
2320
  })) : (s(), C("button", {
@@ -2178,16 +2322,16 @@ var xr = { class: "tpl:w-full" }, Sr = {
2178
2322
  type: "button",
2179
2323
  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)]",
2180
2324
  onClick: t[0] ||= O((...e) => _(h) && _(h)(...e), ["stop"])
2181
- }, [f.value?.icon ? (s(), A(nr, {
2325
+ }, [f.value?.icon ? (s(), A(Tr, {
2182
2326
  key: 0,
2183
2327
  icon: f.value.icon,
2184
2328
  size: 16
2185
- }, null, 8, ["icon"])) : w("", !0), V(" " + R(f.value?.dataSource?.label || _(o).customBlocks.dataSource.fetchButton), 1)]))])) : w("", !0)])) : (s(), C("div", Sr, [v(_(Nt), {
2329
+ }, null, 8, ["icon"])) : w("", !0), V(" " + R(f.value?.dataSource?.label || _(o).customBlocks.dataSource.fetchButton), 1)]))])) : w("", !0)])) : (s(), C("div", Gr, [v(_(Ft), {
2186
2330
  size: 24,
2187
2331
  class: "tpl:text-[var(--tpl-warning)]"
2188
- }), M("span", Cr, R(_(o).customBlocks.definitionNotFound), 1)]))]));
2332
+ }), M("span", Kr, R(_(o).customBlocks.definitionNotFound), 1)]))]));
2189
2333
  }
2190
- }), Ar = { class: "tpl:w-full" }, jr = /* @__PURE__ */ d({
2334
+ }), $r = { class: "tpl:w-full" }, ei = /* @__PURE__ */ d({
2191
2335
  __name: "DividerBlock",
2192
2336
  props: {
2193
2337
  block: {},
@@ -2199,28 +2343,28 @@ var xr = { class: "tpl:w-full" }, Sr = {
2199
2343
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
2200
2344
  margin: t.block.width === "full" ? "0" : "0 auto"
2201
2345
  }));
2202
- return (e, t) => (s(), C("div", Ar, [M("hr", {
2346
+ return (e, t) => (s(), C("div", $r, [M("hr", {
2203
2347
  class: "tpl:m-0 tpl:border-none",
2204
2348
  style: k(n.value)
2205
2349
  }, null, 4)]));
2206
2350
  }
2207
- }), Mr = { class: "tpl:w-full" }, Nr = ["srcdoc", "title"], Pr = {
2351
+ }), ti = { class: "tpl:w-full" }, ni = ["srcdoc", "title"], ri = {
2208
2352
  key: 1,
2209
2353
  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)]"
2210
- }, Fr = {
2354
+ }, ii = {
2211
2355
  key: 0,
2212
2356
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
2213
- }, Ir = {
2357
+ }, ai = {
2214
2358
  key: 1,
2215
2359
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
2216
- }, Lr = /* @__PURE__ */ d({
2360
+ }, oi = /* @__PURE__ */ d({
2217
2361
  __name: "HtmlBlock",
2218
2362
  props: {
2219
2363
  block: {},
2220
2364
  viewport: {}
2221
2365
  },
2222
2366
  setup(r) {
2223
- let i = r, { t: a } = Y(), o = n(wt, !1), c = S(() => i.block.content.trim().length > 0), u = S(() => o && c.value), d = n(K, []), f = n(q, null), p = S(() => f?.value ? he(i.block.content, d) : i.block.content), m = l(null), h = l(60), g = null;
2367
+ let i = r, { t: a } = Y(), o = n(Et, !1), c = S(() => i.block.content.trim().length > 0), u = S(() => o && c.value), d = n(K, []), f = n(q, null), p = S(() => f?.value ? ge(i.block.content, d) : i.block.content), m = l(null), h = l(60), g = null;
2224
2368
  function y() {
2225
2369
  let e = m.value?.contentDocument;
2226
2370
  e && (h.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
@@ -2234,7 +2378,7 @@ var xr = { class: "tpl:w-full" }, Sr = {
2234
2378
  e || (g?.disconnect(), g = null);
2235
2379
  }), e(() => {
2236
2380
  g?.disconnect(), g = null;
2237
- }), (e, t) => (s(), C("div", Mr, [u.value ? (s(), C("iframe", {
2381
+ }), (e, t) => (s(), C("div", ti, [u.value ? (s(), C("iframe", {
2238
2382
  key: 0,
2239
2383
  ref_key: "iframeRef",
2240
2384
  ref: m,
@@ -2244,18 +2388,18 @@ var xr = { class: "tpl:w-full" }, Sr = {
2244
2388
  class: "tpl:block tpl:w-full tpl:border-0",
2245
2389
  style: k({ height: `${h.value}px` }),
2246
2390
  onLoad: b
2247
- }, null, 44, Nr)) : (s(), C("div", Pr, [v(_(Pt), {
2391
+ }, null, 44, ni)) : (s(), C("div", ri, [v(_(It), {
2248
2392
  size: 24,
2249
2393
  class: "tpl:text-[var(--tpl-text-dim)]"
2250
- }), c.value ? (s(), C("span", Fr, R(_(a).html.preview), 1)) : (s(), C("span", Ir, R(_(a).html.empty), 1))]))]));
2394
+ }), c.value ? (s(), C("span", ii, R(_(a).html.preview), 1)) : (s(), C("span", ai, R(_(a).html.empty), 1))]))]));
2251
2395
  }
2252
- }), Rr = "image/";
2253
- function zr(e) {
2254
- let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } = Ue(t, {
2396
+ }), si = "image/";
2397
+ function ci(e) {
2398
+ let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } = We(t, {
2255
2399
  preventDefaultForUnhandled: !0,
2256
2400
  onDrop: (e) => {
2257
2401
  if (!i()) return;
2258
- let t = (e ?? []).filter((e) => e.type.startsWith(Rr));
2402
+ let t = (e ?? []).filter((e) => e.type.startsWith(si));
2259
2403
  t.length > 0 && n([t[0]]);
2260
2404
  }
2261
2405
  });
@@ -2263,17 +2407,17 @@ function zr(e) {
2263
2407
  }
2264
2408
  //#endregion
2265
2409
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
2266
- var Br = {
2410
+ var li = {
2267
2411
  key: 0,
2268
2412
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-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)]",
2269
2413
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
2270
- }, Vr = ["href"], Hr = ["src", "alt"], Ur = ["src", "alt"], Wr = {
2414
+ }, ui = ["href"], di = ["src", "alt"], fi = ["src", "alt"], pi = {
2271
2415
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2272
2416
  style: { opacity: "0.7" }
2273
- }, Gr = ["href"], Kr = ["src", "alt"], qr = ["src", "alt"], Jr = {
2417
+ }, mi = ["href"], hi = ["src", "alt"], gi = ["src", "alt"], _i = {
2274
2418
  key: 4,
2275
2419
  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)]"
2276
- }, Yr = ["aria-label"], Xr = { key: 1 }, Zr = /* @__PURE__ */ d({
2420
+ }, vi = ["aria-label"], yi = { key: 1 }, bi = /* @__PURE__ */ d({
2277
2421
  __name: "ImageBlock",
2278
2422
  props: {
2279
2423
  block: {},
@@ -2281,7 +2425,7 @@ var Br = {
2281
2425
  },
2282
2426
  emits: ["update"],
2283
2427
  setup(e, { emit: t }) {
2284
- let r = e, i = t, { t: a } = Y(), { syntax: o } = Q(), c = n(ft, null), u = S(() => !!c), d = Zt();
2428
+ let r = e, i = t, { t: a } = Y(), { syntax: o } = $t(), c = n(mt, null), u = S(() => !!c), d = en();
2285
2429
  async function f() {
2286
2430
  let e = await c?.({ accept: ["images"] });
2287
2431
  if (d.alive && e) {
@@ -2308,7 +2452,7 @@ var Br = {
2308
2452
  }
2309
2453
  }
2310
2454
  }
2311
- let { isOver: y } = zr({
2455
+ let { isOver: y } = ci({
2312
2456
  target: p,
2313
2457
  enabled: h,
2314
2458
  onFiles: g
@@ -2323,18 +2467,18 @@ var Br = {
2323
2467
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
2324
2468
  marginRight: e === "center" ? "auto" : void 0
2325
2469
  };
2326
- }), T = S(() => U(r.block.src, o)), E = En(() => T.value ? void 0 : r.block.src), D = En(() => T.value ? r.block.placeholderUrl : void 0);
2470
+ }), T = S(() => U(r.block.src, o)), E = kn(() => T.value ? void 0 : r.block.src), D = kn(() => T.value ? r.block.placeholderUrl : void 0);
2327
2471
  return (t, n) => (s(), C("div", {
2328
2472
  ref_key: "dropZoneRef",
2329
2473
  ref: p,
2330
2474
  "data-testid": "image-drop-zone",
2331
2475
  class: "tpl:relative tpl:w-full",
2332
2476
  style: k(b.value)
2333
- }, [h.value && (_(y) || m.value) ? (s(), C("div", Br, [m.value ? (s(), C(L, { key: 0 }, [v(_(Bt), {
2477
+ }, [h.value && (_(y) || m.value) ? (s(), C("div", li, [m.value ? (s(), C(L, { key: 0 }, [v(_(Ht), {
2334
2478
  class: "tpl-spinner",
2335
2479
  size: 20,
2336
2480
  "stroke-width": 2
2337
- }), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(Ht), {
2481
+ }), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(Wt), {
2338
2482
  size: 20,
2339
2483
  "stroke-width": 1.5
2340
2484
  }), V(" " + R(_(a).image.dropToUpload), 1)], 64))])) : w("", !0), e.block.src && T.value && e.block.placeholderUrl ? (s(), C(L, { key: 1 }, [e.block.linkUrl ? (s(), C("a", {
@@ -2349,22 +2493,22 @@ var Br = {
2349
2493
  src: _(D),
2350
2494
  alt: e.block.alt || _(a).image.altTextPlaceholder,
2351
2495
  style: k(x.value)
2352
- }, null, 12, Hr)], 8, Vr)) : (s(), C("img", {
2496
+ }, null, 12, di)], 8, ui)) : (s(), C("img", {
2353
2497
  key: 1,
2354
2498
  class: "tpl:border-0",
2355
2499
  src: _(D),
2356
2500
  alt: e.block.alt,
2357
2501
  style: k(x.value)
2358
- }, null, 12, Ur))], 64)) : e.block.src && T.value ? (s(), C("div", {
2502
+ }, null, 12, fi))], 64)) : e.block.src && T.value ? (s(), C("div", {
2359
2503
  key: 2,
2360
2504
  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)]",
2361
2505
  style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, x.value])
2362
- }, [v(_(Rt), {
2506
+ }, [v(_(Bt), {
2363
2507
  size: 32,
2364
2508
  "stroke-width": 1.5,
2365
2509
  class: "tpl:text-[var(--tpl-primary)]",
2366
2510
  style: { opacity: "0.5" }
2367
- }), M("span", Wr, [v(Zn, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), C(L, { key: 3 }, [e.block.linkUrl ? (s(), C("a", {
2511
+ }), M("span", pi, [v(br, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), C(L, { key: 3 }, [e.block.linkUrl ? (s(), C("a", {
2368
2512
  key: 0,
2369
2513
  href: e.block.linkUrl,
2370
2514
  target: "_blank",
@@ -2376,26 +2520,26 @@ var Br = {
2376
2520
  src: _(E),
2377
2521
  alt: e.block.alt || _(a).image.altTextPlaceholder,
2378
2522
  style: k(x.value)
2379
- }, null, 12, Kr)], 8, Gr)) : (s(), C("img", {
2523
+ }, null, 12, hi)], 8, mi)) : (s(), C("img", {
2380
2524
  key: 1,
2381
2525
  class: "tpl:border-0",
2382
2526
  src: _(E),
2383
2527
  alt: e.block.alt,
2384
2528
  style: k(x.value)
2385
- }, null, 12, qr))], 64)) : (s(), C("div", Jr, [u.value ? (s(), C("button", {
2529
+ }, null, 12, gi))], 64)) : (s(), C("div", _i, [u.value ? (s(), C("button", {
2386
2530
  key: 0,
2387
2531
  "aria-label": _(a).image.browseMedia,
2388
2532
  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)]",
2389
2533
  onClick: O(f, ["stop"])
2390
- }, [v(_(Rt), {
2534
+ }, [v(_(Bt), {
2391
2535
  size: 14,
2392
2536
  "stroke-width": 1.5
2393
- }), V(" " + R(_(a).image.browseMedia), 1)], 8, Yr)) : (s(), C("span", Xr, R(_(a).image.clickToAdd), 1))]))], 4));
2537
+ }), V(" " + R(_(a).image.browseMedia), 1)], 8, vi)) : (s(), C("span", yi, R(_(a).image.clickToAdd), 1))]))], 4));
2394
2538
  }
2395
- }), Qr = { class: "tpl:w-full" }, $r = ["href"], ei = {
2539
+ }), xi = { class: "tpl:w-full" }, Si = ["href"], Ci = {
2396
2540
  key: 1,
2397
2541
  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)]"
2398
- }, ti = /* @__PURE__ */ d({
2542
+ }, wi = /* @__PURE__ */ d({
2399
2543
  __name: "MenuBlock",
2400
2544
  props: {
2401
2545
  block: {},
@@ -2414,7 +2558,7 @@ var Br = {
2414
2558
  function o(e) {
2415
2559
  return e || t.block.linkColor || t.block.color;
2416
2560
  }
2417
- return (t, c) => (s(), C("div", Qr, [a.value ? (s(), C("div", {
2561
+ return (t, c) => (s(), C("div", xi, [a.value ? (s(), C("div", {
2418
2562
  key: 0,
2419
2563
  style: k(i.value)
2420
2564
  }, [(s(!0), C(L, null, r(e.block.items, (t, n) => (s(), C(L, { key: t.id }, [M("a", {
@@ -2426,15 +2570,15 @@ var Br = {
2426
2570
  textDecoration: t.underline ? "underline" : "none"
2427
2571
  }),
2428
2572
  onClick: c[0] ||= O(() => {}, ["prevent"])
2429
- }, [v(Zn, { text: t.text || "..." }, null, 8, ["text"])], 12, $r), n < e.block.items.length - 1 ? (s(), C("span", {
2573
+ }, [v(br, { text: t.text || "..." }, null, 8, ["text"])], 12, Si), n < e.block.items.length - 1 ? (s(), C("span", {
2430
2574
  key: 0,
2431
2575
  style: k({
2432
2576
  color: e.block.separatorColor,
2433
2577
  padding: `0 ${e.block.spacing}px`
2434
2578
  })
2435
- }, R(e.block.separator), 5)) : w("", !0)], 64))), 128))], 4)) : (s(), C("div", ei, [v(_(It), { size: 16 }), M("span", null, R(_(n).menu.addLinks), 1)]))]));
2579
+ }, R(e.block.separator), 5)) : w("", !0)], 64))), 128))], 4)) : (s(), C("div", Ci, [v(_(Rt), { size: 16 }), M("span", null, R(_(n).menu.addLinks), 1)]))]));
2436
2580
  }
2437
- }), ni = /* @__PURE__ */ new Set([
2581
+ }), Ti = /* @__PURE__ */ new Set([
2438
2582
  "http",
2439
2583
  "https",
2440
2584
  "mailto",
@@ -2444,7 +2588,7 @@ var Br = {
2444
2588
  "sms",
2445
2589
  "xmpp",
2446
2590
  "cid"
2447
- ]), ri = /* @__PURE__ */ new Set([
2591
+ ]), Ei = /* @__PURE__ */ new Set([
2448
2592
  "SCRIPT",
2449
2593
  "STYLE",
2450
2594
  "IFRAME",
@@ -2454,7 +2598,7 @@ var Br = {
2454
2598
  "META",
2455
2599
  "BASE",
2456
2600
  "FORM"
2457
- ]), ii = /* @__PURE__ */ new Set([
2601
+ ]), Di = /* @__PURE__ */ new Set([
2458
2602
  "href",
2459
2603
  "xlink:href",
2460
2604
  "formaction",
@@ -2463,16 +2607,16 @@ var Br = {
2463
2607
  "background",
2464
2608
  "poster"
2465
2609
  ]);
2466
- function ai(e, t) {
2610
+ function Oi(e, t) {
2467
2611
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
2468
2612
  if (!n || n.startsWith("#")) return !0;
2469
2613
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
2470
2614
  if (!r) return !0;
2471
2615
  let i = r[1].toLowerCase();
2472
- return ni.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
2616
+ return Ti.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
2473
2617
  }
2474
- function oi(e) {
2475
- if (ri.has(e.tagName)) {
2618
+ function ki(e) {
2619
+ if (Ei.has(e.tagName)) {
2476
2620
  e.remove();
2477
2621
  return;
2478
2622
  }
@@ -2484,29 +2628,29 @@ function oi(e) {
2484
2628
  e.removeAttribute(n);
2485
2629
  continue;
2486
2630
  }
2487
- if (ii.has(t)) {
2488
- ai(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2631
+ if (Di.has(t)) {
2632
+ Oi(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2489
2633
  continue;
2490
2634
  }
2491
2635
  if (t === "src") {
2492
- ai(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2636
+ Oi(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2493
2637
  continue;
2494
2638
  }
2495
2639
  t === "srcdoc" && e.removeAttribute(n);
2496
2640
  }
2497
2641
  let n = Array.from(e.children);
2498
- for (let e of n) oi(e);
2642
+ for (let e of n) ki(e);
2499
2643
  }
2500
- function si(e) {
2644
+ function Ai(e) {
2501
2645
  if (typeof DOMParser > "u") return e;
2502
2646
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
2503
- for (let e of n) oi(e);
2647
+ for (let e of n) ki(e);
2504
2648
  return t.innerHTML;
2505
2649
  }
2506
2650
  //#endregion
2507
2651
  //#region src/composables/useEditableTextBlock.ts
2508
- function ci(e) {
2509
- let t = n(K, []), r = n(q, null), { syntax: i } = Q(), a = S(() => r?.value ? xe(e(), t) : Ee(e(), t)), o = S(() => si(Ae(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = He(c), { toLocal: f } = kt(), p = S(() => f({
2652
+ function ji(e) {
2653
+ let t = n(K, []), r = n(q, null), { syntax: i } = $t(), a = S(() => r?.value ? xe(e(), t) : Ee(e(), t)), o = S(() => Ai(Ae(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Ue(c), { toLocal: f } = jt(), p = S(() => f({
2510
2654
  top: u.value - 8,
2511
2655
  left: d.value
2512
2656
  }));
@@ -2527,14 +2671,14 @@ function ci(e) {
2527
2671
  }
2528
2672
  //#endregion
2529
2673
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
2530
- var li = ["innerHTML"], ui = /* @__PURE__ */ d({
2674
+ var Mi = ["innerHTML"], Ni = /* @__PURE__ */ d({
2531
2675
  __name: "ParagraphBlock",
2532
2676
  props: {
2533
2677
  block: {},
2534
2678
  viewport: {}
2535
2679
  },
2536
2680
  setup(e) {
2537
- let t = e, n = B(() => import("./ParagraphEditor-BalgLjBt.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content);
2681
+ let t = e, n = B(() => import("./ParagraphEditor-BU8tlFbL.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ji(() => t.block.content);
2538
2682
  return (t, u) => (s(), C("div", {
2539
2683
  ref_key: "blockRef",
2540
2684
  ref: i,
@@ -2553,54 +2697,54 @@ var li = ["innerHTML"], ui = /* @__PURE__ */ d({
2553
2697
  key: 1,
2554
2698
  class: "tpl-text-content tpl:outline-none",
2555
2699
  innerHTML: _(o)
2556
- }, null, 8, li))], 544));
2700
+ }, null, 8, Mi))], 544));
2557
2701
  }
2558
2702
  });
2559
2703
  //#endregion
2560
2704
  //#region src/utils/blockComponentResolver.ts
2561
- function di(e) {
2705
+ function Pi(e) {
2562
2706
  let t = { fontFamily: e.fontFamily };
2563
2707
  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;
2564
2708
  }
2565
- function fi(e, t, n) {
2709
+ function Fi(e, t, n) {
2566
2710
  if (t) {
2567
2711
  let n = t.getComponent(e);
2568
2712
  if (n) return n;
2569
2713
  }
2570
2714
  return n[e.type] ?? null;
2571
2715
  }
2572
- function pi(e) {
2716
+ function Ii(e) {
2573
2717
  let { padding: t, backgroundColor: n } = e.styles, r = {
2574
2718
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
2575
2719
  backgroundColor: n || "transparent"
2576
2720
  };
2577
- 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;
2721
+ return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? Me.paragraphGap : Me.paragraphGap}px`), e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
2578
2722
  }
2579
- function mi(e) {
2723
+ function Li(e) {
2580
2724
  if (e.type !== "section" || !e.wrapper) return null;
2581
2725
  let t = e.wrapper, n = {};
2582
2726
  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;
2583
2727
  }
2584
2728
  //#endregion
2585
2729
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
2586
- var hi = [
2730
+ var Ri = [
2587
2731
  "data-block-id",
2588
2732
  "data-block-type",
2589
2733
  "data-tpl-picked"
2590
- ], gi = ["aria-label"], _i = [
2734
+ ], zi = ["aria-label"], Bi = [
2591
2735
  "aria-label",
2592
2736
  "aria-pressed",
2593
2737
  "title"
2594
- ], vi = ["aria-label", "title"], yi = ["aria-label", "title"], bi = ["aria-label", "title"], xi = {
2738
+ ], Vi = ["aria-label", "title"], Hi = ["aria-label", "title"], Ui = ["aria-label", "title"], Wi = {
2595
2739
  key: 1,
2596
2740
  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"
2597
- }, Si = { 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)]" }, Ci = {
2741
+ }, Gi = { 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)]" }, Ki = {
2598
2742
  key: 2,
2599
2743
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
2600
- }, wi = ["aria-label", "title"], Ti = {
2744
+ }, qi = ["aria-label", "title"], Ji = {
2601
2745
  key: 3,
2602
2746
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
2603
- }, Ei = ["aria-label"], Di = /*#__PURE__*/ Yt(/* @__PURE__ */ d({
2747
+ }, Yi = ["aria-label"], Xi = /*#__PURE__*/ Zt(/* @__PURE__ */ d({
2604
2748
  __name: "BlockWrapper",
2605
2749
  props: {
2606
2750
  block: {},
@@ -2612,7 +2756,7 @@ var hi = [
2612
2756
  },
2613
2757
  emits: ["select"],
2614
2758
  setup(e, { emit: t }) {
2615
- let r = B(() => import("./BlockIssueBadge-Bry71Wjz.js")), i = e, o = t, { t: c, format: u } = Y(), d = n(Ct, null), f = l(null), p = S(() => d?.liftedBlockId.value === i.block.id), m = S(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
2759
+ let r = B(() => import("./BlockIssueBadge-B_mUH69a.js")), i = e, o = t, { t: c, format: u } = Y(), d = n(Tt, null), f = l(null), p = S(() => d?.liftedBlockId.value === i.block.id), m = S(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
2616
2760
  async function h() {
2617
2761
  await D(), f.value?.focus();
2618
2762
  }
@@ -2638,7 +2782,7 @@ var hi = [
2638
2782
  let y = S(() => !i.viewport || !i.block.visibility ? !1 : i.block.visibility[i.viewport] === !1), x = S(() => i.previewMode === !0 && y.value), T = S(() => i.viewport ? {
2639
2783
  desktop: c.viewport.desktop,
2640
2784
  mobile: c.viewport.mobile
2641
- }[i.viewport] ?? i.viewport : ""), E = S(() => !!i.block.displayCondition), A = n(ot, null), j = n(lt, null), N = n(ct, {}), P = S(() => N.savedBlocks?.isPicking.value === !0), F = S(() => !i.nested && N.savedBlocks?.isAvailable.value === !0 && N.savedBlocks?.canCreate.value === !0), I = S(() => i.isSelected && !P.value), L = S(() => N.comments?.getBlockCount(i.block.id) ?? 0), z = S(() => pi(i.block)), ee = S(() => mi(i.block));
2785
+ }[i.viewport] ?? i.viewport : ""), E = S(() => !!i.block.displayCondition), A = n(ct, null), j = n(dt, null), N = n(ut, {}), P = S(() => N.savedBlocks?.isPicking.value === !0), F = S(() => !i.nested && N.savedBlocks?.isAvailable.value === !0 && N.savedBlocks?.canCreate.value === !0), I = S(() => i.isSelected && !P.value), L = S(() => N.comments?.getBlockCount(i.block.id) ?? 0), z = S(() => Ii(i.block)), ee = S(() => Li(i.block));
2642
2786
  function te(e) {
2643
2787
  i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
2644
2788
  }
@@ -2683,61 +2827,61 @@ var hi = [
2683
2827
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
2684
2828
  title: _(c).blockActions.drag,
2685
2829
  onKeydown: g
2686
- }, [v(_(zt), {
2830
+ }, [v(_(Vt), {
2687
2831
  size: 14,
2688
2832
  "stroke-width": 1.5
2689
- })], 40, _i),
2833
+ })], 40, Bi),
2690
2834
  M("button", {
2691
2835
  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",
2692
2836
  "aria-label": _(c).blockActions.duplicate,
2693
2837
  title: _(c).blockActions.duplicate,
2694
2838
  onClick: O(re, ["stop"])
2695
- }, [v(_(Mt), {
2839
+ }, [v(_(Pt), {
2696
2840
  size: 14,
2697
2841
  "stroke-width": 1.5
2698
- })], 8, vi),
2842
+ })], 8, Vi),
2699
2843
  F.value ? (s(), C("button", {
2700
2844
  key: 0,
2701
2845
  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",
2702
2846
  "aria-label": _(c).blockActions.saveAsBlock,
2703
2847
  title: _(c).blockActions.saveAsBlock,
2704
2848
  onClick: O(ie, ["stop"])
2705
- }, [v(_(jt), {
2849
+ }, [v(_(Nt), {
2706
2850
  size: 14,
2707
2851
  "stroke-width": 1.5
2708
- })], 8, yi)) : w("", !0),
2852
+ })], 8, Hi)) : w("", !0),
2709
2853
  M("button", {
2710
2854
  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",
2711
2855
  "aria-label": _(c).blockActions.delete,
2712
2856
  title: _(c).blockActions.delete,
2713
2857
  onClick: O(ne, ["stop"])
2714
- }, [v(_(Lt), {
2858
+ }, [v(_(zt), {
2715
2859
  size: 14,
2716
2860
  "stroke-width": 1.5
2717
- })], 8, bi)
2718
- ], 8, gi)) : w("", !0),
2719
- y.value ? (s(), C("div", xi, [M("span", Si, [v(_(Ft), {
2861
+ })], 8, Ui)
2862
+ ], 8, zi)) : w("", !0),
2863
+ y.value ? (s(), C("div", Wi, [M("span", Gi, [v(_(Lt), {
2720
2864
  size: 12,
2721
2865
  "stroke-width": 1.5
2722
2866
  }), V(" " + R(_(u)(_(c).blockActions.hiddenOnViewport, { viewport: T.value })), 1)])])) : w("", !0),
2723
- E.value && !y.value ? (s(), C("div", Ci, [M("button", {
2867
+ E.value && !y.value ? (s(), C("div", Ki, [M("button", {
2724
2868
  "data-testid": "condition-toggle",
2725
2869
  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)]",
2726
2870
  "aria-label": _(c).blockActions.conditionToggle,
2727
2871
  title: e.block.displayCondition?.label,
2728
2872
  onClick: O(ae, ["stop"])
2729
- }, [v(_(Kt), {
2873
+ }, [v(_(Jt), {
2730
2874
  size: 12,
2731
2875
  "stroke-width": 2
2732
- })], 8, wi)])) : w("", !0),
2733
- L.value > 0 && !y.value ? (s(), C("div", Ti, [M("button", {
2876
+ })], 8, qi)])) : w("", !0),
2877
+ L.value > 0 && !y.value ? (s(), C("div", Ji, [M("button", {
2734
2878
  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)]",
2735
2879
  "aria-label": _(u)(_(c).blockActions.comments, { count: String(L.value) }),
2736
2880
  onClick: n[0] ||= O((t) => _(N).comments?.openForBlock(e.block.id), ["stop"])
2737
- }, [v(_(Ut), {
2881
+ }, [v(_(Gt), {
2738
2882
  size: 12,
2739
2883
  "stroke-width": 2.5
2740
- }), V(" " + R(L.value), 1)], 8, Ei)])) : w("", !0),
2884
+ }), V(" " + R(L.value), 1)], 8, Yi)])) : w("", !0),
2741
2885
  ee.value ? (s(), C("div", {
2742
2886
  key: 4,
2743
2887
  class: "tpl-section-wrapper",
@@ -2750,31 +2894,31 @@ var hi = [
2750
2894
  class: "tpl-block-content",
2751
2895
  style: k(z.value)
2752
2896
  }, [a(t.$slots, "default", {}, void 0, !0)], 4))
2753
- ], 10, hi));
2897
+ ], 10, Ri));
2754
2898
  }
2755
2899
  }), [["__scopeId", "data-v-2c239048"]]);
2756
2900
  //#endregion
2757
2901
  //#region src/utils/unwrapParagraph.ts
2758
- function Oi(e) {
2902
+ function Zi(e) {
2759
2903
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
2760
2904
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
2761
2905
  }
2762
2906
  //#endregion
2763
2907
  //#region src/components/blocks/TitleBlock.vue
2764
- var ki = /* @__PURE__ */ d({
2908
+ var Qi = /* @__PURE__ */ d({
2765
2909
  __name: "TitleBlock",
2766
2910
  props: {
2767
2911
  block: {},
2768
2912
  viewport: {}
2769
2913
  },
2770
2914
  setup(e) {
2771
- let t = e, n = B(() => import("./TitleEditor-CfHWnThg.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content), d = S(() => {
2915
+ let t = e, n = B(() => import("./TitleEditor-DvXUW2j-.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ji(() => t.block.content), d = S(() => {
2772
2916
  let e = {
2773
- fontSize: `${Ne[t.block.level]}px`,
2917
+ fontSize: `${Oe[t.block.level]}px`,
2774
2918
  textAlign: t.block.textAlign
2775
2919
  };
2776
2920
  return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
2777
- }), f = S(() => `h${t.block.level}`), p = S(() => Oi(o.value));
2921
+ }), f = S(() => `h${t.block.level}`), p = S(() => Zi(o.value));
2778
2922
  return (t, o) => (s(), C("div", {
2779
2923
  ref_key: "blockRef",
2780
2924
  ref: i,
@@ -2800,16 +2944,16 @@ var ki = /* @__PURE__ */ d({
2800
2944
  });
2801
2945
  //#endregion
2802
2946
  //#region src/utils/sectionColumnDrop.ts
2803
- function Ai(e) {
2947
+ function $i(e) {
2804
2948
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
2805
2949
  }
2806
2950
  //#endregion
2807
2951
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
2808
- var ji = { class: "tpl:w-full" }, Mi = {
2952
+ var ea = { class: "tpl:w-full" }, ta = {
2809
2953
  key: 0,
2810
2954
  "data-testid": "section-drop-hint",
2811
2955
  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)]"
2812
- }, Ni = /* @__PURE__ */ d({
2956
+ }, na = /* @__PURE__ */ d({
2813
2957
  __name: "SectionBlock",
2814
2958
  props: {
2815
2959
  block: {},
@@ -2817,13 +2961,13 @@ var ji = { class: "tpl:w-full" }, Mi = {
2817
2961
  },
2818
2962
  setup(e) {
2819
2963
  let t = {
2820
- title: ki,
2821
- paragraph: ui,
2822
- image: Zr,
2823
- button: $n,
2824
- divider: jr,
2825
- custom: kr
2826
- }, a = e, { t: o } = Y(), c = it(J, "SectionBlock"), l = n(lt, null), d = n(yt, null), p = n(ct, {}), m = n(vt, null);
2964
+ title: Qi,
2965
+ paragraph: Ni,
2966
+ image: bi,
2967
+ button: Sr,
2968
+ divider: ei,
2969
+ custom: Qr
2970
+ }, a = e, { t: o } = Y(), c = Ze(J, "SectionBlock"), l = n(dt, null), d = n(xt, null), p = n(ut, {}), m = n(bt, null);
2827
2971
  function h(e) {
2828
2972
  let t = p.savedBlocks;
2829
2973
  if (t?.isPicking.value) {
@@ -2858,7 +3002,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2858
3002
  r[e] = n, c.updateBlock(a.block.id, { children: r });
2859
3003
  }
2860
3004
  function D(e) {
2861
- return fi(e, d, t);
3005
+ return Fi(e, d, t);
2862
3006
  }
2863
3007
  function O(e, t) {
2864
3008
  e.type === "custom" && c.updateBlock(e.id, {
@@ -2866,7 +3010,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2866
3010
  dataSourceFetched: t.dataSourceFetched
2867
3011
  });
2868
3012
  }
2869
- return (t, n) => (s(), C("div", ji, [M("div", { class: b(["tpl:flex tpl:gap-0", { "tpl:flex-col": x.value }]) }, [(s(!0), C(L, null, r(y.value, (t, n) => (s(), C("div", {
3013
+ return (t, n) => (s(), C("div", ea, [M("div", { class: b(["tpl:flex tpl:gap-0", { "tpl:flex-col": x.value }]) }, [(s(!0), C(L, null, r(y.value, (t, n) => (s(), C("div", {
2870
3014
  key: n,
2871
3015
  class: b(["tpl:relative tpl:min-h-[60px] tpl:rounded", T(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
2872
3016
  style: k({ width: x.value ? "100%" : g.value[n] })
@@ -2875,7 +3019,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2875
3019
  group: {
2876
3020
  name: "blocks",
2877
3021
  pull: !0,
2878
- put: (e, t, n) => _(Ai)(n)
3022
+ put: (e, t, n) => _($i)(n)
2879
3023
  },
2880
3024
  animation: 150,
2881
3025
  "ghost-class": "tpl-ghost",
@@ -2888,7 +3032,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2888
3032
  class: "tpl:min-h-[60px]",
2889
3033
  "onUpdate:modelValue": (e) => E(n, e)
2890
3034
  }, {
2891
- default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(Di, {
3035
+ default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(Xi, {
2892
3036
  block: t,
2893
3037
  "is-selected": _(c).state.selectedBlockId === t.id,
2894
3038
  viewport: e.viewport,
@@ -2920,13 +3064,13 @@ var ji = { class: "tpl:w-full" }, Mi = {
2920
3064
  "model-value",
2921
3065
  "group",
2922
3066
  "onUpdate:modelValue"
2923
- ]), T(n).length === 0 ? (s(), C("div", Mi, [M("span", null, R(_(o).section.dropHere), 1)])) : w("", !0)], 6))), 128))], 2)]));
3067
+ ]), T(n).length === 0 ? (s(), C("div", ta, [M("span", null, R(_(o).section.dropHere), 1)])) : w("", !0)], 6))), 128))], 2)]));
2924
3068
  }
2925
- }), Pi = ye, Fi = {
3069
+ }), ra = Pe, ia = {
2926
3070
  small: 24,
2927
3071
  medium: 32,
2928
3072
  large: 48
2929
- }, Ii = [
3073
+ }, aa = [
2930
3074
  "facebook",
2931
3075
  "twitter",
2932
3076
  "instagram",
@@ -2944,11 +3088,11 @@ var ji = { class: "tpl:w-full" }, Mi = {
2944
3088
  "github",
2945
3089
  "dribbble",
2946
3090
  "behance"
2947
- ], Li = [
3091
+ ], oa = [
2948
3092
  "width",
2949
3093
  "height",
2950
3094
  "fill"
2951
- ], Ri = ["d"], zi = /* @__PURE__ */ d({
3095
+ ], sa = ["d"], ca = /* @__PURE__ */ d({
2952
3096
  __name: "SocialIconSvg",
2953
3097
  props: {
2954
3098
  platform: {},
@@ -2956,7 +3100,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2956
3100
  iconSize: {}
2957
3101
  },
2958
3102
  setup(e) {
2959
- let t = e, n = S(() => Pi[t.platform]), r = S(() => Fi[t.iconSize]), i = S(() => {
3103
+ let t = e, n = S(() => ra[t.platform]), r = S(() => ia[t.iconSize]), i = S(() => {
2960
3104
  let e = {
2961
3105
  display: "inline-flex",
2962
3106
  alignItems: "center",
@@ -3000,12 +3144,12 @@ var ji = { class: "tpl:w-full" }, Mi = {
3000
3144
  viewBox: "0 0 24 24",
3001
3145
  fill: o.value,
3002
3146
  xmlns: "http://www.w3.org/2000/svg"
3003
- }, [M("path", { d: n.value.path }, null, 8, Ri)], 8, Li))], 4));
3147
+ }, [M("path", { d: n.value.path }, null, 8, sa)], 8, oa))], 4));
3004
3148
  }
3005
- }), Bi = { class: "tpl:w-full" }, Vi = ["href"], Hi = {
3149
+ }), la = { class: "tpl:w-full" }, ua = ["href"], da = {
3006
3150
  key: 1,
3007
3151
  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)]"
3008
- }, Ui = /* @__PURE__ */ d({
3152
+ }, fa = /* @__PURE__ */ d({
3009
3153
  __name: "SocialIconsBlock",
3010
3154
  props: {
3011
3155
  block: {},
@@ -3018,7 +3162,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3018
3162
  gap: `${t.block.spacing}px`,
3019
3163
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3020
3164
  })), a = S(() => t.block.icons.length > 0);
3021
- return (t, o) => (s(), C("div", Bi, [a.value ? (s(), C("div", {
3165
+ return (t, o) => (s(), C("div", la, [a.value ? (s(), C("div", {
3022
3166
  key: 0,
3023
3167
  style: k(i.value)
3024
3168
  }, [(s(!0), C(L, null, r(e.block.icons, (t) => (s(), C("a", {
@@ -3026,7 +3170,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3026
3170
  href: t.url || "#",
3027
3171
  class: "tpl:cursor-default",
3028
3172
  onClick: o[0] ||= O(() => {}, ["prevent"])
3029
- }, [v(zi, {
3173
+ }, [v(ca, {
3030
3174
  platform: t.platform,
3031
3175
  "icon-style": e.block.iconStyle,
3032
3176
  "icon-size": e.block.iconSize
@@ -3034,44 +3178,44 @@ var ji = { class: "tpl:w-full" }, Mi = {
3034
3178
  "platform",
3035
3179
  "icon-style",
3036
3180
  "icon-size"
3037
- ])], 8, Vi))), 128))], 4)) : (s(), C("div", Hi, [v(_(At), { size: 16 }), M("span", null, R(_(n).social.addIcons), 1)]))]));
3181
+ ])], 8, ua))), 128))], 4)) : (s(), C("div", da, [v(_(Mt), { size: 16 }), M("span", null, R(_(n).social.addIcons), 1)]))]));
3038
3182
  }
3039
- }), Wi = { class: "tpl:w-full" }, Gi = {
3183
+ }), pa = { class: "tpl:w-full" }, ma = {
3040
3184
  key: 0,
3041
3185
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3042
3186
  style: {
3043
3187
  "background-color": "var(--tpl-bg-hover)",
3044
3188
  color: "var(--tpl-text-dim)"
3045
3189
  }
3046
- }, Ki = /* @__PURE__ */ d({
3190
+ }, ha = /* @__PURE__ */ d({
3047
3191
  __name: "SpacerBlock",
3048
3192
  props: {
3049
3193
  block: {},
3050
3194
  viewport: {}
3051
3195
  },
3052
3196
  setup(e) {
3053
- let t = e, n = it(J, "SpacerBlock"), r = S(() => ({
3197
+ let t = e, n = Ze(J, "SpacerBlock"), r = S(() => ({
3054
3198
  height: `${t.block.height}px`,
3055
3199
  minHeight: `${t.block.height}px`,
3056
3200
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3057
3201
  }));
3058
- return (t, i) => (s(), C("div", Wi, [M("div", {
3202
+ return (t, i) => (s(), C("div", pa, [M("div", {
3059
3203
  style: k(r.value),
3060
3204
  class: b(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !_(n).state.previewMode }])
3061
- }, [_(n).state.previewMode ? w("", !0) : (s(), C("span", Gi, R(e.block.height) + "px ", 1))], 6)]));
3205
+ }, [_(n).state.previewMode ? w("", !0) : (s(), C("span", ma, R(e.block.height) + "px ", 1))], 6)]));
3062
3206
  }
3063
- }), qi = { class: "tpl:w-full" }, Ji = { key: 0 }, Yi = [
3207
+ }), ga = { class: "tpl:w-full" }, _a = { key: 0 }, va = [
3064
3208
  "aria-label",
3065
3209
  "data-placeholder",
3066
3210
  "onBlur"
3067
- ], Xi = [
3211
+ ], ya = [
3068
3212
  "aria-label",
3069
3213
  "data-placeholder",
3070
3214
  "onBlur"
3071
- ], Zi = {
3215
+ ], ba = {
3072
3216
  key: 1,
3073
3217
  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)]"
3074
- }, Qi = /*#__PURE__*/ Yt(/* @__PURE__ */ d({
3218
+ }, xa = /*#__PURE__*/ Zt(/* @__PURE__ */ d({
3075
3219
  __name: "TableBlock",
3076
3220
  props: {
3077
3221
  block: {},
@@ -3085,7 +3229,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3085
3229
  updated(e, t) {
3086
3230
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
3087
3231
  }
3088
- }, n = e, { t: i } = Y(), a = it(J, "TableBlock"), o = S(() => n.block.rows.length > 0), c = S(() => {
3232
+ }, n = e, { t: i } = Y(), a = Ze(J, "TableBlock"), o = S(() => n.block.rows.length > 0), c = S(() => {
3089
3233
  let e = {
3090
3234
  width: "100%",
3091
3235
  borderCollapse: "collapse",
@@ -3116,11 +3260,11 @@ var ji = { class: "tpl:w-full" }, Mi = {
3116
3260
  } : n);
3117
3261
  a.updateBlock(n.block.id, { rows: o });
3118
3262
  }
3119
- return (e, n) => (s(), C("div", qi, [o.value ? (s(), C("table", {
3263
+ return (e, n) => (s(), C("div", ga, [o.value ? (s(), C("table", {
3120
3264
  key: 0,
3121
3265
  style: k(c.value),
3122
3266
  class: "tpl-table-editable"
3123
- }, [d.value ? (s(), C("thead", Ji, [M("tr", null, [(s(!0), C(L, null, r(d.value.cells, (e) => f((s(), C("th", {
3267
+ }, [d.value ? (s(), C("thead", _a, [M("tr", null, [(s(!0), C(L, null, r(d.value.cells, (e) => f((s(), C("th", {
3124
3268
  key: e.id,
3125
3269
  style: k(u.value),
3126
3270
  "aria-label": _(i).table.cellPlaceholder,
@@ -3129,7 +3273,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3129
3273
  onBlur: (t) => h(d.value.id, e.id, t),
3130
3274
  onKeydown: n[0] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
3131
3275
  onClick: O(m, ["stop"])
3132
- }, null, 44, Yi)), [[t, e.content]])), 128))])])) : w("", !0), M("tbody", null, [(s(!0), C(L, null, r(p.value, (e) => (s(), C("tr", { key: e.id }, [(s(!0), C(L, null, r(e.cells, (r) => f((s(), C("td", {
3276
+ }, null, 44, va)), [[t, e.content]])), 128))])])) : w("", !0), M("tbody", null, [(s(!0), C(L, null, r(p.value, (e) => (s(), C("tr", { key: e.id }, [(s(!0), C(L, null, r(e.cells, (r) => f((s(), C("td", {
3133
3277
  key: r.id,
3134
3278
  style: k(l.value),
3135
3279
  "aria-label": _(i).table.cellPlaceholder,
@@ -3138,9 +3282,9 @@ var ji = { class: "tpl:w-full" }, Mi = {
3138
3282
  onBlur: (t) => h(e.id, r.id, t),
3139
3283
  onKeydown: n[1] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
3140
3284
  onClick: O(m, ["stop"])
3141
- }, null, 44, Xi)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), C("div", Zi, [v(_(Gt), { size: 16 }), M("span", null, R(_(i).table.empty), 1)]))]));
3285
+ }, null, 44, ya)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), C("div", ba, [v(_(qt), { size: 16 }), M("span", null, R(_(i).table.empty), 1)]))]));
3142
3286
  }
3143
- }), [["__scopeId", "data-v-963ac422"]]), $i = /* @__PURE__ */ d({
3287
+ }), [["__scopeId", "data-v-963ac422"]]), Sa = /* @__PURE__ */ d({
3144
3288
  __name: "VideoPlayButton",
3145
3289
  props: { hoverEffect: {
3146
3290
  type: Boolean,
@@ -3158,7 +3302,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3158
3302
  });
3159
3303
  //#endregion
3160
3304
  //#region src/utils/videoThumbnail.ts
3161
- function ea(e) {
3305
+ function Ca(e) {
3162
3306
  if (!e) return {
3163
3307
  platform: "unknown",
3164
3308
  videoId: null,
@@ -3190,25 +3334,25 @@ function ea(e) {
3190
3334
  thumbnailUrl: null
3191
3335
  };
3192
3336
  }
3193
- function ta(e, t) {
3194
- return t || ea(e).thumbnailUrl;
3337
+ function wa(e, t) {
3338
+ return t || Ca(e).thumbnailUrl;
3195
3339
  }
3196
3340
  //#endregion
3197
3341
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
3198
- var na = ["src", "alt"], ra = {
3342
+ var Ta = ["src", "alt"], Ea = {
3199
3343
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3200
3344
  style: { opacity: "0.7" }
3201
- }, ia = ["href"], aa = ["src", "alt"], oa = ["src", "alt"], sa = {
3345
+ }, Da = ["href"], Oa = ["src", "alt"], ka = ["src", "alt"], Aa = {
3202
3346
  key: 3,
3203
3347
  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)]"
3204
- }, ca = /* @__PURE__ */ d({
3348
+ }, ja = /* @__PURE__ */ d({
3205
3349
  __name: "VideoBlock",
3206
3350
  props: {
3207
3351
  block: {},
3208
3352
  viewport: {}
3209
3353
  },
3210
3354
  setup(e) {
3211
- let t = e, { t: n } = Y(), { syntax: r } = Q(), i = S(() => 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 = S(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : ta(t.block.url)), l = S(() => ({ textAlign: t.block.align })), u = S(() => {
3355
+ let t = e, { t: n } = Y(), { syntax: r } = $t(), i = S(() => U(t.block.url, r) || U(t.block.thumbnailUrl, r)), a = kn(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = kn(() => i.value ? t.block.placeholderUrl : void 0), c = S(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : wa(t.block.url)), l = S(() => ({ textAlign: t.block.align })), u = S(() => {
3212
3356
  let e = t.block.align;
3213
3357
  return {
3214
3358
  maxWidth: "100%",
@@ -3231,16 +3375,16 @@ var na = ["src", "alt"], ra = {
3231
3375
  src: _(o),
3232
3376
  alt: e.block.alt,
3233
3377
  style: k(d.value)
3234
- }, null, 12, na), v($i)], 4)) : i.value ? (s(), C("div", {
3378
+ }, null, 12, Ta), v(Sa)], 4)) : i.value ? (s(), C("div", {
3235
3379
  key: 1,
3236
3380
  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)]",
3237
3381
  style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
3238
- }, [v(_(Vt), {
3382
+ }, [v(_(Ut), {
3239
3383
  size: 36,
3240
3384
  "stroke-width": 1.5,
3241
3385
  class: "tpl:text-[var(--tpl-primary)]",
3242
3386
  style: { opacity: "0.5" }
3243
- }), M("span", ra, [v(Zn, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), C(L, { key: 2 }, [e.block.url ? (s(), C("a", {
3387
+ }), M("span", Ea, [v(br, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), C(L, { key: 2 }, [e.block.url ? (s(), C("a", {
3244
3388
  key: 0,
3245
3389
  href: e.block.url,
3246
3390
  target: "_blank",
@@ -3253,7 +3397,7 @@ var na = ["src", "alt"], ra = {
3253
3397
  src: c.value,
3254
3398
  alt: e.block.alt,
3255
3399
  style: k(d.value)
3256
- }, null, 12, aa), v($i, { "hover-effect": "" })], 12, ia)) : (s(), C("div", {
3400
+ }, null, 12, Oa), v(Sa, { "hover-effect": "" })], 12, Da)) : (s(), C("div", {
3257
3401
  key: 1,
3258
3402
  class: "tpl:relative tpl:inline-block",
3259
3403
  style: k(u.value)
@@ -3262,155 +3406,155 @@ var na = ["src", "alt"], ra = {
3262
3406
  src: c.value,
3263
3407
  alt: e.block.alt,
3264
3408
  style: k(d.value)
3265
- }, null, 12, oa), v($i)], 4))], 64)) : (s(), C("div", sa, [v(_(Vt), {
3409
+ }, null, 12, ka), v(Sa)], 4))], 64)) : (s(), C("div", Aa, [v(_(Ut), {
3266
3410
  size: 40,
3267
3411
  "stroke-width": 1.5,
3268
3412
  class: "tpl:text-[var(--tpl-border-light)]"
3269
3413
  }), M("span", null, R(_(n).video.addVideo), 1)]))], 4));
3270
3414
  }
3271
- }), la = {
3272
- section: Ni,
3273
- title: ki,
3274
- paragraph: ui,
3275
- image: Zr,
3276
- button: $n,
3277
- divider: jr,
3278
- video: ca,
3279
- social: Ui,
3280
- menu: ti,
3281
- table: Qi,
3282
- spacer: Ki,
3283
- html: Lr,
3284
- countdown: B(() => import("./CountdownBlock-CWeJBC0L.js"))
3415
+ }), Ma = {
3416
+ section: na,
3417
+ title: Qi,
3418
+ paragraph: Ni,
3419
+ image: bi,
3420
+ button: Sr,
3421
+ divider: ei,
3422
+ video: ja,
3423
+ social: fa,
3424
+ menu: wi,
3425
+ table: xa,
3426
+ spacer: ha,
3427
+ html: oi,
3428
+ countdown: B(() => import("./CountdownBlock-BRwXUvGU.js"))
3285
3429
  };
3286
- function ua(e) {
3287
- let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = Y(i);
3430
+ function Na(e) {
3431
+ let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = Y(i), d = S(() => he(he(Yn(i), mr(n.content.value.settings?.locale)), r.blockDefaults ?? {}));
3288
3432
  n.setUiTheme(r.uiTheme ?? "auto");
3289
- let { resolvedTheme: d } = Pn(S(() => n.state.uiTheme)), f = l(r.theme ?? {}), { themeStyles: p } = In({
3290
- themeOverrides: f,
3291
- resolvedTheme: d,
3433
+ let { resolvedTheme: f } = Ln(S(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: m } = zn({
3434
+ themeOverrides: p,
3435
+ resolvedTheme: f,
3292
3436
  extraStyles: () => ({
3293
3437
  "--tpl-drop-text": `"${i.canvas.dropHere}"`,
3294
3438
  ...e.themeExtraStyles?.()
3295
3439
  })
3296
- }), m = on({
3440
+ }), g = ln({
3297
3441
  content: n.content,
3298
3442
  setContent: (e, t) => n.setContent(e, t),
3299
3443
  ...e.historyOptions
3300
3444
  });
3301
- pn(n, m);
3302
- let g = cn({
3445
+ gn(n, g);
3446
+ let _ = dn({
3303
3447
  addBlock: n.addBlock,
3304
3448
  removeBlock: n.removeBlock,
3305
3449
  updateBlock: n.updateBlock,
3306
3450
  selectBlock: n.selectBlock,
3307
3451
  findBlockLocation: n.findBlockLocation,
3308
- blockDefaults: r.blockDefaults
3309
- }), _ = dn(n), v = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? un({
3452
+ blockDefaults: () => d.value
3453
+ }), v = mn(n), y = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? pn({
3310
3454
  content: n.content,
3311
3455
  isDirty: () => n.state.isDirty,
3312
3456
  ...e.autoSaveOptions
3313
- }) : null, y = null;
3314
- v && (y = t(m.isNavigating, (e) => {
3315
- e ? v.pause() : v.resume();
3457
+ }) : null, b = null;
3458
+ y && (b = t(g.isNavigating, (e) => {
3459
+ e ? y.pause() : y.resume();
3316
3460
  }));
3317
- let b = Nn(n, {
3461
+ let x = In(n, {
3318
3462
  t: s,
3319
3463
  format: u
3320
- }, r.customBlocks ?? []), x = Ot(r.colors);
3321
- if (x.allowCustomIgnored && X.warn("config.colors.allowCustom: false is ignored without presets — keeping the color wheel and hex input so a color can still be chosen."), x.invalidPresets.length > 0 && X.warn(`config.colors.presets skipped invalid entries: ${x.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), x.allowCustom === !1) {
3322
- let e = Gn(x.presets, r.blockDefaults, r.templateDefaults);
3464
+ }, r.customBlocks ?? []), C = At(r.colors);
3465
+ if (C.allowCustomIgnored && X.warn("config.colors.allowCustom: false is ignored without presets — keeping the color wheel and hex input so a color can still be chosen."), C.invalidPresets.length > 0 && X.warn(`config.colors.presets skipped invalid entries: ${C.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), C.allowCustom === !1) {
3466
+ let e = Jn(C.presets, r.blockDefaults, r.templateDefaults);
3323
3467
  e.length > 0 && X.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.`);
3324
3468
  }
3325
- let C = Ln();
3326
- Hn(C, la);
3327
- let w = /* @__PURE__ */ new Set();
3328
- function T(e) {
3469
+ let w = Bn();
3470
+ Gn(w, Ma);
3471
+ let T = /* @__PURE__ */ new Set();
3472
+ function E(e) {
3329
3473
  for (let t of e) {
3330
- C.registerCustom(t, kr);
3331
- for (let e of qn(t, x)) w.has(e.id) || (w.add(e.id), X.warn(e.message));
3474
+ w.registerCustom(t, Qr);
3475
+ for (let e of gr(t, C)) T.has(e.id) || (T.add(e.id), X.warn(e.message));
3332
3476
  }
3333
3477
  }
3334
- r.customBlocks?.length && T(r.customBlocks);
3335
- let E = Sn();
3336
- if (o() && h(E.dispose), e.containerEl) {
3478
+ r.customBlocks?.length && E(r.customBlocks);
3479
+ let D = Tn();
3480
+ if (o() && h(D.dispose), e.containerEl) {
3337
3481
  let t = e.containerEl;
3338
3482
  G(document, "pointerdown", (e) => {
3339
3483
  let n = t.value;
3340
- n && (e.composedPath?.() ?? []).includes(n) && E.claim();
3484
+ n && (e.composedPath?.() ?? []).includes(n) && D.claim();
3341
3485
  }, { capture: !0 });
3342
3486
  }
3343
- function D() {
3487
+ function O() {
3344
3488
  let t = e.capabilities?.templates;
3345
3489
  if (t) {
3346
3490
  t.save();
3347
3491
  return;
3348
3492
  }
3349
- v?.flush();
3493
+ y?.flush();
3350
3494
  }
3351
- function O(t) {
3352
- E.isActive() && Yn(t, {
3353
- history: m,
3495
+ function k(t) {
3496
+ D.isActive() && vr(t, {
3497
+ history: g,
3354
3498
  selectBlock: (e) => n.selectBlock(e),
3355
3499
  getSelectedBlockId: () => n.state.selectedBlockId,
3356
3500
  removeBlock: (e) => n.removeBlock(e),
3357
- onSave: D,
3501
+ onSave: O,
3358
3502
  onBeforeUndo: e.keyboardOptions?.onBeforeUndo,
3359
3503
  isPicking: () => e.capabilities?.savedBlocks?.isPicking.value === !0,
3360
3504
  onConfirmPick: () => e.capabilities?.savedBlocks?.confirmPicking(),
3361
3505
  onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
3362
3506
  });
3363
3507
  }
3364
- G(document, "keydown", O);
3365
- let k = l(null);
3366
- c(dt, e.editorRoot ?? document), c(tt, k), c(rt, i), c(J, n), c(xt, m), c(ot, g), c(lt, _), c(at, a), c(Ge, p), c(Xe, d), c(gt, r.blockDefaults), c(yt, C), c(ut, r.customBlocks ?? []), c($e, r.paletteBlocks), c(wt, Un(r.htmlBlockPreview)), c(bt, x), c(_t, Rn(n.content, C));
3367
- let A = Se(r.mergeTags?.syntax);
3368
- c(K, r.mergeTags?.tags ?? []), c(pt, A), c(Qe, r.mergeTags?.onRequest ?? null), c(Je, r.mergeTags?.autocomplete !== !1);
3369
- let j = l(Pe(r.mergeTags?.tags ?? []));
3370
- c(et, j);
3371
- let M = wn({
3508
+ G(document, "keydown", k);
3509
+ let A = l(null);
3510
+ c(pt, e.editorRoot ?? document), c(rt, A), c(ot, i), c(J, n), c(Ct, g), c(ct, _), c(dt, v), c(st, a), c(Ke, m), c(at, f), c(vt, d), c(Qe, r.locale), c(xt, w), c(ft, r.customBlocks ?? []), c(tt, r.paletteBlocks), c(Et, Kn(r.htmlBlockPreview)), c(St, C), c(yt, Vn(n.content, w));
3511
+ let j = Se(r.mergeTags?.syntax);
3512
+ c(K, r.mergeTags?.tags ?? []), c(ht, j), c(et, r.mergeTags?.onRequest ?? null), c(Ye, r.mergeTags?.autocomplete !== !1);
3513
+ let M = l(Fe(r.mergeTags?.tags ?? []));
3514
+ c(nt, M);
3515
+ let N = Dn({
3372
3516
  resolvePreview: r.resolvePreview,
3373
3517
  getContent: () => n.content.value,
3374
3518
  isActive: () => n.state.previewMode
3375
3519
  });
3376
- c(Ye, M), c(Ze, r.resolvePreview);
3377
- let N = S(() => !(n.state.previewMode && M.isConfigured));
3378
- c(vt, N);
3379
- let P = Dn();
3380
- c(qe, P), c(Ke, r.logicTags?.tags ?? []), c(nt, r.logicTags?.pairs ?? []), c(We, r.logicTags?.onRequest ?? null), c(St, On()), c(ft, r.onRequestMedia ?? null), c(st, r.resolveImageUrl ? Tn(r.resolveImageUrl) : null), c(mt, r.displayConditions?.conditions ?? []), c(ht, r.displayConditions?.allowCustom ?? !1), c(ct, e.capabilities ?? {}), c(Ct, b);
3381
- let F = kn(r.lint) ? null : An({
3520
+ c(Xe, N), c($e, r.resolvePreview);
3521
+ let P = S(() => !(n.state.previewMode && N.isConfigured));
3522
+ c(bt, P);
3523
+ let F = An();
3524
+ c(Je, F), c(qe, r.logicTags?.tags ?? []), c(it, r.logicTags?.pairs ?? []), c(Ge, r.logicTags?.onRequest ?? null), c(wt, jn()), c(mt, r.onRequestMedia ?? null), c(lt, r.resolveImageUrl ? On(r.resolveImageUrl) : null), c(gt, r.displayConditions?.conditions ?? []), c(_t, r.displayConditions?.allowCustom ?? !1), c(ut, e.capabilities ?? {}), c(Tt, x);
3525
+ let I = Mn(r.lint) ? null : Nn({
3382
3526
  content: n.content,
3383
3527
  options: r.lint ?? {},
3384
3528
  updateBlock: n.updateBlock,
3385
3529
  updateSettings: n.updateSettings,
3386
3530
  removeBlock: n.removeBlock
3387
3531
  });
3388
- c(Tt, F);
3389
- function I() {
3390
- y?.(), F?.destroy(), v?.destroy(), m.destroy();
3532
+ c(Dt, I);
3533
+ function L() {
3534
+ b?.(), I?.destroy(), y?.destroy(), g.destroy();
3391
3535
  }
3392
3536
  return {
3393
3537
  t: s,
3394
3538
  format: u,
3395
- history: m,
3396
- blockActions: g,
3397
- conditionPreview: _,
3398
- autoSave: v,
3399
- resolvedTheme: d,
3400
- themeStyles: p,
3401
- themeOverrides: f,
3402
- registry: C,
3403
- keyboardReorder: b,
3404
- templateLint: F,
3405
- popoverRoot: k,
3406
- mergeTagSampleMode: j,
3407
- previewResolution: M,
3408
- appliesConditionFilter: N,
3409
- registerCustomBlocks: T,
3410
- destroy: I
3539
+ history: g,
3540
+ blockActions: _,
3541
+ conditionPreview: v,
3542
+ autoSave: y,
3543
+ resolvedTheme: f,
3544
+ themeStyles: m,
3545
+ themeOverrides: p,
3546
+ registry: w,
3547
+ keyboardReorder: x,
3548
+ templateLint: I,
3549
+ popoverRoot: A,
3550
+ mergeTagSampleMode: M,
3551
+ previewResolution: N,
3552
+ appliesConditionFilter: P,
3553
+ registerCustomBlocks: E,
3554
+ destroy: L
3411
3555
  };
3412
3556
  }
3413
3557
  //#endregion
3414
- export { Mn as A, tn as B, dr as C, nr as D, ir as E, _n as F, gn as I, mn as L, wn as M, yn as N, $n as O, vn as P, fn as R, gr as S, ar as T, Lr as _, Ui as a, br as b, ki as c, di as d, fi as f, zr as g, Zr as h, Ki as i, jn as j, Kn as k, Di as l, ti as m, ca as n, Ii as o, ui as p, Qi as r, Ni as s, ua as t, pi as u, jr as v, ur as w, vr as x, kr as y, ln as z };
3558
+ export { rr as A, Sn as B, Pr as C, Tr as D, Dr as E, sr as F, hn as G, bn as H, or as I, fn as K, Fn as L, ur as M, lr as N, Sr as O, cr as P, Pn as R, zr as S, Or as T, yn as U, xn as V, _n as W, oi as _, fa as a, Ur as b, Qi as c, Pi as d, Fi as f, ci as g, bi as h, ha as i, dr as j, hr as k, Xi as l, wi as m, ja as n, aa as o, Ni as p, an as q, xa as r, na as s, Na as t, Ii as u, ei as v, Nr as w, Vr as x, Qr as y, Dn as z };
3415
3559
 
3416
- //# sourceMappingURL=useEditorCore-BQeEwEQ9.js.map
3560
+ //# sourceMappingURL=useEditorCore-ChlgO2GN.js.map