@templatical/editor 0.29.0 → 0.30.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.
- package/LICENSE +84 -31
- package/dist/{AiChatSidebar-KeS30iRG.js → AiChatSidebar-Bq99wU01.js} +14 -14
- package/dist/{AiFeatureMenu-CCdTgCy7.js → AiFeatureMenu-F-C59LAV.js} +7 -7
- package/dist/{BlockIssueBadge-DQ6jBV1T.js → BlockIssueBadge-Dhk7Hv4m.js} +5 -5
- package/dist/{BlockPreviewCanvas-MgXVXOG_.js → BlockPreviewCanvas-CqU1kwmG.js} +3 -3
- package/dist/{CloudHeaderExtras-L_b51XVJ.js → CloudHeaderExtras-vnGV_mLD.js} +5 -5
- package/dist/{CloudPanels-XUtScYFl.js → CloudPanels-Dv-MD1Tc.js} +7 -7
- package/dist/{CollaboratorBar-Cx5klY7H.js → CollaboratorBar-DmssyJoB.js} +4 -4
- package/dist/{ColorPicker-DjfecH79.js → ColorPicker-CXPSbnRD.js} +7 -7
- package/dist/{CommentsPanel-5QxgkKF-.js → CommentsPanel-DnWdgQHg.js} +2 -2
- package/dist/{CommentsSidebar-CScszOsC.js → CommentsSidebar-ZOqmuo4D.js} +16 -16
- package/dist/{CountdownBlock-Drr1WErd.js → CountdownBlock-BgNK7fZY.js} +3 -3
- package/dist/{CountdownToolbar-CiBrLbq0.js → CountdownToolbar-SwmE7CIk.js} +19 -19
- package/dist/{DesignReferenceSidebar-B1__DJJI.js → DesignReferenceSidebar-9cLTzOqP.js} +11 -11
- package/dist/{NumberWithSuffix-C1D0WFrN.js → FieldRow-0-UbQR4a.js} +24 -17
- package/dist/{IssuesPanel-CkuV9Fjp.js → IssuesPanel-CDk7lUna.js} +8 -8
- package/dist/{LoadingTrack-Db9j_aBr.js → LoadingTrack-5KBr5cE8.js} +1 -1
- package/dist/{MergeTagModeToggle-oX-n91fH.js → MergeTagModeToggle-DtD_Xl9w.js} +6 -6
- package/dist/{MergeTagSuggestion-BUozNVtA.js → MergeTagSuggestion-DPfXtDzP.js} +4 -4
- package/dist/{ParagraphEditor-BVlMj-YW.js → ParagraphEditor-C0NbqDmV.js} +25 -25
- package/dist/{RestoreVersionDialog-CZRLWoqP.js → RestoreVersionDialog-DCX0rJiV.js} +5 -5
- package/dist/{RichTextEditorContent-BN6RBSZG.js → RichTextEditorContent-DZ6GiAUi.js} +8 -8
- package/dist/{SaveBlockDialog-KNQVLcUG.js → SaveBlockDialog-e5LtQRVk.js} +10 -10
- package/dist/{SavedBlocksBrowserModal-D7qatvfw.js → SavedBlocksBrowserModal-ZQIQoARO.js} +11 -11
- package/dist/{SavedBlocksPanels-bizAFdNK.js → SavedBlocksPanels-pGZWjSmp.js} +2 -2
- package/dist/{SavedBlocksPickBar-BXUSoa38.js → SavedBlocksPickBar-OZaOG1Si.js} +4 -4
- package/dist/{TemplateScoringPanel-Dm83xt9R.js → TemplateScoringPanel-CDwlSFEe.js} +15 -15
- package/dist/{TestEmailModal-DAdO9Gmo.js → TestEmailModal-PVa1VL2p.js} +11 -11
- package/dist/{TestEmailPanel-DORs6xk0.js → TestEmailPanel-RekBdAtO.js} +2 -2
- package/dist/{TitleEditor-B_aWxZER.js → TitleEditor-Cs2tELCL.js} +12 -12
- package/dist/{TplModal-7623HR5x.js → TplModal-Bw1i8_eE.js} +5 -5
- package/dist/{VersionHistoryMenu-D7lgozpw.js → VersionHistoryMenu-B6zAcmAC.js} +8 -8
- package/dist/{VersionHistoryPanels-Dor0p1Ur.js → VersionHistoryPanels-TqTC4ofA.js} +2 -2
- package/dist/{VersionPreviewBanner-CQt2il1L.js → VersionPreviewBanner-CQlSzQ2B.js} +3 -3
- package/dist/{blockTypeIcons-Di4AsjQx.js → blockTypeIcons-C7WedEOG.js} +2 -2
- package/dist/bundle-stats.json +6 -6
- package/dist/{cdn/chunks/ca-DY0AYOLG.js → ca-DZSrLNXK.js} +2 -2
- package/dist/cdn/chunks/{AiChatSidebar-Cwr9eqTh.js → AiChatSidebar-DmZ1Nvxo.js} +11 -11
- package/dist/cdn/chunks/{AiChatSidebar-Cwr9eqTh.js.map → AiChatSidebar-DmZ1Nvxo.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-CT2QiHmi.js → AiFeatureMenu-D4tax9j3.js} +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-CT2QiHmi.js.map → AiFeatureMenu-D4tax9j3.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-CXlXn9Sm.js → BlockIssueBadge-Bry71Wjz.js} +5 -5
- package/dist/cdn/chunks/{BlockIssueBadge-CXlXn9Sm.js.map → BlockIssueBadge-Bry71Wjz.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-BisO3JEy.js → BlockPreviewCanvas-DDOqFJlT.js} +4 -4
- package/dist/cdn/chunks/{BlockPreviewCanvas-BisO3JEy.js.map → BlockPreviewCanvas-DDOqFJlT.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-MRCYqip8.js → CloudHeaderExtras-g-_SFPna.js} +5 -5
- package/dist/cdn/chunks/{CloudHeaderExtras-MRCYqip8.js.map → CloudHeaderExtras-g-_SFPna.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-Bb9qSwKJ.js → CloudPanels-Cnh07_2G.js} +7 -7
- package/dist/cdn/chunks/{CloudPanels-Bb9qSwKJ.js.map → CloudPanels-Cnh07_2G.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-CG13kDHu.js → CollaboratorBar-CLGB0prG.js} +5 -5
- package/dist/cdn/chunks/{CollaboratorBar-CG13kDHu.js.map → CollaboratorBar-CLGB0prG.js.map} +1 -1
- package/dist/cdn/chunks/{ColorPicker-UpN24AsB.js → ColorPicker-Ww4xHHMI.js} +7 -7
- package/dist/cdn/chunks/{ColorPicker-UpN24AsB.js.map → ColorPicker-Ww4xHHMI.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-CIcIXzOB.js → CommentsPanel-DjId-XH-.js} +3 -3
- package/dist/cdn/chunks/{CommentsPanel-CIcIXzOB.js.map → CommentsPanel-DjId-XH-.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-CB5Z8xNz.js → CommentsSidebar-DXXGWSr4.js} +5 -5
- package/dist/cdn/chunks/{CommentsSidebar-CB5Z8xNz.js.map → CommentsSidebar-DXXGWSr4.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-_7TUBqJS.js → CountdownBlock-CWeJBC0L.js} +4 -4
- package/dist/cdn/chunks/{CountdownBlock-_7TUBqJS.js.map → CountdownBlock-CWeJBC0L.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-B1L0IK1T.js → CountdownToolbar-CO6xLgYc.js} +20 -20
- package/dist/cdn/chunks/{CountdownToolbar-B1L0IK1T.js.map → CountdownToolbar-CO6xLgYc.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-BwsfOFsc.js → DesignReferenceSidebar-DRGqm33h.js} +7 -7
- package/dist/cdn/chunks/{DesignReferenceSidebar-BwsfOFsc.js.map → DesignReferenceSidebar-DRGqm33h.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-CWvM_I3T.js → FieldRow-CbcpsxZ4.js} +25 -18
- package/dist/cdn/chunks/FieldRow-CbcpsxZ4.js.map +1 -0
- package/dist/cdn/chunks/{IssuesPanel-3nTCyKgK.js → IssuesPanel-iC2hgrXx.js} +6 -6
- package/dist/cdn/chunks/{IssuesPanel-3nTCyKgK.js.map → IssuesPanel-iC2hgrXx.js.map} +1 -1
- package/dist/cdn/chunks/{LoadingTrack-D_wweXVz.js → LoadingTrack-Cz1sT0wP.js} +2 -2
- package/dist/cdn/chunks/{LoadingTrack-D_wweXVz.js.map → LoadingTrack-Cz1sT0wP.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-BUNsRKs6.js → MergeTagModeToggle-DZtnCj0F.js} +6 -6
- package/dist/cdn/chunks/{MergeTagModeToggle-BUNsRKs6.js.map → MergeTagModeToggle-DZtnCj0F.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagSuggestion-Dt6I8bZi.js → MergeTagSuggestion-VP_nC-8W.js} +3 -3
- package/dist/cdn/chunks/{MergeTagSuggestion-Dt6I8bZi.js.map → MergeTagSuggestion-VP_nC-8W.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BtzkHfv2.js → ParagraphEditor-BalgLjBt.js} +27 -27
- package/dist/cdn/chunks/{ParagraphEditor-BtzkHfv2.js.map → ParagraphEditor-BalgLjBt.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-DNoo-EBT.js → RestoreVersionDialog-DGOXQ0ou.js} +5 -5
- package/dist/cdn/chunks/{RestoreVersionDialog-DNoo-EBT.js.map → RestoreVersionDialog-DGOXQ0ou.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-BQATmyd9.js → RichTextEditorContent-DpvOKKH-.js} +7 -7
- package/dist/cdn/chunks/{RichTextEditorContent-BQATmyd9.js.map → RichTextEditorContent-DpvOKKH-.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-DB37Vmqt.js → SaveBlockDialog-Dod3jX9X.js} +8 -8
- package/dist/cdn/chunks/{SaveBlockDialog-DB37Vmqt.js.map → SaveBlockDialog-Dod3jX9X.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CTU2rGWQ.js → SavedBlocksBrowserModal-BysGB8zb.js} +9 -9
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CTU2rGWQ.js.map → SavedBlocksBrowserModal-BysGB8zb.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-B9h9wI6d.js → SavedBlocksPanels-DJ4fceEM.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPanels-B9h9wI6d.js.map → SavedBlocksPanels-DJ4fceEM.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-CTY5WZum.js → SavedBlocksPickBar-DGgbqAsb.js} +5 -5
- package/dist/cdn/chunks/{SavedBlocksPickBar-CTY5WZum.js.map → SavedBlocksPickBar-DGgbqAsb.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-DZ0cpe_D.js → TemplateScoringPanel-B0YcaJsR.js} +6 -6
- package/dist/cdn/chunks/{TemplateScoringPanel-DZ0cpe_D.js.map → TemplateScoringPanel-B0YcaJsR.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-Dqx1RyDE.js → TestEmailModal-DvZFnhWa.js} +10 -10
- package/dist/cdn/chunks/{TestEmailModal-Dqx1RyDE.js.map → TestEmailModal-DvZFnhWa.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailPanel-DrcQhnON.js → TestEmailPanel-BdxpMiWc.js} +3 -3
- package/dist/cdn/chunks/{TestEmailPanel-DrcQhnON.js.map → TestEmailPanel-BdxpMiWc.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CSeDvWVn.js → TitleEditor-CfHWnThg.js} +12 -12
- package/dist/cdn/chunks/{TitleEditor-CSeDvWVn.js.map → TitleEditor-CfHWnThg.js.map} +1 -1
- package/dist/cdn/chunks/{TplModal-BNBLwBxJ.js → TplModal-BMTW5bEN.js} +5 -5
- package/dist/cdn/chunks/{TplModal-BNBLwBxJ.js.map → TplModal-BMTW5bEN.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-cZlb0sMi.js → VersionHistoryMenu-DJGcA_RX.js} +5 -5
- package/dist/cdn/chunks/{VersionHistoryMenu-cZlb0sMi.js.map → VersionHistoryMenu-DJGcA_RX.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-DgrjTK3z.js → VersionHistoryPanels-2l_FLtix.js} +3 -3
- package/dist/cdn/chunks/{VersionHistoryPanels-DgrjTK3z.js.map → VersionHistoryPanels-2l_FLtix.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-BNq7PRun.js → VersionPreviewBanner-C8pfES5A.js} +4 -4
- package/dist/cdn/chunks/{VersionPreviewBanner-BNq7PRun.js.map → VersionPreviewBanner-C8pfES5A.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-BNGmmzB_.js → blockTypeIcons-JUwZtKaq.js} +2 -2
- package/dist/cdn/chunks/{blockTypeIcons-BNGmmzB_.js.map → blockTypeIcons-JUwZtKaq.js.map} +1 -1
- package/dist/{ca-DY0AYOLG.js → cdn/chunks/ca-DZSrLNXK.js} +4 -0
- package/dist/cdn/chunks/ca-DZSrLNXK.js.map +1 -0
- package/dist/cdn/chunks/{cloud-CRCcXTc5.js → cloud-CITqEHEc.js} +3 -3
- package/dist/cdn/chunks/{cloud-CRCcXTc5.js.map → cloud-CITqEHEc.js.map} +1 -1
- package/dist/cdn/chunks/{createCloudRuntime-B_HRgFxU.js → createCloudRuntime-jLhuyKds.js} +8 -8
- package/dist/cdn/chunks/{createCloudRuntime-B_HRgFxU.js.map → createCloudRuntime-jLhuyKds.js.map} +1 -1
- package/dist/{de-CYLWugqb.js → cdn/chunks/de-DbayqpK-.js} +4 -0
- package/dist/cdn/chunks/{de-CYLWugqb.js.map → de-DbayqpK-.js.map} +1 -1
- package/dist/cdn/chunks/{dist-eKG4m5Wx.js → dist-CgR3inPR.js} +3 -3
- package/dist/cdn/chunks/{dist-eKG4m5Wx.js.map → dist-CgR3inPR.js.map} +1 -1
- package/dist/cdn/chunks/{dist-2fOlspdg.js → dist-El3fQnfk.js} +4 -4
- package/dist/cdn/chunks/{dist-2fOlspdg.js.map → dist-El3fQnfk.js.map} +1 -1
- package/dist/cdn/chunks/{draggable-BLMjz0GK.js → draggable-D2vo-aQI.js} +1465 -1435
- package/dist/cdn/chunks/draggable-D2vo-aQI.js.map +1 -0
- package/dist/cdn/chunks/en-CwXyUb6-.js +2 -0
- package/dist/{en-C3TM249M.js → cdn/chunks/en-l0ib5X0f.js} +4 -0
- package/dist/cdn/chunks/en-l0ib5X0f.js.map +1 -0
- package/dist/cdn/chunks/{es-D1SF4nCR.js → es-CMQ-5PJP.js} +3 -1
- package/dist/cdn/chunks/es-CMQ-5PJP.js.map +1 -0
- package/dist/cdn/chunks/{extensions-Deqilwp8.js → extensions-D30V0hzj.js} +7 -7
- package/dist/cdn/chunks/{extensions-Deqilwp8.js.map → extensions-D30V0hzj.js.map} +1 -1
- package/dist/cdn/chunks/{fr-CdLhJ7kw.js → fr-DNXmZWAq.js} +3 -1
- package/dist/cdn/chunks/fr-DNXmZWAq.js.map +1 -0
- package/dist/cdn/chunks/{icons-C2kP4vOJ.js → icons-BTdLXRXn.js} +13 -13
- package/dist/cdn/chunks/icons-BTdLXRXn.js.map +1 -0
- package/dist/cdn/chunks/{keys-D7OpfE2s.js → keys-BJ770Mwm.js} +2 -2
- package/dist/cdn/chunks/{keys-D7OpfE2s.js.map → keys-BJ770Mwm.js.map} +1 -1
- package/dist/cdn/chunks/{liquid.browser-UlAOKBjI.js → liquid.browser-BPvKXNfO.js} +2 -2
- package/dist/cdn/chunks/{liquid.browser-UlAOKBjI.js.map → liquid.browser-BPvKXNfO.js.map} +1 -1
- package/dist/{nl-BvsLoyKp.js → cdn/chunks/nl-BylRRHYJ.js} +4 -0
- package/dist/cdn/chunks/nl-BylRRHYJ.js.map +1 -0
- package/dist/cdn/chunks/{preRenderCustomBlocks-CbA3RcAy.js → preRenderCustomBlocks-DyCIgmqJ.js} +2 -2
- package/dist/cdn/chunks/{preRenderCustomBlocks-CbA3RcAy.js.map → preRenderCustomBlocks-DyCIgmqJ.js.map} +1 -1
- package/dist/cdn/chunks/{pt-BR-CAGS5YXp.js → pt-BR-BVoJhpie.js} +3 -1
- package/dist/cdn/chunks/pt-BR-BVoJhpie.js.map +1 -0
- package/dist/cdn/chunks/{src-CgIXdQlX.js → src-65H3RNcb.js} +8 -8
- package/dist/cdn/chunks/{src-CgIXdQlX.js.map → src-65H3RNcb.js.map} +1 -1
- package/dist/cdn/chunks/{src-Cx70q30o.js → src-6J-yyZoD.js} +2 -2
- package/dist/cdn/chunks/{src-Cx70q30o.js.map → src-6J-yyZoD.js.map} +1 -1
- package/dist/cdn/chunks/{src-B_QJduQD.js → src-BD60gqPW.js} +72 -67
- package/dist/cdn/chunks/src-BD60gqPW.js.map +1 -0
- package/dist/cdn/chunks/{src-CnQgwcsc.js → src-CLTXM4PM.js} +166 -136
- package/dist/cdn/chunks/src-CLTXM4PM.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-DOw5Yb4H.js → tiptap-Bqy-H6CT.js} +2295 -2205
- package/dist/cdn/chunks/tiptap-Bqy-H6CT.js.map +1 -0
- package/dist/cdn/chunks/{useAliveFlag-C1pwLtPO.js → useAliveFlag-DrXxPV8V.js} +2 -2
- package/dist/cdn/chunks/{useAliveFlag-C1pwLtPO.js.map → useAliveFlag-DrXxPV8V.js.map} +1 -1
- package/dist/cdn/chunks/{useCloudI18n-D4gzxtqF.js → useCloudI18n-D0AoLV0a.js} +3 -3
- package/dist/cdn/chunks/{useCloudI18n-D4gzxtqF.js.map → useCloudI18n-D0AoLV0a.js.map} +1 -1
- package/dist/cdn/chunks/{useEditorCore-Dq5gdn5i.js → useEditorCore-BQeEwEQ9.js} +356 -361
- package/dist/cdn/chunks/{useEditorCore-Dq5gdn5i.js.map → useEditorCore-BQeEwEQ9.js.map} +1 -1
- package/dist/cdn/chunks/useEditorRoot-BFGRBGts.js +10 -0
- package/dist/cdn/chunks/{useEditorRoot-BY-amddA.js.map → useEditorRoot-BFGRBGts.js.map} +1 -1
- package/dist/cdn/chunks/{useI18n-DYb1SgLB.js → useI18n-DIhawILp.js} +3 -3
- package/dist/cdn/chunks/{useI18n-DYb1SgLB.js.map → useI18n-DIhawILp.js.map} +1 -1
- package/dist/cdn/chunks/{useMergeTag-D-SE_XN8.js → useMergeTag-lWo7So18.js} +4 -4
- package/dist/cdn/chunks/{useMergeTag-D-SE_XN8.js.map → useMergeTag-lWo7So18.js.map} +1 -1
- package/dist/cdn/chunks/{usePopoverPosition-CJZ6EkS4.js → usePopoverPosition-DkiTLnBm.js} +3 -3
- package/dist/cdn/chunks/{usePopoverPosition-CJZ6EkS4.js.map → usePopoverPosition-DkiTLnBm.js.map} +1 -1
- package/dist/cdn/chunks/{useScrollToBlock-D6gyIzT1.js → useScrollToBlock-KcSAuXKz.js} +3 -3
- package/dist/cdn/chunks/{useScrollToBlock-D6gyIzT1.js.map → useScrollToBlock-KcSAuXKz.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +1036 -1002
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-Cv96tY88.js → check-CTe6VejT.js} +1 -1
- package/dist/{chevron-down-BwEyjSjd.js → chevron-down-BBThVMu-.js} +1 -1
- package/dist/{chevron-up-C6Ye-Nzc.js → chevron-up-iECwf-Bc.js} +1 -1
- package/dist/{circle-alert-BLt_gkcU.js → circle-alert-Z_eeykrO.js} +1 -1
- package/dist/{clock-D-2BI0Co.js → clock-CEj1c29j.js} +1 -1
- package/dist/{cloud-DXFUA8H_.js → cloud-DwJ8ebNl.js} +2 -2
- package/dist/{createCloudRuntime-CWPQ7puE.js → createCloudRuntime-CdXQdl34.js} +6 -6
- package/dist/{createLucideIcon-DGRWivCX.js → createLucideIcon-DphAT3tw.js} +3 -3
- package/dist/{cdn/chunks/de-CYLWugqb.js → de-DbayqpK-.js} +2 -2
- package/dist/{dist-DQ_4a0hb.js → dist-9fjN9cuD.js} +2 -2
- package/dist/{dist-WE11SQGe.js → dist-BUpBA58N.js} +2 -2
- package/dist/{dist-DAR13YWM.js → dist-BdIwIlKz.js} +2 -2
- package/dist/{dist-Btz6cFCI.js → dist-BfcqryVg.js} +4 -4
- package/dist/{dist-q3Puexqv.js → dist-CaR5TLiM.js} +2 -2
- package/dist/{dist-CkSgS-K9.js → dist-CuuPnIMy.js} +3 -3
- package/dist/dist-CzMzshfS.js +5 -0
- package/dist/{dist-B1kLn1rs.js → dist-CzVIVbSa.js} +90 -85
- package/dist/{dist-BIFUEhwQ.js → dist-D2P8U3p6.js} +2 -2
- package/dist/{dist-BtPhkQ2u.js → dist-DLaIQ5H5.js} +12 -8
- package/dist/{dist-BG2cHdqw.js → dist-DSgmnQ-f.js} +2 -2
- package/dist/dist-DTVuNn8M.js +5 -0
- package/dist/{dist-CHp21juN.js → dist-DifptC-U.js} +2 -2
- package/dist/{dist-BpHkLruF.js → dist-gWM8H2hz.js} +4 -4
- package/dist/{dist-BUh4MT4D.js → dist-nmzPlqlz.js} +266 -176
- package/dist/{cdn/chunks/en-C3TM249M.js → en-l0ib5X0f.js} +2 -2
- package/dist/{es-D1SF4nCR.js → es-CMQ-5PJP.js} +2 -0
- package/dist/{extensions-BlYe3NFn.js → extensions-Bjsdx6Vm.js} +18 -18
- package/dist/{fr-CdLhJ7kw.js → fr-DNXmZWAq.js} +2 -0
- package/dist/{image-up-KRq0lcdU.js → image-up-W1INxCu8.js} +1 -1
- package/dist/{info-DbmE2JAo.js → info-5t4WYKfh.js} +1 -1
- package/dist/{keys-CAor2T5q.js → keys-BJtoezGU.js} +1 -1
- package/dist/{liquid.browser-B-rGrnrQ.js → liquid.browser-CJgDDvQz.js} +1 -1
- package/dist/{loader-circle-dSap9DfQ.js → loader-circle-DJCZ_JMY.js} +1 -1
- package/dist/{message-circle-qSKKLbac.js → message-circle-Biu6lHh_.js} +1 -1
- package/dist/{cdn/chunks/nl-BvsLoyKp.js → nl-BylRRHYJ.js} +2 -2
- package/dist/{pencil-DMP8vL2F.js → pencil-DkPlMca7.js} +1 -1
- package/dist/{preRenderCustomBlocks-BebjKtmw.js → preRenderCustomBlocks-2KyBJocY.js} +1 -1
- package/dist/{pt-BR-CAGS5YXp.js → pt-BR-BVoJhpie.js} +2 -0
- package/dist/{refresh-cw-WXtBeMva.js → refresh-cw-DHbpkkol.js} +1 -1
- package/dist/{runtime-dom.esm-bundler-CHEsXNQz.js → runtime-dom.esm-bundler-Co_SPqAz.js} +180 -166
- package/dist/{scan-line-BTrngVuN.js → scan-line-DojwGzjU.js} +1 -1
- package/dist/{send-CLa8Cxmh.js → send-c6ppcE9I.js} +1 -1
- package/dist/{shield-check-42WZrKQu.js → shield-check-F9T4ylNK.js} +1 -1
- package/dist/{sparkles-DcOb0umz.js → sparkles-D-0OiTZD.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +1083 -1049
- package/dist/{text-align-start-zoZhXJ2T.js → text-align-start-kEEtoRrD.js} +1 -1
- package/dist/{trash-2-Capv4cSE.js → trash-2-DRQzhY9R.js} +1 -1
- package/dist/{triangle-alert-CnJUGX-6.js → triangle-alert-Bt4-GU3t.js} +1 -1
- package/dist/{upload-Bc0ZTywl.js → upload-D2wtjvH8.js} +1 -1
- package/dist/{useAliveFlag-1yBub211.js → useAliveFlag-AFbwfHlJ.js} +1 -1
- package/dist/{useCloudI18n-Dwo7usTl.js → useCloudI18n-BA69BpQ_.js} +2 -2
- package/dist/{useEditorCore-CIjO_NM9.js → useEditorCore-Du9Vx-qr.js} +873 -878
- package/dist/{useEditorRoot-CUIzpMYc.js → useEditorRoot-Cdo8Vhxa.js} +2 -2
- package/dist/{useI18n-DT_DKupw.js → useI18n-B135ASaG.js} +2 -2
- package/dist/{useMergeTag-CcHQCcPN.js → useMergeTag-Cx36rtrt.js} +5 -5
- package/dist/{usePopoverPosition-DaHz1kqb.js → usePopoverPosition-DAOHr_iM.js} +2 -2
- package/dist/{useScrollToBlock-C2-9xCr7.js → useScrollToBlock-B0Qpjfa4.js} +3 -3
- package/dist/{vue.runtime.esm-bundler-CdH_W9qX.js → vue.runtime.esm-bundler-BhOUdXMi.js} +1244 -1204
- package/dist/{x-CvPZ3OAd.js → x-YiG-TUGN.js} +1 -1
- package/package.json +25 -25
- package/dist/cdn/chunks/NumberWithSuffix-CWvM_I3T.js.map +0 -1
- package/dist/cdn/chunks/ca-DY0AYOLG.js.map +0 -1
- package/dist/cdn/chunks/draggable-BLMjz0GK.js.map +0 -1
- package/dist/cdn/chunks/en-BZlZVGwM.js +0 -2
- package/dist/cdn/chunks/en-C3TM249M.js.map +0 -1
- package/dist/cdn/chunks/es-D1SF4nCR.js.map +0 -1
- package/dist/cdn/chunks/fr-CdLhJ7kw.js.map +0 -1
- package/dist/cdn/chunks/icons-C2kP4vOJ.js.map +0 -1
- package/dist/cdn/chunks/nl-BvsLoyKp.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-CAGS5YXp.js.map +0 -1
- package/dist/cdn/chunks/src-B_QJduQD.js.map +0 -1
- package/dist/cdn/chunks/src-CnQgwcsc.js.map +0 -1
- package/dist/cdn/chunks/tiptap-DOw5Yb4H.js.map +0 -1
- package/dist/cdn/chunks/useEditorRoot-BY-amddA.js +0 -10
- package/dist/dist-CCfNhI54.js +0 -5
- package/dist/dist-CMcNDUcw.js +0 -5
|
@@ -1,36 +1,36 @@
|
|
|
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-
|
|
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,
|
|
3
|
-
import { _ as
|
|
4
|
-
import { a as G, c as
|
|
5
|
-
import { A as
|
|
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";
|
|
6
6
|
import "./timeouts-DHPZQ0G3.js";
|
|
7
|
-
import { t as Y } from "./useI18n-
|
|
7
|
+
import { t as Y } from "./useI18n-DIhawILp.js";
|
|
8
8
|
import { t as X } from "./logger-ByvdoAwq.js";
|
|
9
|
-
import { a as
|
|
10
|
-
import { A as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import "./useCloudI18n-
|
|
15
|
-
import { t as Q } from "./useMergeTag-
|
|
16
|
-
import { t as
|
|
9
|
+
import { a as Et, i as Dt, o as Ot, r as Z, t as kt } from "./usePopoverPosition-DkiTLnBm.js";
|
|
10
|
+
import { A as At, Bt as jt, Et as Mt, H as Nt, Ot as Pt, Tt as Ft, X as It, d as Lt, ft as Rt, ht as zt, it as Bt, o as Vt, s as Ht, tt as Ut, u as Wt, v as Gt, vt as Kt, zt as qt } from "./icons-BTdLXRXn.js";
|
|
11
|
+
import { t as Jt } from "./LoadingTrack-Cz1sT0wP.js";
|
|
12
|
+
import { t as Yt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
13
|
+
import { t as Xt } from "./useEditorRoot-BFGRBGts.js";
|
|
14
|
+
import "./useCloudI18n-D0AoLV0a.js";
|
|
15
|
+
import { t as Q } from "./useMergeTag-lWo7So18.js";
|
|
16
|
+
import { t as Zt } from "./useAliveFlag-DrXxPV8V.js";
|
|
17
17
|
//#region ../core/src/error-reporting.ts
|
|
18
|
-
function
|
|
18
|
+
function Qt(e) {
|
|
19
19
|
return e instanceof Error ? e : Error(String(e), { cause: e });
|
|
20
20
|
}
|
|
21
|
-
function
|
|
21
|
+
function $t(e, t) {
|
|
22
22
|
try {
|
|
23
23
|
t();
|
|
24
24
|
} catch (t) {
|
|
25
|
-
e?.(
|
|
25
|
+
e?.(Qt(t));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
//#endregion
|
|
29
29
|
//#region ../core/src/editor.ts
|
|
30
|
-
function
|
|
30
|
+
function en(e) {
|
|
31
31
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function tn(e) {
|
|
34
34
|
let t = m({
|
|
35
35
|
template: null,
|
|
36
36
|
content: e.content ?? fe(e.defaultFontFamily, e.templateDefaults),
|
|
@@ -128,7 +128,7 @@ function en(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 >=
|
|
131
|
+
if (i < 0 || i >= en(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 en(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 >=
|
|
164
|
+
if (!e || e.type !== "section" || a < 0 || a >= en(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 en(e) {
|
|
|
174
174
|
throw new W(`[Templatical] Templates: ${e} ${t}`);
|
|
175
175
|
}
|
|
176
176
|
function D(t) {
|
|
177
|
-
|
|
177
|
+
$t(e.onError, t);
|
|
178
178
|
}
|
|
179
179
|
function O(t) {
|
|
180
180
|
let { templates: n } = e;
|
|
@@ -274,9 +274,9 @@ function en(e) {
|
|
|
274
274
|
}
|
|
275
275
|
//#endregion
|
|
276
276
|
//#region ../core/src/history.ts
|
|
277
|
-
var
|
|
278
|
-
function
|
|
279
|
-
let { content: t, setContent: n, isRemoteOperation: r, maxSize: i =
|
|
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);
|
|
280
280
|
function m() {
|
|
281
281
|
return _e(t.value);
|
|
282
282
|
}
|
|
@@ -294,21 +294,21 @@ function an(e) {
|
|
|
294
294
|
if (u && u.blockId === e) {
|
|
295
295
|
clearTimeout(u.timeoutId), u.timeoutId = setTimeout(() => {
|
|
296
296
|
u = null;
|
|
297
|
-
},
|
|
297
|
+
}, rn);
|
|
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
|
-
},
|
|
304
|
+
}, rn)
|
|
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
|
-
},
|
|
311
|
+
}, an);
|
|
312
312
|
}
|
|
313
313
|
function b() {
|
|
314
314
|
if (a.value.length === 0) return;
|
|
@@ -342,7 +342,7 @@ function an(e) {
|
|
|
342
342
|
}
|
|
343
343
|
//#endregion
|
|
344
344
|
//#region ../core/src/block-actions.ts
|
|
345
|
-
function
|
|
345
|
+
function sn(e) {
|
|
346
346
|
e.type === "table" ? e.rows = e.rows.map((e) => ({
|
|
347
347
|
...e,
|
|
348
348
|
id: H(),
|
|
@@ -358,7 +358,7 @@ function on(e) {
|
|
|
358
358
|
id: H()
|
|
359
359
|
})));
|
|
360
360
|
}
|
|
361
|
-
function
|
|
361
|
+
function cn(e) {
|
|
362
362
|
let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
|
|
363
363
|
function o(n, r, a) {
|
|
364
364
|
let o = pe(n, e.blockDefaults);
|
|
@@ -366,9 +366,9 @@ function sn(e) {
|
|
|
366
366
|
}
|
|
367
367
|
function s(e, n, r) {
|
|
368
368
|
let o = JSON.parse(JSON.stringify(e));
|
|
369
|
-
if (o.id = H(),
|
|
369
|
+
if (o.id = H(), sn(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(),
|
|
371
|
+
return t.id = H(), sn(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 sn(e) {
|
|
|
391
391
|
}
|
|
392
392
|
//#endregion
|
|
393
393
|
//#region ../core/src/auto-save.ts
|
|
394
|
-
var
|
|
395
|
-
function
|
|
396
|
-
let { content: t, isDirty: n, onChange: r, debounce: i =
|
|
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;
|
|
397
397
|
function c() {
|
|
398
398
|
return typeof a == "function" ? a() : a;
|
|
399
399
|
}
|
|
@@ -430,7 +430,7 @@ function ln(e) {
|
|
|
430
430
|
}
|
|
431
431
|
//#endregion
|
|
432
432
|
//#region ../core/src/condition-preview.ts
|
|
433
|
-
function
|
|
433
|
+
function dn(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 un(e) {
|
|
|
450
450
|
}
|
|
451
451
|
//#endregion
|
|
452
452
|
//#region ../core/src/data-source-fetch.ts
|
|
453
|
-
function
|
|
453
|
+
function fn(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 dn(e) {
|
|
|
482
482
|
}
|
|
483
483
|
//#endregion
|
|
484
484
|
//#region ../core/src/history-interceptor.ts
|
|
485
|
-
function
|
|
485
|
+
function pn(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 fn(e, t) {
|
|
|
498
498
|
}
|
|
499
499
|
//#endregion
|
|
500
500
|
//#region ../core/src/saved-blocks.ts
|
|
501
|
-
function
|
|
501
|
+
function mn(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 pn(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
|
-
|
|
520
|
+
$t(e.onError, t);
|
|
521
521
|
}
|
|
522
522
|
async function p(i) {
|
|
523
523
|
r.value = !0;
|
|
@@ -586,9 +586,9 @@ function pn(e) {
|
|
|
586
586
|
}
|
|
587
587
|
//#endregion
|
|
588
588
|
//#region ../core/src/saved-blocks-local.ts
|
|
589
|
-
var
|
|
590
|
-
function
|
|
591
|
-
let t = e.key ??
|
|
589
|
+
var hn = "templatical:saved-blocks";
|
|
590
|
+
function gn(e = {}) {
|
|
591
|
+
let t = e.key ?? hn;
|
|
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 hn(e = {}) {
|
|
|
641
641
|
}
|
|
642
642
|
//#endregion
|
|
643
643
|
//#region ../core/src/version-history.ts
|
|
644
|
-
function
|
|
644
|
+
function _n(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 gn(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
|
-
|
|
655
|
+
$t(e.onError, t);
|
|
656
656
|
}
|
|
657
657
|
async function m(n) {
|
|
658
658
|
let o = d("list");
|
|
@@ -721,7 +721,7 @@ function gn(e) {
|
|
|
721
721
|
}
|
|
722
722
|
//#endregion
|
|
723
723
|
//#region ../core/src/comments.ts
|
|
724
|
-
function
|
|
724
|
+
function vn(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 _n(e) {
|
|
|
752
752
|
return t !== null && e.author.id === t.id;
|
|
753
753
|
}
|
|
754
754
|
function b(t) {
|
|
755
|
-
let n =
|
|
755
|
+
let n = Qt(t);
|
|
756
756
|
throw e.onError?.(n), n;
|
|
757
757
|
}
|
|
758
758
|
function x(t) {
|
|
759
|
-
|
|
759
|
+
$t(e.onError, t);
|
|
760
760
|
}
|
|
761
761
|
function C(e, t, n) {
|
|
762
762
|
return [
|
|
@@ -896,7 +896,7 @@ function _n(e) {
|
|
|
896
896
|
applyRemoteDelete: P
|
|
897
897
|
};
|
|
898
898
|
}
|
|
899
|
-
function
|
|
899
|
+
function yn(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,18 +919,18 @@ function vn(e) {
|
|
|
919
919
|
}
|
|
920
920
|
//#endregion
|
|
921
921
|
//#region src/utils/activeEditorTracker.ts
|
|
922
|
-
var
|
|
923
|
-
function
|
|
924
|
-
let e = ++
|
|
925
|
-
return
|
|
922
|
+
var bn = /* @__PURE__ */ new Set(), $ = 0, xn = 0;
|
|
923
|
+
function Sn() {
|
|
924
|
+
let e = ++xn;
|
|
925
|
+
return bn.add(e), $ === 0 && ($ = e), {
|
|
926
926
|
id: e,
|
|
927
|
-
isActive: () =>
|
|
927
|
+
isActive: () => bn.size <= 1 || $ === e,
|
|
928
928
|
claim: () => {
|
|
929
929
|
$ = e;
|
|
930
930
|
},
|
|
931
931
|
dispose: () => {
|
|
932
|
-
if (
|
|
933
|
-
let e = Array.from(
|
|
932
|
+
if (bn.delete(e), $ === e) {
|
|
933
|
+
let e = Array.from(bn);
|
|
934
934
|
$ = e[e.length - 1] ?? 0;
|
|
935
935
|
}
|
|
936
936
|
}
|
|
@@ -938,8 +938,8 @@ function xn() {
|
|
|
938
938
|
}
|
|
939
939
|
//#endregion
|
|
940
940
|
//#region src/composables/usePreviewResolution.ts
|
|
941
|
-
var
|
|
942
|
-
function
|
|
941
|
+
var Cn = 500;
|
|
942
|
+
function wn(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);
|
|
@@ -976,7 +976,7 @@ function Cn(e) {
|
|
|
976
976
|
}
|
|
977
977
|
s = setTimeout(() => {
|
|
978
978
|
s = null, u();
|
|
979
|
-
},
|
|
979
|
+
}, Cn);
|
|
980
980
|
}
|
|
981
981
|
}
|
|
982
982
|
return t(() => [e.isActive(), e.getRecipient?.()], ([e]) => {
|
|
@@ -998,7 +998,7 @@ function Cn(e) {
|
|
|
998
998
|
}
|
|
999
999
|
//#endregion
|
|
1000
1000
|
//#region src/composables/useImageUrlResolver.ts
|
|
1001
|
-
function
|
|
1001
|
+
function Tn(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 wn(e) {
|
|
|
1031
1031
|
lookup: a
|
|
1032
1032
|
};
|
|
1033
1033
|
}
|
|
1034
|
-
function
|
|
1035
|
-
let r = n(
|
|
1034
|
+
function En(e) {
|
|
1035
|
+
let r = n(st, null), i = S(e);
|
|
1036
1036
|
if (!r) return i;
|
|
1037
1037
|
let a;
|
|
1038
1038
|
function s() {
|
|
@@ -1061,7 +1061,7 @@ function Tn(e) {
|
|
|
1061
1061
|
}
|
|
1062
1062
|
//#endregion
|
|
1063
1063
|
//#region src/composables/useMergeTagPicker.ts
|
|
1064
|
-
function
|
|
1064
|
+
function Dn() {
|
|
1065
1065
|
let e = l(!1), t = l([]), n = null;
|
|
1066
1066
|
function r(r) {
|
|
1067
1067
|
if (n) {
|
|
@@ -1091,7 +1091,7 @@ function En() {
|
|
|
1091
1091
|
}
|
|
1092
1092
|
//#endregion
|
|
1093
1093
|
//#region src/composables/useLogicTagPicker.ts
|
|
1094
|
-
function
|
|
1094
|
+
function On() {
|
|
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 Dn() {
|
|
|
1122
1122
|
}
|
|
1123
1123
|
//#endregion
|
|
1124
1124
|
//#region src/composables/useTemplateLint.ts
|
|
1125
|
-
function
|
|
1125
|
+
function kn(e) {
|
|
1126
1126
|
return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
1127
1127
|
}
|
|
1128
|
-
function
|
|
1129
|
-
let n = l([]), r = l(!1), i = l(!1), a = x(null), o =
|
|
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;
|
|
1130
1130
|
o || u();
|
|
1131
1131
|
async function u() {
|
|
1132
1132
|
try {
|
|
1133
|
-
let t = await import("./src-
|
|
1133
|
+
let t = await import("./src-6J-yyZoD.js");
|
|
1134
1134
|
if (c) return;
|
|
1135
|
-
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s =
|
|
1135
|
+
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Be(e.content, d, {
|
|
1136
1136
|
debounce: e.debounce ?? 500,
|
|
1137
1137
|
deep: !0
|
|
1138
1138
|
});
|
|
@@ -1167,17 +1167,17 @@ function kn(e) {
|
|
|
1167
1167
|
}
|
|
1168
1168
|
//#endregion
|
|
1169
1169
|
//#region src/utils/blockTypeLabels.ts
|
|
1170
|
-
function
|
|
1170
|
+
function jn(e, t) {
|
|
1171
1171
|
return t.blocks[e] ?? e;
|
|
1172
1172
|
}
|
|
1173
|
-
function
|
|
1174
|
-
if (e.type !== "custom") return
|
|
1173
|
+
function Mn(e, t, n = []) {
|
|
1174
|
+
if (e.type !== "custom") return jn(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
|
|
1180
|
+
function Nn(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 Mn(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 ?
|
|
1207
|
+
return a ? Mn(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 Mn(e, t, n = []) {
|
|
|
1273
1273
|
}
|
|
1274
1274
|
//#endregion
|
|
1275
1275
|
//#region src/composables/useUiTheme.ts
|
|
1276
|
-
function
|
|
1277
|
-
let t =
|
|
1276
|
+
function Pn(e) {
|
|
1277
|
+
let t = Ve("(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
|
|
1282
|
+
var Fn = {
|
|
1283
1283
|
bg: "--tpl-bg",
|
|
1284
1284
|
bgElevated: "--tpl-bg-elevated",
|
|
1285
1285
|
bgHover: "--tpl-bg-hover",
|
|
@@ -1303,10 +1303,10 @@ var Pn = {
|
|
|
1303
1303
|
dangerLight: "--tpl-danger-light",
|
|
1304
1304
|
canvasBg: "--tpl-canvas-bg"
|
|
1305
1305
|
};
|
|
1306
|
-
function
|
|
1306
|
+
function In({ 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(
|
|
1309
|
+
if (a) for (let [e, t] of Object.entries(Fn)) {
|
|
1310
1310
|
let n = a[e];
|
|
1311
1311
|
n && (r[t] = n);
|
|
1312
1312
|
}
|
|
@@ -1315,7 +1315,7 @@ function Fn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
1315
1315
|
}
|
|
1316
1316
|
//#endregion
|
|
1317
1317
|
//#region src/composables/useBlockRegistry.ts
|
|
1318
|
-
function
|
|
1318
|
+
function Ln() {
|
|
1319
1319
|
let e = x(/* @__PURE__ */ new Map());
|
|
1320
1320
|
function t(t, n) {
|
|
1321
1321
|
e.value.set(t, n), T(e);
|
|
@@ -1349,7 +1349,7 @@ function In() {
|
|
|
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-
|
|
1352
|
+
let { Liquid: n } = await import("./liquid.browser-BPvKXNfO.js");
|
|
1353
1353
|
return await new n({
|
|
1354
1354
|
strictVariables: !1,
|
|
1355
1355
|
strictFilters: !1
|
|
@@ -1373,9 +1373,9 @@ function In() {
|
|
|
1373
1373
|
}
|
|
1374
1374
|
//#endregion
|
|
1375
1375
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
1376
|
-
function
|
|
1376
|
+
function Rn(e, t) {
|
|
1377
1377
|
return S(() => {
|
|
1378
|
-
let n =
|
|
1378
|
+
let n = zn(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,11 +1387,11 @@ function Ln(e, t) {
|
|
|
1387
1387
|
return i;
|
|
1388
1388
|
});
|
|
1389
1389
|
}
|
|
1390
|
-
function
|
|
1390
|
+
function zn(e) {
|
|
1391
1391
|
let t = /* @__PURE__ */ new Set();
|
|
1392
|
-
return
|
|
1392
|
+
return Bn(e, t), t;
|
|
1393
1393
|
}
|
|
1394
|
-
function
|
|
1394
|
+
function Bn(e, t) {
|
|
1395
1395
|
for (let n of e) {
|
|
1396
1396
|
if (oe(n)) {
|
|
1397
1397
|
t.add(n.customType);
|
|
@@ -1400,13 +1400,13 @@ function zn(e, t) {
|
|
|
1400
1400
|
if (n.type === "section") {
|
|
1401
1401
|
let e = n.children;
|
|
1402
1402
|
if (!e) continue;
|
|
1403
|
-
for (let n of e)
|
|
1403
|
+
for (let n of e) Bn(n, t);
|
|
1404
1404
|
}
|
|
1405
1405
|
}
|
|
1406
1406
|
}
|
|
1407
1407
|
//#endregion
|
|
1408
1408
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
1409
|
-
var
|
|
1409
|
+
var Vn = [
|
|
1410
1410
|
{
|
|
1411
1411
|
type: "section",
|
|
1412
1412
|
createBlock: Ce
|
|
@@ -1457,11 +1457,11 @@ var Bn = [
|
|
|
1457
1457
|
},
|
|
1458
1458
|
{
|
|
1459
1459
|
type: "countdown",
|
|
1460
|
-
createBlock:
|
|
1460
|
+
createBlock: Fe
|
|
1461
1461
|
}
|
|
1462
1462
|
];
|
|
1463
|
-
function
|
|
1464
|
-
for (let n of
|
|
1463
|
+
function Hn(e, t) {
|
|
1464
|
+
for (let n of Vn) {
|
|
1465
1465
|
let r = t[n.type];
|
|
1466
1466
|
r && e.registerBuiltIn(n.type, {
|
|
1467
1467
|
component: r,
|
|
@@ -1471,23 +1471,23 @@ function Vn(e, t) {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
//#endregion
|
|
1473
1473
|
//#region src/utils/resolveHtmlBlockPreview.ts
|
|
1474
|
-
function
|
|
1474
|
+
function Un(e) {
|
|
1475
1475
|
return typeof e == "boolean" ? e : e?.enabled ?? !1;
|
|
1476
1476
|
}
|
|
1477
1477
|
//#endregion
|
|
1478
1478
|
//#region src/utils/collectOffPaletteDefaults.ts
|
|
1479
|
-
function
|
|
1479
|
+
function Wn(e) {
|
|
1480
1480
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
1481
1481
|
}
|
|
1482
|
-
function
|
|
1482
|
+
function Gn(e, t, n) {
|
|
1483
1483
|
let r = new Set(e.map((e) => Z(e))), i = [], a = (e, t) => {
|
|
1484
|
-
for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Z(o)) && i.push(`${t}.${n}: ${o}`) :
|
|
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}`);
|
|
1485
1485
|
}, o = t;
|
|
1486
|
-
for (let [e, t] of Object.entries(
|
|
1486
|
+
for (let [e, t] of Object.entries(Ie)) {
|
|
1487
1487
|
let n = o?.[e];
|
|
1488
1488
|
a({
|
|
1489
1489
|
...t,
|
|
1490
|
-
...
|
|
1490
|
+
...Wn(n) ? n : {}
|
|
1491
1491
|
}, e);
|
|
1492
1492
|
}
|
|
1493
1493
|
return a({
|
|
@@ -1497,8 +1497,8 @@ function Wn(e, t, n) {
|
|
|
1497
1497
|
}
|
|
1498
1498
|
//#endregion
|
|
1499
1499
|
//#region src/utils/resolveFieldColors.ts
|
|
1500
|
-
function
|
|
1501
|
-
let n =
|
|
1500
|
+
function Kn(e, t) {
|
|
1501
|
+
let n = Ot({ presets: e.presets }, Et), r = n.presets.length === 0;
|
|
1502
1502
|
return {
|
|
1503
1503
|
presets: r ? t.presets : n.presets,
|
|
1504
1504
|
allowCustom: t.allowCustom === !1 ? !1 : e.allowCustom ?? t.allowCustom,
|
|
@@ -1510,9 +1510,9 @@ function Gn(e, t) {
|
|
|
1510
1510
|
}
|
|
1511
1511
|
//#endregion
|
|
1512
1512
|
//#region src/utils/collectColorFieldIssues.ts
|
|
1513
|
-
function
|
|
1513
|
+
function qn(e, t) {
|
|
1514
1514
|
let n = [], r = (r, i) => {
|
|
1515
|
-
let a =
|
|
1515
|
+
let a = Kn(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
|
|
1516
1516
|
if (a.invalidPresets.length > 0 && n.push({
|
|
1517
1517
|
id: s("invalid-presets"),
|
|
1518
1518
|
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 +1536,7 @@ function Kn(e, t) {
|
|
|
1536
1536
|
}
|
|
1537
1537
|
//#endregion
|
|
1538
1538
|
//#region src/utils/keyboardShortcuts.ts
|
|
1539
|
-
function
|
|
1539
|
+
function Jn(e) {
|
|
1540
1540
|
for (let t of e.composedPath()) {
|
|
1541
1541
|
if (!(t instanceof HTMLElement)) continue;
|
|
1542
1542
|
if (t.isContentEditable) return !0;
|
|
@@ -1545,18 +1545,18 @@ function qn(e) {
|
|
|
1545
1545
|
}
|
|
1546
1546
|
return !1;
|
|
1547
1547
|
}
|
|
1548
|
-
function
|
|
1548
|
+
function Yn(e, t) {
|
|
1549
1549
|
let n = e.metaKey || e.ctrlKey;
|
|
1550
1550
|
if (n && e.key.toLowerCase() === "s") {
|
|
1551
1551
|
e.preventDefault(), t.onSave?.();
|
|
1552
1552
|
return;
|
|
1553
1553
|
}
|
|
1554
1554
|
if (n && e.key.toLowerCase() === "z") {
|
|
1555
|
-
if (
|
|
1555
|
+
if (Jn(e)) return;
|
|
1556
1556
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
1557
1557
|
return;
|
|
1558
1558
|
}
|
|
1559
|
-
if (t.isPicking?.() && !
|
|
1559
|
+
if (t.isPicking?.() && !Jn(e)) {
|
|
1560
1560
|
if (e.key === "Escape") {
|
|
1561
1561
|
e.preventDefault(), t.onCancelPick?.();
|
|
1562
1562
|
return;
|
|
@@ -1574,11 +1574,11 @@ function Jn(e, t) {
|
|
|
1574
1574
|
t.selectBlock(null);
|
|
1575
1575
|
return;
|
|
1576
1576
|
}
|
|
1577
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
1577
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Jn(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
1578
1578
|
}
|
|
1579
1579
|
//#endregion
|
|
1580
1580
|
//#region src/utils/mergeTagLabelSegments.ts
|
|
1581
|
-
function
|
|
1581
|
+
function Xn(e, t, n, r = !1) {
|
|
1582
1582
|
if (!e) return [];
|
|
1583
1583
|
let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
|
|
1584
1584
|
for (; (s = i.exec(e)) !== null;) {
|
|
@@ -1588,10 +1588,10 @@ function Yn(e, t, n, r = !1) {
|
|
|
1588
1588
|
});
|
|
1589
1589
|
let i = s[0];
|
|
1590
1590
|
if (be(i, n)) {
|
|
1591
|
-
let e = r ?
|
|
1591
|
+
let e = r ? Me(i, t) : void 0;
|
|
1592
1592
|
a.push(e === void 0 ? {
|
|
1593
1593
|
type: "tag",
|
|
1594
|
-
value:
|
|
1594
|
+
value: ke(i, t)
|
|
1595
1595
|
} : {
|
|
1596
1596
|
type: "text",
|
|
1597
1597
|
value: e
|
|
@@ -1612,20 +1612,20 @@ function Yn(e, t, n, r = !1) {
|
|
|
1612
1612
|
}
|
|
1613
1613
|
//#endregion
|
|
1614
1614
|
//#region src/components/MergeTagPreviewText.vue
|
|
1615
|
-
var
|
|
1615
|
+
var Zn = d({
|
|
1616
1616
|
name: "MergeTagPreviewText",
|
|
1617
1617
|
props: { text: {
|
|
1618
1618
|
type: String,
|
|
1619
1619
|
required: !0
|
|
1620
1620
|
} },
|
|
1621
1621
|
setup(e) {
|
|
1622
|
-
let t = n(K, []), r = n(
|
|
1622
|
+
let t = n(K, []), r = n(pt, je.liquid), i = n(q, null), a = S(() => Xn(e.text, t, r, i?.value ?? !1));
|
|
1623
1623
|
return () => a.value.map((e, t) => e.type === "tag" ? z("span", {
|
|
1624
1624
|
key: t,
|
|
1625
1625
|
class: "tpl-merge-tag-label"
|
|
1626
1626
|
}, e.value) : e.value);
|
|
1627
1627
|
}
|
|
1628
|
-
}),
|
|
1628
|
+
}), Qn = ["href"], $n = /* @__PURE__ */ d({
|
|
1629
1629
|
__name: "ButtonBlock",
|
|
1630
1630
|
props: {
|
|
1631
1631
|
block: {},
|
|
@@ -1651,13 +1651,13 @@ var Xn = d({
|
|
|
1651
1651
|
style: k(n.value),
|
|
1652
1652
|
class: "tpl:cursor-default",
|
|
1653
1653
|
onClick: i[0] ||= O(() => {}, ["prevent"])
|
|
1654
|
-
}, [v(
|
|
1654
|
+
}, [v(Zn, { text: e.block.text }, null, 8, ["text"])], 12, Qn)], 4));
|
|
1655
1655
|
}
|
|
1656
|
-
}),
|
|
1656
|
+
}), er = ["innerHTML"], tr = [
|
|
1657
1657
|
"src",
|
|
1658
1658
|
"width",
|
|
1659
1659
|
"height"
|
|
1660
|
-
],
|
|
1660
|
+
], nr = /* @__PURE__ */ d({
|
|
1661
1661
|
__name: "CustomBlockIcon",
|
|
1662
1662
|
props: {
|
|
1663
1663
|
icon: {},
|
|
@@ -1673,24 +1673,24 @@ var Xn = d({
|
|
|
1673
1673
|
height: `${n.value}px`
|
|
1674
1674
|
}),
|
|
1675
1675
|
innerHTML: e.icon
|
|
1676
|
-
}, null, 12,
|
|
1676
|
+
}, null, 12, er)) : i.value ? (s(), C("img", {
|
|
1677
1677
|
key: 1,
|
|
1678
1678
|
src: e.icon,
|
|
1679
1679
|
width: n.value,
|
|
1680
1680
|
height: n.value,
|
|
1681
1681
|
class: "tpl:inline-block",
|
|
1682
1682
|
alt: ""
|
|
1683
|
-
}, null, 8,
|
|
1683
|
+
}, null, 8, tr)) : (s(), A(_(qt), {
|
|
1684
1684
|
key: 2,
|
|
1685
1685
|
size: n.value,
|
|
1686
1686
|
"stroke-width": 1.5
|
|
1687
1687
|
}, null, 8, ["size"]));
|
|
1688
1688
|
}
|
|
1689
|
-
}),
|
|
1690
|
-
function
|
|
1691
|
-
let r =
|
|
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;
|
|
1692
1692
|
function s() {
|
|
1693
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
1693
|
+
return e.value ? Array.from(e.value.querySelectorAll(rr)).filter((e) => e.offsetParent !== null) : [];
|
|
1694
1694
|
}
|
|
1695
1695
|
function c(e) {
|
|
1696
1696
|
if (e.key !== "Tab") return;
|
|
@@ -1720,8 +1720,8 @@ function rr(e, n) {
|
|
|
1720
1720
|
}
|
|
1721
1721
|
//#endregion
|
|
1722
1722
|
//#region src/composables/useEmoji.ts
|
|
1723
|
-
function
|
|
1724
|
-
let [e, n] =
|
|
1723
|
+
function ar() {
|
|
1724
|
+
let [e, n] = ze(!1), r = x([]), i = !1;
|
|
1725
1725
|
h(() => {
|
|
1726
1726
|
i = !0;
|
|
1727
1727
|
}), t(e, async (e) => {
|
|
@@ -1746,7 +1746,7 @@ function ir() {
|
|
|
1746
1746
|
}
|
|
1747
1747
|
//#endregion
|
|
1748
1748
|
//#region src/composables/useFonts.ts
|
|
1749
|
-
var
|
|
1749
|
+
var or = [
|
|
1750
1750
|
{
|
|
1751
1751
|
value: "Arial",
|
|
1752
1752
|
label: "Arial"
|
|
@@ -1775,7 +1775,7 @@ var ar = [
|
|
|
1775
1775
|
value: "Courier New",
|
|
1776
1776
|
label: "Courier New"
|
|
1777
1777
|
}
|
|
1778
|
-
],
|
|
1778
|
+
], sr = {
|
|
1779
1779
|
arial: "Arial, sans-serif",
|
|
1780
1780
|
helvetica: "Helvetica, sans-serif",
|
|
1781
1781
|
georgia: "Georgia, serif",
|
|
@@ -1783,23 +1783,23 @@ var ar = [
|
|
|
1783
1783
|
verdana: "Verdana, sans-serif",
|
|
1784
1784
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
1785
1785
|
"courier new": "'Courier New', monospace"
|
|
1786
|
-
},
|
|
1787
|
-
function
|
|
1788
|
-
if (e === void 0 || e === !0) return [...
|
|
1786
|
+
}, cr = "Arial, sans-serif";
|
|
1787
|
+
function lr(e) {
|
|
1788
|
+
if (e === void 0 || e === !0) return [...or];
|
|
1789
1789
|
if (e === !1) return [];
|
|
1790
1790
|
let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
1791
1791
|
for (let i of e) {
|
|
1792
|
-
let e = i.toLowerCase(), a =
|
|
1792
|
+
let e = i.toLowerCase(), a = or.find((t) => t.value.toLowerCase() === e);
|
|
1793
1793
|
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: ${
|
|
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(", ")}.`));
|
|
1795
1795
|
continue;
|
|
1796
1796
|
}
|
|
1797
1797
|
n.has(a.value) || (n.add(a.value), t.push(a));
|
|
1798
1798
|
}
|
|
1799
1799
|
return t;
|
|
1800
1800
|
}
|
|
1801
|
-
function
|
|
1802
|
-
let t = l(e?.customFonts ?? []), n = l(!1), r =
|
|
1801
|
+
function ur(e) {
|
|
1802
|
+
let t = l(e?.customFonts ?? []), n = l(!1), r = lr(e?.builtIns), i = S(() => e?.defaultFallback ?? cr), a = S(() => {
|
|
1803
1803
|
let e = [...r], n = t.value.map((e) => ({
|
|
1804
1804
|
value: e.name,
|
|
1805
1805
|
label: e.name,
|
|
@@ -1810,20 +1810,20 @@ function lr(e) {
|
|
|
1810
1810
|
function s(e) {
|
|
1811
1811
|
return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1812
1812
|
}
|
|
1813
|
-
let c = e?.defaultFont ??
|
|
1813
|
+
let c = e?.defaultFont ?? cr.split(",")[0].trim();
|
|
1814
1814
|
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
1815
|
function u() {
|
|
1816
1816
|
if (e?.defaultFont && s(e.defaultFont)) {
|
|
1817
1817
|
let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
1818
1818
|
if (t) return t.value;
|
|
1819
1819
|
}
|
|
1820
|
-
return
|
|
1820
|
+
return cr;
|
|
1821
1821
|
}
|
|
1822
1822
|
let d = S(() => u());
|
|
1823
1823
|
function f(e) {
|
|
1824
1824
|
if (!e) return i.value;
|
|
1825
1825
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
1826
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
1826
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : sr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
1827
1827
|
}
|
|
1828
1828
|
let p = [], m = !1;
|
|
1829
1829
|
async function g() {
|
|
@@ -1864,8 +1864,8 @@ function lr(e) {
|
|
|
1864
1864
|
}
|
|
1865
1865
|
//#endregion
|
|
1866
1866
|
//#region src/composables/useLogicTag.ts
|
|
1867
|
-
function
|
|
1868
|
-
let e = n(
|
|
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;
|
|
1869
1869
|
async function u() {
|
|
1870
1870
|
if (i) {
|
|
1871
1871
|
o.value = !0;
|
|
@@ -1896,7 +1896,7 @@ function ur() {
|
|
|
1896
1896
|
}
|
|
1897
1897
|
//#endregion
|
|
1898
1898
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
1899
|
-
function
|
|
1899
|
+
function fr(e, t, n) {
|
|
1900
1900
|
return ve(e, n) ? {
|
|
1901
1901
|
type: "logicMergeTagNode",
|
|
1902
1902
|
attrs: {
|
|
@@ -1913,15 +1913,15 @@ function dr(e, t, n) {
|
|
|
1913
1913
|
}
|
|
1914
1914
|
//#endregion
|
|
1915
1915
|
//#region src/utils/insertLogicTag.ts
|
|
1916
|
-
function
|
|
1916
|
+
function pr(e) {
|
|
1917
1917
|
return "before" in e && "after" in e;
|
|
1918
1918
|
}
|
|
1919
|
-
function
|
|
1920
|
-
if (!
|
|
1921
|
-
e.chain().focus().insertContent(
|
|
1919
|
+
function mr(e, t, n) {
|
|
1920
|
+
if (!pr(t)) {
|
|
1921
|
+
e.chain().focus().insertContent(fr(t.value, t.label, n)).run();
|
|
1922
1922
|
return;
|
|
1923
1923
|
}
|
|
1924
|
-
let r =
|
|
1924
|
+
let r = fr(t.before, t.label, n), i = fr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
1925
1925
|
if (a !== o) {
|
|
1926
1926
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
1927
1927
|
return;
|
|
@@ -1930,20 +1930,20 @@ function pr(e, t, n) {
|
|
|
1930
1930
|
}
|
|
1931
1931
|
//#endregion
|
|
1932
1932
|
//#region src/utils/linkColorExtension.ts
|
|
1933
|
-
function
|
|
1933
|
+
function hr(e) {
|
|
1934
1934
|
if (!e) return null;
|
|
1935
1935
|
let t = e.trim();
|
|
1936
1936
|
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
1937
|
}
|
|
1938
|
-
function
|
|
1938
|
+
function gr(e) {
|
|
1939
1939
|
return e.extend({ addAttributes() {
|
|
1940
1940
|
return {
|
|
1941
1941
|
...this.parent?.(),
|
|
1942
1942
|
color: {
|
|
1943
1943
|
default: null,
|
|
1944
|
-
parseHTML: (e) =>
|
|
1944
|
+
parseHTML: (e) => hr(Dt(e.style.color)),
|
|
1945
1945
|
renderHTML: (e) => {
|
|
1946
|
-
let t =
|
|
1946
|
+
let t = hr(e.color);
|
|
1947
1947
|
return t ? { style: `color: ${t}` } : {};
|
|
1948
1948
|
}
|
|
1949
1949
|
}
|
|
@@ -1952,9 +1952,9 @@ function hr(e) {
|
|
|
1952
1952
|
}
|
|
1953
1953
|
//#endregion
|
|
1954
1954
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
1955
|
-
function
|
|
1955
|
+
function _r(e) {
|
|
1956
1956
|
let t = l(!1), n = l(""), r = l(""), i = l(null);
|
|
1957
|
-
|
|
1957
|
+
ir(i, t);
|
|
1958
1958
|
function a() {
|
|
1959
1959
|
let i = e.value?.getAttributes("link") ?? {};
|
|
1960
1960
|
n.value = i.href || "", r.value = i.color || "", t.value = !0;
|
|
@@ -1963,7 +1963,7 @@ function gr(e) {
|
|
|
1963
1963
|
if (n.value) {
|
|
1964
1964
|
let t = c(n.value);
|
|
1965
1965
|
if (t !== null) {
|
|
1966
|
-
let n =
|
|
1966
|
+
let n = hr(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
|
|
1967
1967
|
n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
|
|
1968
1968
|
}
|
|
1969
1969
|
}
|
|
@@ -2010,8 +2010,8 @@ function gr(e) {
|
|
|
2010
2010
|
}
|
|
2011
2011
|
//#endregion
|
|
2012
2012
|
//#region src/composables/useRichTextEditor.ts
|
|
2013
|
-
function
|
|
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 } =
|
|
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;
|
|
2015
2015
|
async function I() {
|
|
2016
2016
|
P.value = null, M.value = !0;
|
|
2017
2017
|
try {
|
|
@@ -2071,7 +2071,7 @@ function _r(r) {
|
|
|
2071
2071
|
}
|
|
2072
2072
|
async function V() {
|
|
2073
2073
|
let e = await m();
|
|
2074
|
-
F || (e && v.value ?
|
|
2074
|
+
F || (e && v.value ? mr(v.value, e, u) : v.value?.commands.focus());
|
|
2075
2075
|
}
|
|
2076
2076
|
return {
|
|
2077
2077
|
editor: v,
|
|
@@ -2100,9 +2100,9 @@ function _r(r) {
|
|
|
2100
2100
|
}
|
|
2101
2101
|
//#endregion
|
|
2102
2102
|
//#region src/composables/useSmallScreenNotice.ts
|
|
2103
|
-
var
|
|
2104
|
-
function
|
|
2105
|
-
let t =
|
|
2103
|
+
var yr = "(max-width: 767px)";
|
|
2104
|
+
function br(e) {
|
|
2105
|
+
let t = Ve(yr);
|
|
2106
2106
|
return {
|
|
2107
2107
|
isSmallScreen: t,
|
|
2108
2108
|
showNotice: S(() => (P(e) ?? !0) && t.value)
|
|
@@ -2110,20 +2110,20 @@ function yr(e) {
|
|
|
2110
2110
|
}
|
|
2111
2111
|
//#endregion
|
|
2112
2112
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2113
|
-
var
|
|
2113
|
+
var xr = { class: "tpl:w-full" }, Sr = {
|
|
2114
2114
|
key: 0,
|
|
2115
2115
|
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
|
-
},
|
|
2116
|
+
}, Cr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wr = {
|
|
2117
2117
|
key: 1,
|
|
2118
2118
|
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
|
-
},
|
|
2119
|
+
}, Tr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Er = {
|
|
2120
2120
|
key: 2,
|
|
2121
2121
|
class: "tpl:relative"
|
|
2122
|
-
},
|
|
2122
|
+
}, Dr = ["innerHTML"], Or = {
|
|
2123
2123
|
key: 0,
|
|
2124
2124
|
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
2125
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
2126
|
-
},
|
|
2126
|
+
}, kr = /* @__PURE__ */ d({
|
|
2127
2127
|
__name: "CustomBlock",
|
|
2128
2128
|
props: {
|
|
2129
2129
|
block: {},
|
|
@@ -2131,7 +2131,7 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2131
2131
|
},
|
|
2132
2132
|
emits: ["fetchData"],
|
|
2133
2133
|
setup(e, { emit: r }) {
|
|
2134
|
-
let i = e, a = r, { t: o } = Y(), c = n(
|
|
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({
|
|
2135
2135
|
definition: f,
|
|
2136
2136
|
block: S(() => i.block),
|
|
2137
2137
|
onUpdate: (e, t) => {
|
|
@@ -2160,17 +2160,17 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2160
2160
|
}
|
|
2161
2161
|
}
|
|
2162
2162
|
}
|
|
2163
|
-
let k =
|
|
2163
|
+
let k = Re(D, 150);
|
|
2164
2164
|
return E(() => {
|
|
2165
2165
|
D();
|
|
2166
2166
|
}), t(() => i.block.fieldValues, () => {
|
|
2167
2167
|
k();
|
|
2168
2168
|
}, { deep: !0 }), t(() => x?.value, () => {
|
|
2169
2169
|
k();
|
|
2170
|
-
}), (e, t) => (s(), C("div",
|
|
2170
|
+
}), (e, t) => (s(), C("div", xr, [p.value ? d.value ? (s(), C("div", wr, [v(_(Wt), {
|
|
2171
2171
|
size: 24,
|
|
2172
2172
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
2173
|
-
}), M("span",
|
|
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, {
|
|
2174
2174
|
key: 1,
|
|
2175
2175
|
class: "tpl:w-48"
|
|
2176
2176
|
})) : (s(), C("button", {
|
|
@@ -2178,16 +2178,16 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2178
2178
|
type: "button",
|
|
2179
2179
|
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
2180
|
onClick: t[0] ||= O((...e) => _(h) && _(h)(...e), ["stop"])
|
|
2181
|
-
}, [f.value?.icon ? (s(), A(
|
|
2181
|
+
}, [f.value?.icon ? (s(), A(nr, {
|
|
2182
2182
|
key: 0,
|
|
2183
2183
|
icon: f.value.icon,
|
|
2184
2184
|
size: 16
|
|
2185
|
-
}, null, 8, ["icon"])) : w("", !0), V(" " + R(f.value?.dataSource?.label || _(o).customBlocks.dataSource.fetchButton), 1)]))])) : w("", !0)])) : (s(), C("div",
|
|
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), {
|
|
2186
2186
|
size: 24,
|
|
2187
2187
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
2188
|
-
}), M("span",
|
|
2188
|
+
}), M("span", Cr, R(_(o).customBlocks.definitionNotFound), 1)]))]));
|
|
2189
2189
|
}
|
|
2190
|
-
}),
|
|
2190
|
+
}), Ar = { class: "tpl:w-full" }, jr = /* @__PURE__ */ d({
|
|
2191
2191
|
__name: "DividerBlock",
|
|
2192
2192
|
props: {
|
|
2193
2193
|
block: {},
|
|
@@ -2199,28 +2199,28 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2199
2199
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
2200
2200
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
2201
2201
|
}));
|
|
2202
|
-
return (e, t) => (s(), C("div",
|
|
2202
|
+
return (e, t) => (s(), C("div", Ar, [M("hr", {
|
|
2203
2203
|
class: "tpl:m-0 tpl:border-none",
|
|
2204
2204
|
style: k(n.value)
|
|
2205
2205
|
}, null, 4)]));
|
|
2206
2206
|
}
|
|
2207
|
-
}),
|
|
2207
|
+
}), Mr = { class: "tpl:w-full" }, Nr = ["srcdoc", "title"], Pr = {
|
|
2208
2208
|
key: 1,
|
|
2209
2209
|
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
|
-
},
|
|
2210
|
+
}, Fr = {
|
|
2211
2211
|
key: 0,
|
|
2212
2212
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
2213
|
-
},
|
|
2213
|
+
}, Ir = {
|
|
2214
2214
|
key: 1,
|
|
2215
2215
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
2216
|
-
},
|
|
2216
|
+
}, Lr = /* @__PURE__ */ d({
|
|
2217
2217
|
__name: "HtmlBlock",
|
|
2218
2218
|
props: {
|
|
2219
2219
|
block: {},
|
|
2220
2220
|
viewport: {}
|
|
2221
2221
|
},
|
|
2222
2222
|
setup(r) {
|
|
2223
|
-
let i = r, { t: a } = Y(), o = n(
|
|
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;
|
|
2224
2224
|
function y() {
|
|
2225
2225
|
let e = m.value?.contentDocument;
|
|
2226
2226
|
e && (h.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
|
|
@@ -2234,7 +2234,7 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2234
2234
|
e || (g?.disconnect(), g = null);
|
|
2235
2235
|
}), e(() => {
|
|
2236
2236
|
g?.disconnect(), g = null;
|
|
2237
|
-
}), (e, t) => (s(), C("div",
|
|
2237
|
+
}), (e, t) => (s(), C("div", Mr, [u.value ? (s(), C("iframe", {
|
|
2238
2238
|
key: 0,
|
|
2239
2239
|
ref_key: "iframeRef",
|
|
2240
2240
|
ref: m,
|
|
@@ -2244,18 +2244,18 @@ var br = { class: "tpl:w-full" }, xr = {
|
|
|
2244
2244
|
class: "tpl:block tpl:w-full tpl:border-0",
|
|
2245
2245
|
style: k({ height: `${h.value}px` }),
|
|
2246
2246
|
onLoad: b
|
|
2247
|
-
}, null, 44,
|
|
2247
|
+
}, null, 44, Nr)) : (s(), C("div", Pr, [v(_(Pt), {
|
|
2248
2248
|
size: 24,
|
|
2249
2249
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
2250
|
-
}), c.value ? (s(), C("span",
|
|
2250
|
+
}), c.value ? (s(), C("span", Fr, R(_(a).html.preview), 1)) : (s(), C("span", Ir, R(_(a).html.empty), 1))]))]));
|
|
2251
2251
|
}
|
|
2252
|
-
}),
|
|
2253
|
-
function
|
|
2254
|
-
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } =
|
|
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, {
|
|
2255
2255
|
preventDefaultForUnhandled: !0,
|
|
2256
2256
|
onDrop: (e) => {
|
|
2257
2257
|
if (!i()) return;
|
|
2258
|
-
let t = (e ?? []).filter((e) => e.type.startsWith(
|
|
2258
|
+
let t = (e ?? []).filter((e) => e.type.startsWith(Rr));
|
|
2259
2259
|
t.length > 0 && n([t[0]]);
|
|
2260
2260
|
}
|
|
2261
2261
|
});
|
|
@@ -2263,17 +2263,17 @@ function Rr(e) {
|
|
|
2263
2263
|
}
|
|
2264
2264
|
//#endregion
|
|
2265
2265
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2266
|
-
var
|
|
2266
|
+
var Br = {
|
|
2267
2267
|
key: 0,
|
|
2268
2268
|
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
2269
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
2270
|
-
},
|
|
2270
|
+
}, Vr = ["href"], Hr = ["src", "alt"], Ur = ["src", "alt"], Wr = {
|
|
2271
2271
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
2272
2272
|
style: { opacity: "0.7" }
|
|
2273
|
-
},
|
|
2273
|
+
}, Gr = ["href"], Kr = ["src", "alt"], qr = ["src", "alt"], Jr = {
|
|
2274
2274
|
key: 4,
|
|
2275
2275
|
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
|
-
},
|
|
2276
|
+
}, Yr = ["aria-label"], Xr = { key: 1 }, Zr = /* @__PURE__ */ d({
|
|
2277
2277
|
__name: "ImageBlock",
|
|
2278
2278
|
props: {
|
|
2279
2279
|
block: {},
|
|
@@ -2281,7 +2281,7 @@ var zr = {
|
|
|
2281
2281
|
},
|
|
2282
2282
|
emits: ["update"],
|
|
2283
2283
|
setup(e, { emit: t }) {
|
|
2284
|
-
let r = e, i = t, { t: a } = Y(), { syntax: o } = Q(), c = n(
|
|
2284
|
+
let r = e, i = t, { t: a } = Y(), { syntax: o } = Q(), c = n(ft, null), u = S(() => !!c), d = Zt();
|
|
2285
2285
|
async function f() {
|
|
2286
2286
|
let e = await c?.({ accept: ["images"] });
|
|
2287
2287
|
if (d.alive && e) {
|
|
@@ -2308,7 +2308,7 @@ var zr = {
|
|
|
2308
2308
|
}
|
|
2309
2309
|
}
|
|
2310
2310
|
}
|
|
2311
|
-
let { isOver: y } =
|
|
2311
|
+
let { isOver: y } = zr({
|
|
2312
2312
|
target: p,
|
|
2313
2313
|
enabled: h,
|
|
2314
2314
|
onFiles: g
|
|
@@ -2318,22 +2318,23 @@ var zr = {
|
|
|
2318
2318
|
maxWidth: "100%",
|
|
2319
2319
|
width: r.block.width === "full" ? "100%" : `${r.block.width}px`,
|
|
2320
2320
|
height: r.block.height ? `${r.block.height}px` : void 0,
|
|
2321
|
+
borderRadius: r.block.borderRadius && r.block.borderRadius > 0 ? `${r.block.borderRadius}px` : void 0,
|
|
2321
2322
|
display: "block",
|
|
2322
2323
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
2323
2324
|
marginRight: e === "center" ? "auto" : void 0
|
|
2324
2325
|
};
|
|
2325
|
-
}), T = S(() => U(r.block.src, o)), E =
|
|
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);
|
|
2326
2327
|
return (t, n) => (s(), C("div", {
|
|
2327
2328
|
ref_key: "dropZoneRef",
|
|
2328
2329
|
ref: p,
|
|
2329
2330
|
"data-testid": "image-drop-zone",
|
|
2330
2331
|
class: "tpl:relative tpl:w-full",
|
|
2331
2332
|
style: k(b.value)
|
|
2332
|
-
}, [h.value && (_(y) || m.value) ? (s(), C("div",
|
|
2333
|
+
}, [h.value && (_(y) || m.value) ? (s(), C("div", Br, [m.value ? (s(), C(L, { key: 0 }, [v(_(Bt), {
|
|
2333
2334
|
class: "tpl-spinner",
|
|
2334
2335
|
size: 20,
|
|
2335
2336
|
"stroke-width": 2
|
|
2336
|
-
}), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(
|
|
2337
|
+
}), V(" " + R(_(a).image.uploading), 1)], 64)) : (s(), C(L, { key: 1 }, [v(_(Ht), {
|
|
2337
2338
|
size: 20,
|
|
2338
2339
|
"stroke-width": 1.5
|
|
2339
2340
|
}), 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", {
|
|
@@ -2348,22 +2349,22 @@ var zr = {
|
|
|
2348
2349
|
src: _(D),
|
|
2349
2350
|
alt: e.block.alt || _(a).image.altTextPlaceholder,
|
|
2350
2351
|
style: k(x.value)
|
|
2351
|
-
}, null, 12,
|
|
2352
|
+
}, null, 12, Hr)], 8, Vr)) : (s(), C("img", {
|
|
2352
2353
|
key: 1,
|
|
2353
2354
|
class: "tpl:border-0",
|
|
2354
2355
|
src: _(D),
|
|
2355
2356
|
alt: e.block.alt,
|
|
2356
2357
|
style: k(x.value)
|
|
2357
|
-
}, null, 12,
|
|
2358
|
+
}, null, 12, Ur))], 64)) : e.block.src && T.value ? (s(), C("div", {
|
|
2358
2359
|
key: 2,
|
|
2359
2360
|
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)]",
|
|
2360
2361
|
style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, x.value])
|
|
2361
|
-
}, [v(_(
|
|
2362
|
+
}, [v(_(Rt), {
|
|
2362
2363
|
size: 32,
|
|
2363
2364
|
"stroke-width": 1.5,
|
|
2364
2365
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
2365
2366
|
style: { opacity: "0.5" }
|
|
2366
|
-
}), M("span",
|
|
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", {
|
|
2367
2368
|
key: 0,
|
|
2368
2369
|
href: e.block.linkUrl,
|
|
2369
2370
|
target: "_blank",
|
|
@@ -2375,26 +2376,26 @@ var zr = {
|
|
|
2375
2376
|
src: _(E),
|
|
2376
2377
|
alt: e.block.alt || _(a).image.altTextPlaceholder,
|
|
2377
2378
|
style: k(x.value)
|
|
2378
|
-
}, null, 12,
|
|
2379
|
+
}, null, 12, Kr)], 8, Gr)) : (s(), C("img", {
|
|
2379
2380
|
key: 1,
|
|
2380
2381
|
class: "tpl:border-0",
|
|
2381
2382
|
src: _(E),
|
|
2382
2383
|
alt: e.block.alt,
|
|
2383
2384
|
style: k(x.value)
|
|
2384
|
-
}, null, 12,
|
|
2385
|
+
}, null, 12, qr))], 64)) : (s(), C("div", Jr, [u.value ? (s(), C("button", {
|
|
2385
2386
|
key: 0,
|
|
2386
2387
|
"aria-label": _(a).image.browseMedia,
|
|
2387
2388
|
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)]",
|
|
2388
2389
|
onClick: O(f, ["stop"])
|
|
2389
|
-
}, [v(_(
|
|
2390
|
+
}, [v(_(Rt), {
|
|
2390
2391
|
size: 14,
|
|
2391
2392
|
"stroke-width": 1.5
|
|
2392
|
-
}), V(" " + R(_(a).image.browseMedia), 1)], 8,
|
|
2393
|
+
}), V(" " + R(_(a).image.browseMedia), 1)], 8, Yr)) : (s(), C("span", Xr, R(_(a).image.clickToAdd), 1))]))], 4));
|
|
2393
2394
|
}
|
|
2394
|
-
}),
|
|
2395
|
+
}), Qr = { class: "tpl:w-full" }, $r = ["href"], ei = {
|
|
2395
2396
|
key: 1,
|
|
2396
2397
|
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)]"
|
|
2397
|
-
},
|
|
2398
|
+
}, ti = /* @__PURE__ */ d({
|
|
2398
2399
|
__name: "MenuBlock",
|
|
2399
2400
|
props: {
|
|
2400
2401
|
block: {},
|
|
@@ -2413,7 +2414,7 @@ var zr = {
|
|
|
2413
2414
|
function o(e) {
|
|
2414
2415
|
return e || t.block.linkColor || t.block.color;
|
|
2415
2416
|
}
|
|
2416
|
-
return (t, c) => (s(), C("div",
|
|
2417
|
+
return (t, c) => (s(), C("div", Qr, [a.value ? (s(), C("div", {
|
|
2417
2418
|
key: 0,
|
|
2418
2419
|
style: k(i.value)
|
|
2419
2420
|
}, [(s(!0), C(L, null, r(e.block.items, (t, n) => (s(), C(L, { key: t.id }, [M("a", {
|
|
@@ -2425,15 +2426,15 @@ var zr = {
|
|
|
2425
2426
|
textDecoration: t.underline ? "underline" : "none"
|
|
2426
2427
|
}),
|
|
2427
2428
|
onClick: c[0] ||= O(() => {}, ["prevent"])
|
|
2428
|
-
}, [v(
|
|
2429
|
+
}, [v(Zn, { text: t.text || "..." }, null, 8, ["text"])], 12, $r), n < e.block.items.length - 1 ? (s(), C("span", {
|
|
2429
2430
|
key: 0,
|
|
2430
2431
|
style: k({
|
|
2431
2432
|
color: e.block.separatorColor,
|
|
2432
2433
|
padding: `0 ${e.block.spacing}px`
|
|
2433
2434
|
})
|
|
2434
|
-
}, R(e.block.separator), 5)) : w("", !0)], 64))), 128))], 4)) : (s(), C("div",
|
|
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)]))]));
|
|
2435
2436
|
}
|
|
2436
|
-
}),
|
|
2437
|
+
}), ni = /* @__PURE__ */ new Set([
|
|
2437
2438
|
"http",
|
|
2438
2439
|
"https",
|
|
2439
2440
|
"mailto",
|
|
@@ -2443,7 +2444,7 @@ var zr = {
|
|
|
2443
2444
|
"sms",
|
|
2444
2445
|
"xmpp",
|
|
2445
2446
|
"cid"
|
|
2446
|
-
]),
|
|
2447
|
+
]), ri = /* @__PURE__ */ new Set([
|
|
2447
2448
|
"SCRIPT",
|
|
2448
2449
|
"STYLE",
|
|
2449
2450
|
"IFRAME",
|
|
@@ -2453,7 +2454,7 @@ var zr = {
|
|
|
2453
2454
|
"META",
|
|
2454
2455
|
"BASE",
|
|
2455
2456
|
"FORM"
|
|
2456
|
-
]),
|
|
2457
|
+
]), ii = /* @__PURE__ */ new Set([
|
|
2457
2458
|
"href",
|
|
2458
2459
|
"xlink:href",
|
|
2459
2460
|
"formaction",
|
|
@@ -2462,16 +2463,16 @@ var zr = {
|
|
|
2462
2463
|
"background",
|
|
2463
2464
|
"poster"
|
|
2464
2465
|
]);
|
|
2465
|
-
function
|
|
2466
|
+
function ai(e, t) {
|
|
2466
2467
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
2467
2468
|
if (!n || n.startsWith("#")) return !0;
|
|
2468
2469
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
2469
2470
|
if (!r) return !0;
|
|
2470
2471
|
let i = r[1].toLowerCase();
|
|
2471
|
-
return
|
|
2472
|
+
return ni.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
2472
2473
|
}
|
|
2473
|
-
function
|
|
2474
|
-
if (
|
|
2474
|
+
function oi(e) {
|
|
2475
|
+
if (ri.has(e.tagName)) {
|
|
2475
2476
|
e.remove();
|
|
2476
2477
|
return;
|
|
2477
2478
|
}
|
|
@@ -2483,29 +2484,29 @@ function ai(e) {
|
|
|
2483
2484
|
e.removeAttribute(n);
|
|
2484
2485
|
continue;
|
|
2485
2486
|
}
|
|
2486
|
-
if (
|
|
2487
|
-
|
|
2487
|
+
if (ii.has(t)) {
|
|
2488
|
+
ai(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
2488
2489
|
continue;
|
|
2489
2490
|
}
|
|
2490
2491
|
if (t === "src") {
|
|
2491
|
-
|
|
2492
|
+
ai(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
2492
2493
|
continue;
|
|
2493
2494
|
}
|
|
2494
2495
|
t === "srcdoc" && e.removeAttribute(n);
|
|
2495
2496
|
}
|
|
2496
2497
|
let n = Array.from(e.children);
|
|
2497
|
-
for (let e of n)
|
|
2498
|
+
for (let e of n) oi(e);
|
|
2498
2499
|
}
|
|
2499
|
-
function
|
|
2500
|
+
function si(e) {
|
|
2500
2501
|
if (typeof DOMParser > "u") return e;
|
|
2501
2502
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
2502
|
-
for (let e of n)
|
|
2503
|
+
for (let e of n) oi(e);
|
|
2503
2504
|
return t.innerHTML;
|
|
2504
2505
|
}
|
|
2505
2506
|
//#endregion
|
|
2506
2507
|
//#region src/composables/useEditableTextBlock.ts
|
|
2507
|
-
function
|
|
2508
|
-
let t = n(K, []), r = n(q, null), { syntax: i } = Q(), a = S(() => r?.value ? xe(e(), t) : Ee(e(), t)), o = S(() =>
|
|
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({
|
|
2509
2510
|
top: u.value - 8,
|
|
2510
2511
|
left: d.value
|
|
2511
2512
|
}));
|
|
@@ -2526,14 +2527,14 @@ function si(e) {
|
|
|
2526
2527
|
}
|
|
2527
2528
|
//#endregion
|
|
2528
2529
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2529
|
-
var
|
|
2530
|
+
var li = ["innerHTML"], ui = /* @__PURE__ */ d({
|
|
2530
2531
|
__name: "ParagraphBlock",
|
|
2531
2532
|
props: {
|
|
2532
2533
|
block: {},
|
|
2533
2534
|
viewport: {}
|
|
2534
2535
|
},
|
|
2535
2536
|
setup(e) {
|
|
2536
|
-
let t = e, n = B(() => import("./ParagraphEditor-
|
|
2537
|
+
let t = e, n = B(() => import("./ParagraphEditor-BalgLjBt.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content);
|
|
2537
2538
|
return (t, u) => (s(), C("div", {
|
|
2538
2539
|
ref_key: "blockRef",
|
|
2539
2540
|
ref: i,
|
|
@@ -2550,56 +2551,56 @@ var ci = ["innerHTML"], li = /* @__PURE__ */ d({
|
|
|
2550
2551
|
"onDone"
|
|
2551
2552
|
])) : (s(), C("div", {
|
|
2552
2553
|
key: 1,
|
|
2553
|
-
class: "tpl-text-content tpl:outline-none
|
|
2554
|
+
class: "tpl-text-content tpl:outline-none",
|
|
2554
2555
|
innerHTML: _(o)
|
|
2555
|
-
}, null, 8,
|
|
2556
|
+
}, null, 8, li))], 544));
|
|
2556
2557
|
}
|
|
2557
2558
|
});
|
|
2558
2559
|
//#endregion
|
|
2559
2560
|
//#region src/utils/blockComponentResolver.ts
|
|
2560
|
-
function
|
|
2561
|
+
function di(e) {
|
|
2561
2562
|
let t = { fontFamily: e.fontFamily };
|
|
2562
2563
|
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;
|
|
2563
2564
|
}
|
|
2564
|
-
function
|
|
2565
|
+
function fi(e, t, n) {
|
|
2565
2566
|
if (t) {
|
|
2566
2567
|
let n = t.getComponent(e);
|
|
2567
2568
|
if (n) return n;
|
|
2568
2569
|
}
|
|
2569
2570
|
return n[e.type] ?? null;
|
|
2570
2571
|
}
|
|
2571
|
-
function
|
|
2572
|
+
function pi(e) {
|
|
2572
2573
|
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
2573
2574
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
2574
2575
|
backgroundColor: n || "transparent"
|
|
2575
2576
|
};
|
|
2576
|
-
return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
|
|
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;
|
|
2577
2578
|
}
|
|
2578
|
-
function
|
|
2579
|
+
function mi(e) {
|
|
2579
2580
|
if (e.type !== "section" || !e.wrapper) return null;
|
|
2580
2581
|
let t = e.wrapper, n = {};
|
|
2581
2582
|
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;
|
|
2582
2583
|
}
|
|
2583
2584
|
//#endregion
|
|
2584
2585
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
2585
|
-
var
|
|
2586
|
+
var hi = [
|
|
2586
2587
|
"data-block-id",
|
|
2587
2588
|
"data-block-type",
|
|
2588
2589
|
"data-tpl-picked"
|
|
2589
|
-
],
|
|
2590
|
+
], gi = ["aria-label"], _i = [
|
|
2590
2591
|
"aria-label",
|
|
2591
2592
|
"aria-pressed",
|
|
2592
2593
|
"title"
|
|
2593
|
-
],
|
|
2594
|
+
], vi = ["aria-label", "title"], yi = ["aria-label", "title"], bi = ["aria-label", "title"], xi = {
|
|
2594
2595
|
key: 1,
|
|
2595
2596
|
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"
|
|
2596
|
-
},
|
|
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 = {
|
|
2597
2598
|
key: 2,
|
|
2598
2599
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
2599
|
-
},
|
|
2600
|
+
}, wi = ["aria-label", "title"], Ti = {
|
|
2600
2601
|
key: 3,
|
|
2601
2602
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
2602
|
-
},
|
|
2603
|
+
}, Ei = ["aria-label"], Di = /*#__PURE__*/ Yt(/* @__PURE__ */ d({
|
|
2603
2604
|
__name: "BlockWrapper",
|
|
2604
2605
|
props: {
|
|
2605
2606
|
block: {},
|
|
@@ -2611,7 +2612,7 @@ var mi = [
|
|
|
2611
2612
|
},
|
|
2612
2613
|
emits: ["select"],
|
|
2613
2614
|
setup(e, { emit: t }) {
|
|
2614
|
-
let r = B(() => import("./BlockIssueBadge-
|
|
2615
|
+
let r = B(() => import("./BlockIssueBadge-Bry71Wjz.js")), i = e, o = t, { t: c, format: u } = Y(), d = n(Ct, null), f = l(null), p = S(() => d?.liftedBlockId.value === i.block.id), m = S(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
|
|
2615
2616
|
async function h() {
|
|
2616
2617
|
await D(), f.value?.focus();
|
|
2617
2618
|
}
|
|
@@ -2637,13 +2638,7 @@ var mi = [
|
|
|
2637
2638
|
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 ? {
|
|
2638
2639
|
desktop: c.viewport.desktop,
|
|
2639
2640
|
mobile: c.viewport.mobile
|
|
2640
|
-
}[i.viewport] ?? i.viewport : ""), E = S(() => !!i.block.displayCondition), A = n(
|
|
2641
|
-
let e = fi(i.block), t = {
|
|
2642
|
-
padding: e.padding,
|
|
2643
|
-
backgroundColor: e.backgroundColor
|
|
2644
|
-
};
|
|
2645
|
-
return e.borderRadius && (t.borderRadius = e.borderRadius), t;
|
|
2646
|
-
}), ee = S(() => pi(i.block));
|
|
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));
|
|
2647
2642
|
function te(e) {
|
|
2648
2643
|
i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
|
|
2649
2644
|
}
|
|
@@ -2688,61 +2683,61 @@ var mi = [
|
|
|
2688
2683
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
2689
2684
|
title: _(c).blockActions.drag,
|
|
2690
2685
|
onKeydown: g
|
|
2691
|
-
}, [v(_(
|
|
2686
|
+
}, [v(_(zt), {
|
|
2692
2687
|
size: 14,
|
|
2693
2688
|
"stroke-width": 1.5
|
|
2694
|
-
})], 40,
|
|
2689
|
+
})], 40, _i),
|
|
2695
2690
|
M("button", {
|
|
2696
2691
|
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",
|
|
2697
2692
|
"aria-label": _(c).blockActions.duplicate,
|
|
2698
2693
|
title: _(c).blockActions.duplicate,
|
|
2699
2694
|
onClick: O(re, ["stop"])
|
|
2700
|
-
}, [v(_(
|
|
2695
|
+
}, [v(_(Mt), {
|
|
2701
2696
|
size: 14,
|
|
2702
2697
|
"stroke-width": 1.5
|
|
2703
|
-
})], 8,
|
|
2698
|
+
})], 8, vi),
|
|
2704
2699
|
F.value ? (s(), C("button", {
|
|
2705
2700
|
key: 0,
|
|
2706
2701
|
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",
|
|
2707
2702
|
"aria-label": _(c).blockActions.saveAsBlock,
|
|
2708
2703
|
title: _(c).blockActions.saveAsBlock,
|
|
2709
2704
|
onClick: O(ie, ["stop"])
|
|
2710
|
-
}, [v(_(
|
|
2705
|
+
}, [v(_(jt), {
|
|
2711
2706
|
size: 14,
|
|
2712
2707
|
"stroke-width": 1.5
|
|
2713
|
-
})], 8,
|
|
2708
|
+
})], 8, yi)) : w("", !0),
|
|
2714
2709
|
M("button", {
|
|
2715
2710
|
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",
|
|
2716
2711
|
"aria-label": _(c).blockActions.delete,
|
|
2717
2712
|
title: _(c).blockActions.delete,
|
|
2718
2713
|
onClick: O(ne, ["stop"])
|
|
2719
|
-
}, [v(_(
|
|
2714
|
+
}, [v(_(Lt), {
|
|
2720
2715
|
size: 14,
|
|
2721
2716
|
"stroke-width": 1.5
|
|
2722
|
-
})], 8,
|
|
2723
|
-
], 8,
|
|
2724
|
-
y.value ? (s(), C("div",
|
|
2717
|
+
})], 8, bi)
|
|
2718
|
+
], 8, gi)) : w("", !0),
|
|
2719
|
+
y.value ? (s(), C("div", xi, [M("span", Si, [v(_(Ft), {
|
|
2725
2720
|
size: 12,
|
|
2726
2721
|
"stroke-width": 1.5
|
|
2727
2722
|
}), V(" " + R(_(u)(_(c).blockActions.hiddenOnViewport, { viewport: T.value })), 1)])])) : w("", !0),
|
|
2728
|
-
E.value && !y.value ? (s(), C("div",
|
|
2723
|
+
E.value && !y.value ? (s(), C("div", Ci, [M("button", {
|
|
2729
2724
|
"data-testid": "condition-toggle",
|
|
2730
2725
|
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)]",
|
|
2731
2726
|
"aria-label": _(c).blockActions.conditionToggle,
|
|
2732
2727
|
title: e.block.displayCondition?.label,
|
|
2733
2728
|
onClick: O(ae, ["stop"])
|
|
2734
|
-
}, [v(_(
|
|
2729
|
+
}, [v(_(Kt), {
|
|
2735
2730
|
size: 12,
|
|
2736
2731
|
"stroke-width": 2
|
|
2737
|
-
})], 8,
|
|
2738
|
-
L.value > 0 && !y.value ? (s(), C("div",
|
|
2732
|
+
})], 8, wi)])) : w("", !0),
|
|
2733
|
+
L.value > 0 && !y.value ? (s(), C("div", Ti, [M("button", {
|
|
2739
2734
|
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)]",
|
|
2740
2735
|
"aria-label": _(u)(_(c).blockActions.comments, { count: String(L.value) }),
|
|
2741
2736
|
onClick: n[0] ||= O((t) => _(N).comments?.openForBlock(e.block.id), ["stop"])
|
|
2742
|
-
}, [v(_(
|
|
2737
|
+
}, [v(_(Ut), {
|
|
2743
2738
|
size: 12,
|
|
2744
2739
|
"stroke-width": 2.5
|
|
2745
|
-
}), V(" " + R(L.value), 1)], 8,
|
|
2740
|
+
}), V(" " + R(L.value), 1)], 8, Ei)])) : w("", !0),
|
|
2746
2741
|
ee.value ? (s(), C("div", {
|
|
2747
2742
|
key: 4,
|
|
2748
2743
|
class: "tpl-section-wrapper",
|
|
@@ -2755,31 +2750,31 @@ var mi = [
|
|
|
2755
2750
|
class: "tpl-block-content",
|
|
2756
2751
|
style: k(z.value)
|
|
2757
2752
|
}, [a(t.$slots, "default", {}, void 0, !0)], 4))
|
|
2758
|
-
], 10,
|
|
2753
|
+
], 10, hi));
|
|
2759
2754
|
}
|
|
2760
|
-
}), [["__scopeId", "data-v-
|
|
2755
|
+
}), [["__scopeId", "data-v-2c239048"]]);
|
|
2761
2756
|
//#endregion
|
|
2762
2757
|
//#region src/utils/unwrapParagraph.ts
|
|
2763
|
-
function
|
|
2758
|
+
function Oi(e) {
|
|
2764
2759
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
2765
2760
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
2766
2761
|
}
|
|
2767
2762
|
//#endregion
|
|
2768
2763
|
//#region src/components/blocks/TitleBlock.vue
|
|
2769
|
-
var
|
|
2764
|
+
var ki = /* @__PURE__ */ d({
|
|
2770
2765
|
__name: "TitleBlock",
|
|
2771
2766
|
props: {
|
|
2772
2767
|
block: {},
|
|
2773
2768
|
viewport: {}
|
|
2774
2769
|
},
|
|
2775
2770
|
setup(e) {
|
|
2776
|
-
let t = e, n = B(() => import("./TitleEditor-
|
|
2771
|
+
let t = e, n = B(() => import("./TitleEditor-CfHWnThg.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ci(() => t.block.content), d = S(() => {
|
|
2777
2772
|
let e = {
|
|
2778
|
-
fontSize: `${
|
|
2773
|
+
fontSize: `${Ne[t.block.level]}px`,
|
|
2779
2774
|
textAlign: t.block.textAlign
|
|
2780
2775
|
};
|
|
2781
2776
|
return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
2782
|
-
}), f = S(() => `h${t.block.level}`), p = S(() =>
|
|
2777
|
+
}), f = S(() => `h${t.block.level}`), p = S(() => Oi(o.value));
|
|
2783
2778
|
return (t, o) => (s(), C("div", {
|
|
2784
2779
|
ref_key: "blockRef",
|
|
2785
2780
|
ref: i,
|
|
@@ -2797,7 +2792,7 @@ var Oi = /* @__PURE__ */ d({
|
|
|
2797
2792
|
"onDone"
|
|
2798
2793
|
])) : (s(), A(u(f.value), {
|
|
2799
2794
|
key: 1,
|
|
2800
|
-
class: "tpl-text-content tpl:m-0 tpl:font-[inherit] tpl:text-[length:inherit] tpl:leading-tight tpl:outline-none
|
|
2795
|
+
class: "tpl-text-content tpl:m-0 tpl:font-[inherit] tpl:text-[length:inherit] tpl:leading-tight tpl:outline-none",
|
|
2801
2796
|
style: { color: "inherit" },
|
|
2802
2797
|
innerHTML: p.value
|
|
2803
2798
|
}, null, 8, ["innerHTML"]))], 36));
|
|
@@ -2805,16 +2800,16 @@ var Oi = /* @__PURE__ */ d({
|
|
|
2805
2800
|
});
|
|
2806
2801
|
//#endregion
|
|
2807
2802
|
//#region src/utils/sectionColumnDrop.ts
|
|
2808
|
-
function
|
|
2803
|
+
function Ai(e) {
|
|
2809
2804
|
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
2810
2805
|
}
|
|
2811
2806
|
//#endregion
|
|
2812
2807
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2813
|
-
var
|
|
2808
|
+
var ji = { class: "tpl:w-full" }, Mi = {
|
|
2814
2809
|
key: 0,
|
|
2815
2810
|
"data-testid": "section-drop-hint",
|
|
2816
2811
|
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)]"
|
|
2817
|
-
},
|
|
2812
|
+
}, Ni = /* @__PURE__ */ d({
|
|
2818
2813
|
__name: "SectionBlock",
|
|
2819
2814
|
props: {
|
|
2820
2815
|
block: {},
|
|
@@ -2822,13 +2817,13 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2822
2817
|
},
|
|
2823
2818
|
setup(e) {
|
|
2824
2819
|
let t = {
|
|
2825
|
-
title:
|
|
2826
|
-
paragraph:
|
|
2827
|
-
image:
|
|
2828
|
-
button:
|
|
2829
|
-
divider:
|
|
2830
|
-
custom:
|
|
2831
|
-
}, a = e, { t: o } = Y(), c =
|
|
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);
|
|
2832
2827
|
function h(e) {
|
|
2833
2828
|
let t = p.savedBlocks;
|
|
2834
2829
|
if (t?.isPicking.value) {
|
|
@@ -2863,7 +2858,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2863
2858
|
r[e] = n, c.updateBlock(a.block.id, { children: r });
|
|
2864
2859
|
}
|
|
2865
2860
|
function D(e) {
|
|
2866
|
-
return
|
|
2861
|
+
return fi(e, d, t);
|
|
2867
2862
|
}
|
|
2868
2863
|
function O(e, t) {
|
|
2869
2864
|
e.type === "custom" && c.updateBlock(e.id, {
|
|
@@ -2871,7 +2866,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2871
2866
|
dataSourceFetched: t.dataSourceFetched
|
|
2872
2867
|
});
|
|
2873
2868
|
}
|
|
2874
|
-
return (t, n) => (s(), C("div",
|
|
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", {
|
|
2875
2870
|
key: n,
|
|
2876
2871
|
class: b(["tpl:relative tpl:min-h-[60px] tpl:rounded", T(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
2877
2872
|
style: k({ width: x.value ? "100%" : g.value[n] })
|
|
@@ -2880,7 +2875,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2880
2875
|
group: {
|
|
2881
2876
|
name: "blocks",
|
|
2882
2877
|
pull: !0,
|
|
2883
|
-
put: (e, t, n) => _(
|
|
2878
|
+
put: (e, t, n) => _(Ai)(n)
|
|
2884
2879
|
},
|
|
2885
2880
|
animation: 150,
|
|
2886
2881
|
"ghost-class": "tpl-ghost",
|
|
@@ -2893,7 +2888,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2893
2888
|
class: "tpl:min-h-[60px]",
|
|
2894
2889
|
"onUpdate:modelValue": (e) => E(n, e)
|
|
2895
2890
|
}, {
|
|
2896
|
-
default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(
|
|
2891
|
+
default: i(() => [(s(!0), C(L, null, r(T(n), (t) => f((s(), C("div", { key: t.id }, [v(Di, {
|
|
2897
2892
|
block: t,
|
|
2898
2893
|
"is-selected": _(c).state.selectedBlockId === t.id,
|
|
2899
2894
|
viewport: e.viewport,
|
|
@@ -2925,13 +2920,13 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2925
2920
|
"model-value",
|
|
2926
2921
|
"group",
|
|
2927
2922
|
"onUpdate:modelValue"
|
|
2928
|
-
]), T(n).length === 0 ? (s(), C("div",
|
|
2923
|
+
]), T(n).length === 0 ? (s(), C("div", Mi, [M("span", null, R(_(o).section.dropHere), 1)])) : w("", !0)], 6))), 128))], 2)]));
|
|
2929
2924
|
}
|
|
2930
|
-
}),
|
|
2925
|
+
}), Pi = ye, Fi = {
|
|
2931
2926
|
small: 24,
|
|
2932
2927
|
medium: 32,
|
|
2933
2928
|
large: 48
|
|
2934
|
-
},
|
|
2929
|
+
}, Ii = [
|
|
2935
2930
|
"facebook",
|
|
2936
2931
|
"twitter",
|
|
2937
2932
|
"instagram",
|
|
@@ -2949,11 +2944,11 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2949
2944
|
"github",
|
|
2950
2945
|
"dribbble",
|
|
2951
2946
|
"behance"
|
|
2952
|
-
],
|
|
2947
|
+
], Li = [
|
|
2953
2948
|
"width",
|
|
2954
2949
|
"height",
|
|
2955
2950
|
"fill"
|
|
2956
|
-
],
|
|
2951
|
+
], Ri = ["d"], zi = /* @__PURE__ */ d({
|
|
2957
2952
|
__name: "SocialIconSvg",
|
|
2958
2953
|
props: {
|
|
2959
2954
|
platform: {},
|
|
@@ -2961,7 +2956,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
2961
2956
|
iconSize: {}
|
|
2962
2957
|
},
|
|
2963
2958
|
setup(e) {
|
|
2964
|
-
let t = e, n = S(() =>
|
|
2959
|
+
let t = e, n = S(() => Pi[t.platform]), r = S(() => Fi[t.iconSize]), i = S(() => {
|
|
2965
2960
|
let e = {
|
|
2966
2961
|
display: "inline-flex",
|
|
2967
2962
|
alignItems: "center",
|
|
@@ -3005,12 +3000,12 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3005
3000
|
viewBox: "0 0 24 24",
|
|
3006
3001
|
fill: o.value,
|
|
3007
3002
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3008
|
-
}, [M("path", { d: n.value.path }, null, 8,
|
|
3003
|
+
}, [M("path", { d: n.value.path }, null, 8, Ri)], 8, Li))], 4));
|
|
3009
3004
|
}
|
|
3010
|
-
}),
|
|
3005
|
+
}), Bi = { class: "tpl:w-full" }, Vi = ["href"], Hi = {
|
|
3011
3006
|
key: 1,
|
|
3012
3007
|
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)]"
|
|
3013
|
-
},
|
|
3008
|
+
}, Ui = /* @__PURE__ */ d({
|
|
3014
3009
|
__name: "SocialIconsBlock",
|
|
3015
3010
|
props: {
|
|
3016
3011
|
block: {},
|
|
@@ -3023,7 +3018,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3023
3018
|
gap: `${t.block.spacing}px`,
|
|
3024
3019
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3025
3020
|
})), a = S(() => t.block.icons.length > 0);
|
|
3026
|
-
return (t, o) => (s(), C("div",
|
|
3021
|
+
return (t, o) => (s(), C("div", Bi, [a.value ? (s(), C("div", {
|
|
3027
3022
|
key: 0,
|
|
3028
3023
|
style: k(i.value)
|
|
3029
3024
|
}, [(s(!0), C(L, null, r(e.block.icons, (t) => (s(), C("a", {
|
|
@@ -3031,7 +3026,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3031
3026
|
href: t.url || "#",
|
|
3032
3027
|
class: "tpl:cursor-default",
|
|
3033
3028
|
onClick: o[0] ||= O(() => {}, ["prevent"])
|
|
3034
|
-
}, [v(
|
|
3029
|
+
}, [v(zi, {
|
|
3035
3030
|
platform: t.platform,
|
|
3036
3031
|
"icon-style": e.block.iconStyle,
|
|
3037
3032
|
"icon-size": e.block.iconSize
|
|
@@ -3039,44 +3034,44 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3039
3034
|
"platform",
|
|
3040
3035
|
"icon-style",
|
|
3041
3036
|
"icon-size"
|
|
3042
|
-
])], 8,
|
|
3037
|
+
])], 8, Vi))), 128))], 4)) : (s(), C("div", Hi, [v(_(At), { size: 16 }), M("span", null, R(_(n).social.addIcons), 1)]))]));
|
|
3043
3038
|
}
|
|
3044
|
-
}),
|
|
3039
|
+
}), Wi = { class: "tpl:w-full" }, Gi = {
|
|
3045
3040
|
key: 0,
|
|
3046
3041
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3047
3042
|
style: {
|
|
3048
3043
|
"background-color": "var(--tpl-bg-hover)",
|
|
3049
3044
|
color: "var(--tpl-text-dim)"
|
|
3050
3045
|
}
|
|
3051
|
-
},
|
|
3046
|
+
}, Ki = /* @__PURE__ */ d({
|
|
3052
3047
|
__name: "SpacerBlock",
|
|
3053
3048
|
props: {
|
|
3054
3049
|
block: {},
|
|
3055
3050
|
viewport: {}
|
|
3056
3051
|
},
|
|
3057
3052
|
setup(e) {
|
|
3058
|
-
let t = e, n =
|
|
3053
|
+
let t = e, n = it(J, "SpacerBlock"), r = S(() => ({
|
|
3059
3054
|
height: `${t.block.height}px`,
|
|
3060
3055
|
minHeight: `${t.block.height}px`,
|
|
3061
3056
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3062
3057
|
}));
|
|
3063
|
-
return (t, i) => (s(), C("div",
|
|
3058
|
+
return (t, i) => (s(), C("div", Wi, [M("div", {
|
|
3064
3059
|
style: k(r.value),
|
|
3065
3060
|
class: b(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !_(n).state.previewMode }])
|
|
3066
|
-
}, [_(n).state.previewMode ? w("", !0) : (s(), C("span",
|
|
3061
|
+
}, [_(n).state.previewMode ? w("", !0) : (s(), C("span", Gi, R(e.block.height) + "px ", 1))], 6)]));
|
|
3067
3062
|
}
|
|
3068
|
-
}),
|
|
3063
|
+
}), qi = { class: "tpl:w-full" }, Ji = { key: 0 }, Yi = [
|
|
3069
3064
|
"aria-label",
|
|
3070
3065
|
"data-placeholder",
|
|
3071
3066
|
"onBlur"
|
|
3072
|
-
],
|
|
3067
|
+
], Xi = [
|
|
3073
3068
|
"aria-label",
|
|
3074
3069
|
"data-placeholder",
|
|
3075
3070
|
"onBlur"
|
|
3076
|
-
],
|
|
3071
|
+
], Zi = {
|
|
3077
3072
|
key: 1,
|
|
3078
3073
|
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)]"
|
|
3079
|
-
},
|
|
3074
|
+
}, Qi = /*#__PURE__*/ Yt(/* @__PURE__ */ d({
|
|
3080
3075
|
__name: "TableBlock",
|
|
3081
3076
|
props: {
|
|
3082
3077
|
block: {},
|
|
@@ -3090,7 +3085,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3090
3085
|
updated(e, t) {
|
|
3091
3086
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
3092
3087
|
}
|
|
3093
|
-
}, n = e, { t: i } = Y(), a =
|
|
3088
|
+
}, n = e, { t: i } = Y(), a = it(J, "TableBlock"), o = S(() => n.block.rows.length > 0), c = S(() => {
|
|
3094
3089
|
let e = {
|
|
3095
3090
|
width: "100%",
|
|
3096
3091
|
borderCollapse: "collapse",
|
|
@@ -3121,11 +3116,11 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3121
3116
|
} : n);
|
|
3122
3117
|
a.updateBlock(n.block.id, { rows: o });
|
|
3123
3118
|
}
|
|
3124
|
-
return (e, n) => (s(), C("div",
|
|
3119
|
+
return (e, n) => (s(), C("div", qi, [o.value ? (s(), C("table", {
|
|
3125
3120
|
key: 0,
|
|
3126
3121
|
style: k(c.value),
|
|
3127
3122
|
class: "tpl-table-editable"
|
|
3128
|
-
}, [d.value ? (s(), C("thead",
|
|
3123
|
+
}, [d.value ? (s(), C("thead", Ji, [M("tr", null, [(s(!0), C(L, null, r(d.value.cells, (e) => f((s(), C("th", {
|
|
3129
3124
|
key: e.id,
|
|
3130
3125
|
style: k(u.value),
|
|
3131
3126
|
"aria-label": _(i).table.cellPlaceholder,
|
|
@@ -3134,7 +3129,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3134
3129
|
onBlur: (t) => h(d.value.id, e.id, t),
|
|
3135
3130
|
onKeydown: n[0] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3136
3131
|
onClick: O(m, ["stop"])
|
|
3137
|
-
}, null, 44,
|
|
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", {
|
|
3138
3133
|
key: r.id,
|
|
3139
3134
|
style: k(l.value),
|
|
3140
3135
|
"aria-label": _(i).table.cellPlaceholder,
|
|
@@ -3143,9 +3138,9 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3143
3138
|
onBlur: (t) => h(e.id, r.id, t),
|
|
3144
3139
|
onKeydown: n[1] ||= y(O((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3145
3140
|
onClick: O(m, ["stop"])
|
|
3146
|
-
}, null, 44,
|
|
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)]))]));
|
|
3147
3142
|
}
|
|
3148
|
-
}), [["__scopeId", "data-v-963ac422"]]),
|
|
3143
|
+
}), [["__scopeId", "data-v-963ac422"]]), $i = /* @__PURE__ */ d({
|
|
3149
3144
|
__name: "VideoPlayButton",
|
|
3150
3145
|
props: { hoverEffect: {
|
|
3151
3146
|
type: Boolean,
|
|
@@ -3163,7 +3158,7 @@ var Ai = { class: "tpl:w-full" }, ji = {
|
|
|
3163
3158
|
});
|
|
3164
3159
|
//#endregion
|
|
3165
3160
|
//#region src/utils/videoThumbnail.ts
|
|
3166
|
-
function
|
|
3161
|
+
function ea(e) {
|
|
3167
3162
|
if (!e) return {
|
|
3168
3163
|
platform: "unknown",
|
|
3169
3164
|
videoId: null,
|
|
@@ -3195,25 +3190,25 @@ function $i(e) {
|
|
|
3195
3190
|
thumbnailUrl: null
|
|
3196
3191
|
};
|
|
3197
3192
|
}
|
|
3198
|
-
function
|
|
3199
|
-
return t ||
|
|
3193
|
+
function ta(e, t) {
|
|
3194
|
+
return t || ea(e).thumbnailUrl;
|
|
3200
3195
|
}
|
|
3201
3196
|
//#endregion
|
|
3202
3197
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3203
|
-
var
|
|
3198
|
+
var na = ["src", "alt"], ra = {
|
|
3204
3199
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3205
3200
|
style: { opacity: "0.7" }
|
|
3206
|
-
},
|
|
3201
|
+
}, ia = ["href"], aa = ["src", "alt"], oa = ["src", "alt"], sa = {
|
|
3207
3202
|
key: 3,
|
|
3208
3203
|
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)]"
|
|
3209
|
-
},
|
|
3204
|
+
}, ca = /* @__PURE__ */ d({
|
|
3210
3205
|
__name: "VideoBlock",
|
|
3211
3206
|
props: {
|
|
3212
3207
|
block: {},
|
|
3213
3208
|
viewport: {}
|
|
3214
3209
|
},
|
|
3215
3210
|
setup(e) {
|
|
3216
|
-
let t = e, { t: n } = Y(), { syntax: r } = Q(), i = S(() => U(t.block.url, r) || U(t.block.thumbnailUrl, r)), a =
|
|
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(() => {
|
|
3217
3212
|
let e = t.block.align;
|
|
3218
3213
|
return {
|
|
3219
3214
|
maxWidth: "100%",
|
|
@@ -3236,16 +3231,16 @@ var ta = ["src", "alt"], na = {
|
|
|
3236
3231
|
src: _(o),
|
|
3237
3232
|
alt: e.block.alt,
|
|
3238
3233
|
style: k(d.value)
|
|
3239
|
-
}, null, 12,
|
|
3234
|
+
}, null, 12, na), v($i)], 4)) : i.value ? (s(), C("div", {
|
|
3240
3235
|
key: 1,
|
|
3241
3236
|
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)]",
|
|
3242
3237
|
style: k([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
|
|
3243
|
-
}, [v(_(
|
|
3238
|
+
}, [v(_(Vt), {
|
|
3244
3239
|
size: 36,
|
|
3245
3240
|
"stroke-width": 1.5,
|
|
3246
3241
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3247
3242
|
style: { opacity: "0.5" }
|
|
3248
|
-
}), M("span",
|
|
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", {
|
|
3249
3244
|
key: 0,
|
|
3250
3245
|
href: e.block.url,
|
|
3251
3246
|
target: "_blank",
|
|
@@ -3258,7 +3253,7 @@ var ta = ["src", "alt"], na = {
|
|
|
3258
3253
|
src: c.value,
|
|
3259
3254
|
alt: e.block.alt,
|
|
3260
3255
|
style: k(d.value)
|
|
3261
|
-
}, null, 12,
|
|
3256
|
+
}, null, 12, aa), v($i, { "hover-effect": "" })], 12, ia)) : (s(), C("div", {
|
|
3262
3257
|
key: 1,
|
|
3263
3258
|
class: "tpl:relative tpl:inline-block",
|
|
3264
3259
|
style: k(u.value)
|
|
@@ -3267,51 +3262,51 @@ var ta = ["src", "alt"], na = {
|
|
|
3267
3262
|
src: c.value,
|
|
3268
3263
|
alt: e.block.alt,
|
|
3269
3264
|
style: k(d.value)
|
|
3270
|
-
}, null, 12,
|
|
3265
|
+
}, null, 12, oa), v($i)], 4))], 64)) : (s(), C("div", sa, [v(_(Vt), {
|
|
3271
3266
|
size: 40,
|
|
3272
3267
|
"stroke-width": 1.5,
|
|
3273
3268
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
3274
3269
|
}), M("span", null, R(_(n).video.addVideo), 1)]))], 4));
|
|
3275
3270
|
}
|
|
3276
|
-
}),
|
|
3277
|
-
section:
|
|
3278
|
-
title:
|
|
3279
|
-
paragraph:
|
|
3280
|
-
image:
|
|
3281
|
-
button:
|
|
3282
|
-
divider:
|
|
3283
|
-
video:
|
|
3284
|
-
social:
|
|
3285
|
-
menu:
|
|
3286
|
-
table:
|
|
3287
|
-
spacer:
|
|
3288
|
-
html:
|
|
3289
|
-
countdown: B(() => import("./CountdownBlock-
|
|
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"))
|
|
3290
3285
|
};
|
|
3291
|
-
function
|
|
3286
|
+
function ua(e) {
|
|
3292
3287
|
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = Y(i);
|
|
3293
3288
|
n.setUiTheme(r.uiTheme ?? "auto");
|
|
3294
|
-
let { resolvedTheme: d } =
|
|
3289
|
+
let { resolvedTheme: d } = Pn(S(() => n.state.uiTheme)), f = l(r.theme ?? {}), { themeStyles: p } = In({
|
|
3295
3290
|
themeOverrides: f,
|
|
3296
3291
|
resolvedTheme: d,
|
|
3297
3292
|
extraStyles: () => ({
|
|
3298
3293
|
"--tpl-drop-text": `"${i.canvas.dropHere}"`,
|
|
3299
3294
|
...e.themeExtraStyles?.()
|
|
3300
3295
|
})
|
|
3301
|
-
}), m =
|
|
3296
|
+
}), m = on({
|
|
3302
3297
|
content: n.content,
|
|
3303
3298
|
setContent: (e, t) => n.setContent(e, t),
|
|
3304
3299
|
...e.historyOptions
|
|
3305
3300
|
});
|
|
3306
|
-
|
|
3307
|
-
let g =
|
|
3301
|
+
pn(n, m);
|
|
3302
|
+
let g = cn({
|
|
3308
3303
|
addBlock: n.addBlock,
|
|
3309
3304
|
removeBlock: n.removeBlock,
|
|
3310
3305
|
updateBlock: n.updateBlock,
|
|
3311
3306
|
selectBlock: n.selectBlock,
|
|
3312
3307
|
findBlockLocation: n.findBlockLocation,
|
|
3313
3308
|
blockDefaults: r.blockDefaults
|
|
3314
|
-
}), _ =
|
|
3309
|
+
}), _ = dn(n), v = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? un({
|
|
3315
3310
|
content: n.content,
|
|
3316
3311
|
isDirty: () => n.state.isDirty,
|
|
3317
3312
|
...e.autoSaveOptions
|
|
@@ -3319,25 +3314,25 @@ function la(e) {
|
|
|
3319
3314
|
v && (y = t(m.isNavigating, (e) => {
|
|
3320
3315
|
e ? v.pause() : v.resume();
|
|
3321
3316
|
}));
|
|
3322
|
-
let b =
|
|
3317
|
+
let b = Nn(n, {
|
|
3323
3318
|
t: s,
|
|
3324
3319
|
format: u
|
|
3325
|
-
}, r.customBlocks ?? []), x =
|
|
3320
|
+
}, r.customBlocks ?? []), x = Ot(r.colors);
|
|
3326
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) {
|
|
3327
|
-
let e =
|
|
3322
|
+
let e = Gn(x.presets, r.blockDefaults, r.templateDefaults);
|
|
3328
3323
|
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.`);
|
|
3329
3324
|
}
|
|
3330
|
-
let C =
|
|
3331
|
-
|
|
3325
|
+
let C = Ln();
|
|
3326
|
+
Hn(C, la);
|
|
3332
3327
|
let w = /* @__PURE__ */ new Set();
|
|
3333
3328
|
function T(e) {
|
|
3334
3329
|
for (let t of e) {
|
|
3335
|
-
C.registerCustom(t,
|
|
3336
|
-
for (let e of
|
|
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));
|
|
3337
3332
|
}
|
|
3338
3333
|
}
|
|
3339
3334
|
r.customBlocks?.length && T(r.customBlocks);
|
|
3340
|
-
let E =
|
|
3335
|
+
let E = Sn();
|
|
3341
3336
|
if (o() && h(E.dispose), e.containerEl) {
|
|
3342
3337
|
let t = e.containerEl;
|
|
3343
3338
|
G(document, "pointerdown", (e) => {
|
|
@@ -3354,7 +3349,7 @@ function la(e) {
|
|
|
3354
3349
|
v?.flush();
|
|
3355
3350
|
}
|
|
3356
3351
|
function O(t) {
|
|
3357
|
-
E.isActive() &&
|
|
3352
|
+
E.isActive() && Yn(t, {
|
|
3358
3353
|
history: m,
|
|
3359
3354
|
selectBlock: (e) => n.selectBlock(e),
|
|
3360
3355
|
getSelectedBlockId: () => n.state.selectedBlockId,
|
|
@@ -3368,29 +3363,29 @@ function la(e) {
|
|
|
3368
3363
|
}
|
|
3369
3364
|
G(document, "keydown", O);
|
|
3370
3365
|
let k = l(null);
|
|
3371
|
-
c(
|
|
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));
|
|
3372
3367
|
let A = Se(r.mergeTags?.syntax);
|
|
3373
|
-
c(K, r.mergeTags?.tags ?? []), c(
|
|
3374
|
-
let j = l(
|
|
3375
|
-
c(
|
|
3376
|
-
let M =
|
|
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({
|
|
3377
3372
|
resolvePreview: r.resolvePreview,
|
|
3378
3373
|
getContent: () => n.content.value,
|
|
3379
3374
|
isActive: () => n.state.previewMode
|
|
3380
3375
|
});
|
|
3381
|
-
c(
|
|
3376
|
+
c(Ye, M), c(Ze, r.resolvePreview);
|
|
3382
3377
|
let N = S(() => !(n.state.previewMode && M.isConfigured));
|
|
3383
|
-
c(
|
|
3384
|
-
let P =
|
|
3385
|
-
c(
|
|
3386
|
-
let F =
|
|
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({
|
|
3387
3382
|
content: n.content,
|
|
3388
3383
|
options: r.lint ?? {},
|
|
3389
3384
|
updateBlock: n.updateBlock,
|
|
3390
3385
|
updateSettings: n.updateSettings,
|
|
3391
3386
|
removeBlock: n.removeBlock
|
|
3392
3387
|
});
|
|
3393
|
-
c(
|
|
3388
|
+
c(Tt, F);
|
|
3394
3389
|
function I() {
|
|
3395
3390
|
y?.(), F?.destroy(), v?.destroy(), m.destroy();
|
|
3396
3391
|
}
|
|
@@ -3416,6 +3411,6 @@ function la(e) {
|
|
|
3416
3411
|
};
|
|
3417
3412
|
}
|
|
3418
3413
|
//#endregion
|
|
3419
|
-
export {
|
|
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 };
|
|
3420
3415
|
|
|
3421
|
-
//# sourceMappingURL=useEditorCore-
|
|
3416
|
+
//# sourceMappingURL=useEditorCore-BQeEwEQ9.js.map
|