@templatical/editor 0.39.4 → 0.41.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/README.md +1 -1
- package/dist/{AiChatSidebar-5qqrS6uy.js → AiChatSidebar-a8TPBAl2.js} +3 -3
- package/dist/{AiFeatureMenu-BBO_Ojlp.js → AiFeatureMenu-CroDMqRG.js} +3 -3
- package/dist/{BlockIssueBadge-D5oGxOQP.js → BlockIssueBadge-D8KsGWY6.js} +2 -2
- package/dist/BlockPreviewCanvas-Z9SZIgfA.js +133 -0
- package/dist/{CloudHeaderExtras-Cg6uF-yQ.js → CloudHeaderExtras-CVqHeqc6.js} +2 -2
- package/dist/{CloudPanels-D1Gg4qrG.js → CloudPanels-CmEpQUJB.js} +4 -4
- package/dist/{CollaboratorBar-Cmn0LccS.js → CollaboratorBar-AIQC9fEF.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/{MediaEditModal-BFWmufJK.js → MediaEditModal-C-InB-H2.js} +1 -1
- package/dist/{MediaPanels-BmDda5rY.js → MediaPanels-CTosUpeo.js} +1 -1
- 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-DaZ03d1U.js} +19 -19
- package/dist/{RestoreVersionDialog--b0qfNaK.js → RestoreVersionDialog-DHb1mPoF.js} +2 -2
- package/dist/{RichTextEditorContent-BC5UTVnb.js → RichTextEditorContent-AEtfKvLz.js} +5 -5
- package/dist/{SaveBlockDialog-C0BdEGeL.js → SaveBlockDialog-hGwLDWfE.js} +8 -8
- package/dist/{SavedBlocksBrowserModal-BzDgXtr4.js → SavedBlocksBrowserModal-C0lYVBFi.js} +6 -6
- package/dist/{SavedBlocksPanels-DN-bDZzy.js → SavedBlocksPanels-CaTbeVDv.js} +1 -1
- package/dist/{SavedBlocksPickBar-pEi9Et8Q.js → SavedBlocksPickBar-DR2afid2.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-DqoosG1u.js} +70 -65
- package/dist/{TestEmailPanel-8iAZYpCK.js → TestEmailPanel-DpozqyHF.js} +1 -1
- package/dist/{TitleEditor-L26QXwna.js → TitleEditor-BCBdZLt_.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-CVO-2KrU.js} +3 -3
- package/dist/{VersionHistoryMenu-BVQityes.js → VersionHistoryMenu-b0A8mS2_.js} +2 -2
- package/dist/{VersionHistoryPanels-D8f8KvKX.js → VersionHistoryPanels-BzF7dmwa.js} +1 -1
- package/dist/{VersionPreviewBanner-BaMSgA1O.js → VersionPreviewBanner-xB9r83r0.js} +1 -1
- package/dist/WrapperBlock-BDjOn3fY.js +34 -0
- package/dist/{blockTypeIcons-CdXugKyV.js → blockTypeIcons-B0Bq1WT1.js} +1 -1
- package/dist/bundle-stats.json +7 -7
- 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-Cx3qdStQ.js} +4 -4
- package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js.map → AiFeatureMenu-Cx3qdStQ.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-D31TNib3.js +135 -0
- package/dist/cdn/chunks/BlockPreviewCanvas-D31TNib3.js.map +1 -0
- package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js → CloudHeaderExtras-0zdlKiq7.js} +3 -3
- package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js.map → CloudHeaderExtras-0zdlKiq7.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js → CloudPanels-DPh71yOO.js} +5 -5
- package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js.map → CloudPanels-DPh71yOO.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js → CollaboratorBar-lCZU8qkg.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js.map → CollaboratorBar-lCZU8qkg.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/{MediaEditModal-CZBZviu2.js → MediaEditModal-Cw9MhjVz.js} +2 -2
- package/dist/cdn/chunks/{MediaEditModal-CZBZviu2.js.map → MediaEditModal-Cw9MhjVz.js.map} +1 -1
- package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js → MediaPanels-FD_aX3H5.js} +2 -2
- package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js.map → MediaPanels-FD_aX3H5.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-w2qEZTkM.js} +17 -17
- package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js.map → ParagraphEditor-w2qEZTkM.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js → RestoreVersionDialog-cnWVN3nX.js} +3 -3
- package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js.map → RestoreVersionDialog-cnWVN3nX.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-jxQtKnVs.js} +9 -9
- package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js.map → SaveBlockDialog-jxQtKnVs.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js → SavedBlocksBrowserModal-DpXWf4Pi.js} +6 -6
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js.map → SavedBlocksBrowserModal-DpXWf4Pi.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js → SavedBlocksPanels-B-ASmf1P.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js.map → SavedBlocksPanels-B-ASmf1P.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js → SavedBlocksPickBar-CEFIQ8Nd.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js.map → SavedBlocksPickBar-CEFIQ8Nd.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-CrjzVw8e.js} +56 -51
- package/dist/cdn/chunks/TestEmailModal-CrjzVw8e.js.map +1 -0
- package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js → TestEmailPanel-k9vdulTu.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js.map → TestEmailPanel-k9vdulTu.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js → TitleEditor-laILWfKh.js} +9 -9
- package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js.map → TitleEditor-laILWfKh.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-D8DoPbFa.js} +4 -4
- package/dist/cdn/chunks/{TplModal-BKqDFLq3.js.map → TplModal-D8DoPbFa.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-zw1AtzGN.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js.map → VersionHistoryPanels-zw1AtzGN.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-CpRvfAV0.js +36 -0
- package/dist/cdn/chunks/WrapperBlock-CpRvfAV0.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/cdn/chunks/{editor-modal-zxvWz8R6.js → editor-modal-CKu8HhiB.js} +4 -3
- package/dist/cdn/chunks/{editor-modal-zxvWz8R6.js.map → editor-modal-CKu8HhiB.js.map} +1 -1
- package/dist/cdn/chunks/en-DqzAdO8F.js +2 -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/ja-DhlWUfke.js +94 -0
- package/dist/cdn/chunks/ja-DhlWUfke.js.map +1 -0
- package/dist/cdn/chunks/ja-fKnVWXHC.js +625 -0
- package/dist/cdn/chunks/ja-fKnVWXHC.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-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/{src-CqYYKcCI.js → src-L6HEdwFn.js} +175 -168
- package/dist/cdn/chunks/src-L6HEdwFn.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-DZmtKwJh.js} +431 -409
- package/dist/cdn/chunks/useEditorCore-DZmtKwJh.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/{editor-modal-Czq1I8oC.js → editor-modal-qzmEVcIk.js} +3 -2
- package/dist/en-1tgLzB8q.js +2 -0
- 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/ja-DhlWUfke.js +92 -0
- package/dist/ja-fKnVWXHC.js +623 -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-dcdHB_7H.js} +826 -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 +8 -8
- 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/en-BcQ9ovQu.js +0 -2
- 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/en-DQqmtndQ.js +0 -2
- 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,59 @@ 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/
|
|
606
|
-
"./locales/
|
|
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/ja.ts": () => import("./ja-fKnVWXHC.js"),
|
|
606
|
+
"./locales/nl.ts": () => import("./nl-DeFatKJe.js"),
|
|
607
|
+
"./locales/pt-BR.ts": () => import("./pt-BR-Bh1J8ey6.js")
|
|
608
|
+
}), Un = /* #__PURE__ */ Object.assign({
|
|
608
609
|
"./locales/cloud/de.ts": () => import("./de-mMY5yQJu.js"),
|
|
609
610
|
"./locales/cloud/en.ts": () => import("./en-ChVeGQBY.js"),
|
|
610
611
|
"./locales/cloud/pt-BR.ts": () => import("./pt-BR-CoCwRUi0.js")
|
|
611
612
|
});
|
|
612
|
-
function
|
|
613
|
+
function Wn(e) {
|
|
613
614
|
return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
|
|
614
615
|
}
|
|
615
|
-
var
|
|
616
|
-
function
|
|
616
|
+
var Gn = Wn(Hn), Kn = Wn(Un);
|
|
617
|
+
function qn(e) {
|
|
617
618
|
return e.trim().replace(/_/g, "-").toLowerCase();
|
|
618
619
|
}
|
|
619
|
-
function
|
|
620
|
-
let n =
|
|
621
|
-
return t.find((e) =>
|
|
620
|
+
function Jn(e, t) {
|
|
621
|
+
let n = qn(e);
|
|
622
|
+
return t.find((e) => qn(e) === n);
|
|
622
623
|
}
|
|
623
|
-
function
|
|
624
|
-
return
|
|
624
|
+
function Yn(e) {
|
|
625
|
+
return qn(e).split("-")[0];
|
|
625
626
|
}
|
|
626
|
-
function
|
|
627
|
-
return
|
|
627
|
+
function Xn(e, t) {
|
|
628
|
+
return Jn(e, t) ?? Jn(Yn(e), t);
|
|
628
629
|
}
|
|
629
|
-
function
|
|
630
|
-
return
|
|
630
|
+
function Zn(e, t) {
|
|
631
|
+
return Xn(e, t) ?? "en";
|
|
631
632
|
}
|
|
632
|
-
async function
|
|
633
|
-
let t =
|
|
633
|
+
async function Qn(e) {
|
|
634
|
+
let t = Hn[`./locales/${Zn(e, Gn)}.ts`];
|
|
634
635
|
return (await t()).default;
|
|
635
636
|
}
|
|
636
|
-
async function
|
|
637
|
-
let t =
|
|
637
|
+
async function $n(e) {
|
|
638
|
+
let t = Un[`./locales/cloud/${Zn(e, Kn)}.ts`];
|
|
638
639
|
return (await t()).default;
|
|
639
640
|
}
|
|
640
|
-
function
|
|
641
|
-
return
|
|
641
|
+
function er(e) {
|
|
642
|
+
return Xn(e, Gn) !== void 0;
|
|
642
643
|
}
|
|
643
|
-
function
|
|
644
|
-
return
|
|
644
|
+
function tr(e) {
|
|
645
|
+
return Xn(e, Kn) !== void 0;
|
|
645
646
|
}
|
|
646
|
-
function
|
|
647
|
-
return [...
|
|
647
|
+
function nr() {
|
|
648
|
+
return [...Gn];
|
|
648
649
|
}
|
|
649
|
-
function
|
|
650
|
-
return [...
|
|
650
|
+
function rr() {
|
|
651
|
+
return [...Kn];
|
|
651
652
|
}
|
|
652
653
|
//#endregion
|
|
653
654
|
//#region src/i18n/contentDefaults.ts
|
|
@@ -707,17 +708,25 @@ var $ = {
|
|
|
707
708
|
minutes: "Minuts",
|
|
708
709
|
seconds: "Segons",
|
|
709
710
|
expired: "Aquesta oferta ha caducat"
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
|
|
711
|
+
},
|
|
712
|
+
ja: {
|
|
713
|
+
video: "動画",
|
|
714
|
+
days: "日",
|
|
715
|
+
hours: "時間",
|
|
716
|
+
minutes: "分",
|
|
717
|
+
seconds: "秒",
|
|
718
|
+
expired: "このオファーは終了しました"
|
|
719
|
+
}
|
|
720
|
+
}, ir = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
|
|
721
|
+
function ar(e) {
|
|
713
722
|
if (!e) return $.en;
|
|
714
|
-
let t = e.trim().replace(/_/g, "-").toLowerCase(), n =
|
|
723
|
+
let t = e.trim().replace(/_/g, "-").toLowerCase(), n = ir.get(t);
|
|
715
724
|
if (n) return $[n];
|
|
716
|
-
let r =
|
|
725
|
+
let r = ir.get(Yn(t));
|
|
717
726
|
return r ? $[r] : $.en;
|
|
718
727
|
}
|
|
719
|
-
function
|
|
720
|
-
let t =
|
|
728
|
+
function or(e) {
|
|
729
|
+
let t = ar(e);
|
|
721
730
|
return {
|
|
722
731
|
video: { alt: t.video },
|
|
723
732
|
countdown: {
|
|
@@ -731,9 +740,9 @@ function nr(e) {
|
|
|
731
740
|
}
|
|
732
741
|
//#endregion
|
|
733
742
|
//#region src/utils/collectColorFieldIssues.ts
|
|
734
|
-
function
|
|
743
|
+
function sr(e, t) {
|
|
735
744
|
let n = [], r = (r, i) => {
|
|
736
|
-
let a =
|
|
745
|
+
let a = Fe(r, t), o = `custom block "${e.type}" field "${i}"`, s = (t) => `${e.type}:${i}:${t}`;
|
|
737
746
|
if (a.invalidPresets.length > 0 && n.push({
|
|
738
747
|
id: s("invalid-presets"),
|
|
739
748
|
message: `${o}: presets skipped invalid entries: ${a.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).` + (a.presetsInherited ? " No valid entries are left, so the field inherits colors.presets." : "")
|
|
@@ -744,8 +753,8 @@ function rr(e, t) {
|
|
|
744
753
|
id: s("allow-custom-ignored"),
|
|
745
754
|
message: `${o}: allowCustom: true is ignored because colors.allowCustom is false — a field can narrow the editor-wide palette, never unlock it.`
|
|
746
755
|
}), !a.allowCustom && a.presets.length > 0) {
|
|
747
|
-
let e = r.default ?? "", t = new Set(a.presets.map((e) =>
|
|
748
|
-
e !== "" && !t.has(
|
|
756
|
+
let e = r.default ?? "", t = new Set(a.presets.map((e) => X(e)));
|
|
757
|
+
e !== "" && !t.has(X(e)) && n.push({
|
|
749
758
|
id: s("off-palette-default"),
|
|
750
759
|
message: `${o} locks custom colours, but its default ${e} falls outside the field's presets: ${a.presets.join(", ")}. New blocks start on a colour the picker can't reselect — set the default from the same palette.`
|
|
751
760
|
});
|
|
@@ -757,7 +766,7 @@ function rr(e, t) {
|
|
|
757
766
|
}
|
|
758
767
|
//#endregion
|
|
759
768
|
//#region src/utils/keyboardShortcuts.ts
|
|
760
|
-
function
|
|
769
|
+
function cr(e) {
|
|
761
770
|
for (let t of e.composedPath()) {
|
|
762
771
|
if (!(t instanceof HTMLElement)) continue;
|
|
763
772
|
if (t.isContentEditable) return !0;
|
|
@@ -766,18 +775,18 @@ function ir(e) {
|
|
|
766
775
|
}
|
|
767
776
|
return !1;
|
|
768
777
|
}
|
|
769
|
-
function
|
|
778
|
+
function lr(e, t) {
|
|
770
779
|
let n = e.metaKey || e.ctrlKey;
|
|
771
780
|
if (n && e.key.toLowerCase() === "s") {
|
|
772
781
|
e.preventDefault(), t.onSave?.();
|
|
773
782
|
return;
|
|
774
783
|
}
|
|
775
784
|
if (n && e.key.toLowerCase() === "z") {
|
|
776
|
-
if (
|
|
785
|
+
if (cr(e)) return;
|
|
777
786
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
778
787
|
return;
|
|
779
788
|
}
|
|
780
|
-
if (t.isPicking?.() && !
|
|
789
|
+
if (t.isPicking?.() && !cr(e)) {
|
|
781
790
|
if (e.key === "Escape") {
|
|
782
791
|
e.preventDefault(), t.onCancelPick?.();
|
|
783
792
|
return;
|
|
@@ -795,11 +804,11 @@ function ar(e, t) {
|
|
|
795
804
|
t.selectBlock(null);
|
|
796
805
|
return;
|
|
797
806
|
}
|
|
798
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
807
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !cr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
799
808
|
}
|
|
800
809
|
//#endregion
|
|
801
810
|
//#region src/utils/mergeTagLabelSegments.ts
|
|
802
|
-
function
|
|
811
|
+
function ur(e, t, n, r = !1) {
|
|
803
812
|
if (!e) return [];
|
|
804
813
|
let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
|
|
805
814
|
for (; (s = i.exec(e)) !== null;) {
|
|
@@ -808,18 +817,18 @@ function or(e, t, n, r = !1) {
|
|
|
808
817
|
value: e.slice(o, s.index)
|
|
809
818
|
});
|
|
810
819
|
let i = s[0];
|
|
811
|
-
if (
|
|
812
|
-
let e = r ?
|
|
820
|
+
if (_e(i, n)) {
|
|
821
|
+
let e = r ? je(i, t) : void 0;
|
|
813
822
|
a.push(e === void 0 ? {
|
|
814
823
|
type: "tag",
|
|
815
|
-
value:
|
|
824
|
+
value: Ee(i, t)
|
|
816
825
|
} : {
|
|
817
826
|
type: "text",
|
|
818
827
|
value: e
|
|
819
828
|
});
|
|
820
|
-
} else
|
|
829
|
+
} else ge(i, n) ? a.push({
|
|
821
830
|
type: "tag",
|
|
822
|
-
value:
|
|
831
|
+
value: me(i, n)
|
|
823
832
|
}) : a.push({
|
|
824
833
|
type: "text",
|
|
825
834
|
value: i
|
|
@@ -833,20 +842,20 @@ function or(e, t, n, r = !1) {
|
|
|
833
842
|
}
|
|
834
843
|
//#endregion
|
|
835
844
|
//#region src/components/MergeTagPreviewText.vue
|
|
836
|
-
var
|
|
845
|
+
var dr = d({
|
|
837
846
|
name: "MergeTagPreviewText",
|
|
838
847
|
props: { text: {
|
|
839
848
|
type: String,
|
|
840
849
|
required: !0
|
|
841
850
|
} },
|
|
842
851
|
setup(e) {
|
|
843
|
-
let t = n(
|
|
852
|
+
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
853
|
return () => a.value.map((e, t) => e.type === "tag" ? I("span", {
|
|
845
854
|
key: t,
|
|
846
855
|
class: "tpl-merge-tag-label"
|
|
847
856
|
}, e.value) : e.value);
|
|
848
857
|
}
|
|
849
|
-
}),
|
|
858
|
+
}), fr = ["href"], pr = /* @__PURE__ */ d({
|
|
850
859
|
__name: "ButtonBlock",
|
|
851
860
|
props: {
|
|
852
861
|
block: {},
|
|
@@ -872,13 +881,13 @@ var sr = d({
|
|
|
872
881
|
style: D(n.value),
|
|
873
882
|
class: "tpl:cursor-default",
|
|
874
883
|
onClick: i[0] ||= E(() => {}, ["prevent"])
|
|
875
|
-
}, [g(
|
|
884
|
+
}, [g(dr, { text: e.block.text }, null, 8, ["text"])], 12, fr)], 4));
|
|
876
885
|
}
|
|
877
|
-
}),
|
|
886
|
+
}), mr = ["innerHTML"], hr = [
|
|
878
887
|
"src",
|
|
879
888
|
"width",
|
|
880
889
|
"height"
|
|
881
|
-
],
|
|
890
|
+
], gr = /* @__PURE__ */ d({
|
|
882
891
|
__name: "CustomBlockIcon",
|
|
883
892
|
props: {
|
|
884
893
|
icon: {},
|
|
@@ -894,24 +903,24 @@ var sr = d({
|
|
|
894
903
|
height: `${n.value}px`
|
|
895
904
|
}),
|
|
896
905
|
innerHTML: e.icon
|
|
897
|
-
}, null, 12,
|
|
906
|
+
}, null, 12, mr)) : i.value ? (s(), x("img", {
|
|
898
907
|
key: 1,
|
|
899
908
|
src: e.icon,
|
|
900
909
|
width: n.value,
|
|
901
910
|
height: n.value,
|
|
902
911
|
class: "tpl:inline-block",
|
|
903
912
|
alt: ""
|
|
904
|
-
}, null, 8,
|
|
913
|
+
}, null, 8, hr)) : (s(), O(h(dn), {
|
|
905
914
|
key: 2,
|
|
906
915
|
size: n.value,
|
|
907
916
|
"stroke-width": 1.5
|
|
908
917
|
}, null, 8, ["size"]));
|
|
909
918
|
}
|
|
910
|
-
}),
|
|
911
|
-
function
|
|
912
|
-
let r =
|
|
919
|
+
}), _r = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
920
|
+
function vr(e, n) {
|
|
921
|
+
let r = mn(), i = null, a = null, o = null;
|
|
913
922
|
function s() {
|
|
914
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
923
|
+
return e.value ? Array.from(e.value.querySelectorAll(_r)).filter((e) => e.offsetParent !== null) : [];
|
|
915
924
|
}
|
|
916
925
|
function c(e) {
|
|
917
926
|
if (e.key !== "Tab") return;
|
|
@@ -926,7 +935,7 @@ function mr(e, n) {
|
|
|
926
935
|
o = null;
|
|
927
936
|
let t = s();
|
|
928
937
|
t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
|
|
929
|
-
}), a =
|
|
938
|
+
}), a = U(e, "keydown", c);
|
|
930
939
|
}
|
|
931
940
|
function u(e = {}) {
|
|
932
941
|
let t = e.restoreFocus !== !1;
|
|
@@ -941,8 +950,8 @@ function mr(e, n) {
|
|
|
941
950
|
}
|
|
942
951
|
//#endregion
|
|
943
952
|
//#region src/composables/useEmoji.ts
|
|
944
|
-
function
|
|
945
|
-
let [e, n] =
|
|
953
|
+
function yr() {
|
|
954
|
+
let [e, n] = Je(!1), r = y([]), i = !1;
|
|
946
955
|
m(() => {
|
|
947
956
|
i = !0;
|
|
948
957
|
}), t(e, async (e) => {
|
|
@@ -967,7 +976,7 @@ function hr() {
|
|
|
967
976
|
}
|
|
968
977
|
//#endregion
|
|
969
978
|
//#region src/composables/useFonts.ts
|
|
970
|
-
var
|
|
979
|
+
var br = [
|
|
971
980
|
{
|
|
972
981
|
value: "Arial",
|
|
973
982
|
label: "Arial"
|
|
@@ -996,7 +1005,7 @@ var gr = [
|
|
|
996
1005
|
value: "Courier New",
|
|
997
1006
|
label: "Courier New"
|
|
998
1007
|
}
|
|
999
|
-
],
|
|
1008
|
+
], xr = {
|
|
1000
1009
|
arial: "Arial, sans-serif",
|
|
1001
1010
|
helvetica: "Helvetica, sans-serif",
|
|
1002
1011
|
georgia: "Georgia, serif",
|
|
@@ -1004,23 +1013,23 @@ var gr = [
|
|
|
1004
1013
|
verdana: "Verdana, sans-serif",
|
|
1005
1014
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
1006
1015
|
"courier new": "'Courier New', monospace"
|
|
1007
|
-
},
|
|
1008
|
-
function
|
|
1009
|
-
if (e === void 0 || e === !0) return [...
|
|
1016
|
+
}, Sr = "Arial, sans-serif";
|
|
1017
|
+
function Cr(e) {
|
|
1018
|
+
if (e === void 0 || e === !0) return [...br];
|
|
1010
1019
|
if (e === !1) return [];
|
|
1011
1020
|
let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
1012
1021
|
for (let i of e) {
|
|
1013
|
-
let e = i.toLowerCase(), a =
|
|
1022
|
+
let e = i.toLowerCase(), a = br.find((t) => t.value.toLowerCase() === e);
|
|
1014
1023
|
if (!a) {
|
|
1015
|
-
r.has(e) || (r.add(e),
|
|
1024
|
+
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
1025
|
continue;
|
|
1017
1026
|
}
|
|
1018
1027
|
n.has(a.value) || (n.add(a.value), t.push(a));
|
|
1019
1028
|
}
|
|
1020
1029
|
return t;
|
|
1021
1030
|
}
|
|
1022
|
-
function
|
|
1023
|
-
let t = l(e?.customFonts ?? []), n = l(!1), r =
|
|
1031
|
+
function wr(e) {
|
|
1032
|
+
let t = l(e?.customFonts ?? []), n = l(!1), r = Cr(e?.builtIns), i = b(() => e?.defaultFallback ?? Sr), a = b(() => {
|
|
1024
1033
|
let e = [...r], n = t.value.map((e) => ({
|
|
1025
1034
|
value: e.name,
|
|
1026
1035
|
label: e.name,
|
|
@@ -1031,20 +1040,20 @@ function br(e) {
|
|
|
1031
1040
|
function s(e) {
|
|
1032
1041
|
return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1033
1042
|
}
|
|
1034
|
-
let c = e?.defaultFont ??
|
|
1035
|
-
s(c) ||
|
|
1043
|
+
let c = e?.defaultFont ?? Sr.split(",")[0].trim();
|
|
1044
|
+
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
1045
|
function u() {
|
|
1037
1046
|
if (e?.defaultFont && s(e.defaultFont)) {
|
|
1038
1047
|
let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
1039
1048
|
if (t) return t.value;
|
|
1040
1049
|
}
|
|
1041
|
-
return
|
|
1050
|
+
return Sr;
|
|
1042
1051
|
}
|
|
1043
1052
|
let d = b(() => u());
|
|
1044
1053
|
function f(e) {
|
|
1045
1054
|
if (!e) return i.value;
|
|
1046
1055
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
1047
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
1056
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : xr[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
1048
1057
|
}
|
|
1049
1058
|
let p = [], h = !1;
|
|
1050
1059
|
async function g() {
|
|
@@ -1060,7 +1069,7 @@ function br(e) {
|
|
|
1060
1069
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
1061
1070
|
});
|
|
1062
1071
|
} catch (t) {
|
|
1063
|
-
|
|
1072
|
+
Y.warn(`Failed to load custom font "${e.name}":`, t);
|
|
1064
1073
|
}
|
|
1065
1074
|
});
|
|
1066
1075
|
await Promise.allSettled(e), !h && (n.value = !0);
|
|
@@ -1085,12 +1094,12 @@ function br(e) {
|
|
|
1085
1094
|
}
|
|
1086
1095
|
//#endregion
|
|
1087
1096
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
1088
|
-
function
|
|
1089
|
-
return
|
|
1097
|
+
function Tr(e, t, n) {
|
|
1098
|
+
return ge(e, n) ? {
|
|
1090
1099
|
type: "logicMergeTagNode",
|
|
1091
1100
|
attrs: {
|
|
1092
1101
|
value: e,
|
|
1093
|
-
keyword:
|
|
1102
|
+
keyword: me(e, n)
|
|
1094
1103
|
}
|
|
1095
1104
|
} : {
|
|
1096
1105
|
type: "mergeTagNode",
|
|
@@ -1102,15 +1111,15 @@ function xr(e, t, n) {
|
|
|
1102
1111
|
}
|
|
1103
1112
|
//#endregion
|
|
1104
1113
|
//#region src/utils/insertLogicTag.ts
|
|
1105
|
-
function
|
|
1114
|
+
function Er(e) {
|
|
1106
1115
|
return "before" in e && "after" in e;
|
|
1107
1116
|
}
|
|
1108
|
-
function
|
|
1109
|
-
if (!
|
|
1110
|
-
e.chain().focus().insertContent(
|
|
1117
|
+
function Dr(e, t, n) {
|
|
1118
|
+
if (!Er(t)) {
|
|
1119
|
+
e.chain().focus().insertContent(Tr(t.value, t.label, n)).run();
|
|
1111
1120
|
return;
|
|
1112
1121
|
}
|
|
1113
|
-
let r =
|
|
1122
|
+
let r = Tr(t.before, t.label, n), i = Tr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
1114
1123
|
if (a !== o) {
|
|
1115
1124
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
1116
1125
|
return;
|
|
@@ -1119,20 +1128,20 @@ function Cr(e, t, n) {
|
|
|
1119
1128
|
}
|
|
1120
1129
|
//#endregion
|
|
1121
1130
|
//#region src/utils/linkColorExtension.ts
|
|
1122
|
-
function
|
|
1131
|
+
function Or(e) {
|
|
1123
1132
|
if (!e) return null;
|
|
1124
1133
|
let t = e.trim();
|
|
1125
1134
|
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
1135
|
}
|
|
1127
|
-
function
|
|
1136
|
+
function kr(e) {
|
|
1128
1137
|
return e.extend({ addAttributes() {
|
|
1129
1138
|
return {
|
|
1130
1139
|
...this.parent?.(),
|
|
1131
1140
|
color: {
|
|
1132
1141
|
default: null,
|
|
1133
|
-
parseHTML: (e) =>
|
|
1142
|
+
parseHTML: (e) => Or(Ht(e.style.color)),
|
|
1134
1143
|
renderHTML: (e) => {
|
|
1135
|
-
let t =
|
|
1144
|
+
let t = Or(e.color);
|
|
1136
1145
|
return t ? { style: `color: ${t}` } : {};
|
|
1137
1146
|
}
|
|
1138
1147
|
}
|
|
@@ -1141,9 +1150,9 @@ function Tr(e) {
|
|
|
1141
1150
|
}
|
|
1142
1151
|
//#endregion
|
|
1143
1152
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
1144
|
-
function
|
|
1153
|
+
function Ar(e, t = Ae.liquid) {
|
|
1145
1154
|
let n = l(!1), r = l(""), i = l(""), a = l(null);
|
|
1146
|
-
|
|
1155
|
+
vr(a, n);
|
|
1147
1156
|
function o() {
|
|
1148
1157
|
let t = e.value?.getAttributes("link") ?? {};
|
|
1149
1158
|
r.value = t.href || "", i.value = t.color || "", n.value = !0;
|
|
@@ -1152,7 +1161,7 @@ function Er(e, t = Ee.liquid) {
|
|
|
1152
1161
|
if (r.value) {
|
|
1153
1162
|
let t = d(r.value);
|
|
1154
1163
|
if (t !== null) {
|
|
1155
|
-
let n =
|
|
1164
|
+
let n = Or(i.value), r = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
|
|
1156
1165
|
n && typeof e.value?.commands.unsetColor == "function" && r?.unsetColor(), r?.run();
|
|
1157
1166
|
}
|
|
1158
1167
|
}
|
|
@@ -1202,13 +1211,13 @@ function Er(e, t = Ee.liquid) {
|
|
|
1202
1211
|
}
|
|
1203
1212
|
//#endregion
|
|
1204
1213
|
//#region src/composables/useRichTextEditor.ts
|
|
1205
|
-
function
|
|
1206
|
-
let i = n(
|
|
1214
|
+
function jr(r) {
|
|
1215
|
+
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
1216
|
t(b, (e) => {
|
|
1208
1217
|
let t = v.value?.view.dom;
|
|
1209
1218
|
t && t.setAttribute("dir", e);
|
|
1210
1219
|
});
|
|
1211
|
-
let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } =
|
|
1220
|
+
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
1221
|
async function L() {
|
|
1213
1222
|
F.value = null, P.value = !0;
|
|
1214
1223
|
try {
|
|
@@ -1239,7 +1248,7 @@ function Dr(r) {
|
|
|
1239
1248
|
v.value = s, P.value = !1, j();
|
|
1240
1249
|
} catch (e) {
|
|
1241
1250
|
if (I) return;
|
|
1242
|
-
|
|
1251
|
+
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
1252
|
}
|
|
1244
1253
|
}
|
|
1245
1254
|
function R() {
|
|
@@ -1257,7 +1266,7 @@ function Dr(r) {
|
|
|
1257
1266
|
let i = t.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
|
|
1258
1267
|
n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog") || i || r.onDone();
|
|
1259
1268
|
}
|
|
1260
|
-
|
|
1269
|
+
U(document, "mousedown", B), e(() => {
|
|
1261
1270
|
I = !0, z(), M(), v.value?.destroy();
|
|
1262
1271
|
});
|
|
1263
1272
|
async function V() {
|
|
@@ -1267,9 +1276,9 @@ function Dr(r) {
|
|
|
1267
1276
|
value: e.value
|
|
1268
1277
|
}).run() : v.value?.commands.focus());
|
|
1269
1278
|
}
|
|
1270
|
-
async function
|
|
1279
|
+
async function te() {
|
|
1271
1280
|
let e = await m();
|
|
1272
|
-
I || (e && v.value ?
|
|
1281
|
+
I || (e && v.value ? Dr(v.value, e, u) : v.value?.commands.focus());
|
|
1273
1282
|
}
|
|
1274
1283
|
return {
|
|
1275
1284
|
editor: v,
|
|
@@ -1293,14 +1302,14 @@ function Dr(r) {
|
|
|
1293
1302
|
closeLinkDialog: O,
|
|
1294
1303
|
handleLinkKeydown: k,
|
|
1295
1304
|
handleAddMergeTag: V,
|
|
1296
|
-
handleAddLogicTag:
|
|
1305
|
+
handleAddLogicTag: te
|
|
1297
1306
|
};
|
|
1298
1307
|
}
|
|
1299
1308
|
//#endregion
|
|
1300
1309
|
//#region src/composables/useSmallScreenNotice.ts
|
|
1301
|
-
var
|
|
1302
|
-
function
|
|
1303
|
-
let t =
|
|
1310
|
+
var Mr = "(max-width: 767px)";
|
|
1311
|
+
function Nr(e) {
|
|
1312
|
+
let t = Xe(Mr);
|
|
1304
1313
|
return {
|
|
1305
1314
|
isSmallScreen: t,
|
|
1306
1315
|
showNotice: b(() => (j(e) ?? !0) && t.value)
|
|
@@ -1308,20 +1317,20 @@ function kr(e) {
|
|
|
1308
1317
|
}
|
|
1309
1318
|
//#endregion
|
|
1310
1319
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1311
|
-
var
|
|
1320
|
+
var Pr = { class: "tpl:w-full" }, Fr = {
|
|
1312
1321
|
key: 0,
|
|
1313
1322
|
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
|
-
},
|
|
1323
|
+
}, Ir = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lr = {
|
|
1315
1324
|
key: 1,
|
|
1316
1325
|
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
|
-
},
|
|
1326
|
+
}, Rr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zr = {
|
|
1318
1327
|
key: 2,
|
|
1319
1328
|
class: "tpl:relative"
|
|
1320
|
-
},
|
|
1329
|
+
}, Br = ["innerHTML"], Vr = {
|
|
1321
1330
|
key: 0,
|
|
1322
1331
|
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
1332
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
1324
|
-
},
|
|
1333
|
+
}, Hr = /* @__PURE__ */ d({
|
|
1325
1334
|
__name: "CustomBlock",
|
|
1326
1335
|
props: {
|
|
1327
1336
|
block: {},
|
|
@@ -1329,7 +1338,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1329
1338
|
},
|
|
1330
1339
|
emits: ["fetchData"],
|
|
1331
1340
|
setup(e, { emit: r }) {
|
|
1332
|
-
let i = e, a = r, { t: o } =
|
|
1341
|
+
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
1342
|
definition: f,
|
|
1334
1343
|
block: m,
|
|
1335
1344
|
onUpdate: (e, t) => {
|
|
@@ -1338,10 +1347,10 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1338
1347
|
dataSourceFetched: t
|
|
1339
1348
|
});
|
|
1340
1349
|
}
|
|
1341
|
-
}), T = n(
|
|
1350
|
+
}), T = n(G, W), D = n(K, null), A = b(() => {
|
|
1342
1351
|
if (!D?.value) return i.block;
|
|
1343
1352
|
let e = {};
|
|
1344
|
-
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ?
|
|
1353
|
+
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? pe(n, T.value) : n;
|
|
1345
1354
|
return {
|
|
1346
1355
|
...i.block,
|
|
1347
1356
|
fieldValues: e
|
|
@@ -1358,17 +1367,17 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1358
1367
|
}
|
|
1359
1368
|
}
|
|
1360
1369
|
}
|
|
1361
|
-
let M =
|
|
1370
|
+
let M = qe(j, 150);
|
|
1362
1371
|
return w(() => {
|
|
1363
1372
|
j();
|
|
1364
1373
|
}), t(() => i.block.fieldValues, () => {
|
|
1365
1374
|
M();
|
|
1366
1375
|
}, { deep: !0 }), t(() => D?.value, () => {
|
|
1367
1376
|
M();
|
|
1368
|
-
}), (e, t) => (s(), x("div",
|
|
1377
|
+
}), (e, t) => (s(), x("div", Pr, [p.value ? d.value ? (s(), x("div", Lr, [g(h(cn), {
|
|
1369
1378
|
size: 24,
|
|
1370
1379
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
1371
|
-
}), k("span",
|
|
1380
|
+
}), 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
1381
|
key: 1,
|
|
1373
1382
|
class: "tpl:w-48"
|
|
1374
1383
|
})) : (s(), x("button", {
|
|
@@ -1376,16 +1385,16 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1376
1385
|
type: "button",
|
|
1377
1386
|
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
1387
|
onClick: t[0] ||= E((...e) => h(v) && h(v)(...e), ["stop"])
|
|
1379
|
-
}, [f.value?.icon ? (s(), O(
|
|
1388
|
+
}, [f.value?.icon ? (s(), O(gr, {
|
|
1380
1389
|
key: 0,
|
|
1381
1390
|
icon: f.value.icon,
|
|
1382
1391
|
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",
|
|
1392
|
+
}, 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
1393
|
size: 24,
|
|
1385
1394
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
1386
|
-
}), k("span",
|
|
1395
|
+
}), k("span", Ir, F(h(o).customBlocks.definitionNotFound), 1)]))]));
|
|
1387
1396
|
}
|
|
1388
|
-
}),
|
|
1397
|
+
}), Ur = { class: "tpl:w-full" }, Wr = /* @__PURE__ */ d({
|
|
1389
1398
|
__name: "DividerBlock",
|
|
1390
1399
|
props: {
|
|
1391
1400
|
block: {},
|
|
@@ -1397,28 +1406,28 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1397
1406
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
1398
1407
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
1399
1408
|
}));
|
|
1400
|
-
return (e, t) => (s(), x("div",
|
|
1409
|
+
return (e, t) => (s(), x("div", Ur, [k("hr", {
|
|
1401
1410
|
class: "tpl:m-0 tpl:border-none",
|
|
1402
1411
|
style: D(n.value)
|
|
1403
1412
|
}, null, 4)]));
|
|
1404
1413
|
}
|
|
1405
|
-
}),
|
|
1414
|
+
}), Gr = { class: "tpl:w-full" }, Kr = ["srcdoc", "title"], qr = {
|
|
1406
1415
|
key: 1,
|
|
1407
1416
|
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
|
-
},
|
|
1417
|
+
}, Jr = {
|
|
1409
1418
|
key: 0,
|
|
1410
1419
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
1411
|
-
},
|
|
1420
|
+
}, Yr = {
|
|
1412
1421
|
key: 1,
|
|
1413
1422
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
1414
|
-
},
|
|
1423
|
+
}, Xr = /* @__PURE__ */ d({
|
|
1415
1424
|
__name: "HtmlBlock",
|
|
1416
1425
|
props: {
|
|
1417
1426
|
block: {},
|
|
1418
1427
|
viewport: {}
|
|
1419
1428
|
},
|
|
1420
1429
|
setup(r) {
|
|
1421
|
-
let i = r, { t: a } =
|
|
1430
|
+
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
1431
|
function y() {
|
|
1423
1432
|
let e = m.value?.contentDocument;
|
|
1424
1433
|
e && (_.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
|
|
@@ -1432,7 +1441,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1432
1441
|
e || (v?.disconnect(), v = null);
|
|
1433
1442
|
}), e(() => {
|
|
1434
1443
|
v?.disconnect(), v = null;
|
|
1435
|
-
}), (e, t) => (s(), x("div",
|
|
1444
|
+
}), (e, t) => (s(), x("div", Gr, [u.value ? (s(), x("iframe", {
|
|
1436
1445
|
key: 0,
|
|
1437
1446
|
ref_key: "iframeRef",
|
|
1438
1447
|
ref: m,
|
|
@@ -1442,22 +1451,22 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1442
1451
|
class: "tpl:block tpl:w-full tpl:border-0",
|
|
1443
1452
|
style: D({ height: `${_.value}px` }),
|
|
1444
1453
|
onLoad: S
|
|
1445
|
-
}, null, 44,
|
|
1454
|
+
}, null, 44, Kr)) : (s(), x("div", qr, [g(h(Zt), {
|
|
1446
1455
|
size: 24,
|
|
1447
1456
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
1448
|
-
}), c.value ? (s(), x("span",
|
|
1457
|
+
}), c.value ? (s(), x("span", Jr, F(h(a).html.preview), 1)) : (s(), x("span", Yr, F(h(a).html.empty), 1))]))]));
|
|
1449
1458
|
}
|
|
1450
|
-
}),
|
|
1459
|
+
}), Zr = ["data-drop-enabled"], Qr = {
|
|
1451
1460
|
key: 0,
|
|
1452
1461
|
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
1462
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
1454
|
-
},
|
|
1463
|
+
}, $r = ["href"], ei = ["src", "alt"], ti = ["src", "alt"], ni = {
|
|
1455
1464
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
1456
1465
|
style: { opacity: "0.7" }
|
|
1457
|
-
},
|
|
1466
|
+
}, ri = ["href"], ii = ["src", "alt"], ai = ["src", "alt"], oi = {
|
|
1458
1467
|
key: 4,
|
|
1459
1468
|
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
|
-
},
|
|
1469
|
+
}, si = ["aria-label"], ci = { key: 1 }, li = /* @__PURE__ */ d({
|
|
1461
1470
|
__name: "ImageBlock",
|
|
1462
1471
|
props: {
|
|
1463
1472
|
block: {},
|
|
@@ -1465,7 +1474,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1465
1474
|
},
|
|
1466
1475
|
emits: ["update"],
|
|
1467
1476
|
setup(e, { emit: t }) {
|
|
1468
|
-
let r = e, i = t, { t: a } =
|
|
1477
|
+
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
1478
|
async function p() {
|
|
1470
1479
|
let e = await c?.({ accept: ["images"] });
|
|
1471
1480
|
if (f.alive && e) {
|
|
@@ -1492,7 +1501,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1492
1501
|
}
|
|
1493
1502
|
}
|
|
1494
1503
|
}
|
|
1495
|
-
let { isOver: C } =
|
|
1504
|
+
let { isOver: C } = ze({
|
|
1496
1505
|
target: m,
|
|
1497
1506
|
enabled: v,
|
|
1498
1507
|
onFiles: y
|
|
@@ -1507,7 +1516,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1507
1516
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
1508
1517
|
marginRight: e === "center" ? "auto" : void 0
|
|
1509
1518
|
};
|
|
1510
|
-
}), O = b(() =>
|
|
1519
|
+
}), 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
1520
|
return (t, n) => (s(), x("div", {
|
|
1512
1521
|
ref_key: "dropZoneRef",
|
|
1513
1522
|
ref: m,
|
|
@@ -1515,11 +1524,11 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1515
1524
|
"data-drop-enabled": v.value,
|
|
1516
1525
|
class: "tpl:relative tpl:w-full",
|
|
1517
1526
|
style: D(w.value)
|
|
1518
|
-
}, [v.value && (h(C) || _.value) ? (s(), x("div",
|
|
1527
|
+
}, [v.value && (h(C) || _.value) ? (s(), x("div", Qr, [_.value ? (s(), x(P, { key: 0 }, [g(h(rn), {
|
|
1519
1528
|
class: "tpl-spinner",
|
|
1520
1529
|
size: 20,
|
|
1521
1530
|
"stroke-width": 2
|
|
1522
|
-
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(
|
|
1531
|
+
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(on), {
|
|
1523
1532
|
size: 20,
|
|
1524
1533
|
"stroke-width": 1.5
|
|
1525
1534
|
}), 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 +1543,22 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1534
1543
|
src: h(j),
|
|
1535
1544
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1536
1545
|
style: D(T.value)
|
|
1537
|
-
}, null, 12,
|
|
1546
|
+
}, null, 12, ei)], 8, $r)) : (s(), x("img", {
|
|
1538
1547
|
key: 1,
|
|
1539
1548
|
class: "tpl:border-0",
|
|
1540
1549
|
src: h(j),
|
|
1541
1550
|
alt: e.block.alt,
|
|
1542
1551
|
style: D(T.value)
|
|
1543
|
-
}, null, 12,
|
|
1552
|
+
}, null, 12, ti))], 64)) : e.block.src && O.value ? (s(), x("div", {
|
|
1544
1553
|
key: 2,
|
|
1545
1554
|
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
1555
|
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, T.value])
|
|
1547
|
-
}, [g(h(
|
|
1556
|
+
}, [g(h(tn), {
|
|
1548
1557
|
size: 32,
|
|
1549
1558
|
"stroke-width": 1.5,
|
|
1550
1559
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
1551
1560
|
style: { opacity: "0.5" }
|
|
1552
|
-
}), k("span",
|
|
1561
|
+
}), 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
1562
|
key: 0,
|
|
1554
1563
|
href: e.block.linkUrl,
|
|
1555
1564
|
target: "_blank",
|
|
@@ -1561,33 +1570,33 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1561
1570
|
src: h(A),
|
|
1562
1571
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1563
1572
|
style: D(T.value)
|
|
1564
|
-
}, null, 12,
|
|
1573
|
+
}, null, 12, ii)], 8, ri)) : (s(), x("img", {
|
|
1565
1574
|
key: 1,
|
|
1566
1575
|
class: "tpl:border-0",
|
|
1567
1576
|
src: h(A),
|
|
1568
1577
|
alt: e.block.alt,
|
|
1569
1578
|
style: D(T.value)
|
|
1570
|
-
}, null, 12,
|
|
1579
|
+
}, null, 12, ai))], 64)) : (s(), x("div", oi, [d.value ? (s(), x("button", {
|
|
1571
1580
|
key: 0,
|
|
1572
1581
|
"aria-label": h(a).image.browseMedia,
|
|
1573
1582
|
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
1583
|
onClick: E(p, ["stop"])
|
|
1575
|
-
}, [g(h(
|
|
1584
|
+
}, [g(h(tn), {
|
|
1576
1585
|
size: 14,
|
|
1577
1586
|
"stroke-width": 1.5
|
|
1578
|
-
}), R(" " + F(h(a).image.browseMedia), 1)], 8,
|
|
1587
|
+
}), R(" " + F(h(a).image.browseMedia), 1)], 8, si)) : (s(), x("span", ci, F(h(a).image.clickToAdd), 1))]))], 12, Zr));
|
|
1579
1588
|
}
|
|
1580
|
-
}),
|
|
1589
|
+
}), ui = { class: "tpl:w-full" }, di = ["href"], fi = {
|
|
1581
1590
|
key: 1,
|
|
1582
1591
|
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
|
-
},
|
|
1592
|
+
}, pi = /* @__PURE__ */ d({
|
|
1584
1593
|
__name: "MenuBlock",
|
|
1585
1594
|
props: {
|
|
1586
1595
|
block: {},
|
|
1587
1596
|
viewport: {}
|
|
1588
1597
|
},
|
|
1589
1598
|
setup(e) {
|
|
1590
|
-
let t = e, { t: n } =
|
|
1599
|
+
let t = e, { t: n } = J(), i = b(() => ({
|
|
1591
1600
|
display: "flex",
|
|
1592
1601
|
flexWrap: "wrap",
|
|
1593
1602
|
gap: `0 ${t.block.spacing}px`,
|
|
@@ -1599,7 +1608,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1599
1608
|
function o(e) {
|
|
1600
1609
|
return e || t.block.linkColor || t.block.color;
|
|
1601
1610
|
}
|
|
1602
|
-
return (t, c) => (s(), x("div",
|
|
1611
|
+
return (t, c) => (s(), x("div", ui, [a.value ? (s(), x("div", {
|
|
1603
1612
|
key: 0,
|
|
1604
1613
|
style: D(i.value)
|
|
1605
1614
|
}, [(s(!0), x(P, null, r(e.block.items, (t, n) => (s(), x(P, { key: t.id }, [k("a", {
|
|
@@ -1611,15 +1620,15 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1611
1620
|
textDecoration: t.underline ? "underline" : "none"
|
|
1612
1621
|
}),
|
|
1613
1622
|
onClick: c[0] ||= E(() => {}, ["prevent"])
|
|
1614
|
-
}, [g(
|
|
1623
|
+
}, [g(dr, { text: t.text || "..." }, null, 8, ["text"])], 12, di), n < e.block.items.length - 1 ? (s(), x("span", {
|
|
1615
1624
|
key: 0,
|
|
1616
1625
|
style: D({
|
|
1617
1626
|
color: e.block.separatorColor,
|
|
1618
1627
|
padding: `0 ${e.block.spacing}px`
|
|
1619
1628
|
})
|
|
1620
|
-
}, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div",
|
|
1629
|
+
}, 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
1630
|
}
|
|
1622
|
-
}),
|
|
1631
|
+
}), mi = /* @__PURE__ */ new Set([
|
|
1623
1632
|
"http",
|
|
1624
1633
|
"https",
|
|
1625
1634
|
"mailto",
|
|
@@ -1629,7 +1638,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1629
1638
|
"sms",
|
|
1630
1639
|
"xmpp",
|
|
1631
1640
|
"cid"
|
|
1632
|
-
]),
|
|
1641
|
+
]), hi = /* @__PURE__ */ new Set([
|
|
1633
1642
|
"SCRIPT",
|
|
1634
1643
|
"STYLE",
|
|
1635
1644
|
"IFRAME",
|
|
@@ -1639,7 +1648,7 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1639
1648
|
"META",
|
|
1640
1649
|
"BASE",
|
|
1641
1650
|
"FORM"
|
|
1642
|
-
]),
|
|
1651
|
+
]), gi = /* @__PURE__ */ new Set([
|
|
1643
1652
|
"href",
|
|
1644
1653
|
"xlink:href",
|
|
1645
1654
|
"formaction",
|
|
@@ -1648,16 +1657,16 @@ var Ar = { class: "tpl:w-full" }, jr = {
|
|
|
1648
1657
|
"background",
|
|
1649
1658
|
"poster"
|
|
1650
1659
|
]);
|
|
1651
|
-
function
|
|
1660
|
+
function _i(e, t) {
|
|
1652
1661
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
1653
1662
|
if (!n || n.startsWith("#")) return !0;
|
|
1654
1663
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
1655
1664
|
if (!r) return !0;
|
|
1656
1665
|
let i = r[1].toLowerCase();
|
|
1657
|
-
return
|
|
1666
|
+
return mi.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
1658
1667
|
}
|
|
1659
|
-
function
|
|
1660
|
-
if (
|
|
1668
|
+
function vi(e) {
|
|
1669
|
+
if (hi.has(e.tagName)) {
|
|
1661
1670
|
e.remove();
|
|
1662
1671
|
return;
|
|
1663
1672
|
}
|
|
@@ -1669,29 +1678,29 @@ function mi(e) {
|
|
|
1669
1678
|
e.removeAttribute(n);
|
|
1670
1679
|
continue;
|
|
1671
1680
|
}
|
|
1672
|
-
if (
|
|
1673
|
-
|
|
1681
|
+
if (gi.has(t)) {
|
|
1682
|
+
_i(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
1674
1683
|
continue;
|
|
1675
1684
|
}
|
|
1676
1685
|
if (t === "src") {
|
|
1677
|
-
|
|
1686
|
+
_i(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
1678
1687
|
continue;
|
|
1679
1688
|
}
|
|
1680
1689
|
t === "srcdoc" && e.removeAttribute(n);
|
|
1681
1690
|
}
|
|
1682
1691
|
let n = Array.from(e.children);
|
|
1683
|
-
for (let e of n)
|
|
1692
|
+
for (let e of n) vi(e);
|
|
1684
1693
|
}
|
|
1685
|
-
function
|
|
1694
|
+
function yi(e) {
|
|
1686
1695
|
if (typeof DOMParser > "u") return e;
|
|
1687
1696
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
1688
|
-
for (let e of n)
|
|
1697
|
+
for (let e of n) vi(e);
|
|
1689
1698
|
return t.innerHTML;
|
|
1690
1699
|
}
|
|
1691
1700
|
//#endregion
|
|
1692
1701
|
//#region src/composables/useEditableTextBlock.ts
|
|
1693
|
-
function
|
|
1694
|
-
let t = n(
|
|
1702
|
+
function bi(e) {
|
|
1703
|
+
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
1704
|
top: u.value - 8,
|
|
1696
1705
|
left: d.value
|
|
1697
1706
|
}));
|
|
@@ -1712,14 +1721,14 @@ function gi(e) {
|
|
|
1712
1721
|
}
|
|
1713
1722
|
//#endregion
|
|
1714
1723
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1715
|
-
var
|
|
1724
|
+
var xi = ["innerHTML"], Si = /* @__PURE__ */ d({
|
|
1716
1725
|
__name: "ParagraphBlock",
|
|
1717
1726
|
props: {
|
|
1718
1727
|
block: {},
|
|
1719
1728
|
viewport: {}
|
|
1720
1729
|
},
|
|
1721
1730
|
setup(e) {
|
|
1722
|
-
let t = e, n = L(() => import("./ParagraphEditor-
|
|
1731
|
+
let t = e, n = L(() => import("./ParagraphEditor-w2qEZTkM.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content);
|
|
1723
1732
|
return (t, u) => (s(), x("div", {
|
|
1724
1733
|
ref_key: "blockRef",
|
|
1725
1734
|
ref: i,
|
|
@@ -1738,54 +1747,64 @@ var _i = ["innerHTML"], vi = /* @__PURE__ */ d({
|
|
|
1738
1747
|
key: 1,
|
|
1739
1748
|
class: "tpl-text-content tpl:outline-none",
|
|
1740
1749
|
innerHTML: h(o)
|
|
1741
|
-
}, null, 8,
|
|
1750
|
+
}, null, 8, xi))], 544));
|
|
1742
1751
|
}
|
|
1743
1752
|
});
|
|
1744
1753
|
//#endregion
|
|
1745
1754
|
//#region src/utils/blockComponentResolver.ts
|
|
1746
|
-
function
|
|
1755
|
+
function Ci(e) {
|
|
1747
1756
|
let t = { fontFamily: e.fontFamily };
|
|
1748
1757
|
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
1758
|
}
|
|
1750
|
-
function
|
|
1759
|
+
function wi(e, t, n) {
|
|
1751
1760
|
if (t) {
|
|
1752
1761
|
let n = t.getComponent(e);
|
|
1753
1762
|
if (n) return n;
|
|
1754
1763
|
}
|
|
1755
1764
|
return n[e.type] ?? null;
|
|
1756
1765
|
}
|
|
1757
|
-
function
|
|
1766
|
+
function Ti(e) {
|
|
1767
|
+
if (e.type === "wrapper") return {};
|
|
1758
1768
|
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
1759
1769
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
1760
1770
|
backgroundColor: n || "transparent"
|
|
1761
1771
|
};
|
|
1762
|
-
return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ??
|
|
1772
|
+
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
1773
|
}
|
|
1764
|
-
function
|
|
1774
|
+
function Ei(e) {
|
|
1765
1775
|
if (e.type !== "section" || !e.wrapper) return null;
|
|
1766
1776
|
let t = e.wrapper, n = {};
|
|
1767
1777
|
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
1778
|
}
|
|
1779
|
+
function Di(e) {
|
|
1780
|
+
if (e.type !== "wrapper") return null;
|
|
1781
|
+
let t = {};
|
|
1782
|
+
if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
|
|
1783
|
+
let n = e.styles.padding;
|
|
1784
|
+
t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
|
|
1785
|
+
}
|
|
1786
|
+
return e.borderRadius && e.borderRadius > 0 && (t.borderRadius = `${e.borderRadius}px`), t;
|
|
1787
|
+
}
|
|
1769
1788
|
//#endregion
|
|
1770
1789
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
1771
|
-
var
|
|
1790
|
+
var Oi = [
|
|
1772
1791
|
"data-block-id",
|
|
1773
1792
|
"data-block-type",
|
|
1774
1793
|
"data-tpl-picked"
|
|
1775
|
-
],
|
|
1794
|
+
], ki = ["aria-label"], Ai = [
|
|
1776
1795
|
"aria-label",
|
|
1777
1796
|
"aria-pressed",
|
|
1778
1797
|
"title"
|
|
1779
|
-
],
|
|
1798
|
+
], ji = ["aria-label", "title"], Mi = ["aria-label", "title"], Ni = ["aria-label", "title"], Pi = {
|
|
1780
1799
|
key: 1,
|
|
1781
1800
|
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
|
-
},
|
|
1801
|
+
}, 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
1802
|
key: 2,
|
|
1784
1803
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
1785
|
-
},
|
|
1804
|
+
}, Li = ["aria-label", "title"], Ri = {
|
|
1786
1805
|
key: 3,
|
|
1787
1806
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
1788
|
-
},
|
|
1807
|
+
}, zi = ["aria-label"], Bi = /*#__PURE__*/ pn(/* @__PURE__ */ d({
|
|
1789
1808
|
__name: "BlockWrapper",
|
|
1790
1809
|
props: {
|
|
1791
1810
|
block: {},
|
|
@@ -1797,7 +1816,7 @@ var Ci = [
|
|
|
1797
1816
|
},
|
|
1798
1817
|
emits: ["select"],
|
|
1799
1818
|
setup(e, { emit: t }) {
|
|
1800
|
-
let r = L(() => import("./BlockIssueBadge-
|
|
1819
|
+
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
1820
|
async function _() {
|
|
1802
1821
|
await T(), f.value?.focus();
|
|
1803
1822
|
}
|
|
@@ -1823,20 +1842,20 @@ var Ci = [
|
|
|
1823
1842
|
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
1843
|
desktop: c.viewport.desktop,
|
|
1825
1844
|
mobile: c.viewport.mobile
|
|
1826
|
-
}[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(
|
|
1827
|
-
function
|
|
1845
|
+
}[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));
|
|
1846
|
+
function te(e) {
|
|
1828
1847
|
i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
|
|
1829
1848
|
}
|
|
1830
|
-
function
|
|
1849
|
+
function ne() {
|
|
1831
1850
|
j?.deleteBlock(i.block.id);
|
|
1832
1851
|
}
|
|
1833
|
-
function
|
|
1852
|
+
function re() {
|
|
1834
1853
|
j?.duplicateBlock(i.block);
|
|
1835
1854
|
}
|
|
1836
|
-
function
|
|
1855
|
+
function ie() {
|
|
1837
1856
|
N.savedBlocks?.startPicking(i.block.id);
|
|
1838
1857
|
}
|
|
1839
|
-
function
|
|
1858
|
+
function ae() {
|
|
1840
1859
|
M?.toggleBlock(i.block.id);
|
|
1841
1860
|
}
|
|
1842
1861
|
return (t, n) => w.value ? S("", !0) : (s(), x("div", {
|
|
@@ -1850,7 +1869,7 @@ var Ci = [
|
|
|
1850
1869
|
"data-block-id": e.block.id,
|
|
1851
1870
|
"data-block-type": e.block.type,
|
|
1852
1871
|
"data-tpl-picked": e.picked || void 0,
|
|
1853
|
-
onClick:
|
|
1872
|
+
onClick: te
|
|
1854
1873
|
}, [
|
|
1855
1874
|
g(h(r), { "block-id": e.block.id }, null, 8, ["block-id"]),
|
|
1856
1875
|
z.value ? (s(), x("div", {
|
|
@@ -1868,65 +1887,65 @@ var Ci = [
|
|
|
1868
1887
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
1869
1888
|
title: h(c).blockActions.drag,
|
|
1870
1889
|
onKeydown: y
|
|
1871
|
-
}, [g(h(
|
|
1890
|
+
}, [g(h(nn), {
|
|
1872
1891
|
size: 14,
|
|
1873
1892
|
"stroke-width": 1.5
|
|
1874
|
-
})], 40,
|
|
1893
|
+
})], 40, Ai),
|
|
1875
1894
|
k("button", {
|
|
1876
1895
|
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
1896
|
"aria-label": h(c).blockActions.duplicate,
|
|
1878
1897
|
title: h(c).blockActions.duplicate,
|
|
1879
|
-
onClick: E(
|
|
1880
|
-
}, [g(h(
|
|
1898
|
+
onClick: E(re, ["stop"])
|
|
1899
|
+
}, [g(h(Yt), {
|
|
1881
1900
|
size: 14,
|
|
1882
1901
|
"stroke-width": 1.5
|
|
1883
|
-
})], 8,
|
|
1902
|
+
})], 8, ji),
|
|
1884
1903
|
I.value ? (s(), x("button", {
|
|
1885
1904
|
key: 0,
|
|
1886
1905
|
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
1906
|
"aria-label": h(c).blockActions.saveAsBlock,
|
|
1888
1907
|
title: h(c).blockActions.saveAsBlock,
|
|
1889
|
-
onClick: E(
|
|
1890
|
-
}, [g(h(
|
|
1908
|
+
onClick: E(ie, ["stop"])
|
|
1909
|
+
}, [g(h(Jt), {
|
|
1891
1910
|
size: 14,
|
|
1892
1911
|
"stroke-width": 1.5
|
|
1893
|
-
})], 8,
|
|
1912
|
+
})], 8, Mi)) : S("", !0),
|
|
1894
1913
|
k("button", {
|
|
1895
1914
|
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
1915
|
"aria-label": h(c).blockActions.delete,
|
|
1897
1916
|
title: h(c).blockActions.delete,
|
|
1898
|
-
onClick: E(
|
|
1899
|
-
}, [g(h(
|
|
1917
|
+
onClick: E(ne, ["stop"])
|
|
1918
|
+
}, [g(h(en), {
|
|
1900
1919
|
size: 14,
|
|
1901
1920
|
"stroke-width": 1.5
|
|
1902
|
-
})], 8,
|
|
1903
|
-
], 8,
|
|
1904
|
-
C.value ? (s(), x("div",
|
|
1921
|
+
})], 8, Ni)
|
|
1922
|
+
], 8, ki)) : S("", !0),
|
|
1923
|
+
C.value ? (s(), x("div", Pi, [k("span", Fi, [g(h(Qt), {
|
|
1905
1924
|
size: 12,
|
|
1906
1925
|
"stroke-width": 1.5
|
|
1907
1926
|
}), R(" " + F(h(u)(h(c).blockActions.hiddenOnViewport, { viewport: O.value })), 1)])])) : S("", !0),
|
|
1908
|
-
A.value && !C.value ? (s(), x("div",
|
|
1927
|
+
A.value && !C.value ? (s(), x("div", Ii, [k("button", {
|
|
1909
1928
|
"data-testid": "condition-toggle",
|
|
1910
1929
|
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
1930
|
"aria-label": h(c).blockActions.conditionToggle,
|
|
1912
1931
|
title: e.block.displayCondition?.label,
|
|
1913
|
-
onClick: E(
|
|
1914
|
-
}, [g(h(
|
|
1932
|
+
onClick: E(ae, ["stop"])
|
|
1933
|
+
}, [g(h(un), {
|
|
1915
1934
|
size: 12,
|
|
1916
1935
|
"stroke-width": 2
|
|
1917
|
-
})], 8,
|
|
1918
|
-
B.value > 0 && !C.value ? (s(), x("div",
|
|
1936
|
+
})], 8, Li)])) : S("", !0),
|
|
1937
|
+
B.value > 0 && !C.value ? (s(), x("div", Ri, [k("button", {
|
|
1919
1938
|
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
1939
|
"aria-label": h(u)(h(c).blockActions.comments, { count: String(B.value) }),
|
|
1921
1940
|
onClick: n[0] ||= E((t) => h(N).comments?.openForBlock(e.block.id), ["stop"])
|
|
1922
|
-
}, [g(h(
|
|
1941
|
+
}, [g(h(sn), {
|
|
1923
1942
|
size: 12,
|
|
1924
1943
|
"stroke-width": 2.5
|
|
1925
|
-
}), R(" " + F(B.value), 1)], 8,
|
|
1926
|
-
|
|
1944
|
+
}), R(" " + F(B.value), 1)], 8, zi)])) : S("", !0),
|
|
1945
|
+
ee.value ? (s(), x("div", {
|
|
1927
1946
|
key: 4,
|
|
1928
1947
|
class: "tpl-section-wrapper",
|
|
1929
|
-
style: D(
|
|
1948
|
+
style: D(ee.value)
|
|
1930
1949
|
}, [k("div", {
|
|
1931
1950
|
class: "tpl-block-content",
|
|
1932
1951
|
style: D(V.value)
|
|
@@ -1935,31 +1954,31 @@ var Ci = [
|
|
|
1935
1954
|
class: "tpl-block-content",
|
|
1936
1955
|
style: D(V.value)
|
|
1937
1956
|
}, [a(t.$slots, "default", {}, void 0, !0)], 4))
|
|
1938
|
-
], 10,
|
|
1957
|
+
], 10, Oi));
|
|
1939
1958
|
}
|
|
1940
1959
|
}), [["__scopeId", "data-v-2c239048"]]);
|
|
1941
1960
|
//#endregion
|
|
1942
1961
|
//#region src/utils/unwrapParagraph.ts
|
|
1943
|
-
function
|
|
1962
|
+
function Vi(e) {
|
|
1944
1963
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
1945
1964
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
1946
1965
|
}
|
|
1947
1966
|
//#endregion
|
|
1948
1967
|
//#region src/components/blocks/TitleBlock.vue
|
|
1949
|
-
var
|
|
1968
|
+
var Hi = /* @__PURE__ */ d({
|
|
1950
1969
|
__name: "TitleBlock",
|
|
1951
1970
|
props: {
|
|
1952
1971
|
block: {},
|
|
1953
1972
|
viewport: {}
|
|
1954
1973
|
},
|
|
1955
1974
|
setup(e) {
|
|
1956
|
-
let t = e, n = L(() => import("./TitleEditor-
|
|
1975
|
+
let t = e, n = L(() => import("./TitleEditor-laILWfKh.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = bi(() => t.block.content), d = b(() => {
|
|
1957
1976
|
let e = {
|
|
1958
|
-
fontSize: `${
|
|
1977
|
+
fontSize: `${ve[t.block.level]}px`,
|
|
1959
1978
|
textAlign: t.block.textAlign
|
|
1960
1979
|
};
|
|
1961
1980
|
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(() =>
|
|
1981
|
+
}), f = b(() => `h${t.block.level}`), p = b(() => Vi(o.value));
|
|
1963
1982
|
return (t, o) => (s(), x("div", {
|
|
1964
1983
|
ref_key: "blockRef",
|
|
1965
1984
|
ref: i,
|
|
@@ -1985,16 +2004,16 @@ var Li = /* @__PURE__ */ d({
|
|
|
1985
2004
|
});
|
|
1986
2005
|
//#endregion
|
|
1987
2006
|
//#region src/utils/sectionColumnDrop.ts
|
|
1988
|
-
function
|
|
2007
|
+
function Ui(e) {
|
|
1989
2008
|
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
1990
2009
|
}
|
|
1991
2010
|
//#endregion
|
|
1992
2011
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1993
|
-
var
|
|
2012
|
+
var Wi = { class: "tpl:w-full" }, Gi = {
|
|
1994
2013
|
key: 0,
|
|
1995
2014
|
"data-testid": "section-drop-hint",
|
|
1996
2015
|
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
|
-
},
|
|
2016
|
+
}, Ki = /* @__PURE__ */ d({
|
|
1998
2017
|
__name: "SectionBlock",
|
|
1999
2018
|
props: {
|
|
2000
2019
|
block: {},
|
|
@@ -2002,13 +2021,13 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2002
2021
|
},
|
|
2003
2022
|
setup(e) {
|
|
2004
2023
|
let t = {
|
|
2005
|
-
title:
|
|
2006
|
-
paragraph:
|
|
2007
|
-
image:
|
|
2008
|
-
button:
|
|
2009
|
-
divider:
|
|
2010
|
-
custom:
|
|
2011
|
-
}, a = e, { t: o } =
|
|
2024
|
+
title: Hi,
|
|
2025
|
+
paragraph: Si,
|
|
2026
|
+
image: li,
|
|
2027
|
+
button: pr,
|
|
2028
|
+
divider: Wr,
|
|
2029
|
+
custom: Hr
|
|
2030
|
+
}, 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
2031
|
function _(e) {
|
|
2013
2032
|
let t = p.savedBlocks;
|
|
2014
2033
|
if (t?.isPicking.value) {
|
|
@@ -2043,7 +2062,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2043
2062
|
r[e] = n, c.updateBlock(a.block.id, { children: r });
|
|
2044
2063
|
}
|
|
2045
2064
|
function A(e) {
|
|
2046
|
-
return
|
|
2065
|
+
return wi(e, d, t);
|
|
2047
2066
|
}
|
|
2048
2067
|
function j(e, t) {
|
|
2049
2068
|
e.type === "custom" && c.updateBlock(e.id, {
|
|
@@ -2051,7 +2070,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2051
2070
|
dataSourceFetched: t.dataSourceFetched
|
|
2052
2071
|
});
|
|
2053
2072
|
}
|
|
2054
|
-
return (t, n) => (s(), x("div",
|
|
2073
|
+
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
2074
|
key: n,
|
|
2056
2075
|
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
2076
|
style: D({ width: w.value ? "100%" : y.value[n] })
|
|
@@ -2060,7 +2079,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2060
2079
|
group: {
|
|
2061
2080
|
name: "blocks",
|
|
2062
2081
|
pull: !0,
|
|
2063
|
-
put: (e, t, n) => h(
|
|
2082
|
+
put: (e, t, n) => h(Ui)(n)
|
|
2064
2083
|
},
|
|
2065
2084
|
animation: 150,
|
|
2066
2085
|
"ghost-class": "tpl-ghost",
|
|
@@ -2073,7 +2092,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2073
2092
|
class: "tpl:min-h-[60px]",
|
|
2074
2093
|
"onUpdate:modelValue": (e) => E(n, e)
|
|
2075
2094
|
}, {
|
|
2076
|
-
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(
|
|
2095
|
+
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(Bi, {
|
|
2077
2096
|
block: t,
|
|
2078
2097
|
"is-selected": h(c).state.selectedBlockId === t.id,
|
|
2079
2098
|
viewport: e.viewport,
|
|
@@ -2105,13 +2124,13 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2105
2124
|
"model-value",
|
|
2106
2125
|
"group",
|
|
2107
2126
|
"onUpdate:modelValue"
|
|
2108
|
-
]), T(n).length === 0 ? (s(), x("div",
|
|
2127
|
+
]), T(n).length === 0 ? (s(), x("div", Gi, [k("span", null, F(h(o).section.dropHere), 1)])) : S("", !0)], 6))), 128))], 2)]));
|
|
2109
2128
|
}
|
|
2110
|
-
}),
|
|
2129
|
+
}), qi = [
|
|
2111
2130
|
"width",
|
|
2112
2131
|
"height",
|
|
2113
2132
|
"fill"
|
|
2114
|
-
],
|
|
2133
|
+
], Ji = ["d"], Yi = /* @__PURE__ */ d({
|
|
2115
2134
|
__name: "SocialIconSvg",
|
|
2116
2135
|
props: {
|
|
2117
2136
|
platform: {},
|
|
@@ -2119,7 +2138,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2119
2138
|
iconSize: {}
|
|
2120
2139
|
},
|
|
2121
2140
|
setup(e) {
|
|
2122
|
-
let t = e, n = b(() =>
|
|
2141
|
+
let t = e, n = b(() => Ve[t.platform]), r = b(() => Ue[t.iconSize]), i = b(() => {
|
|
2123
2142
|
let e = {
|
|
2124
2143
|
display: "inline-flex",
|
|
2125
2144
|
alignItems: "center",
|
|
@@ -2163,25 +2182,25 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2163
2182
|
viewBox: "0 0 24 24",
|
|
2164
2183
|
fill: o.value,
|
|
2165
2184
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2166
|
-
}, [k("path", { d: n.value.path }, null, 8,
|
|
2185
|
+
}, [k("path", { d: n.value.path }, null, 8, Ji)], 8, qi))], 4));
|
|
2167
2186
|
}
|
|
2168
|
-
}),
|
|
2187
|
+
}), Xi = { class: "tpl:w-full" }, Zi = ["href"], Qi = {
|
|
2169
2188
|
key: 1,
|
|
2170
2189
|
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
|
-
},
|
|
2190
|
+
}, $i = /* @__PURE__ */ d({
|
|
2172
2191
|
__name: "SocialIconsBlock",
|
|
2173
2192
|
props: {
|
|
2174
2193
|
block: {},
|
|
2175
2194
|
viewport: {}
|
|
2176
2195
|
},
|
|
2177
2196
|
setup(e) {
|
|
2178
|
-
let t = e, { t: n } =
|
|
2197
|
+
let t = e, { t: n } = J(), i = b(() => ({
|
|
2179
2198
|
display: "flex",
|
|
2180
2199
|
flexWrap: "wrap",
|
|
2181
2200
|
gap: `${t.block.spacing}px`,
|
|
2182
2201
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
2183
2202
|
})), a = b(() => t.block.icons.length > 0);
|
|
2184
|
-
return (t, o) => (s(), x("div",
|
|
2203
|
+
return (t, o) => (s(), x("div", Xi, [a.value ? (s(), x("div", {
|
|
2185
2204
|
key: 0,
|
|
2186
2205
|
style: D(i.value)
|
|
2187
2206
|
}, [(s(!0), x(P, null, r(e.block.icons, (t) => (s(), x("a", {
|
|
@@ -2189,7 +2208,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2189
2208
|
href: t.url || "#",
|
|
2190
2209
|
class: "tpl:cursor-default",
|
|
2191
2210
|
onClick: o[0] ||= E(() => {}, ["prevent"])
|
|
2192
|
-
}, [g(
|
|
2211
|
+
}, [g(Yi, {
|
|
2193
2212
|
platform: t.platform,
|
|
2194
2213
|
"icon-style": e.block.iconStyle,
|
|
2195
2214
|
"icon-size": e.block.iconSize
|
|
@@ -2197,44 +2216,44 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2197
2216
|
"platform",
|
|
2198
2217
|
"icon-style",
|
|
2199
2218
|
"icon-size"
|
|
2200
|
-
])], 8,
|
|
2219
|
+
])], 8, Zi))), 128))], 4)) : (s(), x("div", Qi, [g(h(qt), { size: 16 }), k("span", null, F(h(n).social.addIcons), 1)]))]));
|
|
2201
2220
|
}
|
|
2202
|
-
}),
|
|
2221
|
+
}), ea = { class: "tpl:w-full" }, ta = {
|
|
2203
2222
|
key: 0,
|
|
2204
2223
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
2205
2224
|
style: {
|
|
2206
2225
|
"background-color": "var(--tpl-bg-hover)",
|
|
2207
2226
|
color: "var(--tpl-text-dim)"
|
|
2208
2227
|
}
|
|
2209
|
-
},
|
|
2228
|
+
}, na = /* @__PURE__ */ d({
|
|
2210
2229
|
__name: "SpacerBlock",
|
|
2211
2230
|
props: {
|
|
2212
2231
|
block: {},
|
|
2213
2232
|
viewport: {}
|
|
2214
2233
|
},
|
|
2215
2234
|
setup(e) {
|
|
2216
|
-
let t = e, n =
|
|
2235
|
+
let t = e, n = Qe(q, "SpacerBlock"), r = b(() => ({
|
|
2217
2236
|
height: `${t.block.height}px`,
|
|
2218
2237
|
minHeight: `${t.block.height}px`,
|
|
2219
2238
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
2220
2239
|
}));
|
|
2221
|
-
return (t, i) => (s(), x("div",
|
|
2240
|
+
return (t, i) => (s(), x("div", ea, [k("div", {
|
|
2222
2241
|
style: D(r.value),
|
|
2223
2242
|
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",
|
|
2243
|
+
}, [h(n).state.previewMode ? S("", !0) : (s(), x("span", ta, F(e.block.height) + "px ", 1))], 6)]));
|
|
2225
2244
|
}
|
|
2226
|
-
}),
|
|
2245
|
+
}), ra = { class: "tpl:w-full" }, ia = { key: 0 }, aa = [
|
|
2227
2246
|
"aria-label",
|
|
2228
2247
|
"data-placeholder",
|
|
2229
2248
|
"onBlur"
|
|
2230
|
-
],
|
|
2249
|
+
], oa = [
|
|
2231
2250
|
"aria-label",
|
|
2232
2251
|
"data-placeholder",
|
|
2233
2252
|
"onBlur"
|
|
2234
|
-
],
|
|
2253
|
+
], sa = {
|
|
2235
2254
|
key: 1,
|
|
2236
2255
|
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
|
-
},
|
|
2256
|
+
}, ca = /*#__PURE__*/ pn(/* @__PURE__ */ d({
|
|
2238
2257
|
__name: "TableBlock",
|
|
2239
2258
|
props: {
|
|
2240
2259
|
block: {},
|
|
@@ -2248,7 +2267,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2248
2267
|
updated(e, t) {
|
|
2249
2268
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
2250
2269
|
}
|
|
2251
|
-
}, n = e, { t: i } =
|
|
2270
|
+
}, n = e, { t: i } = J(), a = Qe(q, "TableBlock"), o = b(() => n.block.rows.length > 0), c = b(() => {
|
|
2252
2271
|
let e = {
|
|
2253
2272
|
width: "100%",
|
|
2254
2273
|
borderCollapse: "collapse",
|
|
@@ -2279,11 +2298,11 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2279
2298
|
} : n);
|
|
2280
2299
|
a.updateBlock(n.block.id, { rows: o });
|
|
2281
2300
|
}
|
|
2282
|
-
return (e, n) => (s(), x("div",
|
|
2301
|
+
return (e, n) => (s(), x("div", ra, [o.value ? (s(), x("table", {
|
|
2283
2302
|
key: 0,
|
|
2284
2303
|
style: D(c.value),
|
|
2285
2304
|
class: "tpl-table-editable"
|
|
2286
|
-
}, [d.value ? (s(), x("thead",
|
|
2305
|
+
}, [d.value ? (s(), x("thead", ia, [k("tr", null, [(s(!0), x(P, null, r(d.value.cells, (e) => f((s(), x("th", {
|
|
2287
2306
|
key: e.id,
|
|
2288
2307
|
style: D(u.value),
|
|
2289
2308
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2292,7 +2311,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2292
2311
|
onBlur: (t) => v(d.value.id, e.id, t),
|
|
2293
2312
|
onKeydown: n[0] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2294
2313
|
onClick: E(m, ["stop"])
|
|
2295
|
-
}, null, 44,
|
|
2314
|
+
}, 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
2315
|
key: r.id,
|
|
2297
2316
|
style: D(l.value),
|
|
2298
2317
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2301,9 +2320,9 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2301
2320
|
onBlur: (t) => v(e.id, r.id, t),
|
|
2302
2321
|
onKeydown: n[1] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2303
2322
|
onClick: E(m, ["stop"])
|
|
2304
|
-
}, null, 44,
|
|
2323
|
+
}, 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
2324
|
}
|
|
2306
|
-
}), [["__scopeId", "data-v-963ac422"]]),
|
|
2325
|
+
}), [["__scopeId", "data-v-963ac422"]]), la = /* @__PURE__ */ d({
|
|
2307
2326
|
__name: "VideoPlayButton",
|
|
2308
2327
|
props: { hoverEffect: {
|
|
2309
2328
|
type: Boolean,
|
|
@@ -2321,7 +2340,7 @@ var zi = { class: "tpl:w-full" }, Bi = {
|
|
|
2321
2340
|
});
|
|
2322
2341
|
//#endregion
|
|
2323
2342
|
//#region src/utils/videoThumbnail.ts
|
|
2324
|
-
function
|
|
2343
|
+
function ua(e) {
|
|
2325
2344
|
if (!e) return {
|
|
2326
2345
|
platform: "unknown",
|
|
2327
2346
|
videoId: null,
|
|
@@ -2353,25 +2372,25 @@ function aa(e) {
|
|
|
2353
2372
|
thumbnailUrl: null
|
|
2354
2373
|
};
|
|
2355
2374
|
}
|
|
2356
|
-
function
|
|
2357
|
-
return t ||
|
|
2375
|
+
function da(e, t) {
|
|
2376
|
+
return t || ua(e).thumbnailUrl;
|
|
2358
2377
|
}
|
|
2359
2378
|
//#endregion
|
|
2360
2379
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2361
|
-
var
|
|
2380
|
+
var fa = ["src", "alt"], pa = {
|
|
2362
2381
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
2363
2382
|
style: { opacity: "0.7" }
|
|
2364
|
-
},
|
|
2383
|
+
}, ma = ["href"], ha = ["src", "alt"], ga = ["src", "alt"], _a = {
|
|
2365
2384
|
key: 3,
|
|
2366
2385
|
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
|
-
},
|
|
2386
|
+
}, va = /* @__PURE__ */ d({
|
|
2368
2387
|
__name: "VideoBlock",
|
|
2369
2388
|
props: {
|
|
2370
2389
|
block: {},
|
|
2371
2390
|
viewport: {}
|
|
2372
2391
|
},
|
|
2373
2392
|
setup(e) {
|
|
2374
|
-
let t = e, { t: n } =
|
|
2393
|
+
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
2394
|
let e = t.block.align;
|
|
2376
2395
|
return {
|
|
2377
2396
|
maxWidth: "100%",
|
|
@@ -2381,7 +2400,7 @@ var sa = ["src", "alt"], ca = {
|
|
|
2381
2400
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
2382
2401
|
marginRight: e === "center" ? "auto" : void 0
|
|
2383
2402
|
};
|
|
2384
|
-
}), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() =>
|
|
2403
|
+
}), 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
2404
|
return (t, r) => (s(), x("div", {
|
|
2386
2405
|
class: "tpl:w-full",
|
|
2387
2406
|
style: D(l.value)
|
|
@@ -2394,16 +2413,16 @@ var sa = ["src", "alt"], ca = {
|
|
|
2394
2413
|
src: h(o),
|
|
2395
2414
|
alt: e.block.alt,
|
|
2396
2415
|
style: D(d.value)
|
|
2397
|
-
}, null, 12,
|
|
2416
|
+
}, null, 12, fa), g(la)], 4)) : i.value ? (s(), x("div", {
|
|
2398
2417
|
key: 1,
|
|
2399
2418
|
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
2419
|
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
|
|
2401
|
-
}, [g(h(
|
|
2420
|
+
}, [g(h(an), {
|
|
2402
2421
|
size: 36,
|
|
2403
2422
|
"stroke-width": 1.5,
|
|
2404
2423
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
2405
2424
|
style: { opacity: "0.5" }
|
|
2406
|
-
}), k("span",
|
|
2425
|
+
}), 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
2426
|
key: 0,
|
|
2408
2427
|
href: e.block.url,
|
|
2409
2428
|
target: "_blank",
|
|
@@ -2416,7 +2435,7 @@ var sa = ["src", "alt"], ca = {
|
|
|
2416
2435
|
src: c.value,
|
|
2417
2436
|
alt: e.block.alt,
|
|
2418
2437
|
style: D(d.value)
|
|
2419
|
-
}, null, 12,
|
|
2438
|
+
}, null, 12, ha), g(la, { "hover-effect": "" })], 12, ma)) : (s(), x("div", {
|
|
2420
2439
|
key: 1,
|
|
2421
2440
|
class: "tpl:relative tpl:inline-block",
|
|
2422
2441
|
style: D(u.value)
|
|
@@ -2425,54 +2444,54 @@ var sa = ["src", "alt"], ca = {
|
|
|
2425
2444
|
src: c.value,
|
|
2426
2445
|
alt: e.block.alt,
|
|
2427
2446
|
style: D(d.value)
|
|
2428
|
-
}, null, 12,
|
|
2447
|
+
}, null, 12, ga), g(la)], 4))], 64)) : (s(), x("div", _a, [g(h(an), {
|
|
2429
2448
|
size: 40,
|
|
2430
2449
|
"stroke-width": 1.5,
|
|
2431
2450
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
2432
2451
|
}), k("span", null, F(h(n).video.addVideo), 1)]))], 4));
|
|
2433
2452
|
}
|
|
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-
|
|
2453
|
+
}), ya = {
|
|
2454
|
+
section: Ki,
|
|
2455
|
+
title: Hi,
|
|
2456
|
+
paragraph: Si,
|
|
2457
|
+
image: li,
|
|
2458
|
+
button: pr,
|
|
2459
|
+
divider: Wr,
|
|
2460
|
+
video: va,
|
|
2461
|
+
social: $i,
|
|
2462
|
+
menu: pi,
|
|
2463
|
+
table: ca,
|
|
2464
|
+
spacer: na,
|
|
2465
|
+
html: Xr,
|
|
2466
|
+
countdown: L(() => import("./CountdownBlock-sVDjKkRw.js"))
|
|
2448
2467
|
};
|
|
2449
|
-
function
|
|
2450
|
-
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } =
|
|
2468
|
+
function ba(e) {
|
|
2469
|
+
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
2470
|
title: { textAlign: "right" },
|
|
2452
2471
|
table: { textAlign: "right" }
|
|
2453
2472
|
} : {}), r.blockDefaults ?? {}));
|
|
2454
2473
|
n.setUiTheme(r.uiTheme ?? "auto");
|
|
2455
|
-
let { resolvedTheme: f } =
|
|
2474
|
+
let { resolvedTheme: f } = kn(b(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: h } = jn({
|
|
2456
2475
|
themeOverrides: p,
|
|
2457
2476
|
resolvedTheme: f,
|
|
2458
2477
|
extraStyles: () => ({
|
|
2459
2478
|
"--tpl-drop-text": `"${i.canvas.dropHere}"`,
|
|
2460
2479
|
...e.themeExtraStyles?.()
|
|
2461
2480
|
})
|
|
2462
|
-
}), g =
|
|
2481
|
+
}), g = Ie({
|
|
2463
2482
|
content: n.content,
|
|
2464
2483
|
setContent: (e, t) => n.setContent(e, t),
|
|
2465
2484
|
...e.historyOptions
|
|
2466
2485
|
});
|
|
2467
|
-
|
|
2468
|
-
let _ =
|
|
2486
|
+
Be(n, g);
|
|
2487
|
+
let _ = Ge({
|
|
2469
2488
|
addBlock: n.addBlock,
|
|
2470
2489
|
removeBlock: n.removeBlock,
|
|
2471
2490
|
updateBlock: n.updateBlock,
|
|
2472
2491
|
selectBlock: n.selectBlock,
|
|
2473
2492
|
findBlockLocation: n.findBlockLocation,
|
|
2474
2493
|
blockDefaults: () => d.value
|
|
2475
|
-
}), v =
|
|
2494
|
+
}), v = Le(n), x = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? We({
|
|
2476
2495
|
content: n.content,
|
|
2477
2496
|
isDirty: () => n.state.isDirty,
|
|
2478
2497
|
...e.autoSaveOptions
|
|
@@ -2480,30 +2499,30 @@ function ha(e) {
|
|
|
2480
2499
|
x && (S = t(g.isNavigating, (e) => {
|
|
2481
2500
|
e ? x.pause() : x.resume();
|
|
2482
2501
|
}));
|
|
2483
|
-
let C =
|
|
2502
|
+
let C = On(n, {
|
|
2484
2503
|
t: s,
|
|
2485
2504
|
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
|
-
|
|
2505
|
+
}, r.customBlocks ?? []), w = Ut(r.colors);
|
|
2506
|
+
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) {
|
|
2507
|
+
let e = Bn(w.presets, r.blockDefaults, r.templateDefaults);
|
|
2508
|
+
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.`);
|
|
2509
|
+
}
|
|
2510
|
+
let T = Gt(r.templateSettings);
|
|
2511
|
+
for (let e of T.unknown) Y.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Kt.join(", ")}) — skipping it.`);
|
|
2512
|
+
let E = Mn();
|
|
2513
|
+
Ln(E, ya);
|
|
2495
2514
|
let D = /* @__PURE__ */ new Set();
|
|
2496
2515
|
function O(e) {
|
|
2497
2516
|
for (let t of e) {
|
|
2498
|
-
E.registerCustom(t,
|
|
2499
|
-
for (let e of
|
|
2517
|
+
E.registerCustom(t, Hr);
|
|
2518
|
+
for (let e of sr(t, w)) D.has(e.id) || (D.add(e.id), Y.warn(e.message));
|
|
2500
2519
|
}
|
|
2501
2520
|
}
|
|
2502
2521
|
r.customBlocks?.length && O(r.customBlocks);
|
|
2503
|
-
let k =
|
|
2522
|
+
let k = yn();
|
|
2504
2523
|
if (o() && m(k.dispose), e.containerEl) {
|
|
2505
2524
|
let t = e.containerEl;
|
|
2506
|
-
|
|
2525
|
+
U(document, "pointerdown", (e) => {
|
|
2507
2526
|
let n = t.value;
|
|
2508
2527
|
n && (e.composedPath?.() ?? []).includes(n) && k.claim();
|
|
2509
2528
|
}, { capture: !0 });
|
|
@@ -2517,7 +2536,7 @@ function ha(e) {
|
|
|
2517
2536
|
x?.flush();
|
|
2518
2537
|
}
|
|
2519
2538
|
function j(t) {
|
|
2520
|
-
k.isActive() &&
|
|
2539
|
+
k.isActive() && lr(t, {
|
|
2521
2540
|
history: g,
|
|
2522
2541
|
selectBlock: (e) => n.selectBlock(e),
|
|
2523
2542
|
getSelectedBlockId: () => n.state.selectedBlockId,
|
|
@@ -2529,38 +2548,41 @@ function ha(e) {
|
|
|
2529
2548
|
onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
|
|
2530
2549
|
});
|
|
2531
2550
|
}
|
|
2532
|
-
|
|
2551
|
+
U(document, "keydown", j);
|
|
2533
2552
|
let M = l(null);
|
|
2534
|
-
c(
|
|
2535
|
-
let N =
|
|
2553
|
+
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));
|
|
2554
|
+
let N = be(r.mergeTags?.syntax), P = y(r.mergeTags?.tags ?? []);
|
|
2536
2555
|
function F(e) {
|
|
2537
2556
|
if (!Array.isArray(e)) {
|
|
2538
|
-
|
|
2557
|
+
Y.warn(`setMergeTags() expects an array of merge tags, received ${typeof e} — ignoring.`);
|
|
2539
2558
|
return;
|
|
2540
2559
|
}
|
|
2541
2560
|
P.value = e;
|
|
2542
2561
|
}
|
|
2543
|
-
c(
|
|
2544
|
-
let I = l(
|
|
2545
|
-
c(
|
|
2546
|
-
let L =
|
|
2562
|
+
c(G, P), c(ft, N), c(pt, r.mergeTags?.onRequest ?? null), c(Ot, r.mergeTags?.autocomplete !== !1), c(dt, r.mergeTags?.showRawValue !== !1);
|
|
2563
|
+
let I = l(Me(r.mergeTags?.tags ?? []));
|
|
2564
|
+
c(ut, I);
|
|
2565
|
+
let L = xn({
|
|
2547
2566
|
resolvePreview: r.resolvePreview,
|
|
2548
|
-
getContent: () =>
|
|
2567
|
+
getContent: () => {
|
|
2568
|
+
let e = n.content.value;
|
|
2569
|
+
return r.layout && n.state.previewMode ? he(r.layout, e) : e;
|
|
2570
|
+
},
|
|
2549
2571
|
isActive: () => n.state.previewMode
|
|
2550
2572
|
});
|
|
2551
|
-
c(
|
|
2573
|
+
c(gt, L), c(at, r.resolvePreview);
|
|
2552
2574
|
let R = b(() => !(n.state.previewMode && L.isConfigured));
|
|
2553
|
-
c(
|
|
2554
|
-
let z =
|
|
2555
|
-
c(
|
|
2556
|
-
let B =
|
|
2575
|
+
c(Ft, R);
|
|
2576
|
+
let z = wn();
|
|
2577
|
+
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);
|
|
2578
|
+
let B = En(r.lint) ? null : Dn({
|
|
2557
2579
|
content: n.content,
|
|
2558
2580
|
options: r.lint ?? {},
|
|
2559
2581
|
updateBlock: n.updateBlock,
|
|
2560
2582
|
updateSettings: n.updateSettings,
|
|
2561
2583
|
removeBlock: n.removeBlock
|
|
2562
2584
|
});
|
|
2563
|
-
c(
|
|
2585
|
+
c(ct, B);
|
|
2564
2586
|
function V() {
|
|
2565
2587
|
S?.(), B?.destroy(), x?.destroy(), g.destroy();
|
|
2566
2588
|
}
|
|
@@ -2587,6 +2609,6 @@ function ha(e) {
|
|
|
2587
2609
|
};
|
|
2588
2610
|
}
|
|
2589
2611
|
//#endregion
|
|
2590
|
-
export {
|
|
2612
|
+
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
2613
|
|
|
2592
|
-
//# sourceMappingURL=useEditorCore-
|
|
2614
|
+
//# sourceMappingURL=useEditorCore-DZmtKwJh.js.map
|