@templatical/editor 0.39.4 → 0.40.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/dist/{AiChatSidebar-5qqrS6uy.js → AiChatSidebar-a8TPBAl2.js} +3 -3
- package/dist/{AiFeatureMenu-BBO_Ojlp.js → AiFeatureMenu-CbgDjLqk.js} +3 -3
- package/dist/{BlockIssueBadge-D5oGxOQP.js → BlockIssueBadge-D8KsGWY6.js} +2 -2
- package/dist/BlockPreviewCanvas-XNV83YGg.js +133 -0
- package/dist/{CloudHeaderExtras-Cg6uF-yQ.js → CloudHeaderExtras-C-tbLyfE.js} +2 -2
- package/dist/{CloudPanels-D1Gg4qrG.js → CloudPanels-DnWDrgnQ.js} +4 -4
- package/dist/{CollaboratorBar-Cmn0LccS.js → CollaboratorBar-DUmeCkyD.js} +2 -2
- package/dist/{CommentsPanel-twNhYUqZ.js → CommentsPanel-9k1q-79y.js} +1 -1
- package/dist/{CommentsSidebar-DDO0Qx8U.js → CommentsSidebar-Bc7nORmD.js} +2 -2
- package/dist/{CountdownBlock-DSvbf3qU.js → CountdownBlock-C6R-hn7D.js} +1 -1
- package/dist/{CountdownToolbar-nvHxu8Gu.js → CountdownToolbar-DkC-qSgq.js} +4 -4
- package/dist/{DesignReferenceSidebar-C8ohNhOd.js → DesignReferenceSidebar-OoiYJAKS.js} +3 -3
- package/dist/{IssuesPanel-Ck0EGoV5.js → IssuesPanel-Dnns3O9z.js} +3 -3
- package/dist/{LogicTagInsertButton-D8IwH-9Z.js → LogicTagInsertButton-BimKobaG.js} +67 -67
- package/dist/{MergeTagInput-QI-5KG2R.js → MergeTagInput-DqpVzhy7.js} +1 -1
- package/dist/{MergeTagModeToggle-D793Bj_E.js → MergeTagModeToggle-BkIiAgpQ.js} +4 -4
- package/dist/{ParagraphEditor-D6FRxr8Y.js → ParagraphEditor-D67Cqh-T.js} +19 -19
- package/dist/{RestoreVersionDialog--b0qfNaK.js → RestoreVersionDialog-BaKDuPCX.js} +2 -2
- package/dist/{RichTextEditorContent-BC5UTVnb.js → RichTextEditorContent-AEtfKvLz.js} +5 -5
- package/dist/{SaveBlockDialog-C0BdEGeL.js → SaveBlockDialog-BxkI52fN.js} +8 -8
- package/dist/{SavedBlocksBrowserModal-BzDgXtr4.js → SavedBlocksBrowserModal-C4_25Kvn.js} +6 -6
- package/dist/{SavedBlocksPanels-DN-bDZzy.js → SavedBlocksPanels-DQ0w9G1O.js} +1 -1
- package/dist/{SavedBlocksPickBar-pEi9Et8Q.js → SavedBlocksPickBar-CtH-sfxh.js} +2 -2
- package/dist/{TemplateScoringPanel-B1wcfE0w.js → TemplateScoringPanel-Cs0TGtRF.js} +3 -3
- package/dist/{TemplateSettings-C_5leDdF.js → TemplateSettings-BD1WNP4C.js} +7 -7
- package/dist/{TestEmailModal-maM8SLBV.js → TestEmailModal-DZi58FU9.js} +70 -65
- package/dist/{TestEmailPanel-8iAZYpCK.js → TestEmailPanel-D__9Wvgz.js} +1 -1
- package/dist/{TitleEditor-L26QXwna.js → TitleEditor-v5p89Djs.js} +9 -9
- package/dist/{ToggleSwitch-JvQ_CmI1.js → ToggleSwitch-CJfQ8u57.js} +1 -1
- package/dist/{Toolbar-B2kDLFhn.js → Toolbar-C7SjilzH.js} +540 -525
- package/dist/{TplModal-DVMS_nAn.js → TplModal-B8uLyoXE.js} +3 -3
- package/dist/{VersionHistoryMenu-BVQityes.js → VersionHistoryMenu-b0A8mS2_.js} +2 -2
- package/dist/{VersionHistoryPanels-D8f8KvKX.js → VersionHistoryPanels-DfNrRT6y.js} +1 -1
- package/dist/{VersionPreviewBanner-BaMSgA1O.js → VersionPreviewBanner-xB9r83r0.js} +1 -1
- package/dist/WrapperBlock-yGmKw0T-.js +34 -0
- package/dist/{blockTypeIcons-CdXugKyV.js → blockTypeIcons-B0Bq1WT1.js} +1 -1
- package/dist/bundle-stats.json +6 -6
- package/dist/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +1 -0
- package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js → AiChatSidebar-mKImUXi6.js} +7 -7
- package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js.map → AiChatSidebar-mKImUXi6.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js → AiFeatureMenu-23HCL517.js} +4 -4
- package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js.map → AiFeatureMenu-23HCL517.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js → BlockIssueBadge-DS1pUf5g.js} +3 -3
- package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js.map → BlockIssueBadge-DS1pUf5g.js.map} +1 -1
- package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js +135 -0
- package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js.map +1 -0
- package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js → CloudHeaderExtras-DOB_uWpt.js} +3 -3
- package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js.map → CloudHeaderExtras-DOB_uWpt.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js → CloudPanels-DcAn5QW7.js} +5 -5
- package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js.map → CloudPanels-DcAn5QW7.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js → CollaboratorBar-C0M8c2Vv.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js.map → CollaboratorBar-C0M8c2Vv.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js → CommentsPanel-BtAGZfF6.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js.map → CommentsPanel-BtAGZfF6.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js → CommentsSidebar-Ws07MXYj.js} +3 -3
- package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js.map → CommentsSidebar-Ws07MXYj.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js → CountdownBlock-sVDjKkRw.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js.map → CountdownBlock-sVDjKkRw.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js → CountdownToolbar-Bu93WiS8.js} +5 -5
- package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js.map → CountdownToolbar-Bu93WiS8.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js → DesignReferenceSidebar-BlSdh5B7.js} +4 -4
- package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js.map → DesignReferenceSidebar-BlSdh5B7.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js → IssuesPanel-CKkv9z9g.js} +4 -4
- package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js.map → IssuesPanel-CKkv9z9g.js.map} +1 -1
- package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js → LogicTagInsertButton-CHc1yZ9v.js} +165 -165
- package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js.map → LogicTagInsertButton-CHc1yZ9v.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js → MergeTagInput--qTYfCWk.js} +2 -2
- package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js.map → MergeTagInput--qTYfCWk.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js → MergeTagModeToggle-CdWIGo3Q.js} +5 -5
- package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js.map → MergeTagModeToggle-CdWIGo3Q.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js → ParagraphEditor-BilbVtrG.js} +17 -17
- package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js.map → ParagraphEditor-BilbVtrG.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js → RestoreVersionDialog-Q-a44Vjv.js} +3 -3
- package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js.map → RestoreVersionDialog-Q-a44Vjv.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js → RichTextEditorContent-Fzuu9pLP.js} +6 -6
- package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js.map → RichTextEditorContent-Fzuu9pLP.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js → SaveBlockDialog-DeW_M6kh.js} +9 -9
- package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js.map → SaveBlockDialog-DeW_M6kh.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js → SavedBlocksBrowserModal-BzQWibKG.js} +6 -6
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js.map → SavedBlocksBrowserModal-BzQWibKG.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js → SavedBlocksPanels-Ce1RePjk.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js.map → SavedBlocksPanels-Ce1RePjk.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js → SavedBlocksPickBar-DIDl6xfy.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js.map → SavedBlocksPickBar-DIDl6xfy.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js → TemplateScoringPanel-d_Ppowsq.js} +49 -49
- package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js.map → TemplateScoringPanel-d_Ppowsq.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js → TemplateSettings-Dr5OJ0Gi.js} +8 -8
- package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js.map → TemplateSettings-Dr5OJ0Gi.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-DId9Og-N.js → TestEmailModal-CWTmaJuT.js} +56 -51
- package/dist/cdn/chunks/TestEmailModal-CWTmaJuT.js.map +1 -0
- package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js → TestEmailPanel-BdYsVHXA.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js.map → TestEmailPanel-BdYsVHXA.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js → TitleEditor-pJeeZ-PX.js} +9 -9
- package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js.map → TitleEditor-pJeeZ-PX.js.map} +1 -1
- package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js → ToggleSwitch-0dGCYnRY.js} +2 -2
- package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js.map → ToggleSwitch-0dGCYnRY.js.map} +1 -1
- package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js → Toolbar-BsiHW9gY.js} +493 -478
- package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js.map → Toolbar-BsiHW9gY.js.map} +1 -1
- package/dist/cdn/chunks/{TplModal-BKqDFLq3.js → TplModal-CEuGD7pt.js} +4 -4
- package/dist/cdn/chunks/{TplModal-BKqDFLq3.js.map → TplModal-CEuGD7pt.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js → VersionHistoryMenu-B3-hNu9c.js} +3 -3
- package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js.map → VersionHistoryMenu-B3-hNu9c.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js → VersionHistoryPanels-C1yck5gT.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js.map → VersionHistoryPanels-C1yck5gT.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js → VersionPreviewBanner-PzVQSBJE.js} +2 -2
- package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js.map → VersionPreviewBanner-PzVQSBJE.js.map} +1 -1
- package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js +36 -0
- package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js.map +1 -0
- package/dist/cdn/chunks/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +2 -1
- package/dist/cdn/chunks/ca-Ckgw9yd0.js.map +1 -0
- package/dist/cdn/chunks/{cloud-eaXyxZ8l.js → cloud-CIT4yPp4.js} +2 -2
- package/dist/cdn/chunks/{cloud-eaXyxZ8l.js.map → cloud-CIT4yPp4.js.map} +1 -1
- package/dist/cdn/chunks/{createCloudRuntime-D5bXzcTe.js → createCloudRuntime-COUxbPvd.js} +49 -40
- package/dist/cdn/chunks/createCloudRuntime-COUxbPvd.js.map +1 -0
- package/dist/cdn/chunks/{de-CY6SlqBx.js → de-D4dweQw8.js} +2 -1
- package/dist/cdn/chunks/de-D4dweQw8.js.map +1 -0
- package/dist/{en-8V-2kDcp.js → cdn/chunks/en-VE7R7NyL.js} +3 -0
- package/dist/cdn/chunks/en-VE7R7NyL.js.map +1 -0
- package/dist/{es-Cmn1rT3l.js → cdn/chunks/es-B9OhP8H3.js} +3 -0
- package/dist/cdn/chunks/es-B9OhP8H3.js.map +1 -0
- package/dist/cdn/chunks/{extensions-Bhu8UEE5.js → extensions-CafoGF65.js} +5 -5
- package/dist/cdn/chunks/{extensions-Bhu8UEE5.js.map → extensions-CafoGF65.js.map} +1 -1
- package/dist/cdn/chunks/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +2 -1
- package/dist/cdn/chunks/fr-wrXhIi00.js.map +1 -0
- package/dist/cdn/chunks/keys-DCWeHkSF.js +12 -0
- package/dist/cdn/chunks/keys-DCWeHkSF.js.map +1 -0
- package/dist/{nl-Bzk2zRI8.js → cdn/chunks/nl-DeFatKJe.js} +3 -0
- package/dist/cdn/chunks/nl-DeFatKJe.js.map +1 -0
- package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js +21 -0
- package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js.map +1 -0
- package/dist/cdn/chunks/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +2 -1
- package/dist/cdn/chunks/pt-BR-Bh1J8ey6.js.map +1 -0
- package/dist/cdn/chunks/{socialIcons-9VrG8X3m.js → socialIcons-BvYNMn1G.js} +264 -258
- package/dist/cdn/chunks/socialIcons-BvYNMn1G.js.map +1 -0
- package/dist/cdn/chunks/{src-CqYYKcCI.js → src-CbGCES0u.js} +175 -168
- package/dist/cdn/chunks/src-CbGCES0u.js.map +1 -0
- package/dist/cdn/chunks/{src-CaNsA_WX.js → src-Cnc5E71L.js} +258 -247
- package/dist/cdn/chunks/src-Cnc5E71L.js.map +1 -0
- package/dist/cdn/chunks/{src-Dwgq7hf4.js → src-DveVYoWS.js} +281 -181
- package/dist/cdn/chunks/src-DveVYoWS.js.map +1 -0
- package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js → useCloudI18n-CrjWbpbu.js} +2 -2
- package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js.map → useCloudI18n-CrjWbpbu.js.map} +1 -1
- package/dist/cdn/chunks/{useEditorCore-CXYI14ux.js → useEditorCore-CQraU2s_.js} +421 -408
- package/dist/cdn/chunks/useEditorCore-CQraU2s_.js.map +1 -0
- package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js → useEditorRoot-CshefZLP.js} +2 -2
- package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js.map → useEditorRoot-CshefZLP.js.map} +1 -1
- package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js → useI18n-CyO_Nmca.js} +2 -2
- package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js.map → useI18n-CyO_Nmca.js.map} +1 -1
- package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js → useLogicTag-DF7-l66G.js} +4 -4
- package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js.map → useLogicTag-DF7-l66G.js.map} +1 -1
- package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js → useMergeTag-DbIHw4NG.js} +4 -4
- package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js.map → useMergeTag-DbIHw4NG.js.map} +1 -1
- package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js → usePopoverPosition-BJRvAb-h.js} +2 -2
- package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js.map → usePopoverPosition-BJRvAb-h.js.map} +1 -1
- package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js → useScrollToBlock-DgHZJvID.js} +2 -2
- package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js.map → useScrollToBlock-DgHZJvID.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +484 -460
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{cloud-C9xWZXhg.js → cloud-DsqqUfzh.js} +1 -1
- package/dist/{createCloudRuntime-BGd5--Bq.js → createCloudRuntime-iLflkYzP.js} +47 -38
- package/dist/{de-CY6SlqBx.js → de-D4dweQw8.js} +1 -0
- package/dist/{dist-tGkjkX-v.js → dist-DbUZvK04.js} +277 -176
- package/dist/{cdn/chunks/en-8V-2kDcp.js → en-VE7R7NyL.js} +1 -2
- package/dist/{cdn/chunks/es-Cmn1rT3l.js → es-B9OhP8H3.js} +1 -2
- package/dist/{extensions-DRN-elXT.js → extensions-DDhjuVKy.js} +4 -4
- package/dist/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/keys-CDqfZIRt.js +10 -0
- package/dist/{cdn/chunks/nl-Bzk2zRI8.js → nl-DeFatKJe.js} +1 -2
- package/dist/preRenderCustomBlocks-BBSqQgke.js +19 -0
- package/dist/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +1 -0
- package/dist/{socialIcons-DkGcpEwC.js → socialIcons-O7PZCW2P.js} +245 -239
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +520 -496
- package/dist/{useCloudI18n-D1iedlP3.js → useCloudI18n-DpEsiLeR.js} +1 -1
- package/dist/{useEditorCore-BUVbQgwb.js → useEditorCore-Dt_VWNqX.js} +817 -804
- package/dist/{useEditorRoot-BOxn5EfP.js → useEditorRoot-CkB_5d0h.js} +1 -1
- package/dist/{useI18n-Ds_-druD.js → useI18n-B_CdcBwG.js} +1 -1
- package/dist/{useLogicTag-DoHfc08B.js → useLogicTag-D9pvgxQR.js} +3 -3
- package/dist/{useMergeTag-DXyum3kG.js → useMergeTag-BaVFPdlq.js} +5 -5
- package/dist/{usePopoverPosition-Du-Ah8E9.js → usePopoverPosition-DH7z3Ghm.js} +1 -1
- package/dist/{useScrollToBlock-DXQYPCnJ.js → useScrollToBlock-Dj4v3rxr.js} +1 -1
- package/package.json +7 -7
- package/dist/BlockPreviewCanvas-BMC16_QU.js +0 -131
- package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js +0 -133
- package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js.map +0 -1
- package/dist/cdn/chunks/TestEmailModal-DId9Og-N.js.map +0 -1
- package/dist/cdn/chunks/ca-Bqeygp1_.js.map +0 -1
- package/dist/cdn/chunks/createCloudRuntime-D5bXzcTe.js.map +0 -1
- package/dist/cdn/chunks/de-CY6SlqBx.js.map +0 -1
- package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js +0 -8
- package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js.map +0 -1
- package/dist/cdn/chunks/en-8V-2kDcp.js.map +0 -1
- package/dist/cdn/chunks/es-Cmn1rT3l.js.map +0 -1
- package/dist/cdn/chunks/fr-2yDa4zXM.js.map +0 -1
- package/dist/cdn/chunks/keys-dJbD1QPs.js +0 -12
- package/dist/cdn/chunks/keys-dJbD1QPs.js.map +0 -1
- package/dist/cdn/chunks/nl-Bzk2zRI8.js.map +0 -1
- package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js +0 -23
- package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-DqtSCTUi.js.map +0 -1
- package/dist/cdn/chunks/socialIcons-9VrG8X3m.js.map +0 -1
- package/dist/cdn/chunks/src-CaNsA_WX.js.map +0 -1
- package/dist/cdn/chunks/src-CqYYKcCI.js.map +0 -1
- package/dist/cdn/chunks/src-Dwgq7hf4.js.map +0 -1
- package/dist/cdn/chunks/useEditorCore-CXYI14ux.js.map +0 -1
- package/dist/emailFrameWidth-BmFCN2dp.js +0 -6
- package/dist/keys-BdoSgsz9.js +0 -10
- package/dist/preRenderCustomBlocks-DFXH54Zr.js +0 -21
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { A as e, B as t, E as n, F as r, H as i, I as a, K as o, N as s, P as c, Q as l, R as u, S as d, U as f, X as p, Y as m, at as h, b as g, c as _, ct as v, et as y, f as b, g as x, h as S, it as C, j as w, k as T, l as E, lt as D, m as O, p as k, q as A, rt as j, s as M, t as N, u as P, ut as F, w as I, x as L, y as R } from "./draggable-IB4x6w2O.js";
|
|
2
|
-
import { A as z, B,
|
|
3
|
-
import { a as
|
|
4
|
-
import { _ as
|
|
5
|
-
import { a as
|
|
6
|
-
import { A as
|
|
2
|
+
import { A as z, B, F as V, G as ee, H as te, I as ne, J as re, M as ie, N as ae, O as oe, P as se, R as ce, T as le, V as ue, Y as de, Z as fe, _ as pe, a as me, b as he, d as ge, f as _e, ft as ve, g as ye, h as be, i as H, j as xe, k as Se, l as Ce, m as we, n as Te, o as Ee, p as De, pt as Oe, q as ke, r as Ae, s as je, u as Me, ut as Ne, z as Pe } from "./src-DveVYoWS.js";
|
|
3
|
+
import { a as Fe, b as Ie, g as Le, h as Re, i as ze, m as Be, n as Ve, o as He, t as Ue, v as We, y as Ge } from "./socialIcons-BvYNMn1G.js";
|
|
4
|
+
import { _ as Ke, h as qe, v as Je, y as Ye } from "./dist-BRZhN8qJ.js";
|
|
5
|
+
import { a as U, c as Xe, i as Ze } from "./dist-CXB2_kBa.js";
|
|
6
|
+
import { $ as Qe, A as $e, B as et, C as tt, D as nt, E as rt, F as W, G as it, H as at, I as ot, J as st, K as ct, L as lt, M as ut, N as dt, O as G, P as ft, Q as K, R as pt, S as mt, T as ht, V as gt, X as _t, Y as vt, Z as yt, _ as bt, a as xt, b as St, c as Ct, d as wt, f as Tt, g as q, h as Et, j as Dt, k as Ot, l as kt, m as At, n as jt, o as Mt, p as Nt, q as Pt, r as Ft, s as It, v as Lt, w as Rt, x as zt, y as Bt, z as Vt } from "./keys-DCWeHkSF.js";
|
|
7
7
|
import "./timeouts-DHPZQ0G3.js";
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import { i as
|
|
11
|
-
import { r as
|
|
12
|
-
import { A as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import "./useCloudI18n-
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { t as
|
|
8
|
+
import { t as J } from "./useI18n-CyO_Nmca.js";
|
|
9
|
+
import { t as Y } from "./logger-ByvdoAwq.js";
|
|
10
|
+
import { i as Ht, o as Ut, r as X, t as Wt } from "./usePopoverPosition-BJRvAb-h.js";
|
|
11
|
+
import { r as Gt, t as Kt } from "./templateSettingsFields-YCFVBVYh.js";
|
|
12
|
+
import { A as qt, Bt as Jt, Et as Yt, H as Xt, Ot as Zt, Tt as Qt, X as $t, d as en, ft as tn, ht as nn, it as rn, o as an, s as on, tt as sn, u as cn, v as ln, vt as un, zt as dn } from "./icons-BKkJ-5xF.js";
|
|
13
|
+
import { t as fn } from "./LoadingTrack-_7DH_5aw.js";
|
|
14
|
+
import { t as pn } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
15
|
+
import { t as mn } from "./useEditorRoot-CshefZLP.js";
|
|
16
|
+
import "./useCloudI18n-CrjWbpbu.js";
|
|
17
|
+
import { t as Z } from "./useMergeTag-DbIHw4NG.js";
|
|
18
|
+
import { t as hn } from "./useLogicTag-DF7-l66G.js";
|
|
19
|
+
import { t as gn } from "./useAliveFlag-DAlQLbM2.js";
|
|
20
20
|
//#region src/utils/activeEditorTracker.ts
|
|
21
|
-
var
|
|
22
|
-
function
|
|
23
|
-
let e = ++
|
|
24
|
-
return
|
|
21
|
+
var _n = /* @__PURE__ */ new Set(), Q = 0, vn = 0;
|
|
22
|
+
function yn() {
|
|
23
|
+
let e = ++vn;
|
|
24
|
+
return _n.add(e), Q === 0 && (Q = e), {
|
|
25
25
|
id: e,
|
|
26
|
-
isActive: () =>
|
|
26
|
+
isActive: () => _n.size <= 1 || Q === e,
|
|
27
27
|
claim: () => {
|
|
28
28
|
Q = e;
|
|
29
29
|
},
|
|
30
30
|
dispose: () => {
|
|
31
|
-
if (
|
|
32
|
-
let e = Array.from(
|
|
31
|
+
if (_n.delete(e), Q === e) {
|
|
32
|
+
let e = Array.from(_n);
|
|
33
33
|
Q = e[e.length - 1] ?? 0;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -37,8 +37,8 @@ function hn() {
|
|
|
37
37
|
}
|
|
38
38
|
//#endregion
|
|
39
39
|
//#region src/composables/usePreviewResolution.ts
|
|
40
|
-
var
|
|
41
|
-
function
|
|
40
|
+
var bn = 500;
|
|
41
|
+
function xn(e) {
|
|
42
42
|
let n = typeof e.resolvePreview == "function", r = l(null), i = l(!1), a = l(!1), o = 0, s = null;
|
|
43
43
|
function c() {
|
|
44
44
|
s !== null && (clearTimeout(s), s = null);
|
|
@@ -49,13 +49,13 @@ function _n(e) {
|
|
|
49
49
|
let n = ++o;
|
|
50
50
|
i.value = !0;
|
|
51
51
|
let s = {
|
|
52
|
-
content:
|
|
52
|
+
content: le(e.getContent()),
|
|
53
53
|
...e.getRecipient?.() === void 0 ? {} : { recipient: e.getRecipient() }
|
|
54
54
|
};
|
|
55
55
|
try {
|
|
56
56
|
let e = await t(s);
|
|
57
57
|
if (n !== o) return;
|
|
58
|
-
if (!
|
|
58
|
+
if (!Te(e)) {
|
|
59
59
|
a.value = !0;
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
@@ -75,7 +75,7 @@ function _n(e) {
|
|
|
75
75
|
}
|
|
76
76
|
s = setTimeout(() => {
|
|
77
77
|
s = null, u();
|
|
78
|
-
},
|
|
78
|
+
}, bn);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
return t(() => [e.isActive(), e.getRecipient?.()], ([e]) => {
|
|
@@ -97,7 +97,7 @@ function _n(e) {
|
|
|
97
97
|
}
|
|
98
98
|
//#endregion
|
|
99
99
|
//#region src/composables/useImageUrlResolver.ts
|
|
100
|
-
function
|
|
100
|
+
function Sn(e) {
|
|
101
101
|
let t = p(/* @__PURE__ */ new Map()), n = /* @__PURE__ */ new Set();
|
|
102
102
|
function r(e) {
|
|
103
103
|
return t.get(e);
|
|
@@ -130,8 +130,8 @@ function vn(e) {
|
|
|
130
130
|
lookup: a
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
-
function
|
|
134
|
-
let r = n(
|
|
133
|
+
function Cn(e) {
|
|
134
|
+
let r = n(zt, null), i = b(e);
|
|
135
135
|
if (!r) return i;
|
|
136
136
|
let a;
|
|
137
137
|
function s() {
|
|
@@ -160,7 +160,7 @@ function yn(e) {
|
|
|
160
160
|
}
|
|
161
161
|
//#endregion
|
|
162
162
|
//#region src/composables/useMergeTagPicker.ts
|
|
163
|
-
function
|
|
163
|
+
function wn() {
|
|
164
164
|
let e = l(!1), t = l([]), n = l(null), r = null;
|
|
165
165
|
function i(i, a) {
|
|
166
166
|
if (r) {
|
|
@@ -191,7 +191,7 @@ function bn() {
|
|
|
191
191
|
}
|
|
192
192
|
//#endregion
|
|
193
193
|
//#region src/composables/useLogicTagPicker.ts
|
|
194
|
-
function
|
|
194
|
+
function Tn() {
|
|
195
195
|
let e = l(!1), t = l([]), n = l([]), r = null;
|
|
196
196
|
function i(i, a) {
|
|
197
197
|
if (r) {
|
|
@@ -222,17 +222,17 @@ function xn() {
|
|
|
222
222
|
}
|
|
223
223
|
//#endregion
|
|
224
224
|
//#region src/composables/useTemplateLint.ts
|
|
225
|
-
function
|
|
225
|
+
function En(e) {
|
|
226
226
|
return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
227
227
|
}
|
|
228
|
-
function
|
|
229
|
-
let n = l([]), r = l(!1), i = l(!1), a = y(null), o =
|
|
228
|
+
function Dn(e) {
|
|
229
|
+
let n = l([]), r = l(!1), i = l(!1), a = y(null), o = En(e.options), s = null, c = !1;
|
|
230
230
|
o || u();
|
|
231
231
|
async function u() {
|
|
232
232
|
try {
|
|
233
|
-
let t = await import("./src-
|
|
233
|
+
let t = await import("./src-Cnc5E71L.js");
|
|
234
234
|
if (c) return;
|
|
235
|
-
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s =
|
|
235
|
+
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, d(), s = Ye(e.content, d, {
|
|
236
236
|
debounce: e.debounce ?? 500,
|
|
237
237
|
deep: !0
|
|
238
238
|
});
|
|
@@ -267,7 +267,7 @@ function Cn(e) {
|
|
|
267
267
|
}
|
|
268
268
|
//#endregion
|
|
269
269
|
//#region src/composables/useKeyboardReorder.ts
|
|
270
|
-
function
|
|
270
|
+
function On(e, t, n = []) {
|
|
271
271
|
let r = l(null), i = l(""), a = null;
|
|
272
272
|
function o(t) {
|
|
273
273
|
let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
|
|
@@ -294,7 +294,7 @@ function wn(e, t, n = []) {
|
|
|
294
294
|
let i = o(r);
|
|
295
295
|
if (!i) return "";
|
|
296
296
|
let a = (i.sectionId ? c(i.sectionId, i.columnIndex ?? 0) : e.content.value.blocks)?.[i.index];
|
|
297
|
-
return a ?
|
|
297
|
+
return a ? He(a, t.t, n) : "";
|
|
298
298
|
}
|
|
299
299
|
function c(t, n) {
|
|
300
300
|
return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
|
|
@@ -363,13 +363,13 @@ function wn(e, t, n = []) {
|
|
|
363
363
|
}
|
|
364
364
|
//#endregion
|
|
365
365
|
//#region src/composables/useUiTheme.ts
|
|
366
|
-
function
|
|
367
|
-
let t =
|
|
366
|
+
function kn(e) {
|
|
367
|
+
let t = Xe("(prefers-color-scheme: dark)");
|
|
368
368
|
return { resolvedTheme: b(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
|
|
369
369
|
}
|
|
370
370
|
//#endregion
|
|
371
371
|
//#region src/composables/useThemeStyles.ts
|
|
372
|
-
var
|
|
372
|
+
var An = {
|
|
373
373
|
bg: "--tpl-bg",
|
|
374
374
|
bgElevated: "--tpl-bg-elevated",
|
|
375
375
|
bgHover: "--tpl-bg-hover",
|
|
@@ -393,10 +393,10 @@ var En = {
|
|
|
393
393
|
dangerLight: "--tpl-danger-light",
|
|
394
394
|
canvasBg: "--tpl-canvas-bg"
|
|
395
395
|
};
|
|
396
|
-
function
|
|
396
|
+
function jn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
397
397
|
return { themeStyles: b(() => {
|
|
398
398
|
let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
|
|
399
|
-
if (a) for (let [e, t] of Object.entries(
|
|
399
|
+
if (a) for (let [e, t] of Object.entries(An)) {
|
|
400
400
|
let n = a[e];
|
|
401
401
|
n && (r[t] = n);
|
|
402
402
|
}
|
|
@@ -405,7 +405,7 @@ function Dn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
405
405
|
}
|
|
406
406
|
//#endregion
|
|
407
407
|
//#region src/composables/useBlockRegistry.ts
|
|
408
|
-
function
|
|
408
|
+
function Mn() {
|
|
409
409
|
let e = y(/* @__PURE__ */ new Map());
|
|
410
410
|
function t(t, n) {
|
|
411
411
|
e.value.set(t, n), C(e);
|
|
@@ -414,7 +414,7 @@ function On() {
|
|
|
414
414
|
let r = `custom:${t.type}`;
|
|
415
415
|
e.value.set(r, {
|
|
416
416
|
component: n,
|
|
417
|
-
createBlock: () =>
|
|
417
|
+
createBlock: () => z(t),
|
|
418
418
|
definition: t
|
|
419
419
|
}), C(e);
|
|
420
420
|
}
|
|
@@ -445,7 +445,7 @@ function On() {
|
|
|
445
445
|
strictFilters: !1
|
|
446
446
|
}).parseAndRender(t.template, e.fieldValues);
|
|
447
447
|
} catch (t) {
|
|
448
|
-
return
|
|
448
|
+
return Y.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
451
|
function c(t) {
|
|
@@ -463,9 +463,9 @@ function On() {
|
|
|
463
463
|
}
|
|
464
464
|
//#endregion
|
|
465
465
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
466
|
-
function
|
|
466
|
+
function Nn(e, t) {
|
|
467
467
|
return b(() => {
|
|
468
|
-
let n =
|
|
468
|
+
let n = Pn(e.value.blocks);
|
|
469
469
|
if (n.size === 0) return [];
|
|
470
470
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
471
471
|
for (let e of n) {
|
|
@@ -477,37 +477,37 @@ function kn(e, t) {
|
|
|
477
477
|
return i;
|
|
478
478
|
});
|
|
479
479
|
}
|
|
480
|
-
function
|
|
480
|
+
function Pn(e) {
|
|
481
481
|
let t = /* @__PURE__ */ new Set();
|
|
482
|
-
return
|
|
482
|
+
return Fn(e, t), t;
|
|
483
483
|
}
|
|
484
|
-
function
|
|
484
|
+
function Fn(e, t) {
|
|
485
485
|
for (let n of e) {
|
|
486
|
-
if (
|
|
486
|
+
if (fe(n)) {
|
|
487
487
|
t.add(n.customType);
|
|
488
488
|
continue;
|
|
489
489
|
}
|
|
490
490
|
if (n.type === "section") {
|
|
491
491
|
let e = n.children;
|
|
492
492
|
if (!e) continue;
|
|
493
|
-
for (let n of e)
|
|
494
|
-
}
|
|
493
|
+
for (let n of e) Fn(n, t);
|
|
494
|
+
} else Ne(n) && Fn(n.children, t);
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
497
|
//#endregion
|
|
498
498
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
499
|
-
var
|
|
499
|
+
var In = [
|
|
500
500
|
{
|
|
501
501
|
type: "section",
|
|
502
|
-
createBlock:
|
|
502
|
+
createBlock: ne
|
|
503
503
|
},
|
|
504
504
|
{
|
|
505
505
|
type: "title",
|
|
506
|
-
createBlock:
|
|
506
|
+
createBlock: ue
|
|
507
507
|
},
|
|
508
508
|
{
|
|
509
509
|
type: "paragraph",
|
|
510
|
-
createBlock:
|
|
510
|
+
createBlock: V
|
|
511
511
|
},
|
|
512
512
|
{
|
|
513
513
|
type: "image",
|
|
@@ -515,43 +515,43 @@ var Mn = [
|
|
|
515
515
|
},
|
|
516
516
|
{
|
|
517
517
|
type: "button",
|
|
518
|
-
createBlock:
|
|
518
|
+
createBlock: oe
|
|
519
519
|
},
|
|
520
520
|
{
|
|
521
521
|
type: "divider",
|
|
522
|
-
createBlock:
|
|
522
|
+
createBlock: xe
|
|
523
523
|
},
|
|
524
524
|
{
|
|
525
525
|
type: "video",
|
|
526
|
-
createBlock:
|
|
526
|
+
createBlock: te
|
|
527
527
|
},
|
|
528
528
|
{
|
|
529
529
|
type: "social",
|
|
530
|
-
createBlock:
|
|
530
|
+
createBlock: ce
|
|
531
531
|
},
|
|
532
532
|
{
|
|
533
533
|
type: "menu",
|
|
534
|
-
createBlock:
|
|
534
|
+
createBlock: se
|
|
535
535
|
},
|
|
536
536
|
{
|
|
537
537
|
type: "table",
|
|
538
|
-
createBlock:
|
|
538
|
+
createBlock: B
|
|
539
539
|
},
|
|
540
540
|
{
|
|
541
541
|
type: "spacer",
|
|
542
|
-
createBlock:
|
|
542
|
+
createBlock: Pe
|
|
543
543
|
},
|
|
544
544
|
{
|
|
545
545
|
type: "html",
|
|
546
|
-
createBlock:
|
|
546
|
+
createBlock: ie
|
|
547
547
|
},
|
|
548
548
|
{
|
|
549
549
|
type: "countdown",
|
|
550
|
-
createBlock:
|
|
550
|
+
createBlock: Se
|
|
551
551
|
}
|
|
552
552
|
];
|
|
553
|
-
function
|
|
554
|
-
for (let n of
|
|
553
|
+
function Ln(e, t) {
|
|
554
|
+
for (let n of In) {
|
|
555
555
|
let r = t[n.type];
|
|
556
556
|
r && e.registerBuiltIn(n.type, {
|
|
557
557
|
component: r,
|
|
@@ -561,33 +561,33 @@ function Nn(e, t) {
|
|
|
561
561
|
}
|
|
562
562
|
//#endregion
|
|
563
563
|
//#region src/utils/resolveHtmlBlockPreview.ts
|
|
564
|
-
function
|
|
564
|
+
function Rn(e) {
|
|
565
565
|
return typeof e == "boolean" ? e : e?.enabled ?? !1;
|
|
566
566
|
}
|
|
567
567
|
//#endregion
|
|
568
568
|
//#region src/utils/collectOffPaletteDefaults.ts
|
|
569
|
-
function
|
|
569
|
+
function zn(e) {
|
|
570
570
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
571
571
|
}
|
|
572
|
-
function
|
|
573
|
-
let r = new Set(e.map((e) =>
|
|
574
|
-
for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(
|
|
572
|
+
function Bn(e, t, n) {
|
|
573
|
+
let r = new Set(e.map((e) => X(e))), i = [], a = (e, t) => {
|
|
574
|
+
for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(X(o)) && i.push(`${t}.${n}: ${o}`) : zn(o) && a(o, `${t}.${n}`);
|
|
575
575
|
}, o = t;
|
|
576
|
-
for (let [e, t] of Object.entries(
|
|
576
|
+
for (let [e, t] of Object.entries(ke)) {
|
|
577
577
|
let n = o?.[e];
|
|
578
578
|
a({
|
|
579
579
|
...t,
|
|
580
|
-
...
|
|
580
|
+
...zn(n) ? n : {}
|
|
581
581
|
}, e);
|
|
582
582
|
}
|
|
583
583
|
return a({
|
|
584
|
-
...
|
|
584
|
+
...re,
|
|
585
585
|
...n ?? {}
|
|
586
586
|
}, "template"), i;
|
|
587
587
|
}
|
|
588
588
|
//#endregion
|
|
589
589
|
//#region src/utils/localizedBlockDefaults.ts
|
|
590
|
-
function
|
|
590
|
+
function Vn(e) {
|
|
591
591
|
return {
|
|
592
592
|
title: { content: `<p>${e.blockDefaults.title}</p>` },
|
|
593
593
|
paragraph: { content: `<p>${e.blockDefaults.paragraph}</p>` },
|
|
@@ -596,58 +596,58 @@ function Ln(e) {
|
|
|
596
596
|
}
|
|
597
597
|
//#endregion
|
|
598
598
|
//#region src/i18n/index.ts
|
|
599
|
-
var
|
|
600
|
-
"./locales/ca.ts": () => import("./ca-
|
|
601
|
-
"./locales/de.ts": () => import("./de-
|
|
602
|
-
"./locales/en.ts": () => import("./en-
|
|
603
|
-
"./locales/es.ts": () => import("./es-
|
|
604
|
-
"./locales/fr.ts": () => import("./fr-
|
|
605
|
-
"./locales/nl.ts": () => import("./nl-
|
|
606
|
-
"./locales/pt-BR.ts": () => import("./pt-BR-
|
|
607
|
-
}),
|
|
599
|
+
var Hn = /* #__PURE__ */ Object.assign({
|
|
600
|
+
"./locales/ca.ts": () => import("./ca-Ckgw9yd0.js"),
|
|
601
|
+
"./locales/de.ts": () => import("./de-D4dweQw8.js"),
|
|
602
|
+
"./locales/en.ts": () => import("./en-VE7R7NyL.js"),
|
|
603
|
+
"./locales/es.ts": () => import("./es-B9OhP8H3.js"),
|
|
604
|
+
"./locales/fr.ts": () => import("./fr-wrXhIi00.js"),
|
|
605
|
+
"./locales/nl.ts": () => import("./nl-DeFatKJe.js"),
|
|
606
|
+
"./locales/pt-BR.ts": () => import("./pt-BR-Bh1J8ey6.js")
|
|
607
|
+
}), Un = /* #__PURE__ */ Object.assign({
|
|
608
608
|
"./locales/cloud/de.ts": () => import("./de-mMY5yQJu.js"),
|
|
609
609
|
"./locales/cloud/en.ts": () => import("./en-ChVeGQBY.js"),
|
|
610
610
|
"./locales/cloud/pt-BR.ts": () => import("./pt-BR-CoCwRUi0.js")
|
|
611
611
|
});
|
|
612
|
-
function
|
|
612
|
+
function Wn(e) {
|
|
613
613
|
return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
|
|
614
614
|
}
|
|
615
|
-
var
|
|
616
|
-
function
|
|
615
|
+
var Gn = Wn(Hn), Kn = Wn(Un);
|
|
616
|
+
function qn(e) {
|
|
617
617
|
return e.trim().replace(/_/g, "-").toLowerCase();
|
|
618
618
|
}
|
|
619
|
-
function
|
|
620
|
-
let n =
|
|
621
|
-
return t.find((e) =>
|
|
619
|
+
function Jn(e, t) {
|
|
620
|
+
let n = qn(e);
|
|
621
|
+
return t.find((e) => qn(e) === n);
|
|
622
622
|
}
|
|
623
|
-
function
|
|
624
|
-
return
|
|
623
|
+
function Yn(e) {
|
|
624
|
+
return qn(e).split("-")[0];
|
|
625
625
|
}
|
|
626
|
-
function
|
|
627
|
-
return
|
|
626
|
+
function Xn(e, t) {
|
|
627
|
+
return Jn(e, t) ?? Jn(Yn(e), t);
|
|
628
628
|
}
|
|
629
|
-
function
|
|
630
|
-
return
|
|
629
|
+
function Zn(e, t) {
|
|
630
|
+
return Xn(e, t) ?? "en";
|
|
631
631
|
}
|
|
632
|
-
async function
|
|
633
|
-
let t =
|
|
632
|
+
async function Qn(e) {
|
|
633
|
+
let t = Hn[`./locales/${Zn(e, Gn)}.ts`];
|
|
634
634
|
return (await t()).default;
|
|
635
635
|
}
|
|
636
|
-
async function
|
|
637
|
-
let t =
|
|
636
|
+
async function $n(e) {
|
|
637
|
+
let t = Un[`./locales/cloud/${Zn(e, Kn)}.ts`];
|
|
638
638
|
return (await t()).default;
|
|
639
639
|
}
|
|
640
|
-
function
|
|
641
|
-
return
|
|
640
|
+
function er(e) {
|
|
641
|
+
return Xn(e, Gn) !== void 0;
|
|
642
642
|
}
|
|
643
|
-
function
|
|
644
|
-
return
|
|
643
|
+
function tr(e) {
|
|
644
|
+
return Xn(e, Kn) !== void 0;
|
|
645
645
|
}
|
|
646
|
-
function
|
|
647
|
-
return [...
|
|
646
|
+
function nr() {
|
|
647
|
+
return [...Gn];
|
|
648
648
|
}
|
|
649
|
-
function
|
|
650
|
-
return [...
|
|
649
|
+
function rr() {
|
|
650
|
+
return [...Kn];
|
|
651
651
|
}
|
|
652
652
|
//#endregion
|
|
653
653
|
//#region src/i18n/contentDefaults.ts
|
|
@@ -708,16 +708,16 @@ var $ = {
|
|
|
708
708
|
seconds: "Segons",
|
|
709
709
|
expired: "Aquesta oferta ha caducat"
|
|
710
710
|
}
|
|
711
|
-
},
|
|
712
|
-
function
|
|
711
|
+
}, ir = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
|
|
712
|
+
function ar(e) {
|
|
713
713
|
if (!e) return $.en;
|
|
714
|
-
let t = e.trim().replace(/_/g, "-").toLowerCase(), n =
|
|
714
|
+
let t = e.trim().replace(/_/g, "-").toLowerCase(), n = ir.get(t);
|
|
715
715
|
if (n) return $[n];
|
|
716
|
-
let r =
|
|
716
|
+
let r = ir.get(Yn(t));
|
|
717
717
|
return r ? $[r] : $.en;
|
|
718
718
|
}
|
|
719
|
-
function
|
|
720
|
-
let t =
|
|
719
|
+
function or(e) {
|
|
720
|
+
let t = ar(e);
|
|
721
721
|
return {
|
|
722
722
|
video: { alt: t.video },
|
|
723
723
|
countdown: {
|
|
@@ -731,9 +731,9 @@ function nr(e) {
|
|
|
731
731
|
}
|
|
732
732
|
//#endregion
|
|
733
733
|
//#region src/utils/collectColorFieldIssues.ts
|
|
734
|
-
function
|
|
734
|
+
function sr(e, t) {
|
|
735
735
|
let n = [], r = (r, i) => {
|
|
736
|
-
let a =
|
|
736
|
+
let a = Fe(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
|
|
737
737
|
if (a.invalidPresets.length > 0 && n.push({
|
|
738
738
|
id: s("invalid-presets"),
|
|
739
739
|
message: `${o}: presets skipped invalid entries: ${a.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).` + (a.presetsInherited ? " No valid entries are left, so the field inherits colors.presets." : "")
|
|
@@ -744,8 +744,8 @@ function rr(e, t) {
|
|
|
744
744
|
id: s("allow-custom-ignored"),
|
|
745
745
|
message: `${o}: allowCustom: true is ignored because colors.allowCustom is false — a field can narrow the editor-wide palette, never unlock it.`
|
|
746
746
|
}), !a.allowCustom && a.presets.length > 0) {
|
|
747
|
-
let e = r.default ?? "", t = new Set(a.presets.map((e) =>
|
|
748
|
-
e !== "" && !t.has(
|
|
747
|
+
let e = r.default ?? "", t = new Set(a.presets.map((e) => X(e)));
|
|
748
|
+
e !== "" && !t.has(X(e)) && n.push({
|
|
749
749
|
id: s("off-palette-default"),
|
|
750
750
|
message: `${o} locks custom colours, but its default ${e} falls outside the field's presets: ${a.presets.join(", ")}. New blocks start on a colour the picker can't reselect — set the default from the same palette.`
|
|
751
751
|
});
|
|
@@ -757,7 +757,7 @@ function rr(e, t) {
|
|
|
757
757
|
}
|
|
758
758
|
//#endregion
|
|
759
759
|
//#region src/utils/keyboardShortcuts.ts
|
|
760
|
-
function
|
|
760
|
+
function cr(e) {
|
|
761
761
|
for (let t of e.composedPath()) {
|
|
762
762
|
if (!(t instanceof HTMLElement)) continue;
|
|
763
763
|
if (t.isContentEditable) return !0;
|
|
@@ -766,18 +766,18 @@ function ir(e) {
|
|
|
766
766
|
}
|
|
767
767
|
return !1;
|
|
768
768
|
}
|
|
769
|
-
function
|
|
769
|
+
function lr(e, t) {
|
|
770
770
|
let n = e.metaKey || e.ctrlKey;
|
|
771
771
|
if (n && e.key.toLowerCase() === "s") {
|
|
772
772
|
e.preventDefault(), t.onSave?.();
|
|
773
773
|
return;
|
|
774
774
|
}
|
|
775
775
|
if (n && e.key.toLowerCase() === "z") {
|
|
776
|
-
if (
|
|
776
|
+
if (cr(e)) return;
|
|
777
777
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
778
778
|
return;
|
|
779
779
|
}
|
|
780
|
-
if (t.isPicking?.() && !
|
|
780
|
+
if (t.isPicking?.() && !cr(e)) {
|
|
781
781
|
if (e.key === "Escape") {
|
|
782
782
|
e.preventDefault(), t.onCancelPick?.();
|
|
783
783
|
return;
|
|
@@ -795,11 +795,11 @@ function ar(e, t) {
|
|
|
795
795
|
t.selectBlock(null);
|
|
796
796
|
return;
|
|
797
797
|
}
|
|
798
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
798
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !cr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
799
799
|
}
|
|
800
800
|
//#endregion
|
|
801
801
|
//#region src/utils/mergeTagLabelSegments.ts
|
|
802
|
-
function
|
|
802
|
+
function ur(e, t, n, r = !1) {
|
|
803
803
|
if (!e) return [];
|
|
804
804
|
let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
|
|
805
805
|
for (; (s = i.exec(e)) !== null;) {
|
|
@@ -808,18 +808,18 @@ function or(e, t, n, r = !1) {
|
|
|
808
808
|
value: e.slice(o, s.index)
|
|
809
809
|
});
|
|
810
810
|
let i = s[0];
|
|
811
|
-
if (
|
|
812
|
-
let e = r ?
|
|
811
|
+
if (_e(i, n)) {
|
|
812
|
+
let e = r ? je(i, t) : void 0;
|
|
813
813
|
a.push(e === void 0 ? {
|
|
814
814
|
type: "tag",
|
|
815
|
-
value:
|
|
815
|
+
value: Ee(i, t)
|
|
816
816
|
} : {
|
|
817
817
|
type: "text",
|
|
818
818
|
value: e
|
|
819
819
|
});
|
|
820
|
-
} else
|
|
820
|
+
} else ge(i, n) ? a.push({
|
|
821
821
|
type: "tag",
|
|
822
|
-
value:
|
|
822
|
+
value: me(i, n)
|
|
823
823
|
}) : a.push({
|
|
824
824
|
type: "text",
|
|
825
825
|
value: i
|
|
@@ -833,20 +833,20 @@ function or(e, t, n, r = !1) {
|
|
|
833
833
|
}
|
|
834
834
|
//#endregion
|
|
835
835
|
//#region src/components/MergeTagPreviewText.vue
|
|
836
|
-
var
|
|
836
|
+
var dr = d({
|
|
837
837
|
name: "MergeTagPreviewText",
|
|
838
838
|
props: { text: {
|
|
839
839
|
type: String,
|
|
840
840
|
required: !0
|
|
841
841
|
} },
|
|
842
842
|
setup(e) {
|
|
843
|
-
let t = n(
|
|
843
|
+
let t = n(G, W), r = n(ft, Ae.liquid), i = n(K, null), a = b(() => ur(e.text, t.value, r, i?.value ?? !1));
|
|
844
844
|
return () => a.value.map((e, t) => e.type === "tag" ? I("span", {
|
|
845
845
|
key: t,
|
|
846
846
|
class: "tpl-merge-tag-label"
|
|
847
847
|
}, e.value) : e.value);
|
|
848
848
|
}
|
|
849
|
-
}),
|
|
849
|
+
}), fr = ["href"], pr = /* @__PURE__ */ d({
|
|
850
850
|
__name: "ButtonBlock",
|
|
851
851
|
props: {
|
|
852
852
|
block: {},
|
|
@@ -872,13 +872,13 @@ var sr = d({
|
|
|
872
872
|
style: D(n.value),
|
|
873
873
|
class: "tpl:cursor-default",
|
|
874
874
|
onClick: i[0] ||= E(() => {}, ["prevent"])
|
|
875
|
-
}, [g(
|
|
875
|
+
}, [g(dr, { text: e.block.text }, null, 8, ["text"])], 12, fr)], 4));
|
|
876
876
|
}
|
|
877
|
-
}),
|
|
877
|
+
}), mr = ["innerHTML"], hr = [
|
|
878
878
|
"src",
|
|
879
879
|
"width",
|
|
880
880
|
"height"
|
|
881
|
-
],
|
|
881
|
+
], gr = /* @__PURE__ */ d({
|
|
882
882
|
__name: "CustomBlockIcon",
|
|
883
883
|
props: {
|
|
884
884
|
icon: {},
|
|
@@ -894,24 +894,24 @@ var sr = d({
|
|
|
894
894
|
height: `${n.value}px`
|
|
895
895
|
}),
|
|
896
896
|
innerHTML: e.icon
|
|
897
|
-
}, null, 12,
|
|
897
|
+
}, null, 12, mr)) : i.value ? (s(), x("img", {
|
|
898
898
|
key: 1,
|
|
899
899
|
src: e.icon,
|
|
900
900
|
width: n.value,
|
|
901
901
|
height: n.value,
|
|
902
902
|
class: "tpl:inline-block",
|
|
903
903
|
alt: ""
|
|
904
|
-
}, null, 8,
|
|
904
|
+
}, null, 8, hr)) : (s(), O(h(dn), {
|
|
905
905
|
key: 2,
|
|
906
906
|
size: n.value,
|
|
907
907
|
"stroke-width": 1.5
|
|
908
908
|
}, null, 8, ["size"]));
|
|
909
909
|
}
|
|
910
|
-
}),
|
|
911
|
-
function
|
|
912
|
-
let r =
|
|
910
|
+
}), _r = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
911
|
+
function vr(e, n) {
|
|
912
|
+
let r = mn(), i = null, a = null, o = null;
|
|
913
913
|
function s() {
|
|
914
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
914
|
+
return e.value ? Array.from(e.value.querySelectorAll(_r)).filter((e) => e.offsetParent !== null) : [];
|
|
915
915
|
}
|
|
916
916
|
function c(e) {
|
|
917
917
|
if (e.key !== "Tab") return;
|
|
@@ -926,7 +926,7 @@ function mr(e, n) {
|
|
|
926
926
|
o = null;
|
|
927
927
|
let t = s();
|
|
928
928
|
t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
|
|
929
|
-
}), a =
|
|
929
|
+
}), a = U(e, "keydown", c);
|
|
930
930
|
}
|
|
931
931
|
function u(e = {}) {
|
|
932
932
|
let t = e.restoreFocus !== !1;
|
|
@@ -941,8 +941,8 @@ function mr(e, n) {
|
|
|
941
941
|
}
|
|
942
942
|
//#endregion
|
|
943
943
|
//#region src/composables/useEmoji.ts
|
|
944
|
-
function
|
|
945
|
-
let [e, n] =
|
|
944
|
+
function yr() {
|
|
945
|
+
let [e, n] = Je(!1), r = y([]), i = !1;
|
|
946
946
|
m(() => {
|
|
947
947
|
i = !0;
|
|
948
948
|
}), t(e, async (e) => {
|
|
@@ -967,7 +967,7 @@ function hr() {
|
|
|
967
967
|
}
|
|
968
968
|
//#endregion
|
|
969
969
|
//#region src/composables/useFonts.ts
|
|
970
|
-
var
|
|
970
|
+
var br = [
|
|
971
971
|
{
|
|
972
972
|
value: "Arial",
|
|
973
973
|
label: "Arial"
|
|
@@ -996,7 +996,7 @@ var gr = [
|
|
|
996
996
|
value: "Courier New",
|
|
997
997
|
label: "Courier New"
|
|
998
998
|
}
|
|
999
|
-
],
|
|
999
|
+
], xr = {
|
|
1000
1000
|
arial: "Arial, sans-serif",
|
|
1001
1001
|
helvetica: "Helvetica, sans-serif",
|
|
1002
1002
|
georgia: "Georgia, serif",
|
|
@@ -1004,23 +1004,23 @@ var gr = [
|
|
|
1004
1004
|
verdana: "Verdana, sans-serif",
|
|
1005
1005
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
1006
1006
|
"courier new": "'Courier New', monospace"
|
|
1007
|
-
},
|
|
1008
|
-
function
|
|
1009
|
-
if (e === void 0 || e === !0) return [...
|
|
1007
|
+
}, Sr = "Arial, sans-serif";
|
|
1008
|
+
function Cr(e) {
|
|
1009
|
+
if (e === void 0 || e === !0) return [...br];
|
|
1010
1010
|
if (e === !1) return [];
|
|
1011
1011
|
let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
1012
1012
|
for (let i of e) {
|
|
1013
|
-
let e = i.toLowerCase(), a =
|
|
1013
|
+
let e = i.toLowerCase(), a = br.find((t) => t.value.toLowerCase() === e);
|
|
1014
1014
|
if (!a) {
|
|
1015
|
-
r.has(e) || (r.add(e),
|
|
1015
|
+
r.has(e) || (r.add(e), Y.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${br.map((e) => e.value).join(", ")}.`));
|
|
1016
1016
|
continue;
|
|
1017
1017
|
}
|
|
1018
1018
|
n.has(a.value) || (n.add(a.value), t.push(a));
|
|
1019
1019
|
}
|
|
1020
1020
|
return t;
|
|
1021
1021
|
}
|
|
1022
|
-
function
|
|
1023
|
-
let t = l(e?.customFonts ?? []), n = l(!1), r =
|
|
1022
|
+
function wr(e) {
|
|
1023
|
+
let t = l(e?.customFonts ?? []), n = l(!1), r = Cr(e?.builtIns), i = b(() => e?.defaultFallback ?? Sr), a = b(() => {
|
|
1024
1024
|
let e = [...r], n = t.value.map((e) => ({
|
|
1025
1025
|
value: e.name,
|
|
1026
1026
|
label: e.name,
|
|
@@ -1031,20 +1031,20 @@ function br(e) {
|
|
|
1031
1031
|
function s(e) {
|
|
1032
1032
|
return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1033
1033
|
}
|
|
1034
|
-
let c = e?.defaultFont ??
|
|
1035
|
-
s(c) ||
|
|
1034
|
+
let c = e?.defaultFont ?? Sr.split(",")[0].trim();
|
|
1035
|
+
s(c) || Y.warn(`config.fonts: new templates seed "${c}", which the font picker doesn't offer — authors can't reselect it. Either add it to fonts.builtIns, or set fonts.defaultFont to an offered font.`);
|
|
1036
1036
|
function u() {
|
|
1037
1037
|
if (e?.defaultFont && s(e.defaultFont)) {
|
|
1038
1038
|
let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
1039
1039
|
if (t) return t.value;
|
|
1040
1040
|
}
|
|
1041
|
-
return
|
|
1041
|
+
return Sr;
|
|
1042
1042
|
}
|
|
1043
1043
|
let d = b(() => u());
|
|
1044
1044
|
function f(e) {
|
|
1045
1045
|
if (!e) return i.value;
|
|
1046
1046
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
1047
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
1047
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : xr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
1048
1048
|
}
|
|
1049
1049
|
let p = [], h = !1;
|
|
1050
1050
|
async function g() {
|
|
@@ -1060,7 +1060,7 @@ function br(e) {
|
|
|
1060
1060
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
1061
1061
|
});
|
|
1062
1062
|
} catch (t) {
|
|
1063
|
-
|
|
1063
|
+
Y.warn(`Failed to load custom font "${e.name}":`, t);
|
|
1064
1064
|
}
|
|
1065
1065
|
});
|
|
1066
1066
|
await Promise.allSettled(e), !h && (n.value = !0);
|
|
@@ -1085,12 +1085,12 @@ function br(e) {
|
|
|
1085
1085
|
}
|
|
1086
1086
|
//#endregion
|
|
1087
1087
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
1088
|
-
function
|
|
1089
|
-
return
|
|
1088
|
+
function Tr(e, t, n) {
|
|
1089
|
+
return ge(e, n) ? {
|
|
1090
1090
|
type: "logicMergeTagNode",
|
|
1091
1091
|
attrs: {
|
|
1092
1092
|
value: e,
|
|
1093
|
-
keyword:
|
|
1093
|
+
keyword: me(e, n)
|
|
1094
1094
|
}
|
|
1095
1095
|
} : {
|
|
1096
1096
|
type: "mergeTagNode",
|
|
@@ -1102,15 +1102,15 @@ function xr(e, t, n) {
|
|
|
1102
1102
|
}
|
|
1103
1103
|
//#endregion
|
|
1104
1104
|
//#region src/utils/insertLogicTag.ts
|
|
1105
|
-
function
|
|
1105
|
+
function Er(e) {
|
|
1106
1106
|
return "before" in e && "after" in e;
|
|
1107
1107
|
}
|
|
1108
|
-
function
|
|
1109
|
-
if (!
|
|
1110
|
-
e.chain().focus().insertContent(
|
|
1108
|
+
function Dr(e, t, n) {
|
|
1109
|
+
if (!Er(t)) {
|
|
1110
|
+
e.chain().focus().insertContent(Tr(t.value, t.label, n)).run();
|
|
1111
1111
|
return;
|
|
1112
1112
|
}
|
|
1113
|
-
let r =
|
|
1113
|
+
let r = Tr(t.before, t.label, n), i = Tr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
1114
1114
|
if (a !== o) {
|
|
1115
1115
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
1116
1116
|
return;
|
|
@@ -1119,20 +1119,20 @@ function Cr(e, t, n) {
|
|
|
1119
1119
|
}
|
|
1120
1120
|
//#endregion
|
|
1121
1121
|
//#region src/utils/linkColorExtension.ts
|
|
1122
|
-
function
|
|
1122
|
+
function Or(e) {
|
|
1123
1123
|
if (!e) return null;
|
|
1124
1124
|
let t = e.trim();
|
|
1125
1125
|
return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
|
|
1126
1126
|
}
|
|
1127
|
-
function
|
|
1127
|
+
function kr(e) {
|
|
1128
1128
|
return e.extend({ addAttributes() {
|
|
1129
1129
|
return {
|
|
1130
1130
|
...this.parent?.(),
|
|
1131
1131
|
color: {
|
|
1132
1132
|
default: null,
|
|
1133
|
-
parseHTML: (e) =>
|
|
1133
|
+
parseHTML: (e) => Or(Ht(e.style.color)),
|
|
1134
1134
|
renderHTML: (e) => {
|
|
1135
|
-
let t =
|
|
1135
|
+
let t = Or(e.color);
|
|
1136
1136
|
return t ? { style: `color: ${t}` } : {};
|
|
1137
1137
|
}
|
|
1138
1138
|
}
|
|
@@ -1141,9 +1141,9 @@ function Tr(e) {
|
|
|
1141
1141
|
}
|
|
1142
1142
|
//#endregion
|
|
1143
1143
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
1144
|
-
function
|
|
1144
|
+
function Ar(e, t = Ae.liquid) {
|
|
1145
1145
|
let n = l(!1), r = l(""), i = l(""), a = l(null);
|
|
1146
|
-
|
|
1146
|
+
vr(a, n);
|
|
1147
1147
|
function o() {
|
|
1148
1148
|
let t = e.value?.getAttributes("link") ?? {};
|
|
1149
1149
|
r.value = t.href || "", i.value = t.color || "", n.value = !0;
|
|
@@ -1152,7 +1152,7 @@ function Er(e, t = Ee.liquid) {
|
|
|
1152
1152
|
if (r.value) {
|
|
1153
1153
|
let t = d(r.value);
|
|
1154
1154
|
if (t !== null) {
|
|
1155
|
-
let n =
|
|
1155
|
+
let n = Or(i.value), r = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
|
|
1156
1156
|
n && typeof e.value?.commands.unsetColor == "function" && r?.unsetColor(), r?.run();
|
|
1157
1157
|
}
|
|
1158
1158
|
}
|
|
@@ -1202,13 +1202,13 @@ function Er(e, t = Ee.liquid) {
|
|
|
1202
1202
|
}
|
|
1203
1203
|
//#endregion
|
|
1204
1204
|
//#region src/composables/useRichTextEditor.ts
|
|
1205
|
-
function
|
|
1206
|
-
let i = n(
|
|
1205
|
+
function jr(r) {
|
|
1206
|
+
let i = n(q, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = Z(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = hn(), h = n(vt, null), g = (A(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = Ce(u), v = y(null), b = () => ee(i?.content?.value?.settings ?? { locale: "en" });
|
|
1207
1207
|
t(b, (e) => {
|
|
1208
1208
|
let t = v.value?.view.dom;
|
|
1209
1209
|
t && t.setAttribute("dir", e);
|
|
1210
1210
|
});
|
|
1211
|
-
let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } =
|
|
1211
|
+
let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } = Ar(v, u), { start: j, stop: M } = Ke(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), N = y(null), P = l(!0), F = l(null), I = !1;
|
|
1212
1212
|
async function L() {
|
|
1213
1213
|
F.value = null, P.value = !0;
|
|
1214
1214
|
try {
|
|
@@ -1239,7 +1239,7 @@ function Dr(r) {
|
|
|
1239
1239
|
v.value = s, P.value = !1, j();
|
|
1240
1240
|
} catch (e) {
|
|
1241
1241
|
if (I) return;
|
|
1242
|
-
|
|
1242
|
+
Y.error(`[${r.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, e), F.value = e instanceof Error ? e.message : "Failed to load editor", P.value = !1;
|
|
1243
1243
|
}
|
|
1244
1244
|
}
|
|
1245
1245
|
function R() {
|
|
@@ -1257,7 +1257,7 @@ function Dr(r) {
|
|
|
1257
1257
|
let i = t.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
|
|
1258
1258
|
n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog") || i || r.onDone();
|
|
1259
1259
|
}
|
|
1260
|
-
|
|
1260
|
+
U(document, "mousedown", B), e(() => {
|
|
1261
1261
|
I = !0, z(), M(), v.value?.destroy();
|
|
1262
1262
|
});
|
|
1263
1263
|
async function V() {
|
|
@@ -1267,9 +1267,9 @@ function Dr(r) {
|
|
|
1267
1267
|
value: e.value
|
|
1268
1268
|
}).run() : v.value?.commands.focus());
|
|
1269
1269
|
}
|
|
1270
|
-
async function
|
|
1270
|
+
async function te() {
|
|
1271
1271
|
let e = await m();
|
|
1272
|
-
I || (e && v.value ?
|
|
1272
|
+
I || (e && v.value ? Dr(v.value, e, u) : v.value?.commands.focus());
|
|
1273
1273
|
}
|
|
1274
1274
|
return {
|
|
1275
1275
|
editor: v,
|
|
@@ -1293,14 +1293,14 @@ function Dr(r) {
|
|
|
1293
1293
|
closeLinkDialog: O,
|
|
1294
1294
|
handleLinkKeydown: k,
|
|
1295
1295
|
handleAddMergeTag: V,
|
|
1296
|
-
handleAddLogicTag:
|
|
1296
|
+
handleAddLogicTag: te
|
|
1297
1297
|
};
|
|
1298
1298
|
}
|
|
1299
1299
|
//#endregion
|
|
1300
1300
|
//#region src/composables/useSmallScreenNotice.ts
|
|
1301
|
-
var
|
|
1302
|
-
function
|
|
1303
|
-
let t =
|
|
1301
|
+
var Mr = "(max-width: 767px)";
|
|
1302
|
+
function Nr(e) {
|
|
1303
|
+
let t = Xe(Mr);
|
|
1304
1304
|
return {
|
|
1305
1305
|
isSmallScreen: t,
|
|
1306
1306
|
showNotice: b(() => (j(e) ?? !0) && t.value)
|
|
@@ -1308,20 +1308,20 @@ function kr(e) {
|
|
|
1308
1308
|
}
|
|
1309
1309
|
//#endregion
|
|
1310
1310
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1311
|
-
var
|
|
1311
|
+
var Pr = { class: "tpl:w-full" }, Fr = {
|
|
1312
1312
|
key: 0,
|
|
1313
1313
|
class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
|
|
1314
|
-
},
|
|
1314
|
+
}, Ir = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lr = {
|
|
1315
1315
|
key: 1,
|
|
1316
1316
|
class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
|
|
1317
|
-
},
|
|
1317
|
+
}, Rr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zr = {
|
|
1318
1318
|
key: 2,
|
|
1319
1319
|
class: "tpl:relative"
|
|
1320
|
-
},
|
|
1320
|
+
}, Br = ["innerHTML"], Vr = {
|
|
1321
1321
|
key: 0,
|
|
1322
1322
|
class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
|
|
1323
1323
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
1324
|
-
},
|
|
1324
|
+
}, Hr = /* @__PURE__ */ d({
|
|
1325
1325
|
__name: "CustomBlock",
|
|
1326
1326
|
props: {
|
|
1327
1327
|
block: {},
|
|
@@ -1329,7 +1329,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1329
1329
|
},
|
|
1330
1330
|
emits: ["fetchData"],
|
|
1331
1331
|
setup(e, { emit: r }) {
|
|
1332
|
-
let i = e, a = r, { t: o } =
|
|
1332
|
+
let i = e, a = r, { t: o } = J(), c = n(It, null), u = l(""), d = l(!1), f = b(() => c?.getDefinition(i.block.customType)), p = b(() => !!f.value), m = b(() => i.block), { isFetching: _, fetch: v, needsFetch: y, hasDataSource: C } = Re({
|
|
1333
1333
|
definition: f,
|
|
1334
1334
|
block: m,
|
|
1335
1335
|
onUpdate: (e, t) => {
|
|
@@ -1338,10 +1338,10 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1338
1338
|
dataSourceFetched: t
|
|
1339
1339
|
});
|
|
1340
1340
|
}
|
|
1341
|
-
}), T = n(
|
|
1341
|
+
}), T = n(G, W), D = n(K, null), A = b(() => {
|
|
1342
1342
|
if (!D?.value) return i.block;
|
|
1343
1343
|
let e = {};
|
|
1344
|
-
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ?
|
|
1344
|
+
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? pe(n, T.value) : n;
|
|
1345
1345
|
return {
|
|
1346
1346
|
...i.block,
|
|
1347
1347
|
fieldValues: e
|
|
@@ -1358,17 +1358,17 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1358
1358
|
}
|
|
1359
1359
|
}
|
|
1360
1360
|
}
|
|
1361
|
-
let M =
|
|
1361
|
+
let M = qe(j, 150);
|
|
1362
1362
|
return w(() => {
|
|
1363
1363
|
j();
|
|
1364
1364
|
}), t(() => i.block.fieldValues, () => {
|
|
1365
1365
|
M();
|
|
1366
1366
|
}, { deep: !0 }), t(() => D?.value, () => {
|
|
1367
1367
|
M();
|
|
1368
|
-
}), (e, t) => (s(), x("div",
|
|
1368
|
+
}), (e, t) => (s(), x("div", Pr, [p.value ? d.value ? (s(), x("div", Lr, [g(h(cn), {
|
|
1369
1369
|
size: 24,
|
|
1370
1370
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
1371
|
-
}), k("span",
|
|
1371
|
+
}), k("span", Rr, F(h(o).customBlocks.renderError), 1)])) : (s(), x("div", zr, [k("div", { innerHTML: u.value }, null, 8, Br), h(C) && h(y) ? (s(), x("div", Vr, [h(_) ? (s(), O(fn, {
|
|
1372
1372
|
key: 1,
|
|
1373
1373
|
class: "tpl:w-48"
|
|
1374
1374
|
})) : (s(), x("button", {
|
|
@@ -1376,16 +1376,16 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1376
1376
|
type: "button",
|
|
1377
1377
|
class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-[var(--tpl-shadow)] tpl:transition-all tpl:hover:border-[var(--tpl-primary)] tpl:hover:shadow-[var(--tpl-shadow-md)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
|
|
1378
1378
|
onClick: t[0] ||= E((...e) => h(v) && h(v)(...e), ["stop"])
|
|
1379
|
-
}, [f.value?.icon ? (s(), O(
|
|
1379
|
+
}, [f.value?.icon ? (s(), O(gr, {
|
|
1380
1380
|
key: 0,
|
|
1381
1381
|
icon: f.value.icon,
|
|
1382
1382
|
size: 16
|
|
1383
|
-
}, null, 8, ["icon"])) : S("", !0), R(" " + F(f.value?.dataSource?.label || h(o).customBlocks.dataSource.fetchButton), 1)]))])) : S("", !0)])) : (s(), x("div",
|
|
1383
|
+
}, null, 8, ["icon"])) : S("", !0), R(" " + F(f.value?.dataSource?.label || h(o).customBlocks.dataSource.fetchButton), 1)]))])) : S("", !0)])) : (s(), x("div", Fr, [g(h(Xt), {
|
|
1384
1384
|
size: 24,
|
|
1385
1385
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
1386
|
-
}), k("span",
|
|
1386
|
+
}), k("span", Ir, F(h(o).customBlocks.definitionNotFound), 1)]))]));
|
|
1387
1387
|
}
|
|
1388
|
-
}),
|
|
1388
|
+
}), Ur = { class: "tpl:w-full" }, Wr = /* @__PURE__ */ d({
|
|
1389
1389
|
__name: "DividerBlock",
|
|
1390
1390
|
props: {
|
|
1391
1391
|
block: {},
|
|
@@ -1397,28 +1397,28 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1397
1397
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
1398
1398
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
1399
1399
|
}));
|
|
1400
|
-
return (e, t) => (s(), x("div",
|
|
1400
|
+
return (e, t) => (s(), x("div", Ur, [k("hr", {
|
|
1401
1401
|
class: "tpl:m-0 tpl:border-none",
|
|
1402
1402
|
style: D(n.value)
|
|
1403
1403
|
}, null, 4)]));
|
|
1404
1404
|
}
|
|
1405
|
-
}),
|
|
1405
|
+
}), Gr = { class: "tpl:w-full" }, Kr = ["srcdoc", "title"], qr = {
|
|
1406
1406
|
key: 1,
|
|
1407
1407
|
class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]"
|
|
1408
|
-
},
|
|
1408
|
+
}, Jr = {
|
|
1409
1409
|
key: 0,
|
|
1410
1410
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
1411
|
-
},
|
|
1411
|
+
}, Yr = {
|
|
1412
1412
|
key: 1,
|
|
1413
1413
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
1414
|
-
},
|
|
1414
|
+
}, Xr = /* @__PURE__ */ d({
|
|
1415
1415
|
__name: "HtmlBlock",
|
|
1416
1416
|
props: {
|
|
1417
1417
|
block: {},
|
|
1418
1418
|
viewport: {}
|
|
1419
1419
|
},
|
|
1420
1420
|
setup(r) {
|
|
1421
|
-
let i = r, { t: a } =
|
|
1421
|
+
let i = r, { t: a } = J(), o = n(St, !1), c = b(() => i.block.content.trim().length > 0), u = b(() => o && c.value), d = n(G, W), f = n(K, null), p = b(() => f?.value ? pe(i.block.content, d.value) : i.block.content), m = l(null), _ = l(60), v = null;
|
|
1422
1422
|
function y() {
|
|
1423
1423
|
let e = m.value?.contentDocument;
|
|
1424
1424
|
e && (_.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
|
|
@@ -1432,7 +1432,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1432
1432
|
e || (v?.disconnect(), v = null);
|
|
1433
1433
|
}), e(() => {
|
|
1434
1434
|
v?.disconnect(), v = null;
|
|
1435
|
-
}), (e, t) => (s(), x("div",
|
|
1435
|
+
}), (e, t) => (s(), x("div", Gr, [u.value ? (s(), x("iframe", {
|
|
1436
1436
|
key: 0,
|
|
1437
1437
|
ref_key: "iframeRef",
|
|
1438
1438
|
ref: m,
|
|
@@ -1442,22 +1442,22 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1442
1442
|
class: "tpl:block tpl:w-full tpl:border-0",
|
|
1443
1443
|
style: D({ height: `${_.value}px` }),
|
|
1444
1444
|
onLoad: S
|
|
1445
|
-
}, null, 44,
|
|
1445
|
+
}, null, 44, Kr)) : (s(), x("div", qr, [g(h(Zt), {
|
|
1446
1446
|
size: 24,
|
|
1447
1447
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
1448
|
-
}), c.value ? (s(), x("span",
|
|
1448
|
+
}), c.value ? (s(), x("span", Jr, F(h(a).html.preview), 1)) : (s(), x("span", Yr, F(h(a).html.empty), 1))]))]));
|
|
1449
1449
|
}
|
|
1450
|
-
}),
|
|
1450
|
+
}), Zr = ["data-drop-enabled"], Qr = {
|
|
1451
1451
|
key: 0,
|
|
1452
1452
|
class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
|
|
1453
1453
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
1454
|
-
},
|
|
1454
|
+
}, $r = ["href"], ei = ["src", "alt"], ti = ["src", "alt"], ni = {
|
|
1455
1455
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
1456
1456
|
style: { opacity: "0.7" }
|
|
1457
|
-
},
|
|
1457
|
+
}, ri = ["href"], ii = ["src", "alt"], ai = ["src", "alt"], oi = {
|
|
1458
1458
|
key: 4,
|
|
1459
1459
|
class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
|
|
1460
|
-
},
|
|
1460
|
+
}, si = ["aria-label"], ci = { key: 1 }, li = /* @__PURE__ */ d({
|
|
1461
1461
|
__name: "ImageBlock",
|
|
1462
1462
|
props: {
|
|
1463
1463
|
block: {},
|
|
@@ -1465,7 +1465,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1465
1465
|
},
|
|
1466
1466
|
emits: ["update"],
|
|
1467
1467
|
setup(e, { emit: t }) {
|
|
1468
|
-
let r = e, i = t, { t: a } =
|
|
1468
|
+
let r = e, i = t, { t: a } = J(), { syntax: o } = Z(), c = n(lt, null), u = n(Ct, null), d = b(() => !!c), f = gn();
|
|
1469
1469
|
async function p() {
|
|
1470
1470
|
let e = await c?.({ accept: ["images"] });
|
|
1471
1471
|
if (f.alive && e) {
|
|
@@ -1492,7 +1492,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1492
1492
|
}
|
|
1493
1493
|
}
|
|
1494
1494
|
}
|
|
1495
|
-
let { isOver: C } =
|
|
1495
|
+
let { isOver: C } = ze({
|
|
1496
1496
|
target: m,
|
|
1497
1497
|
enabled: v,
|
|
1498
1498
|
onFiles: y
|
|
@@ -1507,7 +1507,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1507
1507
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
1508
1508
|
marginRight: e === "center" ? "auto" : void 0
|
|
1509
1509
|
};
|
|
1510
|
-
}), O = b(() =>
|
|
1510
|
+
}), O = b(() => H(r.block.src, o)), A = Cn(() => O.value ? void 0 : r.block.src), j = Cn(() => O.value ? r.block.placeholderUrl : void 0);
|
|
1511
1511
|
return (t, n) => (s(), x("div", {
|
|
1512
1512
|
ref_key: "dropZoneRef",
|
|
1513
1513
|
ref: m,
|
|
@@ -1515,11 +1515,11 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1515
1515
|
"data-drop-enabled": v.value,
|
|
1516
1516
|
class: "tpl:relative tpl:w-full",
|
|
1517
1517
|
style: D(w.value)
|
|
1518
|
-
}, [v.value && (h(C) || _.value) ? (s(), x("div",
|
|
1518
|
+
}, [v.value && (h(C) || _.value) ? (s(), x("div", Qr, [_.value ? (s(), x(P, { key: 0 }, [g(h(rn), {
|
|
1519
1519
|
class: "tpl-spinner",
|
|
1520
1520
|
size: 20,
|
|
1521
1521
|
"stroke-width": 2
|
|
1522
|
-
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(
|
|
1522
|
+
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(on), {
|
|
1523
1523
|
size: 20,
|
|
1524
1524
|
"stroke-width": 1.5
|
|
1525
1525
|
}), R(" " + F(h(a).image.dropToUpload), 1)], 64))])) : S("", !0), e.block.src && O.value && e.block.placeholderUrl ? (s(), x(P, { key: 1 }, [e.block.linkUrl ? (s(), x("a", {
|
|
@@ -1534,22 +1534,22 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1534
1534
|
src: h(j),
|
|
1535
1535
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1536
1536
|
style: D(T.value)
|
|
1537
|
-
}, null, 12,
|
|
1537
|
+
}, null, 12, ei)], 8, $r)) : (s(), x("img", {
|
|
1538
1538
|
key: 1,
|
|
1539
1539
|
class: "tpl:border-0",
|
|
1540
1540
|
src: h(j),
|
|
1541
1541
|
alt: e.block.alt,
|
|
1542
1542
|
style: D(T.value)
|
|
1543
|
-
}, null, 12,
|
|
1543
|
+
}, null, 12, ti))], 64)) : e.block.src && O.value ? (s(), x("div", {
|
|
1544
1544
|
key: 2,
|
|
1545
1545
|
class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
|
|
1546
1546
|
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, T.value])
|
|
1547
|
-
}, [g(h(
|
|
1547
|
+
}, [g(h(tn), {
|
|
1548
1548
|
size: 32,
|
|
1549
1549
|
"stroke-width": 1.5,
|
|
1550
1550
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
1551
1551
|
style: { opacity: "0.5" }
|
|
1552
|
-
}), k("span",
|
|
1552
|
+
}), k("span", ni, [g(dr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), x(P, { key: 3 }, [e.block.linkUrl ? (s(), x("a", {
|
|
1553
1553
|
key: 0,
|
|
1554
1554
|
href: e.block.linkUrl,
|
|
1555
1555
|
target: "_blank",
|
|
@@ -1561,33 +1561,33 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1561
1561
|
src: h(A),
|
|
1562
1562
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1563
1563
|
style: D(T.value)
|
|
1564
|
-
}, null, 12,
|
|
1564
|
+
}, null, 12, ii)], 8, ri)) : (s(), x("img", {
|
|
1565
1565
|
key: 1,
|
|
1566
1566
|
class: "tpl:border-0",
|
|
1567
1567
|
src: h(A),
|
|
1568
1568
|
alt: e.block.alt,
|
|
1569
1569
|
style: D(T.value)
|
|
1570
|
-
}, null, 12,
|
|
1570
|
+
}, null, 12, ai))], 64)) : (s(), x("div", oi, [d.value ? (s(), x("button", {
|
|
1571
1571
|
key: 0,
|
|
1572
1572
|
"aria-label": h(a).image.browseMedia,
|
|
1573
1573
|
class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
|
|
1574
1574
|
onClick: E(p, ["stop"])
|
|
1575
|
-
}, [g(h(
|
|
1575
|
+
}, [g(h(tn), {
|
|
1576
1576
|
size: 14,
|
|
1577
1577
|
"stroke-width": 1.5
|
|
1578
|
-
}), R(" " + F(h(a).image.browseMedia), 1)], 8,
|
|
1578
|
+
}), R(" " + F(h(a).image.browseMedia), 1)], 8, si)) : (s(), x("span", ci, F(h(a).image.clickToAdd), 1))]))], 12, Zr));
|
|
1579
1579
|
}
|
|
1580
|
-
}),
|
|
1580
|
+
}), ui = { class: "tpl:w-full" }, di = ["href"], fi = {
|
|
1581
1581
|
key: 1,
|
|
1582
1582
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
|
|
1583
|
-
},
|
|
1583
|
+
}, pi = /* @__PURE__ */ d({
|
|
1584
1584
|
__name: "MenuBlock",
|
|
1585
1585
|
props: {
|
|
1586
1586
|
block: {},
|
|
1587
1587
|
viewport: {}
|
|
1588
1588
|
},
|
|
1589
1589
|
setup(e) {
|
|
1590
|
-
let t = e, { t: n } =
|
|
1590
|
+
let t = e, { t: n } = J(), i = b(() => ({
|
|
1591
1591
|
display: "flex",
|
|
1592
1592
|
flexWrap: "wrap",
|
|
1593
1593
|
gap: `0 ${t.block.spacing}px`,
|
|
@@ -1599,7 +1599,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1599
1599
|
function o(e) {
|
|
1600
1600
|
return e || t.block.linkColor || t.block.color;
|
|
1601
1601
|
}
|
|
1602
|
-
return (t, c) => (s(), x("div",
|
|
1602
|
+
return (t, c) => (s(), x("div", ui, [a.value ? (s(), x("div", {
|
|
1603
1603
|
key: 0,
|
|
1604
1604
|
style: D(i.value)
|
|
1605
1605
|
}, [(s(!0), x(P, null, r(e.block.items, (t, n) => (s(), x(P, { key: t.id }, [k("a", {
|
|
@@ -1611,15 +1611,15 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1611
1611
|
textDecoration: t.underline ? "underline" : "none"
|
|
1612
1612
|
}),
|
|
1613
1613
|
onClick: c[0] ||= E(() => {}, ["prevent"])
|
|
1614
|
-
}, [g(
|
|
1614
|
+
}, [g(dr, { text: t.text || "..." }, null, 8, ["text"])], 12, di), n < e.block.items.length - 1 ? (s(), x("span", {
|
|
1615
1615
|
key: 0,
|
|
1616
1616
|
style: D({
|
|
1617
1617
|
color: e.block.separatorColor,
|
|
1618
1618
|
padding: `0 ${e.block.spacing}px`
|
|
1619
1619
|
})
|
|
1620
|
-
}, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div",
|
|
1620
|
+
}, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div", fi, [g(h($t), { size: 16 }), k("span", null, F(h(n).menu.addLinks), 1)]))]));
|
|
1621
1621
|
}
|
|
1622
|
-
}),
|
|
1622
|
+
}), mi = /* @__PURE__ */ new Set([
|
|
1623
1623
|
"http",
|
|
1624
1624
|
"https",
|
|
1625
1625
|
"mailto",
|
|
@@ -1629,7 +1629,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1629
1629
|
"sms",
|
|
1630
1630
|
"xmpp",
|
|
1631
1631
|
"cid"
|
|
1632
|
-
]),
|
|
1632
|
+
]), hi = /* @__PURE__ */ new Set([
|
|
1633
1633
|
"SCRIPT",
|
|
1634
1634
|
"STYLE",
|
|
1635
1635
|
"IFRAME",
|
|
@@ -1639,7 +1639,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1639
1639
|
"META",
|
|
1640
1640
|
"BASE",
|
|
1641
1641
|
"FORM"
|
|
1642
|
-
]),
|
|
1642
|
+
]), gi = /* @__PURE__ */ new Set([
|
|
1643
1643
|
"href",
|
|
1644
1644
|
"xlink:href",
|
|
1645
1645
|
"formaction",
|
|
@@ -1648,16 +1648,16 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1648
1648
|
"background",
|
|
1649
1649
|
"poster"
|
|
1650
1650
|
]);
|
|
1651
|
-
function
|
|
1651
|
+
function _i(e, t) {
|
|
1652
1652
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
1653
1653
|
if (!n || n.startsWith("#")) return !0;
|
|
1654
1654
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
1655
1655
|
if (!r) return !0;
|
|
1656
1656
|
let i = r[1].toLowerCase();
|
|
1657
|
-
return
|
|
1657
|
+
return mi.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
1658
1658
|
}
|
|
1659
|
-
function
|
|
1660
|
-
if (
|
|
1659
|
+
function vi(e) {
|
|
1660
|
+
if (hi.has(e.tagName)) {
|
|
1661
1661
|
e.remove();
|
|
1662
1662
|
return;
|
|
1663
1663
|
}
|
|
@@ -1669,29 +1669,29 @@ function mi(e) {
|
|
|
1669
1669
|
e.removeAttribute(n);
|
|
1670
1670
|
continue;
|
|
1671
1671
|
}
|
|
1672
|
-
if (
|
|
1673
|
-
|
|
1672
|
+
if (gi.has(t)) {
|
|
1673
|
+
_i(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
1674
1674
|
continue;
|
|
1675
1675
|
}
|
|
1676
1676
|
if (t === "src") {
|
|
1677
|
-
|
|
1677
|
+
_i(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
1678
1678
|
continue;
|
|
1679
1679
|
}
|
|
1680
1680
|
t === "srcdoc" && e.removeAttribute(n);
|
|
1681
1681
|
}
|
|
1682
1682
|
let n = Array.from(e.children);
|
|
1683
|
-
for (let e of n)
|
|
1683
|
+
for (let e of n) vi(e);
|
|
1684
1684
|
}
|
|
1685
|
-
function
|
|
1685
|
+
function yi(e) {
|
|
1686
1686
|
if (typeof DOMParser > "u") return e;
|
|
1687
1687
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
1688
|
-
for (let e of n)
|
|
1688
|
+
for (let e of n) vi(e);
|
|
1689
1689
|
return t.innerHTML;
|
|
1690
1690
|
}
|
|
1691
1691
|
//#endregion
|
|
1692
1692
|
//#region src/composables/useEditableTextBlock.ts
|
|
1693
|
-
function
|
|
1694
|
-
let t = n(
|
|
1693
|
+
function bi(e) {
|
|
1694
|
+
let t = n(G, W), r = n(K, null), { syntax: i } = Z(), a = b(() => r?.value ? ye(e(), t.value) : we(e(), t.value)), o = b(() => yi(De(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Ze(c), { toLocal: f } = Wt(), p = b(() => f({
|
|
1695
1695
|
top: u.value - 8,
|
|
1696
1696
|
left: d.value
|
|
1697
1697
|
}));
|
|
@@ -1712,14 +1712,14 @@ function gi(e) {
|
|
|
1712
1712
|
}
|
|
1713
1713
|
//#endregion
|
|
1714
1714
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1715
|
-
var
|
|
1715
|
+
var xi = ["innerHTML"], Si = /* @__PURE__ */ d({
|
|
1716
1716
|
__name: "ParagraphBlock",
|
|
1717
1717
|
props: {
|
|
1718
1718
|
block: {},
|
|
1719
1719
|
viewport: {}
|
|
1720
1720
|
},
|
|
1721
1721
|
setup(e) {
|
|
1722
|
-
let t = e, n = L(() => import("./ParagraphEditor-
|
|
1722
|
+
let t = e, n = L(() => import("./ParagraphEditor-BilbVtrG.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content);
|
|
1723
1723
|
return (t, u) => (s(), x("div", {
|
|
1724
1724
|
ref_key: "blockRef",
|
|
1725
1725
|
ref: i,
|
|
@@ -1738,54 +1738,64 @@ var _i = ["innerHTML"], vi = /* @__PURE__ */ d({
|
|
|
1738
1738
|
key: 1,
|
|
1739
1739
|
class: "tpl-text-content tpl:outline-none",
|
|
1740
1740
|
innerHTML: h(o)
|
|
1741
|
-
}, null, 8,
|
|
1741
|
+
}, null, 8, xi))], 544));
|
|
1742
1742
|
}
|
|
1743
1743
|
});
|
|
1744
1744
|
//#endregion
|
|
1745
1745
|
//#region src/utils/blockComponentResolver.ts
|
|
1746
|
-
function
|
|
1746
|
+
function Ci(e) {
|
|
1747
1747
|
let t = { fontFamily: e.fontFamily };
|
|
1748
1748
|
return e.textColor && (t.color = e.textColor), e.linkColor && (t["--tpl-doc-link-color"] = e.linkColor), e.linkUnderline && (t["--tpl-doc-link-underline"] = "underline"), t;
|
|
1749
1749
|
}
|
|
1750
|
-
function
|
|
1750
|
+
function wi(e, t, n) {
|
|
1751
1751
|
if (t) {
|
|
1752
1752
|
let n = t.getComponent(e);
|
|
1753
1753
|
if (n) return n;
|
|
1754
1754
|
}
|
|
1755
1755
|
return n[e.type] ?? null;
|
|
1756
1756
|
}
|
|
1757
|
-
function
|
|
1757
|
+
function Ti(e) {
|
|
1758
|
+
if (e.type === "wrapper") return {};
|
|
1758
1759
|
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
1759
1760
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
1760
1761
|
backgroundColor: n || "transparent"
|
|
1761
1762
|
};
|
|
1762
|
-
return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ??
|
|
1763
|
+
return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? Oe.paragraphGap : Oe.paragraphGap}px`), e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
|
|
1763
1764
|
}
|
|
1764
|
-
function
|
|
1765
|
+
function Ei(e) {
|
|
1765
1766
|
if (e.type !== "section" || !e.wrapper) return null;
|
|
1766
1767
|
let t = e.wrapper, n = {};
|
|
1767
1768
|
return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
|
|
1768
1769
|
}
|
|
1770
|
+
function Di(e) {
|
|
1771
|
+
if (e.type !== "wrapper") return null;
|
|
1772
|
+
let t = {};
|
|
1773
|
+
if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
|
|
1774
|
+
let n = e.styles.padding;
|
|
1775
|
+
t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
|
|
1776
|
+
}
|
|
1777
|
+
return e.borderRadius && e.borderRadius > 0 && (t.borderRadius = `${e.borderRadius}px`), t;
|
|
1778
|
+
}
|
|
1769
1779
|
//#endregion
|
|
1770
1780
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
1771
|
-
var
|
|
1781
|
+
var Oi = [
|
|
1772
1782
|
"data-block-id",
|
|
1773
1783
|
"data-block-type",
|
|
1774
1784
|
"data-tpl-picked"
|
|
1775
|
-
],
|
|
1785
|
+
], ki = ["aria-label"], Ai = [
|
|
1776
1786
|
"aria-label",
|
|
1777
1787
|
"aria-pressed",
|
|
1778
1788
|
"title"
|
|
1779
|
-
],
|
|
1789
|
+
], ji = ["aria-label", "title"], Mi = ["aria-label", "title"], Ni = ["aria-label", "title"], Pi = {
|
|
1780
1790
|
key: 1,
|
|
1781
1791
|
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"
|
|
1782
|
-
},
|
|
1792
|
+
}, Fi = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-chrome-bg-elevated)] tpl:text-[var(--tpl-chrome-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Ii = {
|
|
1783
1793
|
key: 2,
|
|
1784
1794
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
1785
|
-
},
|
|
1795
|
+
}, Li = ["aria-label", "title"], Ri = {
|
|
1786
1796
|
key: 3,
|
|
1787
1797
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
1788
|
-
},
|
|
1798
|
+
}, zi = ["aria-label"], Bi = /*#__PURE__*/ pn(/* @__PURE__ */ d({
|
|
1789
1799
|
__name: "BlockWrapper",
|
|
1790
1800
|
props: {
|
|
1791
1801
|
block: {},
|
|
@@ -1797,7 +1807,7 @@ var Ci = [
|
|
|
1797
1807
|
},
|
|
1798
1808
|
emits: ["select"],
|
|
1799
1809
|
setup(e, { emit: t }) {
|
|
1800
|
-
let r = L(() => import("./BlockIssueBadge-
|
|
1810
|
+
let r = L(() => import("./BlockIssueBadge-DS1pUf5g.js")), i = e, o = t, { t: c, format: u } = J(), d = n(mt, null), f = l(null), p = b(() => d?.liftedBlockId.value === i.block.id), m = b(() => p.value ? u(c.blockActions.dragLifted, { block: i.block.type }) : c.blockActions.drag);
|
|
1801
1811
|
async function _() {
|
|
1802
1812
|
await T(), f.value?.focus();
|
|
1803
1813
|
}
|
|
@@ -1823,20 +1833,20 @@ var Ci = [
|
|
|
1823
1833
|
let C = b(() => !i.viewport || !i.block.visibility ? !1 : i.block.visibility[i.viewport] === !1), w = b(() => i.previewMode === !0 && C.value), O = b(() => i.viewport ? {
|
|
1824
1834
|
desktop: c.viewport.desktop,
|
|
1825
1835
|
mobile: c.viewport.mobile
|
|
1826
|
-
}[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(
|
|
1827
|
-
function
|
|
1836
|
+
}[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(xt, null), M = n(Tt, null), N = n(kt, {}), P = b(() => N.savedBlocks?.isPicking.value === !0), I = b(() => !i.nested && N.savedBlocks?.isAvailable.value === !0 && N.savedBlocks?.canCreate.value === !0), z = b(() => i.isSelected && !P.value), B = b(() => N.comments?.getBlockCount(i.block.id) ?? 0), V = b(() => Ti(i.block)), ee = b(() => Ei(i.block));
|
|
1837
|
+
function te(e) {
|
|
1828
1838
|
i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
|
|
1829
1839
|
}
|
|
1830
|
-
function
|
|
1840
|
+
function ne() {
|
|
1831
1841
|
j?.deleteBlock(i.block.id);
|
|
1832
1842
|
}
|
|
1833
|
-
function
|
|
1843
|
+
function re() {
|
|
1834
1844
|
j?.duplicateBlock(i.block);
|
|
1835
1845
|
}
|
|
1836
|
-
function
|
|
1846
|
+
function ie() {
|
|
1837
1847
|
N.savedBlocks?.startPicking(i.block.id);
|
|
1838
1848
|
}
|
|
1839
|
-
function
|
|
1849
|
+
function ae() {
|
|
1840
1850
|
M?.toggleBlock(i.block.id);
|
|
1841
1851
|
}
|
|
1842
1852
|
return (t, n) => w.value ? S("", !0) : (s(), x("div", {
|
|
@@ -1850,7 +1860,7 @@ var Ci = [
|
|
|
1850
1860
|
"data-block-id": e.block.id,
|
|
1851
1861
|
"data-block-type": e.block.type,
|
|
1852
1862
|
"data-tpl-picked": e.picked || void 0,
|
|
1853
|
-
onClick:
|
|
1863
|
+
onClick: te
|
|
1854
1864
|
}, [
|
|
1855
1865
|
g(h(r), { "block-id": e.block.id }, null, 8, ["block-id"]),
|
|
1856
1866
|
z.value ? (s(), x("div", {
|
|
@@ -1868,65 +1878,65 @@ var Ci = [
|
|
|
1868
1878
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
1869
1879
|
title: h(c).blockActions.drag,
|
|
1870
1880
|
onKeydown: y
|
|
1871
|
-
}, [g(h(
|
|
1881
|
+
}, [g(h(nn), {
|
|
1872
1882
|
size: 14,
|
|
1873
1883
|
"stroke-width": 1.5
|
|
1874
|
-
})], 40,
|
|
1884
|
+
})], 40, Ai),
|
|
1875
1885
|
k("button", {
|
|
1876
1886
|
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",
|
|
1877
1887
|
"aria-label": h(c).blockActions.duplicate,
|
|
1878
1888
|
title: h(c).blockActions.duplicate,
|
|
1879
|
-
onClick: E(
|
|
1880
|
-
}, [g(h(
|
|
1889
|
+
onClick: E(re, ["stop"])
|
|
1890
|
+
}, [g(h(Yt), {
|
|
1881
1891
|
size: 14,
|
|
1882
1892
|
"stroke-width": 1.5
|
|
1883
|
-
})], 8,
|
|
1893
|
+
})], 8, ji),
|
|
1884
1894
|
I.value ? (s(), x("button", {
|
|
1885
1895
|
key: 0,
|
|
1886
1896
|
class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors",
|
|
1887
1897
|
"aria-label": h(c).blockActions.saveAsBlock,
|
|
1888
1898
|
title: h(c).blockActions.saveAsBlock,
|
|
1889
|
-
onClick: E(
|
|
1890
|
-
}, [g(h(
|
|
1899
|
+
onClick: E(ie, ["stop"])
|
|
1900
|
+
}, [g(h(Jt), {
|
|
1891
1901
|
size: 14,
|
|
1892
1902
|
"stroke-width": 1.5
|
|
1893
|
-
})], 8,
|
|
1903
|
+
})], 8, Mi)) : S("", !0),
|
|
1894
1904
|
k("button", {
|
|
1895
1905
|
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",
|
|
1896
1906
|
"aria-label": h(c).blockActions.delete,
|
|
1897
1907
|
title: h(c).blockActions.delete,
|
|
1898
|
-
onClick: E(
|
|
1899
|
-
}, [g(h(
|
|
1908
|
+
onClick: E(ne, ["stop"])
|
|
1909
|
+
}, [g(h(en), {
|
|
1900
1910
|
size: 14,
|
|
1901
1911
|
"stroke-width": 1.5
|
|
1902
|
-
})], 8,
|
|
1903
|
-
], 8,
|
|
1904
|
-
C.value ? (s(), x("div",
|
|
1912
|
+
})], 8, Ni)
|
|
1913
|
+
], 8, ki)) : S("", !0),
|
|
1914
|
+
C.value ? (s(), x("div", Pi, [k("span", Fi, [g(h(Qt), {
|
|
1905
1915
|
size: 12,
|
|
1906
1916
|
"stroke-width": 1.5
|
|
1907
1917
|
}), R(" " + F(h(u)(h(c).blockActions.hiddenOnViewport, { viewport: O.value })), 1)])])) : S("", !0),
|
|
1908
|
-
A.value && !C.value ? (s(), x("div",
|
|
1918
|
+
A.value && !C.value ? (s(), x("div", Ii, [k("button", {
|
|
1909
1919
|
"data-testid": "condition-toggle",
|
|
1910
1920
|
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)]",
|
|
1911
1921
|
"aria-label": h(c).blockActions.conditionToggle,
|
|
1912
1922
|
title: e.block.displayCondition?.label,
|
|
1913
|
-
onClick: E(
|
|
1914
|
-
}, [g(h(
|
|
1923
|
+
onClick: E(ae, ["stop"])
|
|
1924
|
+
}, [g(h(un), {
|
|
1915
1925
|
size: 12,
|
|
1916
1926
|
"stroke-width": 2
|
|
1917
|
-
})], 8,
|
|
1918
|
-
B.value > 0 && !C.value ? (s(), x("div",
|
|
1927
|
+
})], 8, Li)])) : S("", !0),
|
|
1928
|
+
B.value > 0 && !C.value ? (s(), x("div", Ri, [k("button", {
|
|
1919
1929
|
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)]",
|
|
1920
1930
|
"aria-label": h(u)(h(c).blockActions.comments, { count: String(B.value) }),
|
|
1921
1931
|
onClick: n[0] ||= E((t) => h(N).comments?.openForBlock(e.block.id), ["stop"])
|
|
1922
|
-
}, [g(h(
|
|
1932
|
+
}, [g(h(sn), {
|
|
1923
1933
|
size: 12,
|
|
1924
1934
|
"stroke-width": 2.5
|
|
1925
|
-
}), R(" " + F(B.value), 1)], 8,
|
|
1926
|
-
|
|
1935
|
+
}), R(" " + F(B.value), 1)], 8, zi)])) : S("", !0),
|
|
1936
|
+
ee.value ? (s(), x("div", {
|
|
1927
1937
|
key: 4,
|
|
1928
1938
|
class: "tpl-section-wrapper",
|
|
1929
|
-
style: D(
|
|
1939
|
+
style: D(ee.value)
|
|
1930
1940
|
}, [k("div", {
|
|
1931
1941
|
class: "tpl-block-content",
|
|
1932
1942
|
style: D(V.value)
|
|
@@ -1935,31 +1945,31 @@ var Ci = [
|
|
|
1935
1945
|
class: "tpl-block-content",
|
|
1936
1946
|
style: D(V.value)
|
|
1937
1947
|
}, [a(t.$slots, "default", {}, void 0, !0)], 4))
|
|
1938
|
-
], 10,
|
|
1948
|
+
], 10, Oi));
|
|
1939
1949
|
}
|
|
1940
1950
|
}), [["__scopeId", "data-v-2c239048"]]);
|
|
1941
1951
|
//#endregion
|
|
1942
1952
|
//#region src/utils/unwrapParagraph.ts
|
|
1943
|
-
function
|
|
1953
|
+
function Vi(e) {
|
|
1944
1954
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
1945
1955
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
1946
1956
|
}
|
|
1947
1957
|
//#endregion
|
|
1948
1958
|
//#region src/components/blocks/TitleBlock.vue
|
|
1949
|
-
var
|
|
1959
|
+
var Hi = /* @__PURE__ */ d({
|
|
1950
1960
|
__name: "TitleBlock",
|
|
1951
1961
|
props: {
|
|
1952
1962
|
block: {},
|
|
1953
1963
|
viewport: {}
|
|
1954
1964
|
},
|
|
1955
1965
|
setup(e) {
|
|
1956
|
-
let t = e, n = L(() => import("./TitleEditor-
|
|
1966
|
+
let t = e, n = L(() => import("./TitleEditor-pJeeZ-PX.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content), d = b(() => {
|
|
1957
1967
|
let e = {
|
|
1958
|
-
fontSize: `${
|
|
1968
|
+
fontSize: `${ve[t.block.level]}px`,
|
|
1959
1969
|
textAlign: t.block.textAlign
|
|
1960
1970
|
};
|
|
1961
1971
|
return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
1962
|
-
}), f = b(() => `h${t.block.level}`), p = b(() =>
|
|
1972
|
+
}), f = b(() => `h${t.block.level}`), p = b(() => Vi(o.value));
|
|
1963
1973
|
return (t, o) => (s(), x("div", {
|
|
1964
1974
|
ref_key: "blockRef",
|
|
1965
1975
|
ref: i,
|
|
@@ -1985,16 +1995,16 @@ var Li = /* @__PURE__ */ d({
|
|
|
1985
1995
|
});
|
|
1986
1996
|
//#endregion
|
|
1987
1997
|
//#region src/utils/sectionColumnDrop.ts
|
|
1988
|
-
function
|
|
1998
|
+
function Ui(e) {
|
|
1989
1999
|
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
1990
2000
|
}
|
|
1991
2001
|
//#endregion
|
|
1992
2002
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1993
|
-
var
|
|
2003
|
+
var Wi = { class: "tpl:w-full" }, Gi = {
|
|
1994
2004
|
key: 0,
|
|
1995
2005
|
"data-testid": "section-drop-hint",
|
|
1996
2006
|
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)]"
|
|
1997
|
-
},
|
|
2007
|
+
}, Ki = /* @__PURE__ */ d({
|
|
1998
2008
|
__name: "SectionBlock",
|
|
1999
2009
|
props: {
|
|
2000
2010
|
block: {},
|
|
@@ -2002,13 +2012,13 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2002
2012
|
},
|
|
2003
2013
|
setup(e) {
|
|
2004
2014
|
let t = {
|
|
2005
|
-
title:
|
|
2006
|
-
paragraph:
|
|
2007
|
-
image:
|
|
2008
|
-
button:
|
|
2009
|
-
divider:
|
|
2010
|
-
custom:
|
|
2011
|
-
}, a = e, { t: o } =
|
|
2015
|
+
title: Hi,
|
|
2016
|
+
paragraph: Si,
|
|
2017
|
+
image: li,
|
|
2018
|
+
button: pr,
|
|
2019
|
+
divider: Wr,
|
|
2020
|
+
custom: Hr
|
|
2021
|
+
}, a = e, { t: o } = J(), c = Qe(q, "SectionBlock"), l = n(Tt, null), d = n(It, null), p = n(kt, {}), m = n(Ft, null);
|
|
2012
2022
|
function _(e) {
|
|
2013
2023
|
let t = p.savedBlocks;
|
|
2014
2024
|
if (t?.isPicking.value) {
|
|
@@ -2043,7 +2053,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2043
2053
|
r[e] = n, c.updateBlock(a.block.id, { children: r });
|
|
2044
2054
|
}
|
|
2045
2055
|
function A(e) {
|
|
2046
|
-
return
|
|
2056
|
+
return wi(e, d, t);
|
|
2047
2057
|
}
|
|
2048
2058
|
function j(e, t) {
|
|
2049
2059
|
e.type === "custom" && c.updateBlock(e.id, {
|
|
@@ -2051,7 +2061,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2051
2061
|
dataSourceFetched: t.dataSourceFetched
|
|
2052
2062
|
});
|
|
2053
2063
|
}
|
|
2054
|
-
return (t, n) => (s(), x("div",
|
|
2064
|
+
return (t, n) => (s(), x("div", Wi, [k("div", { class: v(["tpl:flex tpl:gap-0", { "tpl:flex-col": w.value }]) }, [(s(!0), x(P, null, r(C.value, (t, n) => (s(), x("div", {
|
|
2055
2065
|
key: n,
|
|
2056
2066
|
class: v(["tpl:relative tpl:min-h-[60px] tpl:rounded", T(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
2057
2067
|
style: D({ width: w.value ? "100%" : y.value[n] })
|
|
@@ -2060,7 +2070,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2060
2070
|
group: {
|
|
2061
2071
|
name: "blocks",
|
|
2062
2072
|
pull: !0,
|
|
2063
|
-
put: (e, t, n) => h(
|
|
2073
|
+
put: (e, t, n) => h(Ui)(n)
|
|
2064
2074
|
},
|
|
2065
2075
|
animation: 150,
|
|
2066
2076
|
"ghost-class": "tpl-ghost",
|
|
@@ -2073,7 +2083,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2073
2083
|
class: "tpl:min-h-[60px]",
|
|
2074
2084
|
"onUpdate:modelValue": (e) => E(n, e)
|
|
2075
2085
|
}, {
|
|
2076
|
-
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(
|
|
2086
|
+
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(Bi, {
|
|
2077
2087
|
block: t,
|
|
2078
2088
|
"is-selected": h(c).state.selectedBlockId === t.id,
|
|
2079
2089
|
viewport: e.viewport,
|
|
@@ -2105,13 +2115,13 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2105
2115
|
"model-value",
|
|
2106
2116
|
"group",
|
|
2107
2117
|
"onUpdate:modelValue"
|
|
2108
|
-
]), T(n).length === 0 ? (s(), x("div",
|
|
2118
|
+
]), T(n).length === 0 ? (s(), x("div", Gi, [k("span", null, F(h(o).section.dropHere), 1)])) : S("", !0)], 6))), 128))], 2)]));
|
|
2109
2119
|
}
|
|
2110
|
-
}),
|
|
2120
|
+
}), qi = [
|
|
2111
2121
|
"width",
|
|
2112
2122
|
"height",
|
|
2113
2123
|
"fill"
|
|
2114
|
-
],
|
|
2124
|
+
], Ji = ["d"], Yi = /* @__PURE__ */ d({
|
|
2115
2125
|
__name: "SocialIconSvg",
|
|
2116
2126
|
props: {
|
|
2117
2127
|
platform: {},
|
|
@@ -2119,7 +2129,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2119
2129
|
iconSize: {}
|
|
2120
2130
|
},
|
|
2121
2131
|
setup(e) {
|
|
2122
|
-
let t = e, n = b(() =>
|
|
2132
|
+
let t = e, n = b(() => Ve[t.platform]), r = b(() => Ue[t.iconSize]), i = b(() => {
|
|
2123
2133
|
let e = {
|
|
2124
2134
|
display: "inline-flex",
|
|
2125
2135
|
alignItems: "center",
|
|
@@ -2163,25 +2173,25 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2163
2173
|
viewBox: "0 0 24 24",
|
|
2164
2174
|
fill: o.value,
|
|
2165
2175
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2166
|
-
}, [k("path", { d: n.value.path }, null, 8,
|
|
2176
|
+
}, [k("path", { d: n.value.path }, null, 8, Ji)], 8, qi))], 4));
|
|
2167
2177
|
}
|
|
2168
|
-
}),
|
|
2178
|
+
}), Xi = { class: "tpl:w-full" }, Zi = ["href"], Qi = {
|
|
2169
2179
|
key: 1,
|
|
2170
2180
|
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)]"
|
|
2171
|
-
},
|
|
2181
|
+
}, $i = /* @__PURE__ */ d({
|
|
2172
2182
|
__name: "SocialIconsBlock",
|
|
2173
2183
|
props: {
|
|
2174
2184
|
block: {},
|
|
2175
2185
|
viewport: {}
|
|
2176
2186
|
},
|
|
2177
2187
|
setup(e) {
|
|
2178
|
-
let t = e, { t: n } =
|
|
2188
|
+
let t = e, { t: n } = J(), i = b(() => ({
|
|
2179
2189
|
display: "flex",
|
|
2180
2190
|
flexWrap: "wrap",
|
|
2181
2191
|
gap: `${t.block.spacing}px`,
|
|
2182
2192
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
2183
2193
|
})), a = b(() => t.block.icons.length > 0);
|
|
2184
|
-
return (t, o) => (s(), x("div",
|
|
2194
|
+
return (t, o) => (s(), x("div", Xi, [a.value ? (s(), x("div", {
|
|
2185
2195
|
key: 0,
|
|
2186
2196
|
style: D(i.value)
|
|
2187
2197
|
}, [(s(!0), x(P, null, r(e.block.icons, (t) => (s(), x("a", {
|
|
@@ -2189,7 +2199,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2189
2199
|
href: t.url || "#",
|
|
2190
2200
|
class: "tpl:cursor-default",
|
|
2191
2201
|
onClick: o[0] ||= E(() => {}, ["prevent"])
|
|
2192
|
-
}, [g(
|
|
2202
|
+
}, [g(Yi, {
|
|
2193
2203
|
platform: t.platform,
|
|
2194
2204
|
"icon-style": e.block.iconStyle,
|
|
2195
2205
|
"icon-size": e.block.iconSize
|
|
@@ -2197,44 +2207,44 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2197
2207
|
"platform",
|
|
2198
2208
|
"icon-style",
|
|
2199
2209
|
"icon-size"
|
|
2200
|
-
])], 8,
|
|
2210
|
+
])], 8, Zi))), 128))], 4)) : (s(), x("div", Qi, [g(h(qt), { size: 16 }), k("span", null, F(h(n).social.addIcons), 1)]))]));
|
|
2201
2211
|
}
|
|
2202
|
-
}),
|
|
2212
|
+
}), ea = { class: "tpl:w-full" }, ta = {
|
|
2203
2213
|
key: 0,
|
|
2204
2214
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
2205
2215
|
style: {
|
|
2206
2216
|
"background-color": "var(--tpl-bg-hover)",
|
|
2207
2217
|
color: "var(--tpl-text-dim)"
|
|
2208
2218
|
}
|
|
2209
|
-
},
|
|
2219
|
+
}, na = /* @__PURE__ */ d({
|
|
2210
2220
|
__name: "SpacerBlock",
|
|
2211
2221
|
props: {
|
|
2212
2222
|
block: {},
|
|
2213
2223
|
viewport: {}
|
|
2214
2224
|
},
|
|
2215
2225
|
setup(e) {
|
|
2216
|
-
let t = e, n =
|
|
2226
|
+
let t = e, n = Qe(q, "SpacerBlock"), r = b(() => ({
|
|
2217
2227
|
height: `${t.block.height}px`,
|
|
2218
2228
|
minHeight: `${t.block.height}px`,
|
|
2219
2229
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
2220
2230
|
}));
|
|
2221
|
-
return (t, i) => (s(), x("div",
|
|
2231
|
+
return (t, i) => (s(), x("div", ea, [k("div", {
|
|
2222
2232
|
style: D(r.value),
|
|
2223
2233
|
class: v(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !h(n).state.previewMode }])
|
|
2224
|
-
}, [h(n).state.previewMode ? S("", !0) : (s(), x("span",
|
|
2234
|
+
}, [h(n).state.previewMode ? S("", !0) : (s(), x("span", ta, F(e.block.height) + "px ", 1))], 6)]));
|
|
2225
2235
|
}
|
|
2226
|
-
}),
|
|
2236
|
+
}), ra = { class: "tpl:w-full" }, ia = { key: 0 }, aa = [
|
|
2227
2237
|
"aria-label",
|
|
2228
2238
|
"data-placeholder",
|
|
2229
2239
|
"onBlur"
|
|
2230
|
-
],
|
|
2240
|
+
], oa = [
|
|
2231
2241
|
"aria-label",
|
|
2232
2242
|
"data-placeholder",
|
|
2233
2243
|
"onBlur"
|
|
2234
|
-
],
|
|
2244
|
+
], sa = {
|
|
2235
2245
|
key: 1,
|
|
2236
2246
|
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)]"
|
|
2237
|
-
},
|
|
2247
|
+
}, ca = /*#__PURE__*/ pn(/* @__PURE__ */ d({
|
|
2238
2248
|
__name: "TableBlock",
|
|
2239
2249
|
props: {
|
|
2240
2250
|
block: {},
|
|
@@ -2248,7 +2258,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2248
2258
|
updated(e, t) {
|
|
2249
2259
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
2250
2260
|
}
|
|
2251
|
-
}, n = e, { t: i } =
|
|
2261
|
+
}, n = e, { t: i } = J(), a = Qe(q, "TableBlock"), o = b(() => n.block.rows.length > 0), c = b(() => {
|
|
2252
2262
|
let e = {
|
|
2253
2263
|
width: "100%",
|
|
2254
2264
|
borderCollapse: "collapse",
|
|
@@ -2279,11 +2289,11 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2279
2289
|
} : n);
|
|
2280
2290
|
a.updateBlock(n.block.id, { rows: o });
|
|
2281
2291
|
}
|
|
2282
|
-
return (e, n) => (s(), x("div",
|
|
2292
|
+
return (e, n) => (s(), x("div", ra, [o.value ? (s(), x("table", {
|
|
2283
2293
|
key: 0,
|
|
2284
2294
|
style: D(c.value),
|
|
2285
2295
|
class: "tpl-table-editable"
|
|
2286
|
-
}, [d.value ? (s(), x("thead",
|
|
2296
|
+
}, [d.value ? (s(), x("thead", ia, [k("tr", null, [(s(!0), x(P, null, r(d.value.cells, (e) => f((s(), x("th", {
|
|
2287
2297
|
key: e.id,
|
|
2288
2298
|
style: D(u.value),
|
|
2289
2299
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2292,7 +2302,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2292
2302
|
onBlur: (t) => v(d.value.id, e.id, t),
|
|
2293
2303
|
onKeydown: n[0] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2294
2304
|
onClick: E(m, ["stop"])
|
|
2295
|
-
}, null, 44,
|
|
2305
|
+
}, null, 44, aa)), [[t, e.content]])), 128))])])) : S("", !0), k("tbody", null, [(s(!0), x(P, null, r(p.value, (e) => (s(), x("tr", { key: e.id }, [(s(!0), x(P, null, r(e.cells, (r) => f((s(), x("td", {
|
|
2296
2306
|
key: r.id,
|
|
2297
2307
|
style: D(l.value),
|
|
2298
2308
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2301,9 +2311,9 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2301
2311
|
onBlur: (t) => v(e.id, r.id, t),
|
|
2302
2312
|
onKeydown: n[1] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2303
2313
|
onClick: E(m, ["stop"])
|
|
2304
|
-
}, null, 44,
|
|
2314
|
+
}, null, 44, oa)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), x("div", sa, [g(h(ln), { size: 16 }), k("span", null, F(h(i).table.empty), 1)]))]));
|
|
2305
2315
|
}
|
|
2306
|
-
}), [["__scopeId", "data-v-963ac422"]]),
|
|
2316
|
+
}), [["__scopeId", "data-v-963ac422"]]), la = /* @__PURE__ */ d({
|
|
2307
2317
|
__name: "VideoPlayButton",
|
|
2308
2318
|
props: { hoverEffect: {
|
|
2309
2319
|
type: Boolean,
|
|
@@ -2321,7 +2331,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2321
2331
|
});
|
|
2322
2332
|
//#endregion
|
|
2323
2333
|
//#region src/utils/videoThumbnail.ts
|
|
2324
|
-
function
|
|
2334
|
+
function ua(e) {
|
|
2325
2335
|
if (!e) return {
|
|
2326
2336
|
platform: "unknown",
|
|
2327
2337
|
videoId: null,
|
|
@@ -2353,25 +2363,25 @@ function aa(e) {
|
|
|
2353
2363
|
thumbnailUrl: null
|
|
2354
2364
|
};
|
|
2355
2365
|
}
|
|
2356
|
-
function
|
|
2357
|
-
return t ||
|
|
2366
|
+
function da(e, t) {
|
|
2367
|
+
return t || ua(e).thumbnailUrl;
|
|
2358
2368
|
}
|
|
2359
2369
|
//#endregion
|
|
2360
2370
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2361
|
-
var
|
|
2371
|
+
var fa = ["src", "alt"], pa = {
|
|
2362
2372
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
2363
2373
|
style: { opacity: "0.7" }
|
|
2364
|
-
},
|
|
2374
|
+
}, ma = ["href"], ha = ["src", "alt"], ga = ["src", "alt"], _a = {
|
|
2365
2375
|
key: 3,
|
|
2366
2376
|
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)]"
|
|
2367
|
-
},
|
|
2377
|
+
}, va = /* @__PURE__ */ d({
|
|
2368
2378
|
__name: "VideoBlock",
|
|
2369
2379
|
props: {
|
|
2370
2380
|
block: {},
|
|
2371
2381
|
viewport: {}
|
|
2372
2382
|
},
|
|
2373
2383
|
setup(e) {
|
|
2374
|
-
let t = e, { t: n } =
|
|
2384
|
+
let t = e, { t: n } = J(), { syntax: r } = Z(), i = b(() => H(t.block.url, r) || H(t.block.thumbnailUrl, r)), a = Cn(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = Cn(() => i.value ? t.block.placeholderUrl : void 0), c = b(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : da(t.block.url)), l = b(() => ({ textAlign: t.block.align })), u = b(() => {
|
|
2375
2385
|
let e = t.block.align;
|
|
2376
2386
|
return {
|
|
2377
2387
|
maxWidth: "100%",
|
|
@@ -2381,7 +2391,7 @@ var sa = ["src", "alt"], ca = {
|
|
|
2381
2391
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
2382
2392
|
marginRight: e === "center" ? "auto" : void 0
|
|
2383
2393
|
};
|
|
2384
|
-
}), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() =>
|
|
2394
|
+
}), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() => H(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
|
|
2385
2395
|
return (t, r) => (s(), x("div", {
|
|
2386
2396
|
class: "tpl:w-full",
|
|
2387
2397
|
style: D(l.value)
|
|
@@ -2394,16 +2404,16 @@ var sa = ["src", "alt"], ca = {
|
|
|
2394
2404
|
src: h(o),
|
|
2395
2405
|
alt: e.block.alt,
|
|
2396
2406
|
style: D(d.value)
|
|
2397
|
-
}, null, 12,
|
|
2407
|
+
}, null, 12, fa), g(la)], 4)) : i.value ? (s(), x("div", {
|
|
2398
2408
|
key: 1,
|
|
2399
2409
|
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)]",
|
|
2400
2410
|
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
|
|
2401
|
-
}, [g(h(
|
|
2411
|
+
}, [g(h(an), {
|
|
2402
2412
|
size: 36,
|
|
2403
2413
|
"stroke-width": 1.5,
|
|
2404
2414
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
2405
2415
|
style: { opacity: "0.5" }
|
|
2406
|
-
}), k("span",
|
|
2416
|
+
}), k("span", pa, [g(dr, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), x(P, { key: 2 }, [e.block.url ? (s(), x("a", {
|
|
2407
2417
|
key: 0,
|
|
2408
2418
|
href: e.block.url,
|
|
2409
2419
|
target: "_blank",
|
|
@@ -2416,7 +2426,7 @@ var sa = ["src", "alt"], ca = {
|
|
|
2416
2426
|
src: c.value,
|
|
2417
2427
|
alt: e.block.alt,
|
|
2418
2428
|
style: D(d.value)
|
|
2419
|
-
}, null, 12,
|
|
2429
|
+
}, null, 12, ha), g(la, { "hover-effect": "" })], 12, ma)) : (s(), x("div", {
|
|
2420
2430
|
key: 1,
|
|
2421
2431
|
class: "tpl:relative tpl:inline-block",
|
|
2422
2432
|
style: D(u.value)
|
|
@@ -2425,54 +2435,54 @@ var sa = ["src", "alt"], ca = {
|
|
|
2425
2435
|
src: c.value,
|
|
2426
2436
|
alt: e.block.alt,
|
|
2427
2437
|
style: D(d.value)
|
|
2428
|
-
}, null, 12,
|
|
2438
|
+
}, null, 12, ga), g(la)], 4))], 64)) : (s(), x("div", _a, [g(h(an), {
|
|
2429
2439
|
size: 40,
|
|
2430
2440
|
"stroke-width": 1.5,
|
|
2431
2441
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
2432
2442
|
}), k("span", null, F(h(n).video.addVideo), 1)]))], 4));
|
|
2433
2443
|
}
|
|
2434
|
-
}),
|
|
2435
|
-
section:
|
|
2436
|
-
title:
|
|
2437
|
-
paragraph:
|
|
2438
|
-
image:
|
|
2439
|
-
button:
|
|
2440
|
-
divider:
|
|
2441
|
-
video:
|
|
2442
|
-
social:
|
|
2443
|
-
menu:
|
|
2444
|
-
table:
|
|
2445
|
-
spacer:
|
|
2446
|
-
html:
|
|
2447
|
-
countdown: L(() => import("./CountdownBlock-
|
|
2444
|
+
}), ya = {
|
|
2445
|
+
section: Ki,
|
|
2446
|
+
title: Hi,
|
|
2447
|
+
paragraph: Si,
|
|
2448
|
+
image: li,
|
|
2449
|
+
button: pr,
|
|
2450
|
+
divider: Wr,
|
|
2451
|
+
video: va,
|
|
2452
|
+
social: $i,
|
|
2453
|
+
menu: pi,
|
|
2454
|
+
table: ca,
|
|
2455
|
+
spacer: na,
|
|
2456
|
+
html: Xr,
|
|
2457
|
+
countdown: L(() => import("./CountdownBlock-sVDjKkRw.js"))
|
|
2448
2458
|
};
|
|
2449
|
-
function
|
|
2450
|
-
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } =
|
|
2459
|
+
function ba(e) {
|
|
2460
|
+
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = J(i), d = b(() => de(de(de(Vn(i), or(n.content.value.settings?.locale)), ee(n.content.value.settings) === "rtl" ? {
|
|
2451
2461
|
title: { textAlign: "right" },
|
|
2452
2462
|
table: { textAlign: "right" }
|
|
2453
2463
|
} : {}), r.blockDefaults ?? {}));
|
|
2454
2464
|
n.setUiTheme(r.uiTheme ?? "auto");
|
|
2455
|
-
let { resolvedTheme: f } =
|
|
2465
|
+
let { resolvedTheme: f } = kn(b(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: h } = jn({
|
|
2456
2466
|
themeOverrides: p,
|
|
2457
2467
|
resolvedTheme: f,
|
|
2458
2468
|
extraStyles: () => ({
|
|
2459
2469
|
"--tpl-drop-text": `"${i.canvas.dropHere}"`,
|
|
2460
2470
|
...e.themeExtraStyles?.()
|
|
2461
2471
|
})
|
|
2462
|
-
}), g =
|
|
2472
|
+
}), g = Ie({
|
|
2463
2473
|
content: n.content,
|
|
2464
2474
|
setContent: (e, t) => n.setContent(e, t),
|
|
2465
2475
|
...e.historyOptions
|
|
2466
2476
|
});
|
|
2467
|
-
|
|
2468
|
-
let _ =
|
|
2477
|
+
Be(n, g);
|
|
2478
|
+
let _ = Ge({
|
|
2469
2479
|
addBlock: n.addBlock,
|
|
2470
2480
|
removeBlock: n.removeBlock,
|
|
2471
2481
|
updateBlock: n.updateBlock,
|
|
2472
2482
|
selectBlock: n.selectBlock,
|
|
2473
2483
|
findBlockLocation: n.findBlockLocation,
|
|
2474
2484
|
blockDefaults: () => d.value
|
|
2475
|
-
}), v =
|
|
2485
|
+
}), v = Le(n), x = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? We({
|
|
2476
2486
|
content: n.content,
|
|
2477
2487
|
isDirty: () => n.state.isDirty,
|
|
2478
2488
|
...e.autoSaveOptions
|
|
@@ -2480,30 +2490,30 @@ function ha(e) {
|
|
|
2480
2490
|
x && (S = t(g.isNavigating, (e) => {
|
|
2481
2491
|
e ? x.pause() : x.resume();
|
|
2482
2492
|
}));
|
|
2483
|
-
let C =
|
|
2493
|
+
let C = On(n, {
|
|
2484
2494
|
t: s,
|
|
2485
2495
|
format: u
|
|
2486
|
-
}, r.customBlocks ?? []), w =
|
|
2487
|
-
if (w.allowCustomIgnored &&
|
|
2488
|
-
let e =
|
|
2489
|
-
e.length > 0 &&
|
|
2490
|
-
}
|
|
2491
|
-
let T =
|
|
2492
|
-
for (let e of T.unknown)
|
|
2493
|
-
let E =
|
|
2494
|
-
|
|
2496
|
+
}, r.customBlocks ?? []), w = Ut(r.colors);
|
|
2497
|
+
if (w.allowCustomIgnored && Y.warn("config.colors.allowCustom: false is ignored without presets — keeping the color wheel and hex input so a color can still be chosen."), w.invalidPresets.length > 0 && Y.warn(`config.colors.presets skipped invalid entries: ${w.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), w.allowCustom === !1) {
|
|
2498
|
+
let e = Bn(w.presets, r.blockDefaults, r.templateDefaults);
|
|
2499
|
+
e.length > 0 && Y.warn(`config.colors locks custom colours, but these block/template default colours fall outside colors.presets: ${e.join(", ")}. New blocks start on a colour the palette can't reselect — set blockDefaults / templateDefaults from the same palette.`);
|
|
2500
|
+
}
|
|
2501
|
+
let T = Gt(r.templateSettings);
|
|
2502
|
+
for (let e of T.unknown) Y.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Kt.join(", ")}) — skipping it.`);
|
|
2503
|
+
let E = Mn();
|
|
2504
|
+
Ln(E, ya);
|
|
2495
2505
|
let D = /* @__PURE__ */ new Set();
|
|
2496
2506
|
function O(e) {
|
|
2497
2507
|
for (let t of e) {
|
|
2498
|
-
E.registerCustom(t,
|
|
2499
|
-
for (let e of
|
|
2508
|
+
E.registerCustom(t, Hr);
|
|
2509
|
+
for (let e of sr(t, w)) D.has(e.id) || (D.add(e.id), Y.warn(e.message));
|
|
2500
2510
|
}
|
|
2501
2511
|
}
|
|
2502
2512
|
r.customBlocks?.length && O(r.customBlocks);
|
|
2503
|
-
let k =
|
|
2513
|
+
let k = yn();
|
|
2504
2514
|
if (o() && m(k.dispose), e.containerEl) {
|
|
2505
2515
|
let t = e.containerEl;
|
|
2506
|
-
|
|
2516
|
+
U(document, "pointerdown", (e) => {
|
|
2507
2517
|
let n = t.value;
|
|
2508
2518
|
n && (e.composedPath?.() ?? []).includes(n) && k.claim();
|
|
2509
2519
|
}, { capture: !0 });
|
|
@@ -2517,7 +2527,7 @@ function ha(e) {
|
|
|
2517
2527
|
x?.flush();
|
|
2518
2528
|
}
|
|
2519
2529
|
function j(t) {
|
|
2520
|
-
k.isActive() &&
|
|
2530
|
+
k.isActive() && lr(t, {
|
|
2521
2531
|
history: g,
|
|
2522
2532
|
selectBlock: (e) => n.selectBlock(e),
|
|
2523
2533
|
getSelectedBlockId: () => n.state.selectedBlockId,
|
|
@@ -2529,38 +2539,41 @@ function ha(e) {
|
|
|
2529
2539
|
onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
|
|
2530
2540
|
});
|
|
2531
2541
|
}
|
|
2532
|
-
|
|
2542
|
+
U(document, "keydown", j);
|
|
2533
2543
|
let M = l(null);
|
|
2534
|
-
c(
|
|
2535
|
-
let N =
|
|
2544
|
+
c(bt, e.editorRoot ?? document), c(et, M), c(vt, i), c(q, n), c(Bt, g), c(xt, _), c(Tt, v), c(Lt, a), c(st, h), c(yt, f), c(Mt, d), c(_t, r.locale), c(It, E), c(Nt, r.customBlocks ?? []), c(Vt, r.paletteBlocks), c(St, Rn(r.htmlBlockPreview)), c(tt, r.layout), c(it, r.sectionWrapper), c(wt, w), c(Pt, T.fields), c(At, Nn(n.content, E));
|
|
2545
|
+
let N = be(r.mergeTags?.syntax), P = y(r.mergeTags?.tags ?? []);
|
|
2536
2546
|
function F(e) {
|
|
2537
2547
|
if (!Array.isArray(e)) {
|
|
2538
|
-
|
|
2548
|
+
Y.warn(`setMergeTags() expects an array of merge tags, received ${typeof e} — ignoring.`);
|
|
2539
2549
|
return;
|
|
2540
2550
|
}
|
|
2541
2551
|
P.value = e;
|
|
2542
2552
|
}
|
|
2543
|
-
c(
|
|
2544
|
-
let I = l(
|
|
2545
|
-
c(
|
|
2546
|
-
let L =
|
|
2553
|
+
c(G, P), c(ft, N), c(pt, r.mergeTags?.onRequest ?? null), c(Ot, r.mergeTags?.autocomplete !== !1), c(dt, r.mergeTags?.showRawValue !== !1);
|
|
2554
|
+
let I = l(Me(r.mergeTags?.tags ?? []));
|
|
2555
|
+
c(ut, I);
|
|
2556
|
+
let L = xn({
|
|
2547
2557
|
resolvePreview: r.resolvePreview,
|
|
2548
|
-
getContent: () =>
|
|
2558
|
+
getContent: () => {
|
|
2559
|
+
let e = n.content.value;
|
|
2560
|
+
return r.layout && n.state.previewMode ? he(r.layout, e) : e;
|
|
2561
|
+
},
|
|
2549
2562
|
isActive: () => n.state.previewMode
|
|
2550
2563
|
});
|
|
2551
|
-
c(
|
|
2564
|
+
c(gt, L), c(at, r.resolvePreview);
|
|
2552
2565
|
let R = b(() => !(n.state.previewMode && L.isConfigured));
|
|
2553
|
-
c(
|
|
2554
|
-
let z =
|
|
2555
|
-
c(
|
|
2556
|
-
let B =
|
|
2566
|
+
c(Ft, R);
|
|
2567
|
+
let z = wn();
|
|
2568
|
+
c($e, z), c(Dt, l(!1)), c(nt, l(!1)), c(ht, r.logicTags?.tags ?? []), c(Rt, r.logicTags?.pairs ?? []), c(ot, r.logicTags?.onRequest ?? null), c(rt, Tn()), c(lt, r.onRequestMedia ?? null), c(Ct, r.canDropMedia ?? null), c(zt, r.resolveImageUrl ? Sn(r.resolveImageUrl) : null), c(Et, r.displayConditions?.conditions ?? []), c(jt, r.displayConditions?.allowCustom ?? !1), c(kt, e.capabilities ?? {}), c(mt, C);
|
|
2569
|
+
let B = En(r.lint) ? null : Dn({
|
|
2557
2570
|
content: n.content,
|
|
2558
2571
|
options: r.lint ?? {},
|
|
2559
2572
|
updateBlock: n.updateBlock,
|
|
2560
2573
|
updateSettings: n.updateSettings,
|
|
2561
2574
|
removeBlock: n.removeBlock
|
|
2562
2575
|
});
|
|
2563
|
-
c(
|
|
2576
|
+
c(ct, B);
|
|
2564
2577
|
function V() {
|
|
2565
2578
|
S?.(), B?.destroy(), x?.destroy(), g.destroy();
|
|
2566
2579
|
}
|
|
@@ -2587,6 +2600,6 @@ function ha(e) {
|
|
|
2587
2600
|
};
|
|
2588
2601
|
}
|
|
2589
2602
|
//#endregion
|
|
2590
|
-
export {
|
|
2603
|
+
export { tr as A, yr as C, Yn as D, pr as E, $n as M, Qn as N, rr as O, xn as P, wr as S, gr as T, Wr as _, $i as a, jr as b, Bi as c, Di as d, wi as f, Xr as g, li as h, na as i, er as j, nr as k, Ti as l, pi as m, va as n, Ki as o, Si as p, ca as r, Hi as s, ba as t, Ci as u, Hr as v, vr as w, kr as x, Nr as y };
|
|
2591
2604
|
|
|
2592
|
-
//# sourceMappingURL=useEditorCore-
|
|
2605
|
+
//# sourceMappingURL=useEditorCore-CQraU2s_.js.map
|