@templatical/editor 0.31.0 → 0.33.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 (258) hide show
  1. package/dist/{AiChatSidebar-DYDtzTDd.js → AiChatSidebar-J7WsHRDS.js} +15 -15
  2. package/dist/{AiFeatureMenu-BJ882XCi.js → AiFeatureMenu-C9mxL_7U.js} +7 -7
  3. package/dist/{BlockIssueBadge-D6y8vQpL.js → BlockIssueBadge-BI6v_eol.js} +5 -5
  4. package/dist/{BlockPreviewCanvas-DQNxLy7u.js → BlockPreviewCanvas-mZIr9mY2.js} +20 -19
  5. package/dist/{CloudHeaderExtras-CqG3RaKw.js → CloudHeaderExtras-CLtTtK12.js} +5 -5
  6. package/dist/{CloudPanels-B6xrk7kN.js → CloudPanels-BbLAX1jH.js} +7 -7
  7. package/dist/{CollaboratorBar-by16gXQH.js → CollaboratorBar-OBbLOhLK.js} +4 -4
  8. package/dist/{ColorPicker-E5gqlCZE.js → ColorPicker-Cs7iK01u.js} +7 -7
  9. package/dist/{CommentsPanel-B_kzvTHR.js → CommentsPanel-G_uNzi1a.js} +2 -2
  10. package/dist/{CommentsSidebar-gfzUX7cd.js → CommentsSidebar-DlFlpfkU.js} +14 -14
  11. package/dist/{CountdownBlock-BgNK7fZY.js → CountdownBlock-Bdt8qZi1.js} +3 -3
  12. package/dist/{CountdownToolbar-DU8UHx9A.js → CountdownToolbar-BWLYViOm.js} +4 -4
  13. package/dist/{DesignReferenceSidebar-DgndMB4H.js → DesignReferenceSidebar-CK_xTLh2.js} +11 -11
  14. package/dist/{FieldRow-0-UbQR4a.js → FieldRow-BWt7ECqo.js} +1 -1
  15. package/dist/{IssuesPanel-DmJTb_SZ.js → IssuesPanel-DIbJ_jaa.js} +8 -8
  16. package/dist/{LoadingTrack-5KBr5cE8.js → LoadingTrack-SQXoZVf2.js} +1 -1
  17. package/dist/{MergeTagModeToggle-CZnJ2Gz_.js → MergeTagModeToggle-DeI65T5k.js} +6 -6
  18. package/dist/{MergeTagSuggestion-DyUcY_9e.js → MergeTagSuggestion-CoCuzEmW.js} +4 -4
  19. package/dist/{ParagraphEditor-CnB4kXle.js → ParagraphEditor-Dr-u72hu.js} +26 -26
  20. package/dist/{RestoreVersionDialog-BpOphPiE.js → RestoreVersionDialog-6sBYYt9f.js} +5 -5
  21. package/dist/{RichTextEditorContent-ChPNgHQ_.js → RichTextEditorContent-DKLVe6Io.js} +8 -8
  22. package/dist/{SaveBlockDialog-CKw4Va6j.js → SaveBlockDialog-DABN4-Jf.js} +25 -25
  23. package/dist/SavedBlocksBrowserModal-BoylzTEq.js +322 -0
  24. package/dist/{SavedBlocksPanels-ChV8bOgM.js → SavedBlocksPanels-2np4Yu1H.js} +2 -2
  25. package/dist/{SavedBlocksPickBar-BbEeD5RB.js → SavedBlocksPickBar-BM7aTSK2.js} +4 -4
  26. package/dist/{TemplateScoringPanel-De8BZpRU.js → TemplateScoringPanel-CzWoSM1V.js} +15 -15
  27. package/dist/{TestEmailModal-4d2pXeHU.js → TestEmailModal-Cb0n7Dhj.js} +11 -11
  28. package/dist/{TestEmailPanel-DEgCesNP.js → TestEmailPanel-52HjvuU7.js} +2 -2
  29. package/dist/{TitleEditor-89pmKLVY.js → TitleEditor-_taBpBfB.js} +13 -13
  30. package/dist/{TplModal-DswccJRJ.js → TplModal-CEYnwBBk.js} +5 -5
  31. package/dist/VersionHistoryMenu-CsGlLSO8.js +157 -0
  32. package/dist/{VersionHistoryPanels-CFLHDH9P.js → VersionHistoryPanels-DPmYk00L.js} +2 -2
  33. package/dist/{VersionPreviewBanner-DhG5RcRt.js → VersionPreviewBanner-VGJbEoXj.js} +3 -3
  34. package/dist/{blockTypeIcons-dpKs5GQc.js → blockTypeIcons-IhdBwbxp.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-DmYDRmvX.js → AiChatSidebar-6S5LPyRW.js} +9 -9
  38. package/dist/cdn/chunks/{AiChatSidebar-DmYDRmvX.js.map → AiChatSidebar-6S5LPyRW.js.map} +1 -1
  39. package/dist/cdn/chunks/{AiFeatureMenu-C0Rt08qb.js → AiFeatureMenu-BHCtjIfV.js} +6 -6
  40. package/dist/cdn/chunks/{AiFeatureMenu-C0Rt08qb.js.map → AiFeatureMenu-BHCtjIfV.js.map} +1 -1
  41. package/dist/cdn/chunks/{BlockIssueBadge-BBog2CMy.js → BlockIssueBadge-2-os120N.js} +5 -5
  42. package/dist/cdn/chunks/{BlockIssueBadge-BBog2CMy.js.map → BlockIssueBadge-2-os120N.js.map} +1 -1
  43. package/dist/cdn/chunks/{BlockPreviewCanvas-DNBjBKBI.js → BlockPreviewCanvas-CYNs-Yn-.js} +21 -20
  44. package/dist/cdn/chunks/BlockPreviewCanvas-CYNs-Yn-.js.map +1 -0
  45. package/dist/cdn/chunks/{CloudHeaderExtras-Ditfv7y9.js → CloudHeaderExtras-DrbFk6Fy.js} +5 -5
  46. package/dist/cdn/chunks/{CloudHeaderExtras-Ditfv7y9.js.map → CloudHeaderExtras-DrbFk6Fy.js.map} +1 -1
  47. package/dist/cdn/chunks/{CloudPanels-C4U5bJO6.js → CloudPanels-CpzYrAPQ.js} +7 -7
  48. package/dist/cdn/chunks/{CloudPanels-C4U5bJO6.js.map → CloudPanels-CpzYrAPQ.js.map} +1 -1
  49. package/dist/cdn/chunks/{CollaboratorBar-B79JR9NH.js → CollaboratorBar-VMTCYn_z.js} +5 -5
  50. package/dist/cdn/chunks/{CollaboratorBar-B79JR9NH.js.map → CollaboratorBar-VMTCYn_z.js.map} +1 -1
  51. package/dist/cdn/chunks/{ColorPicker-C-ZiwUV3.js → ColorPicker-B0l_UF8G.js} +7 -7
  52. package/dist/cdn/chunks/{ColorPicker-C-ZiwUV3.js.map → ColorPicker-B0l_UF8G.js.map} +1 -1
  53. package/dist/cdn/chunks/{CommentsPanel-D1Ke8PbO.js → CommentsPanel-CXMMdLrO.js} +3 -3
  54. package/dist/cdn/chunks/{CommentsPanel-D1Ke8PbO.js.map → CommentsPanel-CXMMdLrO.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsSidebar-B-UyhIZN.js → CommentsSidebar-CGkhAJUW.js} +5 -5
  56. package/dist/cdn/chunks/{CommentsSidebar-B-UyhIZN.js.map → CommentsSidebar-CGkhAJUW.js.map} +1 -1
  57. package/dist/cdn/chunks/{CountdownBlock-CWeJBC0L.js → CountdownBlock-CPe1ulzk.js} +4 -4
  58. package/dist/cdn/chunks/{CountdownBlock-CWeJBC0L.js.map → CountdownBlock-CPe1ulzk.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownToolbar-DyOHOu44.js → CountdownToolbar-D5xyNd5V.js} +5 -5
  60. package/dist/cdn/chunks/{CountdownToolbar-DyOHOu44.js.map → CountdownToolbar-D5xyNd5V.js.map} +1 -1
  61. package/dist/cdn/chunks/{DesignReferenceSidebar-BCCX1FtP.js → DesignReferenceSidebar-D1NH1WRv.js} +7 -7
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-BCCX1FtP.js.map → DesignReferenceSidebar-D1NH1WRv.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-3vD3ImHF.js → IssuesPanel-07SBSZVN.js} +6 -6
  66. package/dist/cdn/chunks/{IssuesPanel-3vD3ImHF.js.map → IssuesPanel-07SBSZVN.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-BU0SDRow.js → MergeTagModeToggle-Bg8eO5nc.js} +6 -6
  70. package/dist/cdn/chunks/{MergeTagModeToggle-BU0SDRow.js.map → MergeTagModeToggle-Bg8eO5nc.js.map} +1 -1
  71. package/dist/cdn/chunks/{MergeTagSuggestion-B9vL0VaG.js → MergeTagSuggestion-t8Uj00Er.js} +3 -3
  72. package/dist/cdn/chunks/{MergeTagSuggestion-B9vL0VaG.js.map → MergeTagSuggestion-t8Uj00Er.js.map} +1 -1
  73. package/dist/cdn/chunks/{ParagraphEditor-CSwIuvoF.js → ParagraphEditor-x2LTi6DN.js} +23 -23
  74. package/dist/cdn/chunks/{ParagraphEditor-CSwIuvoF.js.map → ParagraphEditor-x2LTi6DN.js.map} +1 -1
  75. package/dist/cdn/chunks/{RestoreVersionDialog-Bvg2WvJN.js → RestoreVersionDialog--SjTV0_4.js} +5 -5
  76. package/dist/cdn/chunks/{RestoreVersionDialog-Bvg2WvJN.js.map → RestoreVersionDialog--SjTV0_4.js.map} +1 -1
  77. package/dist/cdn/chunks/{RichTextEditorContent-DdkmEEpK.js → RichTextEditorContent-CzdMJ1c9.js} +7 -7
  78. package/dist/cdn/chunks/{RichTextEditorContent-DdkmEEpK.js.map → RichTextEditorContent-CzdMJ1c9.js.map} +1 -1
  79. package/dist/cdn/chunks/{SaveBlockDialog-D-QO3LuR.js → SaveBlockDialog-CS1lqdsQ.js} +9 -9
  80. package/dist/cdn/chunks/{SaveBlockDialog-D-QO3LuR.js.map → SaveBlockDialog-CS1lqdsQ.js.map} +1 -1
  81. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BRdN56r7.js → SavedBlocksBrowserModal-D6nDZ4rq.js} +110 -111
  82. package/dist/cdn/chunks/SavedBlocksBrowserModal-D6nDZ4rq.js.map +1 -0
  83. package/dist/cdn/chunks/{SavedBlocksPanels-D9GTlLgb.js → SavedBlocksPanels-DdkwvYRR.js} +3 -3
  84. package/dist/cdn/chunks/{SavedBlocksPanels-D9GTlLgb.js.map → SavedBlocksPanels-DdkwvYRR.js.map} +1 -1
  85. package/dist/cdn/chunks/{SavedBlocksPickBar-DSRcUeIo.js → SavedBlocksPickBar-BLQr_6WM.js} +5 -5
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-DSRcUeIo.js.map → SavedBlocksPickBar-BLQr_6WM.js.map} +1 -1
  87. package/dist/cdn/chunks/{TemplateScoringPanel-Dy5oOVhB.js → TemplateScoringPanel-CDC-JC6C.js} +50 -50
  88. package/dist/cdn/chunks/{TemplateScoringPanel-Dy5oOVhB.js.map → TemplateScoringPanel-CDC-JC6C.js.map} +1 -1
  89. package/dist/cdn/chunks/{TestEmailModal-B4L2lmIV.js → TestEmailModal-B2LcU11Y.js} +10 -10
  90. package/dist/cdn/chunks/{TestEmailModal-B4L2lmIV.js.map → TestEmailModal-B2LcU11Y.js.map} +1 -1
  91. package/dist/cdn/chunks/{TestEmailPanel-cTPgEf-D.js → TestEmailPanel-ByqDSx8B.js} +3 -3
  92. package/dist/cdn/chunks/{TestEmailPanel-cTPgEf-D.js.map → TestEmailPanel-ByqDSx8B.js.map} +1 -1
  93. package/dist/cdn/chunks/{TitleEditor-BKjL2Zs1.js → TitleEditor-DCoulgN8.js} +13 -13
  94. package/dist/cdn/chunks/{TitleEditor-BKjL2Zs1.js.map → TitleEditor-DCoulgN8.js.map} +1 -1
  95. package/dist/cdn/chunks/{TplModal-DxrgNmt9.js → TplModal-CxQDl-tN.js} +5 -5
  96. package/dist/cdn/chunks/{TplModal-DxrgNmt9.js.map → TplModal-CxQDl-tN.js.map} +1 -1
  97. package/dist/cdn/chunks/VersionHistoryMenu-BOy8aMB6.js +150 -0
  98. package/dist/cdn/chunks/VersionHistoryMenu-BOy8aMB6.js.map +1 -0
  99. package/dist/cdn/chunks/{VersionHistoryPanels-CxIFBJsz.js → VersionHistoryPanels-BPLhzW9c.js} +3 -3
  100. package/dist/cdn/chunks/{VersionHistoryPanels-CxIFBJsz.js.map → VersionHistoryPanels-BPLhzW9c.js.map} +1 -1
  101. package/dist/cdn/chunks/{VersionPreviewBanner-CdsZvVYF.js → VersionPreviewBanner-CYC9qP2i.js} +4 -4
  102. package/dist/cdn/chunks/{VersionPreviewBanner-CdsZvVYF.js.map → VersionPreviewBanner-CYC9qP2i.js.map} +1 -1
  103. package/dist/cdn/chunks/{blockTypeIcons-DXPd_hd1.js → blockTypeIcons-ZEzEpCti.js} +2 -2
  104. package/dist/cdn/chunks/{blockTypeIcons-DXPd_hd1.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-DwIXvrb0.js → createCloudRuntime-CbSqoOba.js} +10 -10
  110. package/dist/cdn/chunks/{createCloudRuntime-DwIXvrb0.js.map → createCloudRuntime-CbSqoOba.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-C87Z6_23.js → extensions-CeP0iOPC.js} +7 -7
  125. package/dist/cdn/chunks/{extensions-C87Z6_23.js.map → extensions-CeP0iOPC.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/{fr-DNXmZWAq.js → cdn/chunks/fr-L8DR73mK.js} +7 -0
  129. package/dist/cdn/chunks/fr-L8DR73mK.js.map +1 -0
  130. package/dist/cdn/chunks/{icons-ciivb5BS.js → icons-SP5Itd-A.js} +9 -9
  131. package/dist/cdn/chunks/icons-SP5Itd-A.js.map +1 -0
  132. package/dist/cdn/chunks/keys-O8clwJ41.js +12 -0
  133. package/dist/cdn/chunks/keys-O8clwJ41.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-Cf0ohOog.js → src-C1lP5sIe.js} +19 -19
  145. package/dist/cdn/chunks/src-C1lP5sIe.js.map +1 -0
  146. package/dist/cdn/chunks/{src-BD60gqPW.js → src-CLoCCDfs.js} +26 -26
  147. package/dist/cdn/chunks/{src-BD60gqPW.js.map → src-CLoCCDfs.js.map} +1 -1
  148. package/dist/cdn/chunks/{src-Bid3cmHa.js → src-Cxl-9O-L.js} +699 -684
  149. package/dist/cdn/chunks/src-Cxl-9O-L.js.map +1 -0
  150. package/dist/cdn/chunks/{tiptap-Ey0FpaX7.js → tiptap-Epe8m3Vo.js} +2636 -2629
  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-ZBEJvkf4.js} +3 -3
  155. package/dist/cdn/chunks/{useCloudI18n-D0AoLV0a.js.map → useCloudI18n-ZBEJvkf4.js.map} +1 -1
  156. package/dist/cdn/chunks/{useEditorCore-CTNB2Mkl.js → useEditorCore-CZxGbZmY.js} +591 -413
  157. package/dist/cdn/chunks/useEditorCore-CZxGbZmY.js.map +1 -0
  158. package/dist/cdn/chunks/useEditorRoot-DVV-EsNI.js +10 -0
  159. package/dist/cdn/chunks/{useEditorRoot-BFGRBGts.js.map → useEditorRoot-DVV-EsNI.js.map} +1 -1
  160. package/dist/cdn/chunks/{useI18n-DIhawILp.js → useI18n-DCbvHv6W.js} +3 -3
  161. package/dist/cdn/chunks/{useI18n-DIhawILp.js.map → useI18n-DCbvHv6W.js.map} +1 -1
  162. package/dist/cdn/chunks/{useMergeTag-lWo7So18.js → useMergeTag-CbuagYNK.js} +4 -4
  163. package/dist/cdn/chunks/{useMergeTag-lWo7So18.js.map → useMergeTag-CbuagYNK.js.map} +1 -1
  164. package/dist/cdn/chunks/{usePopoverPosition-DkiTLnBm.js → usePopoverPosition-Ozg5iU3y.js} +3 -3
  165. package/dist/cdn/chunks/{usePopoverPosition-DkiTLnBm.js.map → usePopoverPosition-Ozg5iU3y.js.map} +1 -1
  166. package/dist/cdn/chunks/{useScrollToBlock-KcSAuXKz.js → useScrollToBlock-CrUCYsIc.js} +3 -3
  167. package/dist/cdn/chunks/{useScrollToBlock-KcSAuXKz.js.map → useScrollToBlock-CrUCYsIc.js.map} +1 -1
  168. package/dist/cdn/editor.css +1 -1
  169. package/dist/cdn/editor.js +1191 -1181
  170. package/dist/cdn/editor.js.map +1 -1
  171. package/dist/{check-80E6ZGin.js → check-JK8Uacq0.js} +1 -1
  172. package/dist/{chevron-down-BmkLsn2c.js → chevron-down-a-fb_Ijn.js} +1 -1
  173. package/dist/{chevron-up-DJSAzlUU.js → chevron-up-x4l0et_Y.js} +1 -1
  174. package/dist/{circle-alert-BsCfZryY.js → circle-alert-CJDW5LZo.js} +1 -1
  175. package/dist/{clock-BcLIngSK.js → clock-BW6rXk2f.js} +1 -1
  176. package/dist/{cloud-DwJ8ebNl.js → cloud-BMzRKCbk.js} +3 -3
  177. package/dist/{createCloudRuntime-CdXQdl34.js → createCloudRuntime-j6a9Z-vL.js} +8 -8
  178. package/dist/{createLucideIcon-eeetEgBb.js → createLucideIcon-Bvw1Zx56.js} +3 -3
  179. package/dist/{cdn/chunks/de-DbayqpK-.js → de-C6J2Iae8.js} +5 -2
  180. package/dist/{dist-BFcAowKZ.js → dist-BxFbxpgW.js} +5 -5
  181. package/dist/{dist-Do83S47T.js → dist-ByT5fgKq.js} +2 -2
  182. package/dist/{dist-CQ9T1yi-.js → dist-C1tsW_99.js} +2 -2
  183. package/dist/{dist-Cd0LvUlh.js → dist-CtF9STPS.js} +2 -2
  184. package/dist/{dist-CvW1nNzy.js → dist-CtMXAH7a.js} +2 -2
  185. package/dist/dist-D08oVYhr.js +5 -0
  186. package/dist/{dist-prgdllHG.js → dist-D7WY8VPq.js} +2 -2
  187. package/dist/{dist-D8MekYFl.js → dist-DC-3T0ED.js} +2 -2
  188. package/dist/{dist-BC1y_U2m.js → dist-DL9334yz.js} +1418 -1411
  189. package/dist/{dist-BkAVGSRr.js → dist-DkcA6epL.js} +7 -7
  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-CWC5t5J3.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-BYImwYeO.js → extensions-5xeZR9U9.js} +21 -21
  198. package/dist/formatAbsoluteDateTime-DMmop3C-.js +13 -0
  199. package/dist/{cdn/chunks/fr-DNXmZWAq.js → fr-L8DR73mK.js} +5 -2
  200. package/dist/{image-up-BfxY85ar.js → image-up-CuzFc1mu.js} +1 -1
  201. package/dist/index.d.ts +41 -0
  202. package/dist/{info-LX4QFBr6.js → info-DybAwcA3.js} +1 -1
  203. package/dist/keys-BJJ4hJ4z.js +10 -0
  204. package/dist/{liquid.browser-CJgDDvQz.js → liquid.browser-wPG0n4Cs.js} +3 -3
  205. package/dist/{loader-circle-Bwima0v8.js → loader-circle-t-SVgmJ3.js} +1 -1
  206. package/dist/{message-circle-Box-mf2k.js → message-circle-DtwKrlhN.js} +1 -1
  207. package/dist/{cdn/chunks/nl-BylRRHYJ.js → nl-GDWeuX18.js} +5 -2
  208. package/dist/{pencil-BM9gSq_J.js → pencil-2qhC-Y4q.js} +1 -1
  209. package/dist/{preRenderCustomBlocks-2KyBJocY.js → preRenderCustomBlocks-CSIF-HyJ.js} +1 -1
  210. package/dist/{pt-BR-BVoJhpie.js → pt-BR-B1AVVhWj.js} +5 -0
  211. package/dist/{refresh-cw-BuzFX0wH.js → refresh-cw-C8SBuPdg.js} +1 -1
  212. package/dist/{runtime-dom.esm-bundler-Co_SPqAz.js → runtime-dom.esm-bundler-BuG03jBM.js} +3 -3
  213. package/dist/{scan-line-Duq1WXoG.js → scan-line-E7w4yQyv.js} +1 -1
  214. package/dist/{send-DZ4nOnIA.js → send-BoqJliF6.js} +1 -1
  215. package/dist/{shield-check-Cz4BRYdv.js → shield-check-D0dMaHtE.js} +1 -1
  216. package/dist/{sparkles-DP8RqOeL.js → sparkles-Dy2BJjiX.js} +1 -1
  217. package/dist/style.css +1 -1
  218. package/dist/templatical-editor.js +1031 -1022
  219. package/dist/{text-align-start-D7tXhjUP.js → text-align-start-DrxjxvIy.js} +1 -1
  220. package/dist/{trash-2-BS7lZeyb.js → trash-rYMzzHZd.js} +2 -2
  221. package/dist/{triangle-alert-Cx4mQGjx.js → triangle-alert-DxnFj4-B.js} +1 -1
  222. package/dist/{upload-L8tLVM10.js → upload-DZu1adQz.js} +1 -1
  223. package/dist/{useAliveFlag-AFbwfHlJ.js → useAliveFlag-PVmp95MT.js} +1 -1
  224. package/dist/{useCloudI18n-BA69BpQ_.js → useCloudI18n-DaKcDMDz.js} +2 -2
  225. package/dist/{useEditorCore-CtR46sbJ.js → useEditorCore-BWrxHVKW.js} +1246 -1067
  226. package/dist/{useEditorRoot-Cdo8Vhxa.js → useEditorRoot-E-oxHaEI.js} +2 -2
  227. package/dist/{useI18n-B135ASaG.js → useI18n-DUVIAju4.js} +2 -2
  228. package/dist/{useMergeTag-Cx36rtrt.js → useMergeTag-CuZZeiSE.js} +3 -3
  229. package/dist/{usePopoverPosition-DAOHr_iM.js → usePopoverPosition-APlWgXoQ.js} +2 -2
  230. package/dist/{useScrollToBlock-tndC8vKo.js → useScrollToBlock--AzCOzlg.js} +3 -3
  231. package/dist/{vue.runtime.esm-bundler-BhOUdXMi.js → vue.runtime.esm-bundler-D9JUcKrV.js} +4 -4
  232. package/dist/{x-ChIQ7HwK.js → x-DJOd1hS4.js} +1 -1
  233. package/package.json +23 -23
  234. package/dist/SavedBlocksBrowserModal-SST-7EMK.js +0 -323
  235. package/dist/VersionHistoryMenu-DBxSJR1k.js +0 -155
  236. package/dist/cdn/chunks/BlockPreviewCanvas-DNBjBKBI.js.map +0 -1
  237. package/dist/cdn/chunks/SavedBlocksBrowserModal-BRdN56r7.js.map +0 -1
  238. package/dist/cdn/chunks/VersionHistoryMenu-CMqZFUHE.js +0 -148
  239. package/dist/cdn/chunks/VersionHistoryMenu-CMqZFUHE.js.map +0 -1
  240. package/dist/cdn/chunks/ca-DZSrLNXK.js.map +0 -1
  241. package/dist/cdn/chunks/de-DbayqpK-.js.map +0 -1
  242. package/dist/cdn/chunks/en-BzFt4b80.js +0 -2
  243. package/dist/cdn/chunks/en-l0ib5X0f.js.map +0 -1
  244. package/dist/cdn/chunks/es-CMQ-5PJP.js.map +0 -1
  245. package/dist/cdn/chunks/fr-DNXmZWAq.js.map +0 -1
  246. package/dist/cdn/chunks/icons-ciivb5BS.js.map +0 -1
  247. package/dist/cdn/chunks/keys-BJ770Mwm.js +0 -12
  248. package/dist/cdn/chunks/keys-BJ770Mwm.js.map +0 -1
  249. package/dist/cdn/chunks/nl-BylRRHYJ.js.map +0 -1
  250. package/dist/cdn/chunks/pt-BR-BVoJhpie.js.map +0 -1
  251. package/dist/cdn/chunks/src-Bid3cmHa.js.map +0 -1
  252. package/dist/cdn/chunks/src-Cf0ohOog.js.map +0 -1
  253. package/dist/cdn/chunks/tiptap-Ey0FpaX7.js.map +0 -1
  254. package/dist/cdn/chunks/useEditorCore-CTNB2Mkl.js.map +0 -1
  255. package/dist/cdn/chunks/useEditorRoot-BFGRBGts.js +0 -10
  256. package/dist/dist-BQqIUwvB.js +0 -5
  257. package/dist/dist-waDcdb1l.js +0 -5
  258. 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 K, H as Ze, I as Qe, K as $e, M as et, N as tt, O as nt, P as rt, S as it, T as q, U as at, V as ot, W as st, _ as ct, a as lt, b as ut, c as dt, d as ft, f as pt, g as mt, h as J, j as ht, k as gt, m as _t, n as vt, o as yt, p as bt, r as xt, s as St, u as Ct, v as wt, w as Tt, x as Et, y as Dt, z as Ot } from "./keys-O8clwJ41.js";
6
6
  import "./timeouts-DHPZQ0G3.js";
7
- import { t as Y } from "./useI18n-DIhawILp.js";
7
+ import { t as Y } from "./useI18n-DCbvHv6W.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-ciivb5BS.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 kt, i as At, o as jt, r as Z, t as Mt } from "./usePopoverPosition-Ozg5iU3y.js";
10
+ import { A as Nt, Bt as Pt, Et as Ft, H as It, Ot as Lt, Tt as Rt, X as zt, d as Bt, ft as Vt, ht as Ht, it as Ut, o as Wt, s as Gt, tt as Kt, u as qt, v as Jt, vt as Yt, zt as Xt } from "./icons-SP5Itd-A.js";
11
+ import { t as Zt } from "./LoadingTrack-Cm3TDKb3.js";
12
+ import { t as Qt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { t as $t } from "./useEditorRoot-DVV-EsNI.js";
14
+ import "./useCloudI18n-ZBEJvkf4.js";
15
+ import { t as en } from "./useMergeTag-CbuagYNK.js";
16
+ import { t as tn } from "./useAliveFlag-CT9gjvO_.js";
17
17
  //#region ../core/src/error-reporting.ts
18
- function Qt(e) {
18
+ function nn(e) {
19
19
  return e instanceof Error ? e : Error(String(e), { cause: e });
20
20
  }
21
- function $t(e, t) {
21
+ function rn(e, t) {
22
22
  try {
23
23
  t();
24
24
  } catch (t) {
25
- e?.(Qt(t));
25
+ e?.(nn(t));
26
26
  }
27
27
  }
28
28
  //#endregion
29
29
  //#region ../core/src/editor.ts
30
- function en(e) {
30
+ function an(e) {
31
31
  return e === "1" ? 1 : e === "3" ? 3 : 2;
32
32
  }
33
- function tn(e) {
33
+ function on(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 >= an(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 >= an(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
+ rn(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 sn = 50, cn = 300, ln = 1500;
278
+ function un(e) {
279
+ let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = sn } = 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
+ }, cn);
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
+ }, cn)
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
+ }, ln);
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 dn(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 fn(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(), dn(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(), dn(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 pn = 2e3;
395
+ function mn(e) {
396
+ let { content: t, isDirty: n, onChange: r, debounce: i = pn, 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 hn(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 gn(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 _n(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 vn(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
+ rn(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 yn = "templatical:saved-blocks";
590
+ function bn(e = {}) {
591
+ let t = e.key ?? yn;
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 xn(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
+ rn(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 Sn(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 = nn(t);
756
756
  throw e.onError?.(n), n;
757
757
  }
758
758
  function x(t) {
759
- $t(e.onError, t);
759
+ rn(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 Cn(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 wn = /* @__PURE__ */ new Set(), Q = 0, Tn = 0;
923
+ function En() {
924
+ let e = ++Tn;
925
+ return wn.add(e), Q === 0 && (Q = e), {
926
926
  id: e,
927
- isActive: () => bn.size <= 1 || $ === e,
927
+ isActive: () => wn.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 (wn.delete(e), Q === e) {
933
+ let e = Array.from(wn);
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 Dn = 500;
942
+ function On(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
+ }, Dn);
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 kn(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 An(e) {
1035
+ let r = n(ut, 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 jn() {
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 Mn() {
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 Nn(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 Pn(e) {
1129
+ let n = l([]), r = l(!1), i = l(!1), a = x(null), o = Nn(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 Fn(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 In(e, t, n = []) {
1174
+ if (e.type !== "custom") return Fn(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 Ln(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 ? In(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 Rn(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 zn = {
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 Bn({ 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(zn)) {
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 Vn() {
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 Hn(e, t) {
1377
1377
  return S(() => {
1378
- let n = zn(e.value.blocks);
1378
+ let n = Un(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 Un(e) {
1391
1391
  let t = /* @__PURE__ */ new Set();
1392
- return Bn(e, t), t;
1392
+ return Wn(e, t), t;
1393
1393
  }
1394
- function Bn(e, t) {
1394
+ function Wn(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) Wn(n, t);
1404
1404
  }
1405
1405
  }
1406
1406
  }
1407
1407
  //#endregion
1408
1408
  //#region src/utils/registerBuiltInBlocks.ts
1409
- var Vn = [
1409
+ var Gn = [
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 Kn(e, t) {
1464
+ for (let n of Gn) {
1465
1465
  let r = t[n.type];
1466
1466
  r && e.registerBuiltIn(n.type, {
1467
1467
  component: r,
@@ -1471,23 +1471,55 @@ function Hn(e, t) {
1471
1471
  }
1472
1472
  //#endregion
1473
1473
  //#region src/utils/resolveHtmlBlockPreview.ts
1474
- function Un(e) {
1474
+ function qn(e) {
1475
1475
  return typeof e == "boolean" ? e : e?.enabled ?? !1;
1476
1476
  }
1477
1477
  //#endregion
1478
+ //#region src/utils/templateSettingsFields.ts
1479
+ var Jn = {
1480
+ width: "layout",
1481
+ backgroundColor: "appearance",
1482
+ textColor: "appearance",
1483
+ linkColor: "appearance",
1484
+ linkUnderline: "appearance",
1485
+ fontFamily: "appearance",
1486
+ locale: "language",
1487
+ preheaderText: "preheader"
1488
+ }, Yn = Object.keys(Jn);
1489
+ function Xn(e) {
1490
+ return Object.prototype.hasOwnProperty.call(Jn, e);
1491
+ }
1492
+ function Zn(e) {
1493
+ let t = e?.fields;
1494
+ if (t === void 0 || t === !0) return {
1495
+ fields: new Set(Yn),
1496
+ unknown: []
1497
+ };
1498
+ if (t === !1) return {
1499
+ fields: /* @__PURE__ */ new Set(),
1500
+ unknown: []
1501
+ };
1502
+ let n = /* @__PURE__ */ new Set(), r = [];
1503
+ for (let e of t) Xn(e) ? n.add(e) : r.push(String(e));
1504
+ return {
1505
+ fields: n,
1506
+ unknown: r
1507
+ };
1508
+ }
1509
+ //#endregion
1478
1510
  //#region src/utils/collectOffPaletteDefaults.ts
1479
- function Wn(e) {
1511
+ function Qn(e) {
1480
1512
  return typeof e == "object" && !!e && !Array.isArray(e);
1481
1513
  }
1482
- function Gn(e, t, n) {
1514
+ function $n(e, t, n) {
1483
1515
  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}`);
1516
+ 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
1517
  }, o = t;
1486
- for (let [e, t] of Object.entries(Ie)) {
1518
+ for (let [e, t] of Object.entries(Le)) {
1487
1519
  let n = o?.[e];
1488
1520
  a({
1489
1521
  ...t,
1490
- ...Wn(n) ? n : {}
1522
+ ...Qn(n) ? n : {}
1491
1523
  }, e);
1492
1524
  }
1493
1525
  return a({
@@ -1496,9 +1528,153 @@ function Gn(e, t, n) {
1496
1528
  }, "template"), i;
1497
1529
  }
1498
1530
  //#endregion
1531
+ //#region src/utils/localizedBlockDefaults.ts
1532
+ function er(e) {
1533
+ return {
1534
+ title: { content: `<p>${e.blockDefaults.title}</p>` },
1535
+ paragraph: { content: `<p>${e.blockDefaults.paragraph}</p>` },
1536
+ button: { text: e.blockDefaults.button }
1537
+ };
1538
+ }
1539
+ //#endregion
1540
+ //#region src/i18n/index.ts
1541
+ var tr = /* #__PURE__ */ Object.assign({
1542
+ "./locales/ca.ts": () => import("./ca-C0hfqt4U.js"),
1543
+ "./locales/de.ts": () => import("./de-C6J2Iae8.js"),
1544
+ "./locales/en.ts": () => import("./en-BaUYOQi8.js"),
1545
+ "./locales/es.ts": () => import("./es-CKDYfJYn.js"),
1546
+ "./locales/fr.ts": () => import("./fr-L8DR73mK.js"),
1547
+ "./locales/nl.ts": () => import("./nl-GDWeuX18.js"),
1548
+ "./locales/pt-BR.ts": () => import("./pt-BR-B1AVVhWj.js")
1549
+ }), nr = /* #__PURE__ */ Object.assign({
1550
+ "./locales/cloud/de.ts": () => import("./de-BytZwgn6.js"),
1551
+ "./locales/cloud/en.ts": () => import("./en-DyOSV0lY.js"),
1552
+ "./locales/cloud/pt-BR.ts": () => import("./pt-BR-C1WLSGDh.js")
1553
+ });
1554
+ function rr(e) {
1555
+ return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
1556
+ }
1557
+ var ir = rr(tr), ar = rr(nr);
1558
+ function or(e) {
1559
+ return e.trim().replace(/_/g, "-").toLowerCase();
1560
+ }
1561
+ function sr(e, t) {
1562
+ let n = or(e);
1563
+ return t.find((e) => or(e) === n);
1564
+ }
1565
+ function cr(e) {
1566
+ return or(e).split("-")[0];
1567
+ }
1568
+ function lr(e, t) {
1569
+ return sr(e, t) ?? sr(cr(e), t);
1570
+ }
1571
+ function ur(e, t) {
1572
+ return lr(e, t) ?? "en";
1573
+ }
1574
+ async function dr(e) {
1575
+ let t = tr[`./locales/${ur(e, ir)}.ts`];
1576
+ return (await t()).default;
1577
+ }
1578
+ async function fr(e) {
1579
+ let t = nr[`./locales/cloud/${ur(e, ar)}.ts`];
1580
+ return (await t()).default;
1581
+ }
1582
+ function pr(e) {
1583
+ return lr(e, ir) !== void 0;
1584
+ }
1585
+ function mr(e) {
1586
+ return lr(e, ar) !== void 0;
1587
+ }
1588
+ function hr() {
1589
+ return [...ir];
1590
+ }
1591
+ function gr() {
1592
+ return [...ar];
1593
+ }
1594
+ //#endregion
1595
+ //#region src/i18n/contentDefaults.ts
1596
+ var $ = {
1597
+ en: {
1598
+ video: "Video",
1599
+ days: "Days",
1600
+ hours: "Hours",
1601
+ minutes: "Minutes",
1602
+ seconds: "Seconds",
1603
+ expired: "This offer has expired"
1604
+ },
1605
+ de: {
1606
+ video: "Video",
1607
+ days: "Tage",
1608
+ hours: "Stunden",
1609
+ minutes: "Minuten",
1610
+ seconds: "Sekunden",
1611
+ expired: "Dieses Angebot ist abgelaufen"
1612
+ },
1613
+ es: {
1614
+ video: "Vídeo",
1615
+ days: "Días",
1616
+ hours: "Horas",
1617
+ minutes: "Minutos",
1618
+ seconds: "Segundos",
1619
+ expired: "Esta oferta ha expirado"
1620
+ },
1621
+ fr: {
1622
+ video: "Vidéo",
1623
+ days: "Jours",
1624
+ hours: "Heures",
1625
+ minutes: "Minutes",
1626
+ seconds: "Secondes",
1627
+ expired: "Cette offre a expiré"
1628
+ },
1629
+ nl: {
1630
+ video: "Video",
1631
+ days: "Dagen",
1632
+ hours: "Uren",
1633
+ minutes: "Minuten",
1634
+ seconds: "Seconden",
1635
+ expired: "Deze aanbieding is verlopen"
1636
+ },
1637
+ "pt-BR": {
1638
+ video: "Vídeo",
1639
+ days: "Dias",
1640
+ hours: "Horas",
1641
+ minutes: "Minutos",
1642
+ seconds: "Segundos",
1643
+ expired: "Esta oferta expirou"
1644
+ },
1645
+ ca: {
1646
+ video: "Vídeo",
1647
+ days: "Dies",
1648
+ hours: "Hores",
1649
+ minutes: "Minuts",
1650
+ seconds: "Segons",
1651
+ expired: "Aquesta oferta ha caducat"
1652
+ }
1653
+ }, _r = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
1654
+ function vr(e) {
1655
+ if (!e) return $.en;
1656
+ let t = e.trim().replace(/_/g, "-").toLowerCase(), n = _r.get(t);
1657
+ if (n) return $[n];
1658
+ let r = _r.get(cr(t));
1659
+ return r ? $[r] : $.en;
1660
+ }
1661
+ function yr(e) {
1662
+ let t = vr(e);
1663
+ return {
1664
+ video: { alt: t.video },
1665
+ countdown: {
1666
+ labelDays: t.days,
1667
+ labelHours: t.hours,
1668
+ labelMinutes: t.minutes,
1669
+ labelSeconds: t.seconds,
1670
+ expiredMessage: t.expired
1671
+ }
1672
+ };
1673
+ }
1674
+ //#endregion
1499
1675
  //#region src/utils/resolveFieldColors.ts
1500
- function Kn(e, t) {
1501
- let n = Ot({ presets: e.presets }, Et), r = n.presets.length === 0;
1676
+ function br(e, t) {
1677
+ let n = jt({ presets: e.presets }, kt), r = n.presets.length === 0;
1502
1678
  return {
1503
1679
  presets: r ? t.presets : n.presets,
1504
1680
  allowCustom: t.allowCustom === !1 ? !1 : e.allowCustom ?? t.allowCustom,
@@ -1510,9 +1686,9 @@ function Kn(e, t) {
1510
1686
  }
1511
1687
  //#endregion
1512
1688
  //#region src/utils/collectColorFieldIssues.ts
1513
- function qn(e, t) {
1689
+ function xr(e, t) {
1514
1690
  let n = [], r = (r, i) => {
1515
- let a = Kn(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
1691
+ let a = br(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
1516
1692
  if (a.invalidPresets.length > 0 && n.push({
1517
1693
  id: s("invalid-presets"),
1518
1694
  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 +1712,7 @@ function qn(e, t) {
1536
1712
  }
1537
1713
  //#endregion
1538
1714
  //#region src/utils/keyboardShortcuts.ts
1539
- function Jn(e) {
1715
+ function Sr(e) {
1540
1716
  for (let t of e.composedPath()) {
1541
1717
  if (!(t instanceof HTMLElement)) continue;
1542
1718
  if (t.isContentEditable) return !0;
@@ -1545,18 +1721,18 @@ function Jn(e) {
1545
1721
  }
1546
1722
  return !1;
1547
1723
  }
1548
- function Yn(e, t) {
1724
+ function Cr(e, t) {
1549
1725
  let n = e.metaKey || e.ctrlKey;
1550
1726
  if (n && e.key.toLowerCase() === "s") {
1551
1727
  e.preventDefault(), t.onSave?.();
1552
1728
  return;
1553
1729
  }
1554
1730
  if (n && e.key.toLowerCase() === "z") {
1555
- if (Jn(e)) return;
1731
+ if (Sr(e)) return;
1556
1732
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
1557
1733
  return;
1558
1734
  }
1559
- if (t.isPicking?.() && !Jn(e)) {
1735
+ if (t.isPicking?.() && !Sr(e)) {
1560
1736
  if (e.key === "Escape") {
1561
1737
  e.preventDefault(), t.onCancelPick?.();
1562
1738
  return;
@@ -1574,11 +1750,11 @@ function Yn(e, t) {
1574
1750
  t.selectBlock(null);
1575
1751
  return;
1576
1752
  }
1577
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Jn(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1753
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Sr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
1578
1754
  }
1579
1755
  //#endregion
1580
1756
  //#region src/utils/mergeTagLabelSegments.ts
1581
- function Xn(e, t, n, r = !1) {
1757
+ function wr(e, t, n, r = !1) {
1582
1758
  if (!e) return [];
1583
1759
  let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
1584
1760
  for (; (s = i.exec(e)) !== null;) {
@@ -1588,7 +1764,7 @@ function Xn(e, t, n, r = !1) {
1588
1764
  });
1589
1765
  let i = s[0];
1590
1766
  if (be(i, n)) {
1591
- let e = r ? Me(i, t) : void 0;
1767
+ let e = r ? Ne(i, t) : void 0;
1592
1768
  a.push(e === void 0 ? {
1593
1769
  type: "tag",
1594
1770
  value: ke(i, t)
@@ -1596,9 +1772,9 @@ function Xn(e, t, n, r = !1) {
1596
1772
  type: "text",
1597
1773
  value: e
1598
1774
  });
1599
- } else ve(i, n) ? a.push({
1775
+ } else ye(i, n) ? a.push({
1600
1776
  type: "tag",
1601
- value: ge(i, n)
1777
+ value: _e(i, n)
1602
1778
  }) : a.push({
1603
1779
  type: "text",
1604
1780
  value: i
@@ -1612,20 +1788,20 @@ function Xn(e, t, n, r = !1) {
1612
1788
  }
1613
1789
  //#endregion
1614
1790
  //#region src/components/MergeTagPreviewText.vue
1615
- var Zn = d({
1791
+ var Tr = d({
1616
1792
  name: "MergeTagPreviewText",
1617
1793
  props: { text: {
1618
1794
  type: String,
1619
1795
  required: !0
1620
1796
  } },
1621
1797
  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));
1798
+ let t = n(q, []), r = n(gt, je.liquid), i = n(K, null), a = S(() => wr(e.text, t, r, i?.value ?? !1));
1623
1799
  return () => a.value.map((e, t) => e.type === "tag" ? z("span", {
1624
1800
  key: t,
1625
1801
  class: "tpl-merge-tag-label"
1626
1802
  }, e.value) : e.value);
1627
1803
  }
1628
- }), Qn = ["href"], $n = /* @__PURE__ */ d({
1804
+ }), Er = ["href"], Dr = /* @__PURE__ */ d({
1629
1805
  __name: "ButtonBlock",
1630
1806
  props: {
1631
1807
  block: {},
@@ -1651,13 +1827,13 @@ var Zn = d({
1651
1827
  style: k(n.value),
1652
1828
  class: "tpl:cursor-default",
1653
1829
  onClick: i[0] ||= O(() => {}, ["prevent"])
1654
- }, [v(Zn, { text: e.block.text }, null, 8, ["text"])], 12, Qn)], 4));
1830
+ }, [v(Tr, { text: e.block.text }, null, 8, ["text"])], 12, Er)], 4));
1655
1831
  }
1656
- }), er = ["innerHTML"], tr = [
1832
+ }), Or = ["innerHTML"], kr = [
1657
1833
  "src",
1658
1834
  "width",
1659
1835
  "height"
1660
- ], nr = /* @__PURE__ */ d({
1836
+ ], Ar = /* @__PURE__ */ d({
1661
1837
  __name: "CustomBlockIcon",
1662
1838
  props: {
1663
1839
  icon: {},
@@ -1673,24 +1849,24 @@ var Zn = d({
1673
1849
  height: `${n.value}px`
1674
1850
  }),
1675
1851
  innerHTML: e.icon
1676
- }, null, 12, er)) : i.value ? (s(), C("img", {
1852
+ }, null, 12, Or)) : i.value ? (s(), C("img", {
1677
1853
  key: 1,
1678
1854
  src: e.icon,
1679
1855
  width: n.value,
1680
1856
  height: n.value,
1681
1857
  class: "tpl:inline-block",
1682
1858
  alt: ""
1683
- }, null, 8, tr)) : (s(), A(_(qt), {
1859
+ }, null, 8, kr)) : (s(), A(_(Xt), {
1684
1860
  key: 2,
1685
1861
  size: n.value,
1686
1862
  "stroke-width": 1.5
1687
1863
  }, null, 8, ["size"]));
1688
1864
  }
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;
1865
+ }), jr = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1866
+ function Mr(e, n) {
1867
+ let r = $t(), i = null, a = null, o = null;
1692
1868
  function s() {
1693
- return e.value ? Array.from(e.value.querySelectorAll(rr)).filter((e) => e.offsetParent !== null) : [];
1869
+ return e.value ? Array.from(e.value.querySelectorAll(jr)).filter((e) => e.offsetParent !== null) : [];
1694
1870
  }
1695
1871
  function c(e) {
1696
1872
  if (e.key !== "Tab") return;
@@ -1720,8 +1896,8 @@ function ir(e, n) {
1720
1896
  }
1721
1897
  //#endregion
1722
1898
  //#region src/composables/useEmoji.ts
1723
- function ar() {
1724
- let [e, n] = ze(!1), r = x([]), i = !1;
1899
+ function Nr() {
1900
+ let [e, n] = Be(!1), r = x([]), i = !1;
1725
1901
  h(() => {
1726
1902
  i = !0;
1727
1903
  }), t(e, async (e) => {
@@ -1746,7 +1922,7 @@ function ar() {
1746
1922
  }
1747
1923
  //#endregion
1748
1924
  //#region src/composables/useFonts.ts
1749
- var or = [
1925
+ var Pr = [
1750
1926
  {
1751
1927
  value: "Arial",
1752
1928
  label: "Arial"
@@ -1775,7 +1951,7 @@ var or = [
1775
1951
  value: "Courier New",
1776
1952
  label: "Courier New"
1777
1953
  }
1778
- ], sr = {
1954
+ ], Fr = {
1779
1955
  arial: "Arial, sans-serif",
1780
1956
  helvetica: "Helvetica, sans-serif",
1781
1957
  georgia: "Georgia, serif",
@@ -1783,23 +1959,23 @@ var or = [
1783
1959
  verdana: "Verdana, sans-serif",
1784
1960
  "trebuchet ms": "'Trebuchet MS', sans-serif",
1785
1961
  "courier new": "'Courier New', monospace"
1786
- }, cr = "Arial, sans-serif";
1787
- function lr(e) {
1788
- if (e === void 0 || e === !0) return [...or];
1962
+ }, Ir = "Arial, sans-serif";
1963
+ function Lr(e) {
1964
+ if (e === void 0 || e === !0) return [...Pr];
1789
1965
  if (e === !1) return [];
1790
1966
  let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
1791
1967
  for (let i of e) {
1792
- let e = i.toLowerCase(), a = or.find((t) => t.value.toLowerCase() === e);
1968
+ let e = i.toLowerCase(), a = Pr.find((t) => t.value.toLowerCase() === e);
1793
1969
  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(", ")}.`));
1970
+ r.has(e) || (r.add(e), X.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${Pr.map((e) => e.value).join(", ")}.`));
1795
1971
  continue;
1796
1972
  }
1797
1973
  n.has(a.value) || (n.add(a.value), t.push(a));
1798
1974
  }
1799
1975
  return t;
1800
1976
  }
1801
- function ur(e) {
1802
- let t = l(e?.customFonts ?? []), n = l(!1), r = lr(e?.builtIns), i = S(() => e?.defaultFallback ?? cr), a = S(() => {
1977
+ function Rr(e) {
1978
+ let t = l(e?.customFonts ?? []), n = l(!1), r = Lr(e?.builtIns), i = S(() => e?.defaultFallback ?? Ir), a = S(() => {
1803
1979
  let e = [...r], n = t.value.map((e) => ({
1804
1980
  value: e.name,
1805
1981
  label: e.name,
@@ -1810,20 +1986,20 @@ function ur(e) {
1810
1986
  function s(e) {
1811
1987
  return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1812
1988
  }
1813
- let c = e?.defaultFont ?? cr.split(",")[0].trim();
1989
+ let c = e?.defaultFont ?? Ir.split(",")[0].trim();
1814
1990
  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
1991
  function u() {
1816
1992
  if (e?.defaultFont && s(e.defaultFont)) {
1817
1993
  let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1818
1994
  if (t) return t.value;
1819
1995
  }
1820
- return cr;
1996
+ return Ir;
1821
1997
  }
1822
1998
  let d = S(() => u());
1823
1999
  function f(e) {
1824
2000
  if (!e) return i.value;
1825
2001
  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}`);
2002
+ return n ? `'${n.name}', ${n.fallback ?? i.value}` : Fr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1827
2003
  }
1828
2004
  let p = [], m = !1;
1829
2005
  async function g() {
@@ -1864,8 +2040,8 @@ function ur(e) {
1864
2040
  }
1865
2041
  //#endregion
1866
2042
  //#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;
2043
+ function zr() {
2044
+ let e = n(qe, []), t = n(it, []), r = n(gt, je.liquid), i = n(Ge, null), a = n(Tt, null), o = l(!1), s = !!i || e.length > 0 || t.length > 0, c = e.length > 0 || t.length > 0;
1869
2045
  async function u() {
1870
2046
  if (i) {
1871
2047
  o.value = !0;
@@ -1896,12 +2072,12 @@ function dr() {
1896
2072
  }
1897
2073
  //#endregion
1898
2074
  //#region src/utils/mergeTagNodeSpec.ts
1899
- function fr(e, t, n) {
1900
- return ve(e, n) ? {
2075
+ function Br(e, t, n) {
2076
+ return ye(e, n) ? {
1901
2077
  type: "logicMergeTagNode",
1902
2078
  attrs: {
1903
2079
  value: e,
1904
- keyword: ge(e, n)
2080
+ keyword: _e(e, n)
1905
2081
  }
1906
2082
  } : {
1907
2083
  type: "mergeTagNode",
@@ -1913,15 +2089,15 @@ function fr(e, t, n) {
1913
2089
  }
1914
2090
  //#endregion
1915
2091
  //#region src/utils/insertLogicTag.ts
1916
- function pr(e) {
2092
+ function Vr(e) {
1917
2093
  return "before" in e && "after" in e;
1918
2094
  }
1919
- function mr(e, t, n) {
1920
- if (!pr(t)) {
1921
- e.chain().focus().insertContent(fr(t.value, t.label, n)).run();
2095
+ function Hr(e, t, n) {
2096
+ if (!Vr(t)) {
2097
+ e.chain().focus().insertContent(Br(t.value, t.label, n)).run();
1922
2098
  return;
1923
2099
  }
1924
- let r = fr(t.before, t.label, n), i = fr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
2100
+ let r = Br(t.before, t.label, n), i = Br(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1925
2101
  if (a !== o) {
1926
2102
  e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
1927
2103
  return;
@@ -1930,20 +2106,20 @@ function mr(e, t, n) {
1930
2106
  }
1931
2107
  //#endregion
1932
2108
  //#region src/utils/linkColorExtension.ts
1933
- function hr(e) {
2109
+ function Ur(e) {
1934
2110
  if (!e) return null;
1935
2111
  let t = e.trim();
1936
2112
  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
2113
  }
1938
- function gr(e) {
2114
+ function Wr(e) {
1939
2115
  return e.extend({ addAttributes() {
1940
2116
  return {
1941
2117
  ...this.parent?.(),
1942
2118
  color: {
1943
2119
  default: null,
1944
- parseHTML: (e) => hr(Dt(e.style.color)),
2120
+ parseHTML: (e) => Ur(At(e.style.color)),
1945
2121
  renderHTML: (e) => {
1946
- let t = hr(e.color);
2122
+ let t = Ur(e.color);
1947
2123
  return t ? { style: `color: ${t}` } : {};
1948
2124
  }
1949
2125
  }
@@ -1952,9 +2128,9 @@ function gr(e) {
1952
2128
  }
1953
2129
  //#endregion
1954
2130
  //#region src/composables/useRichTextLinkDialog.ts
1955
- function _r(e) {
2131
+ function Gr(e) {
1956
2132
  let t = l(!1), n = l(""), r = l(""), i = l(null);
1957
- ir(i, t);
2133
+ Mr(i, t);
1958
2134
  function a() {
1959
2135
  let i = e.value?.getAttributes("link") ?? {};
1960
2136
  n.value = i.href || "", r.value = i.color || "", t.value = !0;
@@ -1963,7 +2139,7 @@ function _r(e) {
1963
2139
  if (n.value) {
1964
2140
  let t = c(n.value);
1965
2141
  if (t !== null) {
1966
- let n = hr(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
2142
+ let n = Ur(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1967
2143
  n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
1968
2144
  }
1969
2145
  }
@@ -2010,8 +2186,8 @@ function _r(e) {
2010
2186
  }
2011
2187
  //#endregion
2012
2188
  //#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;
2189
+ function Kr(r) {
2190
+ let i = n(J, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = en(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = zr(), h = n(Ze, 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 } = Gr(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
2191
  async function I() {
2016
2192
  P.value = null, M.value = !0;
2017
2193
  try {
@@ -2071,7 +2247,7 @@ function vr(r) {
2071
2247
  }
2072
2248
  async function V() {
2073
2249
  let e = await m();
2074
- F || (e && v.value ? mr(v.value, e, u) : v.value?.commands.focus());
2250
+ F || (e && v.value ? Hr(v.value, e, u) : v.value?.commands.focus());
2075
2251
  }
2076
2252
  return {
2077
2253
  editor: v,
@@ -2100,9 +2276,9 @@ function vr(r) {
2100
2276
  }
2101
2277
  //#endregion
2102
2278
  //#region src/composables/useSmallScreenNotice.ts
2103
- var yr = "(max-width: 767px)";
2104
- function br(e) {
2105
- let t = Ve(yr);
2279
+ var qr = "(max-width: 767px)";
2280
+ function Jr(e) {
2281
+ let t = He(qr);
2106
2282
  return {
2107
2283
  isSmallScreen: t,
2108
2284
  showNotice: S(() => (P(e) ?? !0) && t.value)
@@ -2110,20 +2286,20 @@ function br(e) {
2110
2286
  }
2111
2287
  //#endregion
2112
2288
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
2113
- var xr = { class: "tpl:w-full" }, Sr = {
2289
+ var Yr = { class: "tpl:w-full" }, Xr = {
2114
2290
  key: 0,
2115
2291
  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 = {
2292
+ }, Zr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Qr = {
2117
2293
  key: 1,
2118
2294
  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 = {
2295
+ }, $r = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ei = {
2120
2296
  key: 2,
2121
2297
  class: "tpl:relative"
2122
- }, Dr = ["innerHTML"], Or = {
2298
+ }, ti = ["innerHTML"], ni = {
2123
2299
  key: 0,
2124
2300
  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
2301
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
2126
- }, kr = /* @__PURE__ */ d({
2302
+ }, ri = /* @__PURE__ */ d({
2127
2303
  __name: "CustomBlock",
2128
2304
  props: {
2129
2305
  block: {},
@@ -2131,7 +2307,7 @@ var xr = { class: "tpl:w-full" }, Sr = {
2131
2307
  },
2132
2308
  emits: ["fetchData"],
2133
2309
  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({
2310
+ let i = e, a = r, { t: o } = Y(), c = n(St, 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 } = gn({
2135
2311
  definition: f,
2136
2312
  block: S(() => i.block),
2137
2313
  onUpdate: (e, t) => {
@@ -2140,10 +2316,10 @@ var xr = { class: "tpl:w-full" }, Sr = {
2140
2316
  dataSourceFetched: t
2141
2317
  });
2142
2318
  }
2143
- }), b = n(K, []), x = n(q, null), T = S(() => {
2319
+ }), b = n(q, []), x = n(K, null), T = S(() => {
2144
2320
  if (!x?.value) return i.block;
2145
2321
  let e = {};
2146
- for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? he(n, b) : n;
2322
+ for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? ge(n, b) : n;
2147
2323
  return {
2148
2324
  ...i.block,
2149
2325
  fieldValues: e
@@ -2160,17 +2336,17 @@ var xr = { class: "tpl:w-full" }, Sr = {
2160
2336
  }
2161
2337
  }
2162
2338
  }
2163
- let k = Re(D, 150);
2339
+ let k = ze(D, 150);
2164
2340
  return E(() => {
2165
2341
  D();
2166
2342
  }), t(() => i.block.fieldValues, () => {
2167
2343
  k();
2168
2344
  }, { deep: !0 }), t(() => x?.value, () => {
2169
2345
  k();
2170
- }), (e, t) => (s(), C("div", xr, [p.value ? d.value ? (s(), C("div", wr, [v(_(Wt), {
2346
+ }), (e, t) => (s(), C("div", Yr, [p.value ? d.value ? (s(), C("div", Qr, [v(_(qt), {
2171
2347
  size: 24,
2172
2348
  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, {
2349
+ }), M("span", $r, R(_(o).customBlocks.renderError), 1)])) : (s(), C("div", ei, [M("div", { innerHTML: u.value }, null, 8, ti), _(y) && _(g) ? (s(), C("div", ni, [_(m) ? (s(), A(Zt, {
2174
2350
  key: 1,
2175
2351
  class: "tpl:w-48"
2176
2352
  })) : (s(), C("button", {
@@ -2178,16 +2354,16 @@ var xr = { class: "tpl:w-full" }, Sr = {
2178
2354
  type: "button",
2179
2355
  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
2356
  onClick: t[0] ||= O((...e) => _(h) && _(h)(...e), ["stop"])
2181
- }, [f.value?.icon ? (s(), A(nr, {
2357
+ }, [f.value?.icon ? (s(), A(Ar, {
2182
2358
  key: 0,
2183
2359
  icon: f.value.icon,
2184
2360
  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), {
2361
+ }, null, 8, ["icon"])) : w("", !0), V(" " + R(f.value?.dataSource?.label || _(o).customBlocks.dataSource.fetchButton), 1)]))])) : w("", !0)])) : (s(), C("div", Xr, [v(_(It), {
2186
2362
  size: 24,
2187
2363
  class: "tpl:text-[var(--tpl-warning)]"
2188
- }), M("span", Cr, R(_(o).customBlocks.definitionNotFound), 1)]))]));
2364
+ }), M("span", Zr, R(_(o).customBlocks.definitionNotFound), 1)]))]));
2189
2365
  }
2190
- }), Ar = { class: "tpl:w-full" }, jr = /* @__PURE__ */ d({
2366
+ }), ii = { class: "tpl:w-full" }, ai = /* @__PURE__ */ d({
2191
2367
  __name: "DividerBlock",
2192
2368
  props: {
2193
2369
  block: {},
@@ -2199,28 +2375,28 @@ var xr = { class: "tpl:w-full" }, Sr = {
2199
2375
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
2200
2376
  margin: t.block.width === "full" ? "0" : "0 auto"
2201
2377
  }));
2202
- return (e, t) => (s(), C("div", Ar, [M("hr", {
2378
+ return (e, t) => (s(), C("div", ii, [M("hr", {
2203
2379
  class: "tpl:m-0 tpl:border-none",
2204
2380
  style: k(n.value)
2205
2381
  }, null, 4)]));
2206
2382
  }
2207
- }), Mr = { class: "tpl:w-full" }, Nr = ["srcdoc", "title"], Pr = {
2383
+ }), oi = { class: "tpl:w-full" }, si = ["srcdoc", "title"], ci = {
2208
2384
  key: 1,
2209
2385
  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 = {
2386
+ }, li = {
2211
2387
  key: 0,
2212
2388
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
2213
- }, Ir = {
2389
+ }, ui = {
2214
2390
  key: 1,
2215
2391
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
2216
- }, Lr = /* @__PURE__ */ d({
2392
+ }, di = /* @__PURE__ */ d({
2217
2393
  __name: "HtmlBlock",
2218
2394
  props: {
2219
2395
  block: {},
2220
2396
  viewport: {}
2221
2397
  },
2222
2398
  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;
2399
+ let i = r, { t: a } = Y(), o = n(Dt, !1), c = S(() => i.block.content.trim().length > 0), u = S(() => o && c.value), d = n(q, []), f = n(K, null), p = S(() => f?.value ? ge(i.block.content, d) : i.block.content), m = l(null), h = l(60), g = null;
2224
2400
  function y() {
2225
2401
  let e = m.value?.contentDocument;
2226
2402
  e && (h.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
@@ -2234,7 +2410,7 @@ var xr = { class: "tpl:w-full" }, Sr = {
2234
2410
  e || (g?.disconnect(), g = null);
2235
2411
  }), e(() => {
2236
2412
  g?.disconnect(), g = null;
2237
- }), (e, t) => (s(), C("div", Mr, [u.value ? (s(), C("iframe", {
2413
+ }), (e, t) => (s(), C("div", oi, [u.value ? (s(), C("iframe", {
2238
2414
  key: 0,
2239
2415
  ref_key: "iframeRef",
2240
2416
  ref: m,
@@ -2244,18 +2420,18 @@ var xr = { class: "tpl:w-full" }, Sr = {
2244
2420
  class: "tpl:block tpl:w-full tpl:border-0",
2245
2421
  style: k({ height: `${h.value}px` }),
2246
2422
  onLoad: b
2247
- }, null, 44, Nr)) : (s(), C("div", Pr, [v(_(Pt), {
2423
+ }, null, 44, si)) : (s(), C("div", ci, [v(_(Lt), {
2248
2424
  size: 24,
2249
2425
  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))]))]));
2426
+ }), c.value ? (s(), C("span", li, R(_(a).html.preview), 1)) : (s(), C("span", ui, R(_(a).html.empty), 1))]))]));
2251
2427
  }
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, {
2428
+ }), fi = "image/";
2429
+ function pi(e) {
2430
+ let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } = We(t, {
2255
2431
  preventDefaultForUnhandled: !0,
2256
2432
  onDrop: (e) => {
2257
2433
  if (!i()) return;
2258
- let t = (e ?? []).filter((e) => e.type.startsWith(Rr));
2434
+ let t = (e ?? []).filter((e) => e.type.startsWith(fi));
2259
2435
  t.length > 0 && n([t[0]]);
2260
2436
  }
2261
2437
  });
@@ -2263,17 +2439,17 @@ function zr(e) {
2263
2439
  }
2264
2440
  //#endregion
2265
2441
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
2266
- var Br = {
2442
+ var mi = {
2267
2443
  key: 0,
2268
2444
  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
2445
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
2270
- }, Vr = ["href"], Hr = ["src", "alt"], Ur = ["src", "alt"], Wr = {
2446
+ }, hi = ["href"], gi = ["src", "alt"], _i = ["src", "alt"], vi = {
2271
2447
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
2272
2448
  style: { opacity: "0.7" }
2273
- }, Gr = ["href"], Kr = ["src", "alt"], qr = ["src", "alt"], Jr = {
2449
+ }, yi = ["href"], bi = ["src", "alt"], xi = ["src", "alt"], Si = {
2274
2450
  key: 4,
2275
2451
  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({
2452
+ }, Ci = ["aria-label"], wi = { key: 1 }, Ti = /* @__PURE__ */ d({
2277
2453
  __name: "ImageBlock",
2278
2454
  props: {
2279
2455
  block: {},
@@ -2281,7 +2457,7 @@ var Br = {
2281
2457
  },
2282
2458
  emits: ["update"],
2283
2459
  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();
2460
+ let r = e, i = t, { t: a } = Y(), { syntax: o } = en(), c = n(ht, null), u = S(() => !!c), d = tn();
2285
2461
  async function f() {
2286
2462
  let e = await c?.({ accept: ["images"] });
2287
2463
  if (d.alive && e) {
@@ -2308,7 +2484,7 @@ var Br = {
2308
2484
  }
2309
2485
  }
2310
2486
  }
2311
- let { isOver: y } = zr({
2487
+ let { isOver: y } = pi({
2312
2488
  target: p,
2313
2489
  enabled: h,
2314
2490
  onFiles: g
@@ -2323,18 +2499,18 @@ var Br = {
2323
2499
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
2324
2500
  marginRight: e === "center" ? "auto" : void 0
2325
2501
  };
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);
2502
+ }), T = S(() => U(r.block.src, o)), E = An(() => T.value ? void 0 : r.block.src), D = An(() => T.value ? r.block.placeholderUrl : void 0);
2327
2503
  return (t, n) => (s(), C("div", {
2328
2504
  ref_key: "dropZoneRef",
2329
2505
  ref: p,
2330
2506
  "data-testid": "image-drop-zone",
2331
2507
  class: "tpl:relative tpl:w-full",
2332
2508
  style: k(b.value)
2333
- }, [h.value && (_(y) || m.value) ? (s(), C("div", Br, [m.value ? (s(), C(L, { key: 0 }, [v(_(Bt), {
2509
+ }, [h.value && (_(y) || m.value) ? (s(), C("div", mi, [m.value ? (s(), C(L, { key: 0 }, [v(_(Ut), {
2334
2510
  class: "tpl-spinner",
2335
2511
  size: 20,
2336
2512
  "stroke-width": 2
2337
- }), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(Ht), {
2513
+ }), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(Gt), {
2338
2514
  size: 20,
2339
2515
  "stroke-width": 1.5
2340
2516
  }), 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 +2525,22 @@ var Br = {
2349
2525
  src: _(D),
2350
2526
  alt: e.block.alt || _(a).image.altTextPlaceholder,
2351
2527
  style: k(x.value)
2352
- }, null, 12, Hr)], 8, Vr)) : (s(), C("img", {
2528
+ }, null, 12, gi)], 8, hi)) : (s(), C("img", {
2353
2529
  key: 1,
2354
2530
  class: "tpl:border-0",
2355
2531
  src: _(D),
2356
2532
  alt: e.block.alt,
2357
2533
  style: k(x.value)
2358
- }, null, 12, Ur))], 64)) : e.block.src && T.value ? (s(), C("div", {
2534
+ }, null, 12, _i))], 64)) : e.block.src && T.value ? (s(), C("div", {
2359
2535
  key: 2,
2360
2536
  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
2537
  style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, x.value])
2362
- }, [v(_(Rt), {
2538
+ }, [v(_(Vt), {
2363
2539
  size: 32,
2364
2540
  "stroke-width": 1.5,
2365
2541
  class: "tpl:text-[var(--tpl-primary)]",
2366
2542
  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", {
2543
+ }), M("span", vi, [v(Tr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), C(L, { key: 3 }, [e.block.linkUrl ? (s(), C("a", {
2368
2544
  key: 0,
2369
2545
  href: e.block.linkUrl,
2370
2546
  target: "_blank",
@@ -2376,26 +2552,26 @@ var Br = {
2376
2552
  src: _(E),
2377
2553
  alt: e.block.alt || _(a).image.altTextPlaceholder,
2378
2554
  style: k(x.value)
2379
- }, null, 12, Kr)], 8, Gr)) : (s(), C("img", {
2555
+ }, null, 12, bi)], 8, yi)) : (s(), C("img", {
2380
2556
  key: 1,
2381
2557
  class: "tpl:border-0",
2382
2558
  src: _(E),
2383
2559
  alt: e.block.alt,
2384
2560
  style: k(x.value)
2385
- }, null, 12, qr))], 64)) : (s(), C("div", Jr, [u.value ? (s(), C("button", {
2561
+ }, null, 12, xi))], 64)) : (s(), C("div", Si, [u.value ? (s(), C("button", {
2386
2562
  key: 0,
2387
2563
  "aria-label": _(a).image.browseMedia,
2388
2564
  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
2565
  onClick: O(f, ["stop"])
2390
- }, [v(_(Rt), {
2566
+ }, [v(_(Vt), {
2391
2567
  size: 14,
2392
2568
  "stroke-width": 1.5
2393
- }), V(" " + R(_(a).image.browseMedia), 1)], 8, Yr)) : (s(), C("span", Xr, R(_(a).image.clickToAdd), 1))]))], 4));
2569
+ }), V(" " + R(_(a).image.browseMedia), 1)], 8, Ci)) : (s(), C("span", wi, R(_(a).image.clickToAdd), 1))]))], 4));
2394
2570
  }
2395
- }), Qr = { class: "tpl:w-full" }, $r = ["href"], ei = {
2571
+ }), Ei = { class: "tpl:w-full" }, Di = ["href"], Oi = {
2396
2572
  key: 1,
2397
2573
  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({
2574
+ }, ki = /* @__PURE__ */ d({
2399
2575
  __name: "MenuBlock",
2400
2576
  props: {
2401
2577
  block: {},
@@ -2414,7 +2590,7 @@ var Br = {
2414
2590
  function o(e) {
2415
2591
  return e || t.block.linkColor || t.block.color;
2416
2592
  }
2417
- return (t, c) => (s(), C("div", Qr, [a.value ? (s(), C("div", {
2593
+ return (t, c) => (s(), C("div", Ei, [a.value ? (s(), C("div", {
2418
2594
  key: 0,
2419
2595
  style: k(i.value)
2420
2596
  }, [(s(!0), C(L, null, r(e.block.items, (t, n) => (s(), C(L, { key: t.id }, [M("a", {
@@ -2426,15 +2602,15 @@ var Br = {
2426
2602
  textDecoration: t.underline ? "underline" : "none"
2427
2603
  }),
2428
2604
  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", {
2605
+ }, [v(Tr, { text: t.text || "..." }, null, 8, ["text"])], 12, Di), n < e.block.items.length - 1 ? (s(), C("span", {
2430
2606
  key: 0,
2431
2607
  style: k({
2432
2608
  color: e.block.separatorColor,
2433
2609
  padding: `0 ${e.block.spacing}px`
2434
2610
  })
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)]))]));
2611
+ }, R(e.block.separator), 5)) : w("", !0)], 64))), 128))], 4)) : (s(), C("div", Oi, [v(_(zt), { size: 16 }), M("span", null, R(_(n).menu.addLinks), 1)]))]));
2436
2612
  }
2437
- }), ni = /* @__PURE__ */ new Set([
2613
+ }), Ai = /* @__PURE__ */ new Set([
2438
2614
  "http",
2439
2615
  "https",
2440
2616
  "mailto",
@@ -2444,7 +2620,7 @@ var Br = {
2444
2620
  "sms",
2445
2621
  "xmpp",
2446
2622
  "cid"
2447
- ]), ri = /* @__PURE__ */ new Set([
2623
+ ]), ji = /* @__PURE__ */ new Set([
2448
2624
  "SCRIPT",
2449
2625
  "STYLE",
2450
2626
  "IFRAME",
@@ -2454,7 +2630,7 @@ var Br = {
2454
2630
  "META",
2455
2631
  "BASE",
2456
2632
  "FORM"
2457
- ]), ii = /* @__PURE__ */ new Set([
2633
+ ]), Mi = /* @__PURE__ */ new Set([
2458
2634
  "href",
2459
2635
  "xlink:href",
2460
2636
  "formaction",
@@ -2463,16 +2639,16 @@ var Br = {
2463
2639
  "background",
2464
2640
  "poster"
2465
2641
  ]);
2466
- function ai(e, t) {
2642
+ function Ni(e, t) {
2467
2643
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
2468
2644
  if (!n || n.startsWith("#")) return !0;
2469
2645
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
2470
2646
  if (!r) return !0;
2471
2647
  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;
2648
+ return Ai.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
2473
2649
  }
2474
- function oi(e) {
2475
- if (ri.has(e.tagName)) {
2650
+ function Pi(e) {
2651
+ if (ji.has(e.tagName)) {
2476
2652
  e.remove();
2477
2653
  return;
2478
2654
  }
@@ -2484,29 +2660,29 @@ function oi(e) {
2484
2660
  e.removeAttribute(n);
2485
2661
  continue;
2486
2662
  }
2487
- if (ii.has(t)) {
2488
- ai(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2663
+ if (Mi.has(t)) {
2664
+ Ni(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2489
2665
  continue;
2490
2666
  }
2491
2667
  if (t === "src") {
2492
- ai(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2668
+ Ni(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2493
2669
  continue;
2494
2670
  }
2495
2671
  t === "srcdoc" && e.removeAttribute(n);
2496
2672
  }
2497
2673
  let n = Array.from(e.children);
2498
- for (let e of n) oi(e);
2674
+ for (let e of n) Pi(e);
2499
2675
  }
2500
- function si(e) {
2676
+ function Fi(e) {
2501
2677
  if (typeof DOMParser > "u") return e;
2502
2678
  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);
2679
+ for (let e of n) Pi(e);
2504
2680
  return t.innerHTML;
2505
2681
  }
2506
2682
  //#endregion
2507
2683
  //#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({
2684
+ function Ii(e) {
2685
+ let t = n(q, []), r = n(K, null), { syntax: i } = en(), a = S(() => r?.value ? xe(e(), t) : Ee(e(), t)), o = S(() => Fi(Ae(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Ue(c), { toLocal: f } = Mt(), p = S(() => f({
2510
2686
  top: u.value - 8,
2511
2687
  left: d.value
2512
2688
  }));
@@ -2527,14 +2703,14 @@ function ci(e) {
2527
2703
  }
2528
2704
  //#endregion
2529
2705
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
2530
- var li = ["innerHTML"], ui = /* @__PURE__ */ d({
2706
+ var Li = ["innerHTML"], Ri = /* @__PURE__ */ d({
2531
2707
  __name: "ParagraphBlock",
2532
2708
  props: {
2533
2709
  block: {},
2534
2710
  viewport: {}
2535
2711
  },
2536
2712
  setup(e) {
2537
- let t = e, n = B(() => import("./ParagraphEditor-CSwIuvoF.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content);
2713
+ let t = e, n = B(() => import("./ParagraphEditor-x2LTi6DN.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = Ii(() => t.block.content);
2538
2714
  return (t, u) => (s(), C("div", {
2539
2715
  ref_key: "blockRef",
2540
2716
  ref: i,
@@ -2553,54 +2729,54 @@ var li = ["innerHTML"], ui = /* @__PURE__ */ d({
2553
2729
  key: 1,
2554
2730
  class: "tpl-text-content tpl:outline-none",
2555
2731
  innerHTML: _(o)
2556
- }, null, 8, li))], 544));
2732
+ }, null, 8, Li))], 544));
2557
2733
  }
2558
2734
  });
2559
2735
  //#endregion
2560
2736
  //#region src/utils/blockComponentResolver.ts
2561
- function di(e) {
2737
+ function zi(e) {
2562
2738
  let t = { fontFamily: e.fontFamily };
2563
2739
  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
2740
  }
2565
- function fi(e, t, n) {
2741
+ function Bi(e, t, n) {
2566
2742
  if (t) {
2567
2743
  let n = t.getComponent(e);
2568
2744
  if (n) return n;
2569
2745
  }
2570
2746
  return n[e.type] ?? null;
2571
2747
  }
2572
- function pi(e) {
2748
+ function Vi(e) {
2573
2749
  let { padding: t, backgroundColor: n } = e.styles, r = {
2574
2750
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
2575
2751
  backgroundColor: n || "transparent"
2576
2752
  };
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;
2753
+ 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
2754
  }
2579
- function mi(e) {
2755
+ function Hi(e) {
2580
2756
  if (e.type !== "section" || !e.wrapper) return null;
2581
2757
  let t = e.wrapper, n = {};
2582
2758
  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
2759
  }
2584
2760
  //#endregion
2585
2761
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
2586
- var hi = [
2762
+ var Ui = [
2587
2763
  "data-block-id",
2588
2764
  "data-block-type",
2589
2765
  "data-tpl-picked"
2590
- ], gi = ["aria-label"], _i = [
2766
+ ], Wi = ["aria-label"], Gi = [
2591
2767
  "aria-label",
2592
2768
  "aria-pressed",
2593
2769
  "title"
2594
- ], vi = ["aria-label", "title"], yi = ["aria-label", "title"], bi = ["aria-label", "title"], xi = {
2770
+ ], Ki = ["aria-label", "title"], qi = ["aria-label", "title"], Ji = ["aria-label", "title"], Yi = {
2595
2771
  key: 1,
2596
2772
  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 = {
2773
+ }, Xi = { 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)]" }, Zi = {
2598
2774
  key: 2,
2599
2775
  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 = {
2776
+ }, Qi = ["aria-label", "title"], $i = {
2601
2777
  key: 3,
2602
2778
  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({
2779
+ }, ea = ["aria-label"], ta = /*#__PURE__*/ Qt(/* @__PURE__ */ d({
2604
2780
  __name: "BlockWrapper",
2605
2781
  props: {
2606
2782
  block: {},
@@ -2612,7 +2788,7 @@ var hi = [
2612
2788
  },
2613
2789
  emits: ["select"],
2614
2790
  setup(e, { emit: t }) {
2615
- let r = B(() => import("./BlockIssueBadge-BBog2CMy.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);
2791
+ let r = B(() => import("./BlockIssueBadge-2-os120N.js")), i = e, o = t, { t: c, format: u } = Y(), d = n(Et, 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
2792
  async function h() {
2617
2793
  await D(), f.value?.focus();
2618
2794
  }
@@ -2638,7 +2814,7 @@ var hi = [
2638
2814
  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
2815
  desktop: c.viewport.desktop,
2640
2816
  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));
2817
+ }[i.viewport] ?? i.viewport : ""), E = S(() => !!i.block.displayCondition), A = n(lt, null), j = n(ft, null), N = n(dt, {}), 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(() => Vi(i.block)), ee = S(() => Hi(i.block));
2642
2818
  function te(e) {
2643
2819
  i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
2644
2820
  }
@@ -2683,61 +2859,61 @@ var hi = [
2683
2859
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
2684
2860
  title: _(c).blockActions.drag,
2685
2861
  onKeydown: g
2686
- }, [v(_(zt), {
2862
+ }, [v(_(Ht), {
2687
2863
  size: 14,
2688
2864
  "stroke-width": 1.5
2689
- })], 40, _i),
2865
+ })], 40, Gi),
2690
2866
  M("button", {
2691
2867
  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
2868
  "aria-label": _(c).blockActions.duplicate,
2693
2869
  title: _(c).blockActions.duplicate,
2694
2870
  onClick: O(re, ["stop"])
2695
- }, [v(_(Mt), {
2871
+ }, [v(_(Ft), {
2696
2872
  size: 14,
2697
2873
  "stroke-width": 1.5
2698
- })], 8, vi),
2874
+ })], 8, Ki),
2699
2875
  F.value ? (s(), C("button", {
2700
2876
  key: 0,
2701
2877
  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
2878
  "aria-label": _(c).blockActions.saveAsBlock,
2703
2879
  title: _(c).blockActions.saveAsBlock,
2704
2880
  onClick: O(ie, ["stop"])
2705
- }, [v(_(jt), {
2881
+ }, [v(_(Pt), {
2706
2882
  size: 14,
2707
2883
  "stroke-width": 1.5
2708
- })], 8, yi)) : w("", !0),
2884
+ })], 8, qi)) : w("", !0),
2709
2885
  M("button", {
2710
2886
  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
2887
  "aria-label": _(c).blockActions.delete,
2712
2888
  title: _(c).blockActions.delete,
2713
2889
  onClick: O(ne, ["stop"])
2714
- }, [v(_(Lt), {
2890
+ }, [v(_(Bt), {
2715
2891
  size: 14,
2716
2892
  "stroke-width": 1.5
2717
- })], 8, bi)
2718
- ], 8, gi)) : w("", !0),
2719
- y.value ? (s(), C("div", xi, [M("span", Si, [v(_(Ft), {
2893
+ })], 8, Ji)
2894
+ ], 8, Wi)) : w("", !0),
2895
+ y.value ? (s(), C("div", Yi, [M("span", Xi, [v(_(Rt), {
2720
2896
  size: 12,
2721
2897
  "stroke-width": 1.5
2722
2898
  }), V(" " + R(_(u)(_(c).blockActions.hiddenOnViewport, { viewport: T.value })), 1)])])) : w("", !0),
2723
- E.value && !y.value ? (s(), C("div", Ci, [M("button", {
2899
+ E.value && !y.value ? (s(), C("div", Zi, [M("button", {
2724
2900
  "data-testid": "condition-toggle",
2725
2901
  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
2902
  "aria-label": _(c).blockActions.conditionToggle,
2727
2903
  title: e.block.displayCondition?.label,
2728
2904
  onClick: O(ae, ["stop"])
2729
- }, [v(_(Kt), {
2905
+ }, [v(_(Yt), {
2730
2906
  size: 12,
2731
2907
  "stroke-width": 2
2732
- })], 8, wi)])) : w("", !0),
2733
- L.value > 0 && !y.value ? (s(), C("div", Ti, [M("button", {
2908
+ })], 8, Qi)])) : w("", !0),
2909
+ L.value > 0 && !y.value ? (s(), C("div", $i, [M("button", {
2734
2910
  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
2911
  "aria-label": _(u)(_(c).blockActions.comments, { count: String(L.value) }),
2736
2912
  onClick: n[0] ||= O((t) => _(N).comments?.openForBlock(e.block.id), ["stop"])
2737
- }, [v(_(Ut), {
2913
+ }, [v(_(Kt), {
2738
2914
  size: 12,
2739
2915
  "stroke-width": 2.5
2740
- }), V(" " + R(L.value), 1)], 8, Ei)])) : w("", !0),
2916
+ }), V(" " + R(L.value), 1)], 8, ea)])) : w("", !0),
2741
2917
  ee.value ? (s(), C("div", {
2742
2918
  key: 4,
2743
2919
  class: "tpl-section-wrapper",
@@ -2750,31 +2926,31 @@ var hi = [
2750
2926
  class: "tpl-block-content",
2751
2927
  style: k(z.value)
2752
2928
  }, [a(t.$slots, "default", {}, void 0, !0)], 4))
2753
- ], 10, hi));
2929
+ ], 10, Ui));
2754
2930
  }
2755
2931
  }), [["__scopeId", "data-v-2c239048"]]);
2756
2932
  //#endregion
2757
2933
  //#region src/utils/unwrapParagraph.ts
2758
- function Oi(e) {
2934
+ function na(e) {
2759
2935
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
2760
2936
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
2761
2937
  }
2762
2938
  //#endregion
2763
2939
  //#region src/components/blocks/TitleBlock.vue
2764
- var ki = /* @__PURE__ */ d({
2940
+ var ra = /* @__PURE__ */ d({
2765
2941
  __name: "TitleBlock",
2766
2942
  props: {
2767
2943
  block: {},
2768
2944
  viewport: {}
2769
2945
  },
2770
2946
  setup(e) {
2771
- let t = e, n = B(() => import("./TitleEditor-BKjL2Zs1.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content), d = S(() => {
2947
+ let t = e, n = B(() => import("./TitleEditor-DCoulgN8.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = Ii(() => t.block.content), d = S(() => {
2772
2948
  let e = {
2773
- fontSize: `${Ne[t.block.level]}px`,
2949
+ fontSize: `${Oe[t.block.level]}px`,
2774
2950
  textAlign: t.block.textAlign
2775
2951
  };
2776
2952
  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));
2953
+ }), f = S(() => `h${t.block.level}`), p = S(() => na(o.value));
2778
2954
  return (t, o) => (s(), C("div", {
2779
2955
  ref_key: "blockRef",
2780
2956
  ref: i,
@@ -2800,16 +2976,16 @@ var ki = /* @__PURE__ */ d({
2800
2976
  });
2801
2977
  //#endregion
2802
2978
  //#region src/utils/sectionColumnDrop.ts
2803
- function Ai(e) {
2979
+ function ia(e) {
2804
2980
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
2805
2981
  }
2806
2982
  //#endregion
2807
2983
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
2808
- var ji = { class: "tpl:w-full" }, Mi = {
2984
+ var aa = { class: "tpl:w-full" }, oa = {
2809
2985
  key: 0,
2810
2986
  "data-testid": "section-drop-hint",
2811
2987
  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({
2988
+ }, sa = /* @__PURE__ */ d({
2813
2989
  __name: "SectionBlock",
2814
2990
  props: {
2815
2991
  block: {},
@@ -2817,13 +2993,13 @@ var ji = { class: "tpl:w-full" }, Mi = {
2817
2993
  },
2818
2994
  setup(e) {
2819
2995
  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);
2996
+ title: ra,
2997
+ paragraph: Ri,
2998
+ image: Ti,
2999
+ button: Dr,
3000
+ divider: ai,
3001
+ custom: ri
3002
+ }, a = e, { t: o } = Y(), c = $e(J, "SectionBlock"), l = n(ft, null), d = n(St, null), p = n(dt, {}), m = n(xt, null);
2827
3003
  function h(e) {
2828
3004
  let t = p.savedBlocks;
2829
3005
  if (t?.isPicking.value) {
@@ -2858,7 +3034,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2858
3034
  r[e] = n, c.updateBlock(a.block.id, { children: r });
2859
3035
  }
2860
3036
  function D(e) {
2861
- return fi(e, d, t);
3037
+ return Bi(e, d, t);
2862
3038
  }
2863
3039
  function O(e, t) {
2864
3040
  e.type === "custom" && c.updateBlock(e.id, {
@@ -2866,7 +3042,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2866
3042
  dataSourceFetched: t.dataSourceFetched
2867
3043
  });
2868
3044
  }
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", {
3045
+ return (t, n) => (s(), C("div", aa, [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
3046
  key: n,
2871
3047
  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
3048
  style: k({ width: x.value ? "100%" : g.value[n] })
@@ -2875,7 +3051,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2875
3051
  group: {
2876
3052
  name: "blocks",
2877
3053
  pull: !0,
2878
- put: (e, t, n) => _(Ai)(n)
3054
+ put: (e, t, n) => _(ia)(n)
2879
3055
  },
2880
3056
  animation: 150,
2881
3057
  "ghost-class": "tpl-ghost",
@@ -2888,7 +3064,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2888
3064
  class: "tpl:min-h-[60px]",
2889
3065
  "onUpdate:modelValue": (e) => E(n, e)
2890
3066
  }, {
2891
- default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(Di, {
3067
+ default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(ta, {
2892
3068
  block: t,
2893
3069
  "is-selected": _(c).state.selectedBlockId === t.id,
2894
3070
  viewport: e.viewport,
@@ -2920,13 +3096,13 @@ var ji = { class: "tpl:w-full" }, Mi = {
2920
3096
  "model-value",
2921
3097
  "group",
2922
3098
  "onUpdate:modelValue"
2923
- ]), T(n).length === 0 ? (s(), C("div", Mi, [M("span", null, R(_(o).section.dropHere), 1)])) : w("", !0)], 6))), 128))], 2)]));
3099
+ ]), T(n).length === 0 ? (s(), C("div", oa, [M("span", null, R(_(o).section.dropHere), 1)])) : w("", !0)], 6))), 128))], 2)]));
2924
3100
  }
2925
- }), Pi = ye, Fi = {
3101
+ }), ca = Pe, la = {
2926
3102
  small: 24,
2927
3103
  medium: 32,
2928
3104
  large: 48
2929
- }, Ii = [
3105
+ }, ua = [
2930
3106
  "facebook",
2931
3107
  "twitter",
2932
3108
  "instagram",
@@ -2944,11 +3120,11 @@ var ji = { class: "tpl:w-full" }, Mi = {
2944
3120
  "github",
2945
3121
  "dribbble",
2946
3122
  "behance"
2947
- ], Li = [
3123
+ ], da = [
2948
3124
  "width",
2949
3125
  "height",
2950
3126
  "fill"
2951
- ], Ri = ["d"], zi = /* @__PURE__ */ d({
3127
+ ], fa = ["d"], pa = /* @__PURE__ */ d({
2952
3128
  __name: "SocialIconSvg",
2953
3129
  props: {
2954
3130
  platform: {},
@@ -2956,7 +3132,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
2956
3132
  iconSize: {}
2957
3133
  },
2958
3134
  setup(e) {
2959
- let t = e, n = S(() => Pi[t.platform]), r = S(() => Fi[t.iconSize]), i = S(() => {
3135
+ let t = e, n = S(() => ca[t.platform]), r = S(() => la[t.iconSize]), i = S(() => {
2960
3136
  let e = {
2961
3137
  display: "inline-flex",
2962
3138
  alignItems: "center",
@@ -3000,12 +3176,12 @@ var ji = { class: "tpl:w-full" }, Mi = {
3000
3176
  viewBox: "0 0 24 24",
3001
3177
  fill: o.value,
3002
3178
  xmlns: "http://www.w3.org/2000/svg"
3003
- }, [M("path", { d: n.value.path }, null, 8, Ri)], 8, Li))], 4));
3179
+ }, [M("path", { d: n.value.path }, null, 8, fa)], 8, da))], 4));
3004
3180
  }
3005
- }), Bi = { class: "tpl:w-full" }, Vi = ["href"], Hi = {
3181
+ }), ma = { class: "tpl:w-full" }, ha = ["href"], ga = {
3006
3182
  key: 1,
3007
3183
  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({
3184
+ }, _a = /* @__PURE__ */ d({
3009
3185
  __name: "SocialIconsBlock",
3010
3186
  props: {
3011
3187
  block: {},
@@ -3018,7 +3194,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3018
3194
  gap: `${t.block.spacing}px`,
3019
3195
  justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
3020
3196
  })), a = S(() => t.block.icons.length > 0);
3021
- return (t, o) => (s(), C("div", Bi, [a.value ? (s(), C("div", {
3197
+ return (t, o) => (s(), C("div", ma, [a.value ? (s(), C("div", {
3022
3198
  key: 0,
3023
3199
  style: k(i.value)
3024
3200
  }, [(s(!0), C(L, null, r(e.block.icons, (t) => (s(), C("a", {
@@ -3026,7 +3202,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3026
3202
  href: t.url || "#",
3027
3203
  class: "tpl:cursor-default",
3028
3204
  onClick: o[0] ||= O(() => {}, ["prevent"])
3029
- }, [v(zi, {
3205
+ }, [v(pa, {
3030
3206
  platform: t.platform,
3031
3207
  "icon-style": e.block.iconStyle,
3032
3208
  "icon-size": e.block.iconSize
@@ -3034,44 +3210,44 @@ var ji = { class: "tpl:w-full" }, Mi = {
3034
3210
  "platform",
3035
3211
  "icon-style",
3036
3212
  "icon-size"
3037
- ])], 8, Vi))), 128))], 4)) : (s(), C("div", Hi, [v(_(At), { size: 16 }), M("span", null, R(_(n).social.addIcons), 1)]))]));
3213
+ ])], 8, ha))), 128))], 4)) : (s(), C("div", ga, [v(_(Nt), { size: 16 }), M("span", null, R(_(n).social.addIcons), 1)]))]));
3038
3214
  }
3039
- }), Wi = { class: "tpl:w-full" }, Gi = {
3215
+ }), va = { class: "tpl:w-full" }, ya = {
3040
3216
  key: 0,
3041
3217
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3042
3218
  style: {
3043
3219
  "background-color": "var(--tpl-bg-hover)",
3044
3220
  color: "var(--tpl-text-dim)"
3045
3221
  }
3046
- }, Ki = /* @__PURE__ */ d({
3222
+ }, ba = /* @__PURE__ */ d({
3047
3223
  __name: "SpacerBlock",
3048
3224
  props: {
3049
3225
  block: {},
3050
3226
  viewport: {}
3051
3227
  },
3052
3228
  setup(e) {
3053
- let t = e, n = it(J, "SpacerBlock"), r = S(() => ({
3229
+ let t = e, n = $e(J, "SpacerBlock"), r = S(() => ({
3054
3230
  height: `${t.block.height}px`,
3055
3231
  minHeight: `${t.block.height}px`,
3056
3232
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3057
3233
  }));
3058
- return (t, i) => (s(), C("div", Wi, [M("div", {
3234
+ return (t, i) => (s(), C("div", va, [M("div", {
3059
3235
  style: k(r.value),
3060
3236
  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)]));
3237
+ }, [_(n).state.previewMode ? w("", !0) : (s(), C("span", ya, R(e.block.height) + "px ", 1))], 6)]));
3062
3238
  }
3063
- }), qi = { class: "tpl:w-full" }, Ji = { key: 0 }, Yi = [
3239
+ }), xa = { class: "tpl:w-full" }, Sa = { key: 0 }, Ca = [
3064
3240
  "aria-label",
3065
3241
  "data-placeholder",
3066
3242
  "onBlur"
3067
- ], Xi = [
3243
+ ], wa = [
3068
3244
  "aria-label",
3069
3245
  "data-placeholder",
3070
3246
  "onBlur"
3071
- ], Zi = {
3247
+ ], Ta = {
3072
3248
  key: 1,
3073
3249
  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({
3250
+ }, Ea = /*#__PURE__*/ Qt(/* @__PURE__ */ d({
3075
3251
  __name: "TableBlock",
3076
3252
  props: {
3077
3253
  block: {},
@@ -3085,7 +3261,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3085
3261
  updated(e, t) {
3086
3262
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
3087
3263
  }
3088
- }, n = e, { t: i } = Y(), a = it(J, "TableBlock"), o = S(() => n.block.rows.length > 0), c = S(() => {
3264
+ }, n = e, { t: i } = Y(), a = $e(J, "TableBlock"), o = S(() => n.block.rows.length > 0), c = S(() => {
3089
3265
  let e = {
3090
3266
  width: "100%",
3091
3267
  borderCollapse: "collapse",
@@ -3116,11 +3292,11 @@ var ji = { class: "tpl:w-full" }, Mi = {
3116
3292
  } : n);
3117
3293
  a.updateBlock(n.block.id, { rows: o });
3118
3294
  }
3119
- return (e, n) => (s(), C("div", qi, [o.value ? (s(), C("table", {
3295
+ return (e, n) => (s(), C("div", xa, [o.value ? (s(), C("table", {
3120
3296
  key: 0,
3121
3297
  style: k(c.value),
3122
3298
  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", {
3299
+ }, [d.value ? (s(), C("thead", Sa, [M("tr", null, [(s(!0), C(L, null, r(d.value.cells, (e) => f((s(), C("th", {
3124
3300
  key: e.id,
3125
3301
  style: k(u.value),
3126
3302
  "aria-label": _(i).table.cellPlaceholder,
@@ -3129,7 +3305,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3129
3305
  onBlur: (t) => h(d.value.id, e.id, t),
3130
3306
  onKeydown: n[0] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
3131
3307
  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", {
3308
+ }, null, 44, Ca)), [[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
3309
  key: r.id,
3134
3310
  style: k(l.value),
3135
3311
  "aria-label": _(i).table.cellPlaceholder,
@@ -3138,9 +3314,9 @@ var ji = { class: "tpl:w-full" }, Mi = {
3138
3314
  onBlur: (t) => h(e.id, r.id, t),
3139
3315
  onKeydown: n[1] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
3140
3316
  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)]))]));
3317
+ }, null, 44, wa)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), C("div", Ta, [v(_(Jt), { size: 16 }), M("span", null, R(_(i).table.empty), 1)]))]));
3142
3318
  }
3143
- }), [["__scopeId", "data-v-963ac422"]]), $i = /* @__PURE__ */ d({
3319
+ }), [["__scopeId", "data-v-963ac422"]]), Da = /* @__PURE__ */ d({
3144
3320
  __name: "VideoPlayButton",
3145
3321
  props: { hoverEffect: {
3146
3322
  type: Boolean,
@@ -3158,7 +3334,7 @@ var ji = { class: "tpl:w-full" }, Mi = {
3158
3334
  });
3159
3335
  //#endregion
3160
3336
  //#region src/utils/videoThumbnail.ts
3161
- function ea(e) {
3337
+ function Oa(e) {
3162
3338
  if (!e) return {
3163
3339
  platform: "unknown",
3164
3340
  videoId: null,
@@ -3190,25 +3366,25 @@ function ea(e) {
3190
3366
  thumbnailUrl: null
3191
3367
  };
3192
3368
  }
3193
- function ta(e, t) {
3194
- return t || ea(e).thumbnailUrl;
3369
+ function ka(e, t) {
3370
+ return t || Oa(e).thumbnailUrl;
3195
3371
  }
3196
3372
  //#endregion
3197
3373
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
3198
- var na = ["src", "alt"], ra = {
3374
+ var Aa = ["src", "alt"], ja = {
3199
3375
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
3200
3376
  style: { opacity: "0.7" }
3201
- }, ia = ["href"], aa = ["src", "alt"], oa = ["src", "alt"], sa = {
3377
+ }, Ma = ["href"], Na = ["src", "alt"], Pa = ["src", "alt"], Fa = {
3202
3378
  key: 3,
3203
3379
  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({
3380
+ }, Ia = /* @__PURE__ */ d({
3205
3381
  __name: "VideoBlock",
3206
3382
  props: {
3207
3383
  block: {},
3208
3384
  viewport: {}
3209
3385
  },
3210
3386
  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(() => {
3387
+ let t = e, { t: n } = Y(), { syntax: r } = en(), i = S(() => U(t.block.url, r) || U(t.block.thumbnailUrl, r)), a = An(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = An(() => i.value ? t.block.placeholderUrl : void 0), c = S(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : ka(t.block.url)), l = S(() => ({ textAlign: t.block.align })), u = S(() => {
3212
3388
  let e = t.block.align;
3213
3389
  return {
3214
3390
  maxWidth: "100%",
@@ -3231,16 +3407,16 @@ var na = ["src", "alt"], ra = {
3231
3407
  src: _(o),
3232
3408
  alt: e.block.alt,
3233
3409
  style: k(d.value)
3234
- }, null, 12, na), v($i)], 4)) : i.value ? (s(), C("div", {
3410
+ }, null, 12, Aa), v(Da)], 4)) : i.value ? (s(), C("div", {
3235
3411
  key: 1,
3236
3412
  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
3413
  style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
3238
- }, [v(_(Vt), {
3414
+ }, [v(_(Wt), {
3239
3415
  size: 36,
3240
3416
  "stroke-width": 1.5,
3241
3417
  class: "tpl:text-[var(--tpl-primary)]",
3242
3418
  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", {
3419
+ }), M("span", ja, [v(Tr, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), C(L, { key: 2 }, [e.block.url ? (s(), C("a", {
3244
3420
  key: 0,
3245
3421
  href: e.block.url,
3246
3422
  target: "_blank",
@@ -3253,7 +3429,7 @@ var na = ["src", "alt"], ra = {
3253
3429
  src: c.value,
3254
3430
  alt: e.block.alt,
3255
3431
  style: k(d.value)
3256
- }, null, 12, aa), v($i, { "hover-effect": "" })], 12, ia)) : (s(), C("div", {
3432
+ }, null, 12, Na), v(Da, { "hover-effect": "" })], 12, Ma)) : (s(), C("div", {
3257
3433
  key: 1,
3258
3434
  class: "tpl:relative tpl:inline-block",
3259
3435
  style: k(u.value)
@@ -3262,155 +3438,157 @@ var na = ["src", "alt"], ra = {
3262
3438
  src: c.value,
3263
3439
  alt: e.block.alt,
3264
3440
  style: k(d.value)
3265
- }, null, 12, oa), v($i)], 4))], 64)) : (s(), C("div", sa, [v(_(Vt), {
3441
+ }, null, 12, Pa), v(Da)], 4))], 64)) : (s(), C("div", Fa, [v(_(Wt), {
3266
3442
  size: 40,
3267
3443
  "stroke-width": 1.5,
3268
3444
  class: "tpl:text-[var(--tpl-border-light)]"
3269
3445
  }), M("span", null, R(_(n).video.addVideo), 1)]))], 4));
3270
3446
  }
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"))
3447
+ }), La = {
3448
+ section: sa,
3449
+ title: ra,
3450
+ paragraph: Ri,
3451
+ image: Ti,
3452
+ button: Dr,
3453
+ divider: ai,
3454
+ video: Ia,
3455
+ social: _a,
3456
+ menu: ki,
3457
+ table: Ea,
3458
+ spacer: ba,
3459
+ html: di,
3460
+ countdown: B(() => import("./CountdownBlock-CPe1ulzk.js"))
3285
3461
  };
3286
- function ua(e) {
3287
- let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = Y(i);
3462
+ function Ra(e) {
3463
+ let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = Y(i), d = S(() => he(he(er(i), yr(n.content.value.settings?.locale)), r.blockDefaults ?? {}));
3288
3464
  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,
3465
+ let { resolvedTheme: f } = Rn(S(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: m } = Bn({
3466
+ themeOverrides: p,
3467
+ resolvedTheme: f,
3292
3468
  extraStyles: () => ({
3293
3469
  "--tpl-drop-text": `"${i.canvas.dropHere}"`,
3294
3470
  ...e.themeExtraStyles?.()
3295
3471
  })
3296
- }), m = on({
3472
+ }), g = un({
3297
3473
  content: n.content,
3298
3474
  setContent: (e, t) => n.setContent(e, t),
3299
3475
  ...e.historyOptions
3300
3476
  });
3301
- pn(n, m);
3302
- let g = cn({
3477
+ _n(n, g);
3478
+ let _ = fn({
3303
3479
  addBlock: n.addBlock,
3304
3480
  removeBlock: n.removeBlock,
3305
3481
  updateBlock: n.updateBlock,
3306
3482
  selectBlock: n.selectBlock,
3307
3483
  findBlockLocation: n.findBlockLocation,
3308
- blockDefaults: r.blockDefaults
3309
- }), _ = dn(n), v = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? un({
3484
+ blockDefaults: () => d.value
3485
+ }), v = hn(n), y = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? mn({
3310
3486
  content: n.content,
3311
3487
  isDirty: () => n.state.isDirty,
3312
3488
  ...e.autoSaveOptions
3313
- }) : null, y = null;
3314
- v && (y = t(m.isNavigating, (e) => {
3315
- e ? v.pause() : v.resume();
3489
+ }) : null, b = null;
3490
+ y && (b = t(g.isNavigating, (e) => {
3491
+ e ? y.pause() : y.resume();
3316
3492
  }));
3317
- let b = Nn(n, {
3493
+ let x = Ln(n, {
3318
3494
  t: s,
3319
3495
  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);
3496
+ }, r.customBlocks ?? []), C = jt(r.colors);
3497
+ 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) {
3498
+ let e = $n(C.presets, r.blockDefaults, r.templateDefaults);
3323
3499
  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
3500
  }
3325
- let C = Ln();
3326
- Hn(C, la);
3327
- let w = /* @__PURE__ */ new Set();
3328
- function T(e) {
3501
+ let w = Zn(r.templateSettings);
3502
+ for (let e of w.unknown) X.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Yn.join(", ")}) — skipping it.`);
3503
+ let T = Vn();
3504
+ Kn(T, La);
3505
+ let E = /* @__PURE__ */ new Set();
3506
+ function D(e) {
3329
3507
  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));
3508
+ T.registerCustom(t, ri);
3509
+ for (let e of xr(t, C)) E.has(e.id) || (E.add(e.id), X.warn(e.message));
3332
3510
  }
3333
3511
  }
3334
- r.customBlocks?.length && T(r.customBlocks);
3335
- let E = Sn();
3336
- if (o() && h(E.dispose), e.containerEl) {
3512
+ r.customBlocks?.length && D(r.customBlocks);
3513
+ let O = En();
3514
+ if (o() && h(O.dispose), e.containerEl) {
3337
3515
  let t = e.containerEl;
3338
3516
  G(document, "pointerdown", (e) => {
3339
3517
  let n = t.value;
3340
- n && (e.composedPath?.() ?? []).includes(n) && E.claim();
3518
+ n && (e.composedPath?.() ?? []).includes(n) && O.claim();
3341
3519
  }, { capture: !0 });
3342
3520
  }
3343
- function D() {
3521
+ function k() {
3344
3522
  let t = e.capabilities?.templates;
3345
3523
  if (t) {
3346
3524
  t.save();
3347
3525
  return;
3348
3526
  }
3349
- v?.flush();
3527
+ y?.flush();
3350
3528
  }
3351
- function O(t) {
3352
- E.isActive() && Yn(t, {
3353
- history: m,
3529
+ function A(t) {
3530
+ O.isActive() && Cr(t, {
3531
+ history: g,
3354
3532
  selectBlock: (e) => n.selectBlock(e),
3355
3533
  getSelectedBlockId: () => n.state.selectedBlockId,
3356
3534
  removeBlock: (e) => n.removeBlock(e),
3357
- onSave: D,
3535
+ onSave: k,
3358
3536
  onBeforeUndo: e.keyboardOptions?.onBeforeUndo,
3359
3537
  isPicking: () => e.capabilities?.savedBlocks?.isPicking.value === !0,
3360
3538
  onConfirmPick: () => e.capabilities?.savedBlocks?.confirmPicking(),
3361
3539
  onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
3362
3540
  });
3363
3541
  }
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({
3542
+ G(document, "keydown", A);
3543
+ let j = l(null);
3544
+ c(mt, e.editorRoot ?? document), c(rt, j), c(Ze, i), c(J, n), c(wt, g), c(lt, _), c(ft, v), c(ct, a), c(ot, m), c(st, f), c(yt, d), c(at, r.locale), c(St, T), c(pt, r.customBlocks ?? []), c(tt, r.paletteBlocks), c(Dt, qn(r.htmlBlockPreview)), c(Ct, C), c(Ke, w.fields), c(bt, Hn(n.content, T));
3545
+ let M = Se(r.mergeTags?.syntax);
3546
+ c(q, r.mergeTags?.tags ?? []), c(gt, M), c(et, r.mergeTags?.onRequest ?? null), c(Ye, r.mergeTags?.autocomplete !== !1);
3547
+ let N = l(Fe(r.mergeTags?.tags ?? []));
3548
+ c(nt, N);
3549
+ let P = On({
3372
3550
  resolvePreview: r.resolvePreview,
3373
3551
  getContent: () => n.content.value,
3374
3552
  isActive: () => n.state.previewMode
3375
3553
  });
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({
3554
+ c(Xe, P), c(Qe, r.resolvePreview);
3555
+ let F = S(() => !(n.state.previewMode && P.isConfigured));
3556
+ c(xt, F);
3557
+ let I = jn();
3558
+ c(Je, I), c(qe, r.logicTags?.tags ?? []), c(it, r.logicTags?.pairs ?? []), c(Ge, r.logicTags?.onRequest ?? null), c(Tt, Mn()), c(ht, r.onRequestMedia ?? null), c(ut, r.resolveImageUrl ? kn(r.resolveImageUrl) : null), c(_t, r.displayConditions?.conditions ?? []), c(vt, r.displayConditions?.allowCustom ?? !1), c(dt, e.capabilities ?? {}), c(Et, x);
3559
+ let L = Nn(r.lint) ? null : Pn({
3382
3560
  content: n.content,
3383
3561
  options: r.lint ?? {},
3384
3562
  updateBlock: n.updateBlock,
3385
3563
  updateSettings: n.updateSettings,
3386
3564
  removeBlock: n.removeBlock
3387
3565
  });
3388
- c(Tt, F);
3389
- function I() {
3390
- y?.(), F?.destroy(), v?.destroy(), m.destroy();
3566
+ c(Ot, L);
3567
+ function R() {
3568
+ b?.(), L?.destroy(), y?.destroy(), g.destroy();
3391
3569
  }
3392
3570
  return {
3393
3571
  t: s,
3394
3572
  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
3573
+ history: g,
3574
+ blockActions: _,
3575
+ conditionPreview: v,
3576
+ autoSave: y,
3577
+ resolvedTheme: f,
3578
+ themeStyles: m,
3579
+ themeOverrides: p,
3580
+ registry: T,
3581
+ keyboardReorder: x,
3582
+ templateLint: L,
3583
+ popoverRoot: j,
3584
+ mergeTagSampleMode: N,
3585
+ previewResolution: P,
3586
+ appliesConditionFilter: F,
3587
+ registerCustomBlocks: D,
3588
+ destroy: R
3411
3589
  };
3412
3590
  }
3413
3591
  //#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 };
3592
+ export { cr as A, Fn as B, zr as C, Ar as D, Mr as E, fr as F, bn as G, Cn as H, dr as I, pn as J, vn as K, Yn as L, hr as M, mr as N, Dr as O, pr as P, Jn as R, Wr as S, Nr as T, Sn as U, On as V, xn as W, on as Y, di as _, _a as a, Jr as b, ra as c, zi as d, Bi as f, pi as g, Ti as h, ba as i, gr as j, br as k, ta as l, ki as m, Ia as n, ua as o, Ri as p, gn as q, Ea as r, sa as s, Ra as t, Vi as u, ai as v, Rr as w, Kr as x, ri as y, In as z };
3415
3593
 
3416
- //# sourceMappingURL=useEditorCore-CTNB2Mkl.js.map
3594
+ //# sourceMappingURL=useEditorCore-CZxGbZmY.js.map