@templatical/editor 0.40.0 → 0.42.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-a8TPBAl2.js → AiChatSidebar-DqSoJAXx.js} +1 -1
- package/dist/{AiFeatureMenu-CbgDjLqk.js → AiFeatureMenu-CoBvE72q.js} +1 -1
- package/dist/{BlockPreviewCanvas-XNV83YGg.js → BlockPreviewCanvas-W6-MRpWz.js} +33 -33
- package/dist/{CloudHeaderExtras-C-tbLyfE.js → CloudHeaderExtras-AbsNuL9T.js} +1 -1
- package/dist/{CloudPanels-DnWDrgnQ.js → CloudPanels-BNL6rSeB.js} +2 -2
- package/dist/{CollaboratorBar-DUmeCkyD.js → CollaboratorBar-DlZ-wOL_.js} +1 -1
- package/dist/{CountdownToolbar-DkC-qSgq.js → CountdownToolbar-Bnq25sR-.js} +3 -3
- package/dist/{DesignReferenceSidebar-OoiYJAKS.js → DesignReferenceSidebar-Cl5eE8Kn.js} +1 -1
- package/dist/{LogicTagInsertButton-BimKobaG.js → LogicTagInsertButton-SI6irEtn.js} +243 -219
- 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-DqpVzhy7.js → MergeTagInput-BMQGNh1k.js} +1 -1
- package/dist/{MergeTagModeToggle-BkIiAgpQ.js → MergeTagModeToggle-Cm9s-w6o.js} +1 -1
- package/dist/{ParagraphEditor-D67Cqh-T.js → ParagraphEditor-CnBPQCVo.js} +19 -19
- package/dist/{RestoreVersionDialog-BaKDuPCX.js → RestoreVersionDialog-B13whpxH.js} +1 -1
- package/dist/{RichTextEditorContent-AEtfKvLz.js → RichTextEditorContent-DOvhgc-7.js} +3 -3
- package/dist/{SaveBlockDialog-BxkI52fN.js → SaveBlockDialog-b5yrQfoN.js} +5 -5
- package/dist/{SavedBlocksBrowserModal-C4_25Kvn.js → SavedBlocksBrowserModal-DpqK4Zqp.js} +4 -4
- package/dist/{SavedBlocksPanels-DQ0w9G1O.js → SavedBlocksPanels-C2wURIlT.js} +1 -1
- package/dist/{SavedBlocksPickBar-CtH-sfxh.js → SavedBlocksPickBar-Bx9_SXVA.js} +1 -1
- package/dist/{TemplateSettings-BD1WNP4C.js → TemplateSettings-Gn9ps1R6.js} +3 -3
- package/dist/{TestEmailModal-DZi58FU9.js → TestEmailModal-DaIaklcg.js} +5 -5
- package/dist/{TestEmailPanel-D__9Wvgz.js → TestEmailPanel-CKSvzakC.js} +1 -1
- package/dist/{TitleEditor-v5p89Djs.js → TitleEditor-C66Jk73n.js} +7 -7
- package/dist/{ToggleSwitch-CJfQ8u57.js → ToggleSwitch-BqttX9lY.js} +1 -1
- package/dist/{Toolbar-C7SjilzH.js → Toolbar-DVsKYQaC.js} +846 -553
- package/dist/{TplModal-B8uLyoXE.js → TplModal-DRQln7xH.js} +2 -2
- package/dist/{VersionHistoryPanels-DfNrRT6y.js → VersionHistoryPanels-Df5WjNah.js} +1 -1
- package/dist/{WrapperBlock-yGmKw0T-.js → WrapperBlock-B0cUORGz.js} +4 -4
- package/dist/{blockTypeIcons-B0Bq1WT1.js → blockTypeIcons-DfQNZnl7.js} +1 -1
- package/dist/bundle-stats.json +7 -7
- package/dist/{ca-Ckgw9yd0.js → ca--zGWn9AU.js} +14 -0
- package/dist/cdn/chunks/{AiChatSidebar-mKImUXi6.js → AiChatSidebar-DD17BwXn.js} +10 -10
- package/dist/cdn/chunks/{AiChatSidebar-mKImUXi6.js.map → AiChatSidebar-DD17BwXn.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-23HCL517.js → AiFeatureMenu-Di381OsL.js} +5 -5
- package/dist/cdn/chunks/{AiFeatureMenu-23HCL517.js.map → AiFeatureMenu-Di381OsL.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-DS1pUf5g.js → BlockIssueBadge-BR_N3nRh.js} +2 -2
- package/dist/cdn/chunks/{BlockIssueBadge-DS1pUf5g.js.map → BlockIssueBadge-BR_N3nRh.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-DObWyQfh.js → BlockPreviewCanvas-BXpcAiiY.js} +28 -28
- package/dist/cdn/chunks/{BlockPreviewCanvas-DObWyQfh.js.map → BlockPreviewCanvas-BXpcAiiY.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-DOB_uWpt.js → CloudHeaderExtras-BEM2eWfF.js} +3 -3
- package/dist/cdn/chunks/{CloudHeaderExtras-DOB_uWpt.js.map → CloudHeaderExtras-BEM2eWfF.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DcAn5QW7.js → CloudPanels-D7nK1-bm.js} +4 -4
- package/dist/cdn/chunks/{CloudPanels-DcAn5QW7.js.map → CloudPanels-D7nK1-bm.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-C0M8c2Vv.js → CollaboratorBar-D1SUwahw.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-C0M8c2Vv.js.map → CollaboratorBar-D1SUwahw.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-BtAGZfF6.js → CommentsPanel-qsLMAlJU.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-BtAGZfF6.js.map → CommentsPanel-qsLMAlJU.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-Ws07MXYj.js → CommentsSidebar-CTwEE-s_.js} +16 -16
- package/dist/cdn/chunks/{CommentsSidebar-Ws07MXYj.js.map → CommentsSidebar-CTwEE-s_.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-Bu93WiS8.js → CountdownToolbar-BJTcnIQ-.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-Bu93WiS8.js.map → CountdownToolbar-BJTcnIQ-.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-BlSdh5B7.js → DesignReferenceSidebar-Dl3eEGtS.js} +9 -9
- package/dist/cdn/chunks/{DesignReferenceSidebar-BlSdh5B7.js.map → DesignReferenceSidebar-Dl3eEGtS.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-CKkv9z9g.js → IssuesPanel-L9Gq_T8n.js} +8 -8
- package/dist/cdn/chunks/{IssuesPanel-CKkv9z9g.js.map → IssuesPanel-L9Gq_T8n.js.map} +1 -1
- package/dist/cdn/chunks/{LogicTagInsertButton-CHc1yZ9v.js → LogicTagInsertButton-3pIbVE9p.js} +250 -226
- package/dist/cdn/chunks/LogicTagInsertButton-3pIbVE9p.js.map +1 -0
- package/dist/cdn/chunks/{MediaEditModal-CZBZviu2.js → MediaEditModal-rTjYl-fV.js} +2 -2
- package/dist/cdn/chunks/{MediaEditModal-CZBZviu2.js.map → MediaEditModal-rTjYl-fV.js.map} +1 -1
- package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js → MediaPanels-DMXRQVqg.js} +2 -2
- package/dist/cdn/chunks/{MediaPanels-Bq5b-XJM.js.map → MediaPanels-DMXRQVqg.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagInput--qTYfCWk.js → MergeTagInput-JcBzr77a.js} +2 -2
- package/dist/cdn/chunks/{MergeTagInput--qTYfCWk.js.map → MergeTagInput-JcBzr77a.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-CdWIGo3Q.js → MergeTagModeToggle-CYmueXS2.js} +10 -10
- package/dist/cdn/chunks/{MergeTagModeToggle-CdWIGo3Q.js.map → MergeTagModeToggle-CYmueXS2.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BilbVtrG.js → ParagraphEditor-DbjFDnYm.js} +39 -39
- package/dist/cdn/chunks/{ParagraphEditor-BilbVtrG.js.map → ParagraphEditor-DbjFDnYm.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-Q-a44Vjv.js → RestoreVersionDialog-pANCWcce.js} +3 -3
- package/dist/cdn/chunks/{RestoreVersionDialog-Q-a44Vjv.js.map → RestoreVersionDialog-pANCWcce.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-Fzuu9pLP.js → RichTextEditorContent-BtM1or8A.js} +5 -5
- package/dist/cdn/chunks/{RichTextEditorContent-Fzuu9pLP.js.map → RichTextEditorContent-BtM1or8A.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-DeW_M6kh.js → SaveBlockDialog-CGM3mrGj.js} +38 -38
- package/dist/cdn/chunks/{SaveBlockDialog-DeW_M6kh.js.map → SaveBlockDialog-CGM3mrGj.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-BzQWibKG.js → SavedBlocksBrowserModal-C6Z8AvtD.js} +10 -10
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-BzQWibKG.js.map → SavedBlocksBrowserModal-C6Z8AvtD.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-Ce1RePjk.js → SavedBlocksPanels-DNwKmnhp.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-Ce1RePjk.js.map → SavedBlocksPanels-DNwKmnhp.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-DIDl6xfy.js → SavedBlocksPickBar-D2p1ufB4.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPickBar-DIDl6xfy.js.map → SavedBlocksPickBar-D2p1ufB4.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-d_Ppowsq.js → TemplateScoringPanel-BDB4RErx.js} +19 -19
- package/dist/cdn/chunks/{TemplateScoringPanel-d_Ppowsq.js.map → TemplateScoringPanel-BDB4RErx.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateSettings-Dr5OJ0Gi.js → TemplateSettings-DVN1t3yF.js} +9 -9
- package/dist/cdn/chunks/{TemplateSettings-Dr5OJ0Gi.js.map → TemplateSettings-DVN1t3yF.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-CWTmaJuT.js → TestEmailModal-DZBCmBtT.js} +7 -7
- package/dist/cdn/chunks/{TestEmailModal-CWTmaJuT.js.map → TestEmailModal-DZBCmBtT.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailPanel-BdYsVHXA.js → TestEmailPanel-1ibwYCUl.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-BdYsVHXA.js.map → TestEmailPanel-1ibwYCUl.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-pJeeZ-PX.js → TitleEditor-BRl2qKbd.js} +13 -13
- package/dist/cdn/chunks/{TitleEditor-pJeeZ-PX.js.map → TitleEditor-BRl2qKbd.js.map} +1 -1
- package/dist/cdn/chunks/{ToggleSwitch-0dGCYnRY.js → ToggleSwitch-niSL2uog.js} +2 -2
- package/dist/cdn/chunks/{ToggleSwitch-0dGCYnRY.js.map → ToggleSwitch-niSL2uog.js.map} +1 -1
- package/dist/cdn/chunks/{Toolbar-BsiHW9gY.js → Toolbar-tTl0P-rr.js} +814 -566
- package/dist/cdn/chunks/Toolbar-tTl0P-rr.js.map +1 -0
- package/dist/cdn/chunks/{TplModal-CEuGD7pt.js → TplModal-C_eIPykE.js} +3 -3
- package/dist/cdn/chunks/{TplModal-CEuGD7pt.js.map → TplModal-C_eIPykE.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-B3-hNu9c.js → VersionHistoryMenu-Ww57XAzj.js} +7 -7
- package/dist/cdn/chunks/{VersionHistoryMenu-B3-hNu9c.js.map → VersionHistoryMenu-Ww57XAzj.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-C1yck5gT.js → VersionHistoryPanels-w0EG_qVW.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-C1yck5gT.js.map → VersionHistoryPanels-w0EG_qVW.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-PzVQSBJE.js → VersionPreviewBanner-Bbd4C-AN.js} +2 -2
- package/dist/cdn/chunks/{VersionPreviewBanner-PzVQSBJE.js.map → VersionPreviewBanner-Bbd4C-AN.js.map} +1 -1
- package/dist/cdn/chunks/{WrapperBlock-DGkbmj06.js → WrapperBlock-Ch4KeMIb.js} +4 -4
- package/dist/cdn/chunks/{WrapperBlock-DGkbmj06.js.map → WrapperBlock-Ch4KeMIb.js.map} +1 -1
- package/dist/cdn/chunks/blockTypeIcons-CyPXFh7L.js +21 -0
- package/dist/cdn/chunks/{blockTypeIcons-raBjStuv.js.map → blockTypeIcons-CyPXFh7L.js.map} +1 -1
- package/dist/cdn/chunks/{ca-Ckgw9yd0.js → ca--zGWn9AU.js} +15 -1
- package/dist/cdn/chunks/ca--zGWn9AU.js.map +1 -0
- package/dist/cdn/chunks/{cloud-CIT4yPp4.js → cloud-De-eh1u6.js} +2 -2
- package/dist/cdn/chunks/{cloud-CIT4yPp4.js.map → cloud-De-eh1u6.js.map} +1 -1
- package/dist/cdn/chunks/{createCloudRuntime-COUxbPvd.js → createCloudRuntime-DsaUaWvr.js} +3 -3
- package/dist/cdn/chunks/{createCloudRuntime-COUxbPvd.js.map → createCloudRuntime-DsaUaWvr.js.map} +1 -1
- package/dist/cdn/chunks/{de-D4dweQw8.js → de-BRNLKcDl.js} +15 -1
- package/dist/cdn/chunks/de-BRNLKcDl.js.map +1 -0
- package/dist/cdn/chunks/{editor-modal-zxvWz8R6.js → editor-modal-BdI0iA5r.js} +89 -88
- package/dist/cdn/chunks/{editor-modal-zxvWz8R6.js.map → editor-modal-BdI0iA5r.js.map} +1 -1
- package/dist/cdn/chunks/en-Cs-nw16K.js +2 -0
- package/dist/{en-VE7R7NyL.js → cdn/chunks/en-JJjqHMjy.js} +16 -0
- package/dist/cdn/chunks/en-JJjqHMjy.js.map +1 -0
- package/dist/cdn/chunks/{es-B9OhP8H3.js → es-BIh8BxV9.js} +15 -1
- package/dist/cdn/chunks/es-BIh8BxV9.js.map +1 -0
- package/dist/cdn/chunks/{extensions-CafoGF65.js → extensions-DK_9-6Bd.js} +4 -4
- package/dist/cdn/chunks/{extensions-CafoGF65.js.map → extensions-DK_9-6Bd.js.map} +1 -1
- package/dist/{fr-wrXhIi00.js → cdn/chunks/fr-C5VUZogP.js} +16 -0
- package/dist/cdn/chunks/fr-C5VUZogP.js.map +1 -0
- package/dist/cdn/chunks/{icons-BKkJ-5xF.js → icons-Bad3WZ3G.js} +49 -8
- package/dist/cdn/chunks/icons-Bad3WZ3G.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-x5JYxaCW.js +639 -0
- package/dist/cdn/chunks/ja-x5JYxaCW.js.map +1 -0
- package/dist/cdn/chunks/{nl-DeFatKJe.js → nl-UXxFyXV6.js} +15 -1
- package/dist/cdn/chunks/{nl-DeFatKJe.js.map → nl-UXxFyXV6.js.map} +1 -1
- package/dist/cdn/chunks/{preRenderCustomBlocks-Dpj-_cOj.js → preRenderCustomBlocks-h4ZFBKbD.js} +2 -2
- package/dist/cdn/chunks/{preRenderCustomBlocks-Dpj-_cOj.js.map → preRenderCustomBlocks-h4ZFBKbD.js.map} +1 -1
- package/dist/cdn/chunks/{pt-BR-Bh1J8ey6.js → pt-BR-DHm3SP6W.js} +15 -1
- package/dist/cdn/chunks/pt-BR-DHm3SP6W.js.map +1 -0
- package/dist/cdn/chunks/{socialIcons-BvYNMn1G.js → socialIcons-ZOCwCCyn.js} +3 -3
- package/dist/cdn/chunks/{socialIcons-BvYNMn1G.js.map → socialIcons-ZOCwCCyn.js.map} +1 -1
- package/dist/cdn/chunks/{src-DveVYoWS.js → src-BR3I3gOW.js} +265 -224
- package/dist/cdn/chunks/src-BR3I3gOW.js.map +1 -0
- package/dist/cdn/chunks/{src-CbGCES0u.js → src-BxoLKnkl.js} +178 -165
- package/dist/cdn/chunks/src-BxoLKnkl.js.map +1 -0
- package/dist/cdn/chunks/{src-Cnc5E71L.js → src-fZSLjhjy.js} +12 -12
- package/dist/cdn/chunks/{src-Cnc5E71L.js.map → src-fZSLjhjy.js.map} +1 -1
- package/dist/cdn/chunks/{useEditorCore-CQraU2s_.js → useEditorCore-yd40TFKy.js} +467 -446
- package/dist/cdn/chunks/useEditorCore-yd40TFKy.js.map +1 -0
- package/dist/cdn/chunks/{useLogicTag-DF7-l66G.js → useLogicTag-J_i_hvZg.js} +2 -2
- package/dist/cdn/chunks/{useLogicTag-DF7-l66G.js.map → useLogicTag-J_i_hvZg.js.map} +1 -1
- package/dist/cdn/chunks/{useMergeTag-DbIHw4NG.js → useMergeTag-C5MyHYxJ.js} +2 -2
- package/dist/cdn/chunks/{useMergeTag-DbIHw4NG.js.map → useMergeTag-C5MyHYxJ.js.map} +1 -1
- package/dist/cdn/chunks/{usePopoverPosition-BJRvAb-h.js → usePopoverPosition-DGXjXKjM.js} +25 -12
- package/dist/cdn/chunks/usePopoverPosition-DGXjXKjM.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +64 -64
- package/dist/{cloud-DsqqUfzh.js → cloud-AO_X8T9g.js} +1 -1
- package/dist/{createCloudRuntime-iLflkYzP.js → createCloudRuntime-D641nhri.js} +2 -2
- package/dist/{de-D4dweQw8.js → de-BRNLKcDl.js} +14 -0
- package/dist/{dist-DbUZvK04.js → dist-iLUVPysa.js} +263 -222
- package/dist/{editor-modal-Czq1I8oC.js → editor-modal-qzmEVcIk.js} +3 -2
- package/dist/en-1tgLzB8q.js +2 -0
- package/dist/{cdn/chunks/en-VE7R7NyL.js → en-JJjqHMjy.js} +14 -2
- package/dist/{es-B9OhP8H3.js → es-BIh8BxV9.js} +14 -0
- package/dist/{extensions-DDhjuVKy.js → extensions-DoT2-_pz.js} +11 -11
- package/dist/{cdn/chunks/fr-wrXhIi00.js → fr-C5VUZogP.js} +14 -2
- package/dist/ja-DhlWUfke.js +92 -0
- package/dist/ja-x5JYxaCW.js +637 -0
- package/dist/{nl-DeFatKJe.js → nl-UXxFyXV6.js} +14 -0
- package/dist/{preRenderCustomBlocks-BBSqQgke.js → preRenderCustomBlocks-CTstI3Q-.js} +4 -4
- package/dist/{pt-BR-Bh1J8ey6.js → pt-BR-DHm3SP6W.js} +14 -0
- package/dist/{socialIcons-O7PZCW2P.js → socialIcons-CACVa6m_.js} +46 -46
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +109 -109
- package/dist/{useEditorCore-Dt_VWNqX.js → useEditorCore-LyNoGs0m.js} +902 -881
- package/dist/{useLogicTag-D9pvgxQR.js → useLogicTag-BaH8gey0.js} +1 -1
- package/dist/{useMergeTag-BaVFPdlq.js → useMergeTag-Cyad1yBE.js} +1 -1
- package/dist/{usePopoverPosition-DH7z3Ghm.js → usePopoverPosition-BYmd-lhR.js} +24 -11
- package/package.json +8 -8
- package/dist/cdn/chunks/LogicTagInsertButton-CHc1yZ9v.js.map +0 -1
- package/dist/cdn/chunks/Toolbar-BsiHW9gY.js.map +0 -1
- package/dist/cdn/chunks/blockTypeIcons-raBjStuv.js +0 -21
- package/dist/cdn/chunks/ca-Ckgw9yd0.js.map +0 -1
- package/dist/cdn/chunks/de-D4dweQw8.js.map +0 -1
- package/dist/cdn/chunks/en-BcQ9ovQu.js +0 -2
- package/dist/cdn/chunks/en-VE7R7NyL.js.map +0 -1
- package/dist/cdn/chunks/es-B9OhP8H3.js.map +0 -1
- package/dist/cdn/chunks/fr-wrXhIi00.js.map +0 -1
- package/dist/cdn/chunks/icons-BKkJ-5xF.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-Bh1J8ey6.js.map +0 -1
- package/dist/cdn/chunks/src-CbGCES0u.js.map +0 -1
- package/dist/cdn/chunks/src-DveVYoWS.js.map +0 -1
- package/dist/cdn/chunks/useEditorCore-CQraU2s_.js.map +0 -1
- package/dist/cdn/chunks/usePopoverPosition-BJRvAb-h.js.map +0 -1
- package/dist/en-DQqmtndQ.js +0 -2
|
@@ -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, F as V, G as
|
|
3
|
-
import { a as
|
|
4
|
-
import { _ as
|
|
5
|
-
import { a as
|
|
6
|
-
import { $ as
|
|
2
|
+
import { A as z, B, F as V, G as H, H as ee, I as te, J as ne, M as re, N as ie, O as ae, P as oe, R as se, T as ce, V as le, Y as ue, Z as de, _ as fe, _t as pe, a as me, b as he, d as ge, f as _e, g as ve, gt as ye, h as be, ht as xe, i as U, j as Se, k as Ce, l as we, m as Te, mt as Ee, n as De, o as Oe, p as ke, q as Ae, r as je, s as Me, u as Ne, ut as Pe, vt as W, z as Fe } from "./src-BR3I3gOW.js";
|
|
3
|
+
import { a as Ie, b as Le, g as Re, h as ze, i as Be, m as Ve, n as He, o as Ue, t as We, v as Ge, y as Ke } from "./socialIcons-ZOCwCCyn.js";
|
|
4
|
+
import { _ as qe, h as Je, v as Ye, y as Xe } from "./dist-BRZhN8qJ.js";
|
|
5
|
+
import { a as G, c as Ze, i as Qe } from "./dist-CXB2_kBa.js";
|
|
6
|
+
import { $ as $e, A as et, B as tt, C as nt, D as rt, E as it, F as K, G as at, H as ot, I as st, J as ct, K as lt, L as ut, M as dt, N as ft, O as q, P as pt, Q as J, R as mt, S as ht, T as gt, V as _t, X as vt, Y as yt, Z as bt, _ as xt, a as St, b as Ct, c as wt, d as Tt, f as Et, g as Y, h as Dt, j as Ot, k as kt, l as At, m as jt, n as Mt, o as Nt, p as Pt, q as Ft, r as It, s as Lt, v as Rt, w as zt, x as Bt, y as Vt, z as Ht } 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 {
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
8
|
+
import { t as X } from "./useI18n-CyO_Nmca.js";
|
|
9
|
+
import { t as Z } from "./logger-ByvdoAwq.js";
|
|
10
|
+
import { i as Ut, r as Wt, s as Gt, t as Kt } from "./usePopoverPosition-DGXjXKjM.js";
|
|
11
|
+
import { r as qt, t as Jt } from "./templateSettingsFields-YCFVBVYh.js";
|
|
12
|
+
import { Bt as Yt, Dt as Xt, Et as Zt, U as Qt, Vt as $t, Z as en, at as tn, d as nn, f as rn, gt as an, j as on, kt as sn, nt as cn, o as ln, pt as un, s as dn, y as fn, yt as pn } from "./icons-Bad3WZ3G.js";
|
|
13
|
+
import { t as mn } from "./LoadingTrack-_7DH_5aw.js";
|
|
14
|
+
import { t as hn } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
15
|
+
import { t as gn } from "./useEditorRoot-CshefZLP.js";
|
|
16
16
|
import "./useCloudI18n-CrjWbpbu.js";
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { t as
|
|
17
|
+
import { t as _n } from "./useMergeTag-C5MyHYxJ.js";
|
|
18
|
+
import { t as vn } from "./useLogicTag-J_i_hvZg.js";
|
|
19
|
+
import { t as yn } from "./useAliveFlag-DAlQLbM2.js";
|
|
20
20
|
//#region src/utils/activeEditorTracker.ts
|
|
21
|
-
var
|
|
22
|
-
function
|
|
23
|
-
let e = ++
|
|
24
|
-
return
|
|
21
|
+
var bn = /* @__PURE__ */ new Set(), Q = 0, xn = 0;
|
|
22
|
+
function Sn() {
|
|
23
|
+
let e = ++xn;
|
|
24
|
+
return bn.add(e), Q === 0 && (Q = e), {
|
|
25
25
|
id: e,
|
|
26
|
-
isActive: () =>
|
|
26
|
+
isActive: () => bn.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 (bn.delete(e), Q === e) {
|
|
32
|
+
let e = Array.from(bn);
|
|
33
33
|
Q = e[e.length - 1] ?? 0;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -37,8 +37,8 @@ function yn() {
|
|
|
37
37
|
}
|
|
38
38
|
//#endregion
|
|
39
39
|
//#region src/composables/usePreviewResolution.ts
|
|
40
|
-
var
|
|
41
|
-
function
|
|
40
|
+
var Cn = 500;
|
|
41
|
+
function wn(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 xn(e) {
|
|
|
49
49
|
let n = ++o;
|
|
50
50
|
i.value = !0;
|
|
51
51
|
let s = {
|
|
52
|
-
content:
|
|
52
|
+
content: ce(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 (!De(e)) {
|
|
59
59
|
a.value = !0;
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
@@ -75,7 +75,7 @@ function xn(e) {
|
|
|
75
75
|
}
|
|
76
76
|
s = setTimeout(() => {
|
|
77
77
|
s = null, u();
|
|
78
|
-
},
|
|
78
|
+
}, Cn);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
return t(() => [e.isActive(), e.getRecipient?.()], ([e]) => {
|
|
@@ -97,7 +97,7 @@ function xn(e) {
|
|
|
97
97
|
}
|
|
98
98
|
//#endregion
|
|
99
99
|
//#region src/composables/useImageUrlResolver.ts
|
|
100
|
-
function
|
|
100
|
+
function Tn(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 Sn(e) {
|
|
|
130
130
|
lookup: a
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
-
function
|
|
134
|
-
let r = n(
|
|
133
|
+
function En(e) {
|
|
134
|
+
let r = n(Bt, null), i = b(e);
|
|
135
135
|
if (!r) return i;
|
|
136
136
|
let a;
|
|
137
137
|
function s() {
|
|
@@ -160,7 +160,7 @@ function Cn(e) {
|
|
|
160
160
|
}
|
|
161
161
|
//#endregion
|
|
162
162
|
//#region src/composables/useMergeTagPicker.ts
|
|
163
|
-
function
|
|
163
|
+
function Dn() {
|
|
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 wn() {
|
|
|
191
191
|
}
|
|
192
192
|
//#endregion
|
|
193
193
|
//#region src/composables/useLogicTagPicker.ts
|
|
194
|
-
function
|
|
194
|
+
function On() {
|
|
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 Tn() {
|
|
|
222
222
|
}
|
|
223
223
|
//#endregion
|
|
224
224
|
//#region src/composables/useTemplateLint.ts
|
|
225
|
-
function
|
|
225
|
+
function kn(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 An(e) {
|
|
229
|
+
let n = l([]), r = l(!1), i = l(!1), a = y(null), o = kn(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-fZSLjhjy.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 = Xe(e.content, d, {
|
|
236
236
|
debounce: e.debounce ?? 500,
|
|
237
237
|
deep: !0
|
|
238
238
|
});
|
|
@@ -267,7 +267,7 @@ function Dn(e) {
|
|
|
267
267
|
}
|
|
268
268
|
//#endregion
|
|
269
269
|
//#region src/composables/useKeyboardReorder.ts
|
|
270
|
-
function
|
|
270
|
+
function jn(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 On(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 ? Ue(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 On(e, t, n = []) {
|
|
|
363
363
|
}
|
|
364
364
|
//#endregion
|
|
365
365
|
//#region src/composables/useUiTheme.ts
|
|
366
|
-
function
|
|
367
|
-
let t =
|
|
366
|
+
function Mn(e) {
|
|
367
|
+
let t = Ze("(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 Nn = {
|
|
373
373
|
bg: "--tpl-bg",
|
|
374
374
|
bgElevated: "--tpl-bg-elevated",
|
|
375
375
|
bgHover: "--tpl-bg-hover",
|
|
@@ -393,10 +393,10 @@ var An = {
|
|
|
393
393
|
dangerLight: "--tpl-danger-light",
|
|
394
394
|
canvasBg: "--tpl-canvas-bg"
|
|
395
395
|
};
|
|
396
|
-
function
|
|
396
|
+
function Pn({ 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(Nn)) {
|
|
400
400
|
let n = a[e];
|
|
401
401
|
n && (r[t] = n);
|
|
402
402
|
}
|
|
@@ -405,7 +405,7 @@ function jn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
405
405
|
}
|
|
406
406
|
//#endregion
|
|
407
407
|
//#region src/composables/useBlockRegistry.ts
|
|
408
|
-
function
|
|
408
|
+
function Fn() {
|
|
409
409
|
let e = y(/* @__PURE__ */ new Map());
|
|
410
410
|
function t(t, n) {
|
|
411
411
|
e.value.set(t, n), C(e);
|
|
@@ -445,7 +445,7 @@ function Mn() {
|
|
|
445
445
|
strictFilters: !1
|
|
446
446
|
}).parseAndRender(t.template, e.fieldValues);
|
|
447
447
|
} catch (t) {
|
|
448
|
-
return
|
|
448
|
+
return Z.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 Mn() {
|
|
|
463
463
|
}
|
|
464
464
|
//#endregion
|
|
465
465
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
466
|
-
function
|
|
466
|
+
function In(e, t) {
|
|
467
467
|
return b(() => {
|
|
468
|
-
let n =
|
|
468
|
+
let n = Ln(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,33 +477,33 @@ function Nn(e, t) {
|
|
|
477
477
|
return i;
|
|
478
478
|
});
|
|
479
479
|
}
|
|
480
|
-
function
|
|
480
|
+
function Ln(e) {
|
|
481
481
|
let t = /* @__PURE__ */ new Set();
|
|
482
|
-
return
|
|
482
|
+
return Rn(e, t), t;
|
|
483
483
|
}
|
|
484
|
-
function
|
|
484
|
+
function Rn(e, t) {
|
|
485
485
|
for (let n of e) {
|
|
486
|
-
if (
|
|
486
|
+
if (de(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
|
-
} else
|
|
493
|
+
for (let n of e) Rn(n, t);
|
|
494
|
+
} else Pe(n) && Rn(n.children, t);
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
497
|
//#endregion
|
|
498
498
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
499
|
-
var
|
|
499
|
+
var zn = [
|
|
500
500
|
{
|
|
501
501
|
type: "section",
|
|
502
|
-
createBlock:
|
|
502
|
+
createBlock: te
|
|
503
503
|
},
|
|
504
504
|
{
|
|
505
505
|
type: "title",
|
|
506
|
-
createBlock:
|
|
506
|
+
createBlock: le
|
|
507
507
|
},
|
|
508
508
|
{
|
|
509
509
|
type: "paragraph",
|
|
@@ -511,27 +511,27 @@ var In = [
|
|
|
511
511
|
},
|
|
512
512
|
{
|
|
513
513
|
type: "image",
|
|
514
|
-
createBlock:
|
|
514
|
+
createBlock: ie
|
|
515
515
|
},
|
|
516
516
|
{
|
|
517
517
|
type: "button",
|
|
518
|
-
createBlock:
|
|
518
|
+
createBlock: ae
|
|
519
519
|
},
|
|
520
520
|
{
|
|
521
521
|
type: "divider",
|
|
522
|
-
createBlock:
|
|
522
|
+
createBlock: Se
|
|
523
523
|
},
|
|
524
524
|
{
|
|
525
525
|
type: "video",
|
|
526
|
-
createBlock:
|
|
526
|
+
createBlock: ee
|
|
527
527
|
},
|
|
528
528
|
{
|
|
529
529
|
type: "social",
|
|
530
|
-
createBlock:
|
|
530
|
+
createBlock: se
|
|
531
531
|
},
|
|
532
532
|
{
|
|
533
533
|
type: "menu",
|
|
534
|
-
createBlock:
|
|
534
|
+
createBlock: oe
|
|
535
535
|
},
|
|
536
536
|
{
|
|
537
537
|
type: "table",
|
|
@@ -539,19 +539,19 @@ var In = [
|
|
|
539
539
|
},
|
|
540
540
|
{
|
|
541
541
|
type: "spacer",
|
|
542
|
-
createBlock:
|
|
542
|
+
createBlock: Fe
|
|
543
543
|
},
|
|
544
544
|
{
|
|
545
545
|
type: "html",
|
|
546
|
-
createBlock:
|
|
546
|
+
createBlock: re
|
|
547
547
|
},
|
|
548
548
|
{
|
|
549
549
|
type: "countdown",
|
|
550
|
-
createBlock:
|
|
550
|
+
createBlock: Ce
|
|
551
551
|
}
|
|
552
552
|
];
|
|
553
|
-
function
|
|
554
|
-
for (let n of
|
|
553
|
+
function Bn(e, t) {
|
|
554
|
+
for (let n of zn) {
|
|
555
555
|
let r = t[n.type];
|
|
556
556
|
r && e.registerBuiltIn(n.type, {
|
|
557
557
|
component: r,
|
|
@@ -561,33 +561,33 @@ function Ln(e, t) {
|
|
|
561
561
|
}
|
|
562
562
|
//#endregion
|
|
563
563
|
//#region src/utils/resolveHtmlBlockPreview.ts
|
|
564
|
-
function
|
|
564
|
+
function Vn(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 Hn(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 Un(e, t, n) {
|
|
573
|
+
let r = new Set(e.map((e) => Wt(e))), i = [], a = (e, t) => {
|
|
574
|
+
for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Wt(o)) && i.push(`${t}.${n}: ${o}`) : Hn(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(Ae)) {
|
|
577
577
|
let n = o?.[e];
|
|
578
578
|
a({
|
|
579
579
|
...t,
|
|
580
|
-
...
|
|
580
|
+
...Hn(n) ? n : {}
|
|
581
581
|
}, e);
|
|
582
582
|
}
|
|
583
583
|
return a({
|
|
584
|
-
...
|
|
584
|
+
...ne,
|
|
585
585
|
...n ?? {}
|
|
586
586
|
}, "template"), i;
|
|
587
587
|
}
|
|
588
588
|
//#endregion
|
|
589
589
|
//#region src/utils/localizedBlockDefaults.ts
|
|
590
|
-
function
|
|
590
|
+
function Wn(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 Vn(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 Gn = /* #__PURE__ */ Object.assign({
|
|
600
|
+
"./locales/ca.ts": () => import("./ca--zGWn9AU.js"),
|
|
601
|
+
"./locales/de.ts": () => import("./de-BRNLKcDl.js"),
|
|
602
|
+
"./locales/en.ts": () => import("./en-JJjqHMjy.js"),
|
|
603
|
+
"./locales/es.ts": () => import("./es-BIh8BxV9.js"),
|
|
604
|
+
"./locales/fr.ts": () => import("./fr-C5VUZogP.js"),
|
|
605
|
+
"./locales/ja.ts": () => import("./ja-x5JYxaCW.js"),
|
|
606
|
+
"./locales/nl.ts": () => import("./nl-UXxFyXV6.js"),
|
|
607
|
+
"./locales/pt-BR.ts": () => import("./pt-BR-DHm3SP6W.js")
|
|
608
|
+
}), Kn = /* #__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 qn(e) {
|
|
613
614
|
return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
|
|
614
615
|
}
|
|
615
|
-
var
|
|
616
|
-
function
|
|
616
|
+
var Jn = qn(Gn), Yn = qn(Kn);
|
|
617
|
+
function Xn(e) {
|
|
617
618
|
return e.trim().replace(/_/g, "-").toLowerCase();
|
|
618
619
|
}
|
|
619
|
-
function
|
|
620
|
-
let n =
|
|
621
|
-
return t.find((e) =>
|
|
620
|
+
function Zn(e, t) {
|
|
621
|
+
let n = Xn(e);
|
|
622
|
+
return t.find((e) => Xn(e) === n);
|
|
622
623
|
}
|
|
623
|
-
function
|
|
624
|
-
return
|
|
624
|
+
function Qn(e) {
|
|
625
|
+
return Xn(e).split("-")[0];
|
|
625
626
|
}
|
|
626
|
-
function
|
|
627
|
-
return
|
|
627
|
+
function $n(e, t) {
|
|
628
|
+
return Zn(e, t) ?? Zn(Qn(e), t);
|
|
628
629
|
}
|
|
629
|
-
function
|
|
630
|
-
return
|
|
630
|
+
function er(e, t) {
|
|
631
|
+
return $n(e, t) ?? "en";
|
|
631
632
|
}
|
|
632
|
-
async function
|
|
633
|
-
let t =
|
|
633
|
+
async function tr(e) {
|
|
634
|
+
let t = Gn[`./locales/${er(e, Jn)}.ts`];
|
|
634
635
|
return (await t()).default;
|
|
635
636
|
}
|
|
636
|
-
async function
|
|
637
|
-
let t =
|
|
637
|
+
async function nr(e) {
|
|
638
|
+
let t = Kn[`./locales/cloud/${er(e, Yn)}.ts`];
|
|
638
639
|
return (await t()).default;
|
|
639
640
|
}
|
|
640
|
-
function
|
|
641
|
-
return
|
|
641
|
+
function rr(e) {
|
|
642
|
+
return $n(e, Jn) !== void 0;
|
|
642
643
|
}
|
|
643
|
-
function
|
|
644
|
-
return
|
|
644
|
+
function ir(e) {
|
|
645
|
+
return $n(e, Yn) !== void 0;
|
|
645
646
|
}
|
|
646
|
-
function
|
|
647
|
-
return [...
|
|
647
|
+
function ar() {
|
|
648
|
+
return [...Jn];
|
|
648
649
|
}
|
|
649
|
-
function
|
|
650
|
-
return [...
|
|
650
|
+
function or() {
|
|
651
|
+
return [...Yn];
|
|
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
|
+
}, sr = new Map(Object.keys($).map((e) => [e.toLowerCase(), e]));
|
|
721
|
+
function cr(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 = sr.get(t);
|
|
715
724
|
if (n) return $[n];
|
|
716
|
-
let r =
|
|
725
|
+
let r = sr.get(Qn(t));
|
|
717
726
|
return r ? $[r] : $.en;
|
|
718
727
|
}
|
|
719
|
-
function
|
|
720
|
-
let t =
|
|
728
|
+
function lr(e) {
|
|
729
|
+
let t = cr(e);
|
|
721
730
|
return {
|
|
722
731
|
video: { alt: t.video },
|
|
723
732
|
countdown: {
|
|
@@ -731,9 +740,9 @@ function or(e) {
|
|
|
731
740
|
}
|
|
732
741
|
//#endregion
|
|
733
742
|
//#region src/utils/collectColorFieldIssues.ts
|
|
734
|
-
function
|
|
743
|
+
function ur(e, t) {
|
|
735
744
|
let n = [], r = (r, i) => {
|
|
736
|
-
let a =
|
|
745
|
+
let a = Ie(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 sr(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) => Wt(e)));
|
|
757
|
+
e !== "" && !t.has(Wt(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 sr(e, t) {
|
|
|
757
766
|
}
|
|
758
767
|
//#endregion
|
|
759
768
|
//#region src/utils/keyboardShortcuts.ts
|
|
760
|
-
function
|
|
769
|
+
function dr(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 cr(e) {
|
|
|
766
775
|
}
|
|
767
776
|
return !1;
|
|
768
777
|
}
|
|
769
|
-
function
|
|
778
|
+
function fr(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 (dr(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?.() && !dr(e)) {
|
|
781
790
|
if (e.key === "Escape") {
|
|
782
791
|
e.preventDefault(), t.onCancelPick?.();
|
|
783
792
|
return;
|
|
@@ -795,11 +804,57 @@ function lr(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() && !dr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
808
|
+
}
|
|
809
|
+
//#endregion
|
|
810
|
+
//#region src/utils/blockComponentResolver.ts
|
|
811
|
+
function pr(e) {
|
|
812
|
+
let t = { fontFamily: e.fontFamily };
|
|
813
|
+
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;
|
|
814
|
+
}
|
|
815
|
+
function mr(e, t, n) {
|
|
816
|
+
if (t) {
|
|
817
|
+
let n = t.getComponent(e);
|
|
818
|
+
if (n) return n;
|
|
819
|
+
}
|
|
820
|
+
return n[e.type] ?? null;
|
|
821
|
+
}
|
|
822
|
+
function hr(e) {
|
|
823
|
+
if (e.type === "wrapper") return {};
|
|
824
|
+
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
825
|
+
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
826
|
+
backgroundColor: n || "transparent"
|
|
827
|
+
};
|
|
828
|
+
if ((e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? xe.paragraphGap : xe.paragraphGap}px`), e.type === "section") {
|
|
829
|
+
let t = W(e.borderRadius);
|
|
830
|
+
t !== null && (r.borderRadius = t), Object.assign(r, gr(e.border));
|
|
831
|
+
}
|
|
832
|
+
return r;
|
|
833
|
+
}
|
|
834
|
+
function gr(e) {
|
|
835
|
+
let t = {};
|
|
836
|
+
for (let [n, r] of Object.entries(pe(e))) t[n.replace(/-(\w)/g, (e, t) => t.toUpperCase())] = r;
|
|
837
|
+
return t;
|
|
838
|
+
}
|
|
839
|
+
function _r(e) {
|
|
840
|
+
if (e.type !== "section" || !e.wrapper) return null;
|
|
841
|
+
let t = e.wrapper, n = {};
|
|
842
|
+
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`);
|
|
843
|
+
let r = W(t.borderRadius);
|
|
844
|
+
return r !== null && (n.borderRadius = r), n;
|
|
845
|
+
}
|
|
846
|
+
function vr(e) {
|
|
847
|
+
if (e.type !== "wrapper") return null;
|
|
848
|
+
let t = {};
|
|
849
|
+
if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
|
|
850
|
+
let n = e.styles.padding;
|
|
851
|
+
t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
|
|
852
|
+
}
|
|
853
|
+
return e.borderRadius && e.borderRadius > 0 && (t.borderRadius = `${e.borderRadius}px`), t;
|
|
799
854
|
}
|
|
800
855
|
//#endregion
|
|
801
856
|
//#region src/utils/mergeTagLabelSegments.ts
|
|
802
|
-
function
|
|
857
|
+
function yr(e, t, n, r = !1) {
|
|
803
858
|
if (!e) return [];
|
|
804
859
|
let i = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), a = [], o = 0, s;
|
|
805
860
|
for (; (s = i.exec(e)) !== null;) {
|
|
@@ -809,10 +864,10 @@ function ur(e, t, n, r = !1) {
|
|
|
809
864
|
});
|
|
810
865
|
let i = s[0];
|
|
811
866
|
if (_e(i, n)) {
|
|
812
|
-
let e = r ?
|
|
867
|
+
let e = r ? Me(i, t) : void 0;
|
|
813
868
|
a.push(e === void 0 ? {
|
|
814
869
|
type: "tag",
|
|
815
|
-
value:
|
|
870
|
+
value: Oe(i, t)
|
|
816
871
|
} : {
|
|
817
872
|
type: "text",
|
|
818
873
|
value: e
|
|
@@ -833,20 +888,20 @@ function ur(e, t, n, r = !1) {
|
|
|
833
888
|
}
|
|
834
889
|
//#endregion
|
|
835
890
|
//#region src/components/MergeTagPreviewText.vue
|
|
836
|
-
var
|
|
891
|
+
var br = d({
|
|
837
892
|
name: "MergeTagPreviewText",
|
|
838
893
|
props: { text: {
|
|
839
894
|
type: String,
|
|
840
895
|
required: !0
|
|
841
896
|
} },
|
|
842
897
|
setup(e) {
|
|
843
|
-
let t = n(
|
|
898
|
+
let t = n(q, K), r = n(pt, je.liquid), i = n(J, null), a = b(() => yr(e.text, t.value, r, i?.value ?? !1));
|
|
844
899
|
return () => a.value.map((e, t) => e.type === "tag" ? I("span", {
|
|
845
900
|
key: t,
|
|
846
901
|
class: "tpl-merge-tag-label"
|
|
847
902
|
}, e.value) : e.value);
|
|
848
903
|
}
|
|
849
|
-
}),
|
|
904
|
+
}), xr = ["href"], Sr = /* @__PURE__ */ d({
|
|
850
905
|
__name: "ButtonBlock",
|
|
851
906
|
props: {
|
|
852
907
|
block: {},
|
|
@@ -862,23 +917,23 @@ var dr = d({
|
|
|
862
917
|
fontSize: `${t.block.fontSize}px`,
|
|
863
918
|
fontWeight: "bold",
|
|
864
919
|
textDecoration: "none",
|
|
865
|
-
borderRadius: `${t.block.borderRadius}px
|
|
920
|
+
borderRadius: typeof t.block.borderRadius == "number" ? `${t.block.borderRadius}px` : W(t.block.borderRadius) ?? "0px",
|
|
866
921
|
textAlign: "center"
|
|
867
922
|
};
|
|
868
|
-
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
|
|
923
|
+
return Object.assign(e, gr(t.block.border)), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
|
|
869
924
|
}), r = b(() => ({ textAlign: t.block.align ?? "center" }));
|
|
870
925
|
return (t, i) => (s(), x("div", { style: D(r.value) }, [k("a", {
|
|
871
926
|
href: e.block.url || "#",
|
|
872
927
|
style: D(n.value),
|
|
873
928
|
class: "tpl:cursor-default",
|
|
874
929
|
onClick: i[0] ||= E(() => {}, ["prevent"])
|
|
875
|
-
}, [g(
|
|
930
|
+
}, [g(br, { text: e.block.text }, null, 8, ["text"])], 12, xr)], 4));
|
|
876
931
|
}
|
|
877
|
-
}),
|
|
932
|
+
}), Cr = ["innerHTML"], wr = [
|
|
878
933
|
"src",
|
|
879
934
|
"width",
|
|
880
935
|
"height"
|
|
881
|
-
],
|
|
936
|
+
], Tr = /* @__PURE__ */ d({
|
|
882
937
|
__name: "CustomBlockIcon",
|
|
883
938
|
props: {
|
|
884
939
|
icon: {},
|
|
@@ -894,24 +949,24 @@ var dr = d({
|
|
|
894
949
|
height: `${n.value}px`
|
|
895
950
|
}),
|
|
896
951
|
innerHTML: e.icon
|
|
897
|
-
}, null, 12,
|
|
952
|
+
}, null, 12, Cr)) : i.value ? (s(), x("img", {
|
|
898
953
|
key: 1,
|
|
899
954
|
src: e.icon,
|
|
900
955
|
width: n.value,
|
|
901
956
|
height: n.value,
|
|
902
957
|
class: "tpl:inline-block",
|
|
903
958
|
alt: ""
|
|
904
|
-
}, null, 8,
|
|
959
|
+
}, null, 8, wr)) : (s(), O(h(Yt), {
|
|
905
960
|
key: 2,
|
|
906
961
|
size: n.value,
|
|
907
962
|
"stroke-width": 1.5
|
|
908
963
|
}, null, 8, ["size"]));
|
|
909
964
|
}
|
|
910
|
-
}),
|
|
911
|
-
function
|
|
912
|
-
let r =
|
|
965
|
+
}), Er = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
966
|
+
function Dr(e, n) {
|
|
967
|
+
let r = gn(), i = null, a = null, o = null;
|
|
913
968
|
function s() {
|
|
914
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
969
|
+
return e.value ? Array.from(e.value.querySelectorAll(Er)).filter((e) => e.offsetParent !== null) : [];
|
|
915
970
|
}
|
|
916
971
|
function c(e) {
|
|
917
972
|
if (e.key !== "Tab") return;
|
|
@@ -926,7 +981,7 @@ function vr(e, n) {
|
|
|
926
981
|
o = null;
|
|
927
982
|
let t = s();
|
|
928
983
|
t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
|
|
929
|
-
}), a =
|
|
984
|
+
}), a = G(e, "keydown", c);
|
|
930
985
|
}
|
|
931
986
|
function u(e = {}) {
|
|
932
987
|
let t = e.restoreFocus !== !1;
|
|
@@ -941,8 +996,8 @@ function vr(e, n) {
|
|
|
941
996
|
}
|
|
942
997
|
//#endregion
|
|
943
998
|
//#region src/composables/useEmoji.ts
|
|
944
|
-
function
|
|
945
|
-
let [e, n] =
|
|
999
|
+
function Or() {
|
|
1000
|
+
let [e, n] = Ye(!1), r = y([]), i = !1;
|
|
946
1001
|
m(() => {
|
|
947
1002
|
i = !0;
|
|
948
1003
|
}), t(e, async (e) => {
|
|
@@ -967,7 +1022,7 @@ function yr() {
|
|
|
967
1022
|
}
|
|
968
1023
|
//#endregion
|
|
969
1024
|
//#region src/composables/useFonts.ts
|
|
970
|
-
var
|
|
1025
|
+
var kr = [
|
|
971
1026
|
{
|
|
972
1027
|
value: "Arial",
|
|
973
1028
|
label: "Arial"
|
|
@@ -996,7 +1051,7 @@ var br = [
|
|
|
996
1051
|
value: "Courier New",
|
|
997
1052
|
label: "Courier New"
|
|
998
1053
|
}
|
|
999
|
-
],
|
|
1054
|
+
], Ar = {
|
|
1000
1055
|
arial: "Arial, sans-serif",
|
|
1001
1056
|
helvetica: "Helvetica, sans-serif",
|
|
1002
1057
|
georgia: "Georgia, serif",
|
|
@@ -1004,23 +1059,23 @@ var br = [
|
|
|
1004
1059
|
verdana: "Verdana, sans-serif",
|
|
1005
1060
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
1006
1061
|
"courier new": "'Courier New', monospace"
|
|
1007
|
-
},
|
|
1008
|
-
function
|
|
1009
|
-
if (e === void 0 || e === !0) return [...
|
|
1062
|
+
}, jr = "Arial, sans-serif";
|
|
1063
|
+
function Mr(e) {
|
|
1064
|
+
if (e === void 0 || e === !0) return [...kr];
|
|
1010
1065
|
if (e === !1) return [];
|
|
1011
1066
|
let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
1012
1067
|
for (let i of e) {
|
|
1013
|
-
let e = i.toLowerCase(), a =
|
|
1068
|
+
let e = i.toLowerCase(), a = kr.find((t) => t.value.toLowerCase() === e);
|
|
1014
1069
|
if (!a) {
|
|
1015
|
-
r.has(e) || (r.add(e),
|
|
1070
|
+
r.has(e) || (r.add(e), Z.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${kr.map((e) => e.value).join(", ")}.`));
|
|
1016
1071
|
continue;
|
|
1017
1072
|
}
|
|
1018
1073
|
n.has(a.value) || (n.add(a.value), t.push(a));
|
|
1019
1074
|
}
|
|
1020
1075
|
return t;
|
|
1021
1076
|
}
|
|
1022
|
-
function
|
|
1023
|
-
let t = l(e?.customFonts ?? []), n = l(!1), r =
|
|
1077
|
+
function Nr(e) {
|
|
1078
|
+
let t = l(e?.customFonts ?? []), n = l(!1), r = Mr(e?.builtIns), i = b(() => e?.defaultFallback ?? jr), a = b(() => {
|
|
1024
1079
|
let e = [...r], n = t.value.map((e) => ({
|
|
1025
1080
|
value: e.name,
|
|
1026
1081
|
label: e.name,
|
|
@@ -1031,20 +1086,20 @@ function wr(e) {
|
|
|
1031
1086
|
function s(e) {
|
|
1032
1087
|
return a.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1033
1088
|
}
|
|
1034
|
-
let c = e?.defaultFont ??
|
|
1035
|
-
s(c) ||
|
|
1089
|
+
let c = e?.defaultFont ?? jr.split(",")[0].trim();
|
|
1090
|
+
s(c) || Z.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
1091
|
function u() {
|
|
1037
1092
|
if (e?.defaultFont && s(e.defaultFont)) {
|
|
1038
1093
|
let t = a.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
1039
1094
|
if (t) return t.value;
|
|
1040
1095
|
}
|
|
1041
|
-
return
|
|
1096
|
+
return jr;
|
|
1042
1097
|
}
|
|
1043
1098
|
let d = b(() => u());
|
|
1044
1099
|
function f(e) {
|
|
1045
1100
|
if (!e) return i.value;
|
|
1046
1101
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
1047
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
1102
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : Ar[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
1048
1103
|
}
|
|
1049
1104
|
let p = [], h = !1;
|
|
1050
1105
|
async function g() {
|
|
@@ -1060,7 +1115,7 @@ function wr(e) {
|
|
|
1060
1115
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
1061
1116
|
});
|
|
1062
1117
|
} catch (t) {
|
|
1063
|
-
|
|
1118
|
+
Z.warn(`Failed to load custom font "${e.name}":`, t);
|
|
1064
1119
|
}
|
|
1065
1120
|
});
|
|
1066
1121
|
await Promise.allSettled(e), !h && (n.value = !0);
|
|
@@ -1085,7 +1140,7 @@ function wr(e) {
|
|
|
1085
1140
|
}
|
|
1086
1141
|
//#endregion
|
|
1087
1142
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
1088
|
-
function
|
|
1143
|
+
function Pr(e, t, n) {
|
|
1089
1144
|
return ge(e, n) ? {
|
|
1090
1145
|
type: "logicMergeTagNode",
|
|
1091
1146
|
attrs: {
|
|
@@ -1102,15 +1157,15 @@ function Tr(e, t, n) {
|
|
|
1102
1157
|
}
|
|
1103
1158
|
//#endregion
|
|
1104
1159
|
//#region src/utils/insertLogicTag.ts
|
|
1105
|
-
function
|
|
1160
|
+
function Fr(e) {
|
|
1106
1161
|
return "before" in e && "after" in e;
|
|
1107
1162
|
}
|
|
1108
|
-
function
|
|
1109
|
-
if (!
|
|
1110
|
-
e.chain().focus().insertContent(
|
|
1163
|
+
function Ir(e, t, n) {
|
|
1164
|
+
if (!Fr(t)) {
|
|
1165
|
+
e.chain().focus().insertContent(Pr(t.value, t.label, n)).run();
|
|
1111
1166
|
return;
|
|
1112
1167
|
}
|
|
1113
|
-
let r =
|
|
1168
|
+
let r = Pr(t.before, t.label, n), i = Pr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
1114
1169
|
if (a !== o) {
|
|
1115
1170
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
1116
1171
|
return;
|
|
@@ -1119,20 +1174,20 @@ function Dr(e, t, n) {
|
|
|
1119
1174
|
}
|
|
1120
1175
|
//#endregion
|
|
1121
1176
|
//#region src/utils/linkColorExtension.ts
|
|
1122
|
-
function
|
|
1177
|
+
function Lr(e) {
|
|
1123
1178
|
if (!e) return null;
|
|
1124
1179
|
let t = e.trim();
|
|
1125
1180
|
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
1181
|
}
|
|
1127
|
-
function
|
|
1182
|
+
function Rr(e) {
|
|
1128
1183
|
return e.extend({ addAttributes() {
|
|
1129
1184
|
return {
|
|
1130
1185
|
...this.parent?.(),
|
|
1131
1186
|
color: {
|
|
1132
1187
|
default: null,
|
|
1133
|
-
parseHTML: (e) =>
|
|
1188
|
+
parseHTML: (e) => Lr(Ut(e.style.color)),
|
|
1134
1189
|
renderHTML: (e) => {
|
|
1135
|
-
let t =
|
|
1190
|
+
let t = Lr(e.color);
|
|
1136
1191
|
return t ? { style: `color: ${t}` } : {};
|
|
1137
1192
|
}
|
|
1138
1193
|
}
|
|
@@ -1141,9 +1196,9 @@ function kr(e) {
|
|
|
1141
1196
|
}
|
|
1142
1197
|
//#endregion
|
|
1143
1198
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
1144
|
-
function
|
|
1199
|
+
function zr(e, t = je.liquid) {
|
|
1145
1200
|
let n = l(!1), r = l(""), i = l(""), a = l(null);
|
|
1146
|
-
|
|
1201
|
+
Dr(a, n);
|
|
1147
1202
|
function o() {
|
|
1148
1203
|
let t = e.value?.getAttributes("link") ?? {};
|
|
1149
1204
|
r.value = t.href || "", i.value = t.color || "", n.value = !0;
|
|
@@ -1152,7 +1207,7 @@ function Ar(e, t = Ae.liquid) {
|
|
|
1152
1207
|
if (r.value) {
|
|
1153
1208
|
let t = d(r.value);
|
|
1154
1209
|
if (t !== null) {
|
|
1155
|
-
let n =
|
|
1210
|
+
let n = Lr(i.value), r = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
|
|
1156
1211
|
n && typeof e.value?.commands.unsetColor == "function" && r?.unsetColor(), r?.run();
|
|
1157
1212
|
}
|
|
1158
1213
|
}
|
|
@@ -1202,13 +1257,13 @@ function Ar(e, t = Ae.liquid) {
|
|
|
1202
1257
|
}
|
|
1203
1258
|
//#endregion
|
|
1204
1259
|
//#region src/composables/useRichTextEditor.ts
|
|
1205
|
-
function
|
|
1206
|
-
let i = n(
|
|
1260
|
+
function Br(r) {
|
|
1261
|
+
let i = n(Y, null), { mergeTags: a, canRequestMergeTag: o, isRequesting: s, requestMergeTag: c, syntax: u, autocomplete: d } = _n(), { canInsertLogicTag: f, isRequesting: p, requestLogicTag: m } = vn(), h = n(yt, null), g = (A(h) ? h.value : h)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", _ = we(u), v = y(null), b = () => H(i?.content?.value?.settings ?? { locale: "en" });
|
|
1207
1262
|
t(b, (e) => {
|
|
1208
1263
|
let t = v.value?.view.dom;
|
|
1209
1264
|
t && t.setAttribute("dir", e);
|
|
1210
1265
|
});
|
|
1211
|
-
let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } =
|
|
1266
|
+
let { showLinkDialog: x, linkUrl: S, linkColor: C, linkDialogRef: w, openLinkDialog: T, insertLink: E, removeLink: D, closeLinkDialog: O, handleLinkKeydown: k } = zr(v, u), { start: j, stop: M } = qe(() => v.value?.commands.focus("end"), 0, { immediate: !1 }), N = y(null), P = l(!0), F = l(null), I = !1;
|
|
1212
1267
|
async function L() {
|
|
1213
1268
|
F.value = null, P.value = !0;
|
|
1214
1269
|
try {
|
|
@@ -1239,7 +1294,7 @@ function jr(r) {
|
|
|
1239
1294
|
v.value = s, P.value = !1, j();
|
|
1240
1295
|
} catch (e) {
|
|
1241
1296
|
if (I) return;
|
|
1242
|
-
|
|
1297
|
+
Z.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
1298
|
}
|
|
1244
1299
|
}
|
|
1245
1300
|
function R() {
|
|
@@ -1257,7 +1312,7 @@ function jr(r) {
|
|
|
1257
1312
|
let i = t.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
|
|
1258
1313
|
n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog") || i || r.onDone();
|
|
1259
1314
|
}
|
|
1260
|
-
|
|
1315
|
+
G(document, "mousedown", B), e(() => {
|
|
1261
1316
|
I = !0, z(), M(), v.value?.destroy();
|
|
1262
1317
|
});
|
|
1263
1318
|
async function V() {
|
|
@@ -1267,9 +1322,9 @@ function jr(r) {
|
|
|
1267
1322
|
value: e.value
|
|
1268
1323
|
}).run() : v.value?.commands.focus());
|
|
1269
1324
|
}
|
|
1270
|
-
async function
|
|
1325
|
+
async function ee() {
|
|
1271
1326
|
let e = await m();
|
|
1272
|
-
I || (e && v.value ?
|
|
1327
|
+
I || (e && v.value ? Ir(v.value, e, u) : v.value?.commands.focus());
|
|
1273
1328
|
}
|
|
1274
1329
|
return {
|
|
1275
1330
|
editor: v,
|
|
@@ -1293,14 +1348,14 @@ function jr(r) {
|
|
|
1293
1348
|
closeLinkDialog: O,
|
|
1294
1349
|
handleLinkKeydown: k,
|
|
1295
1350
|
handleAddMergeTag: V,
|
|
1296
|
-
handleAddLogicTag:
|
|
1351
|
+
handleAddLogicTag: ee
|
|
1297
1352
|
};
|
|
1298
1353
|
}
|
|
1299
1354
|
//#endregion
|
|
1300
1355
|
//#region src/composables/useSmallScreenNotice.ts
|
|
1301
|
-
var
|
|
1302
|
-
function
|
|
1303
|
-
let t =
|
|
1356
|
+
var Vr = "(max-width: 767px)";
|
|
1357
|
+
function Hr(e) {
|
|
1358
|
+
let t = Ze(Vr);
|
|
1304
1359
|
return {
|
|
1305
1360
|
isSmallScreen: t,
|
|
1306
1361
|
showNotice: b(() => (j(e) ?? !0) && t.value)
|
|
@@ -1308,20 +1363,20 @@ function Nr(e) {
|
|
|
1308
1363
|
}
|
|
1309
1364
|
//#endregion
|
|
1310
1365
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1311
|
-
var
|
|
1366
|
+
var Ur = { class: "tpl:w-full" }, Wr = {
|
|
1312
1367
|
key: 0,
|
|
1313
1368
|
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
|
-
},
|
|
1369
|
+
}, Gr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Kr = {
|
|
1315
1370
|
key: 1,
|
|
1316
1371
|
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
|
-
},
|
|
1372
|
+
}, qr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Jr = {
|
|
1318
1373
|
key: 2,
|
|
1319
1374
|
class: "tpl:relative"
|
|
1320
|
-
},
|
|
1375
|
+
}, Yr = ["innerHTML"], Xr = {
|
|
1321
1376
|
key: 0,
|
|
1322
1377
|
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
1378
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
1324
|
-
},
|
|
1379
|
+
}, Zr = /* @__PURE__ */ d({
|
|
1325
1380
|
__name: "CustomBlock",
|
|
1326
1381
|
props: {
|
|
1327
1382
|
block: {},
|
|
@@ -1329,7 +1384,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1329
1384
|
},
|
|
1330
1385
|
emits: ["fetchData"],
|
|
1331
1386
|
setup(e, { emit: r }) {
|
|
1332
|
-
let i = e, a = r, { t: o } =
|
|
1387
|
+
let i = e, a = r, { t: o } = X(), c = n(Lt, 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 } = ze({
|
|
1333
1388
|
definition: f,
|
|
1334
1389
|
block: m,
|
|
1335
1390
|
onUpdate: (e, t) => {
|
|
@@ -1338,10 +1393,10 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1338
1393
|
dataSourceFetched: t
|
|
1339
1394
|
});
|
|
1340
1395
|
}
|
|
1341
|
-
}), T = n(
|
|
1396
|
+
}), T = n(q, K), D = n(J, null), A = b(() => {
|
|
1342
1397
|
if (!D?.value) return i.block;
|
|
1343
1398
|
let e = {};
|
|
1344
|
-
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ?
|
|
1399
|
+
for (let [t, n] of Object.entries(i.block.fieldValues)) e[t] = typeof n == "string" ? fe(n, T.value) : n;
|
|
1345
1400
|
return {
|
|
1346
1401
|
...i.block,
|
|
1347
1402
|
fieldValues: e
|
|
@@ -1358,17 +1413,17 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1358
1413
|
}
|
|
1359
1414
|
}
|
|
1360
1415
|
}
|
|
1361
|
-
let M =
|
|
1416
|
+
let M = Je(j, 150);
|
|
1362
1417
|
return w(() => {
|
|
1363
1418
|
j();
|
|
1364
1419
|
}), t(() => i.block.fieldValues, () => {
|
|
1365
1420
|
M();
|
|
1366
1421
|
}, { deep: !0 }), t(() => D?.value, () => {
|
|
1367
1422
|
M();
|
|
1368
|
-
}), (e, t) => (s(), x("div",
|
|
1423
|
+
}), (e, t) => (s(), x("div", Ur, [p.value ? d.value ? (s(), x("div", Kr, [g(h(nn), {
|
|
1369
1424
|
size: 24,
|
|
1370
1425
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
1371
|
-
}), k("span",
|
|
1426
|
+
}), k("span", qr, F(h(o).customBlocks.renderError), 1)])) : (s(), x("div", Jr, [k("div", { innerHTML: u.value }, null, 8, Yr), h(C) && h(y) ? (s(), x("div", Xr, [h(_) ? (s(), O(mn, {
|
|
1372
1427
|
key: 1,
|
|
1373
1428
|
class: "tpl:w-48"
|
|
1374
1429
|
})) : (s(), x("button", {
|
|
@@ -1376,16 +1431,16 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1376
1431
|
type: "button",
|
|
1377
1432
|
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
1433
|
onClick: t[0] ||= E((...e) => h(v) && h(v)(...e), ["stop"])
|
|
1379
|
-
}, [f.value?.icon ? (s(), O(
|
|
1434
|
+
}, [f.value?.icon ? (s(), O(Tr, {
|
|
1380
1435
|
key: 0,
|
|
1381
1436
|
icon: f.value.icon,
|
|
1382
1437
|
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",
|
|
1438
|
+
}, null, 8, ["icon"])) : S("", !0), R(" " + F(f.value?.dataSource?.label || h(o).customBlocks.dataSource.fetchButton), 1)]))])) : S("", !0)])) : (s(), x("div", Wr, [g(h(Qt), {
|
|
1384
1439
|
size: 24,
|
|
1385
1440
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
1386
|
-
}), k("span",
|
|
1441
|
+
}), k("span", Gr, F(h(o).customBlocks.definitionNotFound), 1)]))]));
|
|
1387
1442
|
}
|
|
1388
|
-
}),
|
|
1443
|
+
}), Qr = { class: "tpl:w-full" }, $r = /* @__PURE__ */ d({
|
|
1389
1444
|
__name: "DividerBlock",
|
|
1390
1445
|
props: {
|
|
1391
1446
|
block: {},
|
|
@@ -1397,28 +1452,28 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1397
1452
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
1398
1453
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
1399
1454
|
}));
|
|
1400
|
-
return (e, t) => (s(), x("div",
|
|
1455
|
+
return (e, t) => (s(), x("div", Qr, [k("hr", {
|
|
1401
1456
|
class: "tpl:m-0 tpl:border-none",
|
|
1402
1457
|
style: D(n.value)
|
|
1403
1458
|
}, null, 4)]));
|
|
1404
1459
|
}
|
|
1405
|
-
}),
|
|
1460
|
+
}), ei = { class: "tpl:w-full" }, ti = ["srcdoc", "title"], ni = {
|
|
1406
1461
|
key: 1,
|
|
1407
1462
|
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
|
-
},
|
|
1463
|
+
}, ri = {
|
|
1409
1464
|
key: 0,
|
|
1410
1465
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
1411
|
-
},
|
|
1466
|
+
}, ii = {
|
|
1412
1467
|
key: 1,
|
|
1413
1468
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
1414
|
-
},
|
|
1469
|
+
}, ai = /* @__PURE__ */ d({
|
|
1415
1470
|
__name: "HtmlBlock",
|
|
1416
1471
|
props: {
|
|
1417
1472
|
block: {},
|
|
1418
1473
|
viewport: {}
|
|
1419
1474
|
},
|
|
1420
1475
|
setup(r) {
|
|
1421
|
-
let i = r, { t: a } =
|
|
1476
|
+
let i = r, { t: a } = X(), o = n(Ct, !1), c = b(() => i.block.content.trim().length > 0), u = b(() => o && c.value), d = n(q, K), f = n(J, null), p = b(() => f?.value ? fe(i.block.content, d.value) : i.block.content), m = l(null), _ = l(60), v = null;
|
|
1422
1477
|
function y() {
|
|
1423
1478
|
let e = m.value?.contentDocument;
|
|
1424
1479
|
e && (_.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
|
|
@@ -1432,7 +1487,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1432
1487
|
e || (v?.disconnect(), v = null);
|
|
1433
1488
|
}), e(() => {
|
|
1434
1489
|
v?.disconnect(), v = null;
|
|
1435
|
-
}), (e, t) => (s(), x("div",
|
|
1490
|
+
}), (e, t) => (s(), x("div", ei, [u.value ? (s(), x("iframe", {
|
|
1436
1491
|
key: 0,
|
|
1437
1492
|
ref_key: "iframeRef",
|
|
1438
1493
|
ref: m,
|
|
@@ -1442,22 +1497,22 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1442
1497
|
class: "tpl:block tpl:w-full tpl:border-0",
|
|
1443
1498
|
style: D({ height: `${_.value}px` }),
|
|
1444
1499
|
onLoad: S
|
|
1445
|
-
}, null, 44,
|
|
1500
|
+
}, null, 44, ti)) : (s(), x("div", ni, [g(h(sn), {
|
|
1446
1501
|
size: 24,
|
|
1447
1502
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
1448
|
-
}), c.value ? (s(), x("span",
|
|
1503
|
+
}), c.value ? (s(), x("span", ri, F(h(a).html.preview), 1)) : (s(), x("span", ii, F(h(a).html.empty), 1))]))]));
|
|
1449
1504
|
}
|
|
1450
|
-
}),
|
|
1505
|
+
}), oi = ["data-drop-enabled"], si = {
|
|
1451
1506
|
key: 0,
|
|
1452
1507
|
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
1508
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
1454
|
-
},
|
|
1509
|
+
}, ci = ["href"], li = ["src", "alt"], ui = ["src", "alt"], di = {
|
|
1455
1510
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
1456
1511
|
style: { opacity: "0.7" }
|
|
1457
|
-
},
|
|
1512
|
+
}, fi = ["href"], pi = ["src", "alt"], mi = ["src", "alt"], hi = {
|
|
1458
1513
|
key: 4,
|
|
1459
1514
|
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
|
-
},
|
|
1515
|
+
}, gi = ["aria-label"], _i = { key: 1 }, vi = /* @__PURE__ */ d({
|
|
1461
1516
|
__name: "ImageBlock",
|
|
1462
1517
|
props: {
|
|
1463
1518
|
block: {},
|
|
@@ -1465,7 +1520,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1465
1520
|
},
|
|
1466
1521
|
emits: ["update"],
|
|
1467
1522
|
setup(e, { emit: t }) {
|
|
1468
|
-
let r = e, i = t, { t: a } =
|
|
1523
|
+
let r = e, i = t, { t: a } = X(), { syntax: o } = _n(), c = n(ut, null), u = n(wt, null), d = b(() => !!c), f = yn();
|
|
1469
1524
|
async function p() {
|
|
1470
1525
|
let e = await c?.({ accept: ["images"] });
|
|
1471
1526
|
if (f.alive && e) {
|
|
@@ -1473,7 +1528,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1473
1528
|
e.alt && (t.alt = e.alt), i("update", t);
|
|
1474
1529
|
}
|
|
1475
1530
|
}
|
|
1476
|
-
let m = l(), _ = l(!1), v = b(() => (u?.value ?? !!c) && !_.value && !
|
|
1531
|
+
let m = l(), _ = l(!1), v = b(() => (u?.value ?? !!c) && !_.value && !A.value);
|
|
1477
1532
|
async function y(e) {
|
|
1478
1533
|
if (c) {
|
|
1479
1534
|
_.value = !0;
|
|
@@ -1492,22 +1547,26 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1492
1547
|
}
|
|
1493
1548
|
}
|
|
1494
1549
|
}
|
|
1495
|
-
let { isOver: C } =
|
|
1550
|
+
let { isOver: C } = Be({
|
|
1496
1551
|
target: m,
|
|
1497
1552
|
enabled: v,
|
|
1498
1553
|
onFiles: y
|
|
1499
1554
|
}), w = b(() => ({ textAlign: r.block.align })), T = b(() => {
|
|
1555
|
+
let e = r.block.border, t = ["left", "right"].map((t) => ye(e?.[t]) === null ? 0 : e[t].width).reduce((e, t) => e + t, 0);
|
|
1556
|
+
return t > 0 ? `calc(100% - ${t}px)` : "100%";
|
|
1557
|
+
}), O = b(() => {
|
|
1500
1558
|
let e = r.block.align;
|
|
1501
1559
|
return {
|
|
1502
1560
|
maxWidth: "100%",
|
|
1503
|
-
width: r.block.width === "full" ?
|
|
1561
|
+
width: r.block.width === "full" ? T.value : `${r.block.width}px`,
|
|
1504
1562
|
height: r.block.height ? `${r.block.height}px` : void 0,
|
|
1505
|
-
borderRadius: r.block.borderRadius
|
|
1563
|
+
borderRadius: W(r.block.borderRadius) ?? void 0,
|
|
1564
|
+
...gr(r.block.border),
|
|
1506
1565
|
display: "block",
|
|
1507
1566
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
1508
1567
|
marginRight: e === "center" ? "auto" : void 0
|
|
1509
1568
|
};
|
|
1510
|
-
}),
|
|
1569
|
+
}), A = b(() => U(r.block.src, o)), j = En(() => A.value ? void 0 : r.block.src), M = En(() => A.value ? r.block.placeholderUrl : void 0);
|
|
1511
1570
|
return (t, n) => (s(), x("div", {
|
|
1512
1571
|
ref_key: "dropZoneRef",
|
|
1513
1572
|
ref: m,
|
|
@@ -1515,14 +1574,14 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1515
1574
|
"data-drop-enabled": v.value,
|
|
1516
1575
|
class: "tpl:relative tpl:w-full",
|
|
1517
1576
|
style: D(w.value)
|
|
1518
|
-
}, [v.value && (h(C) || _.value) ? (s(), x("div",
|
|
1577
|
+
}, [v.value && (h(C) || _.value) ? (s(), x("div", si, [_.value ? (s(), x(P, { key: 0 }, [g(h(tn), {
|
|
1519
1578
|
class: "tpl-spinner",
|
|
1520
1579
|
size: 20,
|
|
1521
1580
|
"stroke-width": 2
|
|
1522
|
-
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(
|
|
1581
|
+
}), R(" " + F(h(a).image.uploading), 1)], 64)) : (s(), x(P, { key: 1 }, [g(h(dn), {
|
|
1523
1582
|
size: 20,
|
|
1524
1583
|
"stroke-width": 1.5
|
|
1525
|
-
}), R(" " + F(h(a).image.dropToUpload), 1)], 64))])) : S("", !0), e.block.src &&
|
|
1584
|
+
}), R(" " + F(h(a).image.dropToUpload), 1)], 64))])) : S("", !0), e.block.src && A.value && e.block.placeholderUrl ? (s(), x(P, { key: 1 }, [e.block.linkUrl ? (s(), x("a", {
|
|
1526
1585
|
key: 0,
|
|
1527
1586
|
href: e.block.linkUrl,
|
|
1528
1587
|
target: "_blank",
|
|
@@ -1531,25 +1590,25 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1531
1590
|
}, [k("img", {
|
|
1532
1591
|
class: "tpl:border-0",
|
|
1533
1592
|
loading: "lazy",
|
|
1534
|
-
src: h(
|
|
1593
|
+
src: h(M),
|
|
1535
1594
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1536
|
-
style: D(
|
|
1537
|
-
}, null, 12,
|
|
1595
|
+
style: D(O.value)
|
|
1596
|
+
}, null, 12, li)], 8, ci)) : (s(), x("img", {
|
|
1538
1597
|
key: 1,
|
|
1539
1598
|
class: "tpl:border-0",
|
|
1540
|
-
src: h(
|
|
1599
|
+
src: h(M),
|
|
1541
1600
|
alt: e.block.alt,
|
|
1542
|
-
style: D(
|
|
1543
|
-
}, null, 12,
|
|
1601
|
+
style: D(O.value)
|
|
1602
|
+
}, null, 12, ui))], 64)) : e.block.src && A.value ? (s(), x("div", {
|
|
1544
1603
|
key: 2,
|
|
1545
1604
|
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
|
-
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" },
|
|
1547
|
-
}, [g(h(
|
|
1605
|
+
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, O.value])
|
|
1606
|
+
}, [g(h(un), {
|
|
1548
1607
|
size: 32,
|
|
1549
1608
|
"stroke-width": 1.5,
|
|
1550
1609
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
1551
1610
|
style: { opacity: "0.5" }
|
|
1552
|
-
}), k("span",
|
|
1611
|
+
}), k("span", di, [g(br, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (s(), x(P, { key: 3 }, [e.block.linkUrl ? (s(), x("a", {
|
|
1553
1612
|
key: 0,
|
|
1554
1613
|
href: e.block.linkUrl,
|
|
1555
1614
|
target: "_blank",
|
|
@@ -1558,36 +1617,36 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1558
1617
|
}, [k("img", {
|
|
1559
1618
|
class: "tpl:border-0",
|
|
1560
1619
|
loading: "lazy",
|
|
1561
|
-
src: h(
|
|
1620
|
+
src: h(j),
|
|
1562
1621
|
alt: e.block.alt || h(a).image.altTextPlaceholder,
|
|
1563
|
-
style: D(
|
|
1564
|
-
}, null, 12,
|
|
1622
|
+
style: D(O.value)
|
|
1623
|
+
}, null, 12, pi)], 8, fi)) : (s(), x("img", {
|
|
1565
1624
|
key: 1,
|
|
1566
1625
|
class: "tpl:border-0",
|
|
1567
|
-
src: h(
|
|
1626
|
+
src: h(j),
|
|
1568
1627
|
alt: e.block.alt,
|
|
1569
|
-
style: D(
|
|
1570
|
-
}, null, 12,
|
|
1628
|
+
style: D(O.value)
|
|
1629
|
+
}, null, 12, mi))], 64)) : (s(), x("div", hi, [d.value ? (s(), x("button", {
|
|
1571
1630
|
key: 0,
|
|
1572
1631
|
"aria-label": h(a).image.browseMedia,
|
|
1573
1632
|
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
1633
|
onClick: E(p, ["stop"])
|
|
1575
|
-
}, [g(h(
|
|
1634
|
+
}, [g(h(un), {
|
|
1576
1635
|
size: 14,
|
|
1577
1636
|
"stroke-width": 1.5
|
|
1578
|
-
}), R(" " + F(h(a).image.browseMedia), 1)], 8,
|
|
1637
|
+
}), R(" " + F(h(a).image.browseMedia), 1)], 8, gi)) : (s(), x("span", _i, F(h(a).image.clickToAdd), 1))]))], 12, oi));
|
|
1579
1638
|
}
|
|
1580
|
-
}),
|
|
1639
|
+
}), yi = { class: "tpl:w-full" }, bi = ["href"], xi = {
|
|
1581
1640
|
key: 1,
|
|
1582
1641
|
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
|
-
},
|
|
1642
|
+
}, Si = /* @__PURE__ */ d({
|
|
1584
1643
|
__name: "MenuBlock",
|
|
1585
1644
|
props: {
|
|
1586
1645
|
block: {},
|
|
1587
1646
|
viewport: {}
|
|
1588
1647
|
},
|
|
1589
1648
|
setup(e) {
|
|
1590
|
-
let t = e, { t: n } =
|
|
1649
|
+
let t = e, { t: n } = X(), i = b(() => ({
|
|
1591
1650
|
display: "flex",
|
|
1592
1651
|
flexWrap: "wrap",
|
|
1593
1652
|
gap: `0 ${t.block.spacing}px`,
|
|
@@ -1599,7 +1658,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1599
1658
|
function o(e) {
|
|
1600
1659
|
return e || t.block.linkColor || t.block.color;
|
|
1601
1660
|
}
|
|
1602
|
-
return (t, c) => (s(), x("div",
|
|
1661
|
+
return (t, c) => (s(), x("div", yi, [a.value ? (s(), x("div", {
|
|
1603
1662
|
key: 0,
|
|
1604
1663
|
style: D(i.value)
|
|
1605
1664
|
}, [(s(!0), x(P, null, r(e.block.items, (t, n) => (s(), x(P, { key: t.id }, [k("a", {
|
|
@@ -1611,15 +1670,15 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1611
1670
|
textDecoration: t.underline ? "underline" : "none"
|
|
1612
1671
|
}),
|
|
1613
1672
|
onClick: c[0] ||= E(() => {}, ["prevent"])
|
|
1614
|
-
}, [g(
|
|
1673
|
+
}, [g(br, { text: t.text || "..." }, null, 8, ["text"])], 12, bi), n < e.block.items.length - 1 ? (s(), x("span", {
|
|
1615
1674
|
key: 0,
|
|
1616
1675
|
style: D({
|
|
1617
1676
|
color: e.block.separatorColor,
|
|
1618
1677
|
padding: `0 ${e.block.spacing}px`
|
|
1619
1678
|
})
|
|
1620
|
-
}, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div",
|
|
1679
|
+
}, F(e.block.separator), 5)) : S("", !0)], 64))), 128))], 4)) : (s(), x("div", xi, [g(h(en), { size: 16 }), k("span", null, F(h(n).menu.addLinks), 1)]))]));
|
|
1621
1680
|
}
|
|
1622
|
-
}),
|
|
1681
|
+
}), Ci = /* @__PURE__ */ new Set([
|
|
1623
1682
|
"http",
|
|
1624
1683
|
"https",
|
|
1625
1684
|
"mailto",
|
|
@@ -1629,7 +1688,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1629
1688
|
"sms",
|
|
1630
1689
|
"xmpp",
|
|
1631
1690
|
"cid"
|
|
1632
|
-
]),
|
|
1691
|
+
]), wi = /* @__PURE__ */ new Set([
|
|
1633
1692
|
"SCRIPT",
|
|
1634
1693
|
"STYLE",
|
|
1635
1694
|
"IFRAME",
|
|
@@ -1639,7 +1698,7 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1639
1698
|
"META",
|
|
1640
1699
|
"BASE",
|
|
1641
1700
|
"FORM"
|
|
1642
|
-
]),
|
|
1701
|
+
]), Ti = /* @__PURE__ */ new Set([
|
|
1643
1702
|
"href",
|
|
1644
1703
|
"xlink:href",
|
|
1645
1704
|
"formaction",
|
|
@@ -1648,16 +1707,16 @@ var Pr = { class: "tpl:w-full" }, Fr = {
|
|
|
1648
1707
|
"background",
|
|
1649
1708
|
"poster"
|
|
1650
1709
|
]);
|
|
1651
|
-
function
|
|
1710
|
+
function Ei(e, t) {
|
|
1652
1711
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
1653
1712
|
if (!n || n.startsWith("#")) return !0;
|
|
1654
1713
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
1655
1714
|
if (!r) return !0;
|
|
1656
1715
|
let i = r[1].toLowerCase();
|
|
1657
|
-
return
|
|
1716
|
+
return Ci.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
1658
1717
|
}
|
|
1659
|
-
function
|
|
1660
|
-
if (
|
|
1718
|
+
function Di(e) {
|
|
1719
|
+
if (wi.has(e.tagName)) {
|
|
1661
1720
|
e.remove();
|
|
1662
1721
|
return;
|
|
1663
1722
|
}
|
|
@@ -1669,29 +1728,29 @@ function vi(e) {
|
|
|
1669
1728
|
e.removeAttribute(n);
|
|
1670
1729
|
continue;
|
|
1671
1730
|
}
|
|
1672
|
-
if (
|
|
1673
|
-
|
|
1731
|
+
if (Ti.has(t)) {
|
|
1732
|
+
Ei(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
1674
1733
|
continue;
|
|
1675
1734
|
}
|
|
1676
1735
|
if (t === "src") {
|
|
1677
|
-
|
|
1736
|
+
Ei(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
1678
1737
|
continue;
|
|
1679
1738
|
}
|
|
1680
1739
|
t === "srcdoc" && e.removeAttribute(n);
|
|
1681
1740
|
}
|
|
1682
1741
|
let n = Array.from(e.children);
|
|
1683
|
-
for (let e of n)
|
|
1742
|
+
for (let e of n) Di(e);
|
|
1684
1743
|
}
|
|
1685
|
-
function
|
|
1744
|
+
function Oi(e) {
|
|
1686
1745
|
if (typeof DOMParser > "u") return e;
|
|
1687
1746
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
1688
|
-
for (let e of n)
|
|
1747
|
+
for (let e of n) Di(e);
|
|
1689
1748
|
return t.innerHTML;
|
|
1690
1749
|
}
|
|
1691
1750
|
//#endregion
|
|
1692
1751
|
//#region src/composables/useEditableTextBlock.ts
|
|
1693
|
-
function
|
|
1694
|
-
let t = n(
|
|
1752
|
+
function ki(e) {
|
|
1753
|
+
let t = n(q, K), r = n(J, null), { syntax: i } = _n(), a = b(() => r?.value ? ve(e(), t.value) : Te(e(), t.value)), o = b(() => Oi(ke(a.value, i))), s = l(!1), c = l(null), { top: u, left: d } = Qe(c), { toLocal: f } = Kt(), p = b(() => f({
|
|
1695
1754
|
top: u.value - 8,
|
|
1696
1755
|
left: d.value
|
|
1697
1756
|
}));
|
|
@@ -1712,14 +1771,14 @@ function bi(e) {
|
|
|
1712
1771
|
}
|
|
1713
1772
|
//#endregion
|
|
1714
1773
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1715
|
-
var
|
|
1774
|
+
var Ai = ["innerHTML"], ji = /* @__PURE__ */ d({
|
|
1716
1775
|
__name: "ParagraphBlock",
|
|
1717
1776
|
props: {
|
|
1718
1777
|
block: {},
|
|
1719
1778
|
viewport: {}
|
|
1720
1779
|
},
|
|
1721
1780
|
setup(e) {
|
|
1722
|
-
let t = e, n = L(() => import("./ParagraphEditor-
|
|
1781
|
+
let t = e, n = L(() => import("./ParagraphEditor-DbjFDnYm.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ki(() => t.block.content);
|
|
1723
1782
|
return (t, u) => (s(), x("div", {
|
|
1724
1783
|
ref_key: "blockRef",
|
|
1725
1784
|
ref: i,
|
|
@@ -1738,64 +1797,26 @@ var xi = ["innerHTML"], Si = /* @__PURE__ */ d({
|
|
|
1738
1797
|
key: 1,
|
|
1739
1798
|
class: "tpl-text-content tpl:outline-none",
|
|
1740
1799
|
innerHTML: h(o)
|
|
1741
|
-
}, null, 8,
|
|
1742
|
-
}
|
|
1743
|
-
});
|
|
1744
|
-
//#endregion
|
|
1745
|
-
//#region src/utils/blockComponentResolver.ts
|
|
1746
|
-
function Ci(e) {
|
|
1747
|
-
let t = { fontFamily: e.fontFamily };
|
|
1748
|
-
return e.textColor && (t.color = e.textColor), e.linkColor && (t["--tpl-doc-link-color"] = e.linkColor), e.linkUnderline && (t["--tpl-doc-link-underline"] = "underline"), t;
|
|
1749
|
-
}
|
|
1750
|
-
function wi(e, t, n) {
|
|
1751
|
-
if (t) {
|
|
1752
|
-
let n = t.getComponent(e);
|
|
1753
|
-
if (n) return n;
|
|
1754
|
-
}
|
|
1755
|
-
return n[e.type] ?? null;
|
|
1756
|
-
}
|
|
1757
|
-
function Ti(e) {
|
|
1758
|
-
if (e.type === "wrapper") return {};
|
|
1759
|
-
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
1760
|
-
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
1761
|
-
backgroundColor: n || "transparent"
|
|
1762
|
-
};
|
|
1763
|
-
return (e.type === "paragraph" || e.type === "title") && (r["--tpl-doc-paragraph-spacing"] = `${e.type === "paragraph" ? e.paragraphSpacing ?? Oe.paragraphGap : Oe.paragraphGap}px`), e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
|
|
1764
|
-
}
|
|
1765
|
-
function Ei(e) {
|
|
1766
|
-
if (e.type !== "section" || !e.wrapper) return null;
|
|
1767
|
-
let t = e.wrapper, n = {};
|
|
1768
|
-
return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
|
|
1769
|
-
}
|
|
1770
|
-
function Di(e) {
|
|
1771
|
-
if (e.type !== "wrapper") return null;
|
|
1772
|
-
let t = {};
|
|
1773
|
-
if (e.styles.backgroundColor && (t.backgroundColor = e.styles.backgroundColor), e.styles.padding) {
|
|
1774
|
-
let n = e.styles.padding;
|
|
1775
|
-
t.padding = `${n.top}px ${n.right}px ${n.bottom}px ${n.left}px`;
|
|
1800
|
+
}, null, 8, Ai))], 544));
|
|
1776
1801
|
}
|
|
1777
|
-
|
|
1778
|
-
}
|
|
1779
|
-
//#endregion
|
|
1780
|
-
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
1781
|
-
var Oi = [
|
|
1802
|
+
}), Mi = [
|
|
1782
1803
|
"data-block-id",
|
|
1783
1804
|
"data-block-type",
|
|
1784
1805
|
"data-tpl-picked"
|
|
1785
|
-
],
|
|
1806
|
+
], Ni = ["aria-label"], Pi = [
|
|
1786
1807
|
"aria-label",
|
|
1787
1808
|
"aria-pressed",
|
|
1788
1809
|
"title"
|
|
1789
|
-
],
|
|
1810
|
+
], Fi = ["aria-label", "title"], Ii = ["aria-label", "title"], Li = ["aria-label", "title"], Ri = {
|
|
1790
1811
|
key: 1,
|
|
1791
1812
|
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"
|
|
1792
|
-
},
|
|
1813
|
+
}, zi = { 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)]" }, Bi = {
|
|
1793
1814
|
key: 2,
|
|
1794
1815
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
1795
|
-
},
|
|
1816
|
+
}, Vi = ["aria-label", "title"], Hi = {
|
|
1796
1817
|
key: 3,
|
|
1797
1818
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
1798
|
-
},
|
|
1819
|
+
}, Ui = ["aria-label"], Wi = /*#__PURE__*/ hn(/* @__PURE__ */ d({
|
|
1799
1820
|
__name: "BlockWrapper",
|
|
1800
1821
|
props: {
|
|
1801
1822
|
block: {},
|
|
@@ -1807,7 +1828,7 @@ var Oi = [
|
|
|
1807
1828
|
},
|
|
1808
1829
|
emits: ["select"],
|
|
1809
1830
|
setup(e, { emit: t }) {
|
|
1810
|
-
let r = L(() => import("./BlockIssueBadge-
|
|
1831
|
+
let r = L(() => import("./BlockIssueBadge-BR_N3nRh.js")), i = e, o = t, { t: c, format: u } = X(), d = n(ht, 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);
|
|
1811
1832
|
async function _() {
|
|
1812
1833
|
await T(), f.value?.focus();
|
|
1813
1834
|
}
|
|
@@ -1833,20 +1854,20 @@ var Oi = [
|
|
|
1833
1854
|
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 ? {
|
|
1834
1855
|
desktop: c.viewport.desktop,
|
|
1835
1856
|
mobile: c.viewport.mobile
|
|
1836
|
-
}[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(
|
|
1837
|
-
function
|
|
1857
|
+
}[i.viewport] ?? i.viewport : ""), A = b(() => !!i.block.displayCondition), j = n(St, null), M = n(Et, null), N = n(At, {}), 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(() => hr(i.block)), H = b(() => _r(i.block));
|
|
1858
|
+
function ee(e) {
|
|
1838
1859
|
i.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), o("select"));
|
|
1839
1860
|
}
|
|
1840
|
-
function
|
|
1861
|
+
function te() {
|
|
1841
1862
|
j?.deleteBlock(i.block.id);
|
|
1842
1863
|
}
|
|
1843
|
-
function
|
|
1864
|
+
function ne() {
|
|
1844
1865
|
j?.duplicateBlock(i.block);
|
|
1845
1866
|
}
|
|
1846
|
-
function
|
|
1867
|
+
function re() {
|
|
1847
1868
|
N.savedBlocks?.startPicking(i.block.id);
|
|
1848
1869
|
}
|
|
1849
|
-
function
|
|
1870
|
+
function ie() {
|
|
1850
1871
|
M?.toggleBlock(i.block.id);
|
|
1851
1872
|
}
|
|
1852
1873
|
return (t, n) => w.value ? S("", !0) : (s(), x("div", {
|
|
@@ -1860,7 +1881,7 @@ var Oi = [
|
|
|
1860
1881
|
"data-block-id": e.block.id,
|
|
1861
1882
|
"data-block-type": e.block.type,
|
|
1862
1883
|
"data-tpl-picked": e.picked || void 0,
|
|
1863
|
-
onClick:
|
|
1884
|
+
onClick: ee
|
|
1864
1885
|
}, [
|
|
1865
1886
|
g(h(r), { "block-id": e.block.id }, null, 8, ["block-id"]),
|
|
1866
1887
|
z.value ? (s(), x("div", {
|
|
@@ -1878,65 +1899,65 @@ var Oi = [
|
|
|
1878
1899
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
1879
1900
|
title: h(c).blockActions.drag,
|
|
1880
1901
|
onKeydown: y
|
|
1881
|
-
}, [g(h(
|
|
1902
|
+
}, [g(h(an), {
|
|
1882
1903
|
size: 14,
|
|
1883
1904
|
"stroke-width": 1.5
|
|
1884
|
-
})], 40,
|
|
1905
|
+
})], 40, Pi),
|
|
1885
1906
|
k("button", {
|
|
1886
1907
|
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
1908
|
"aria-label": h(c).blockActions.duplicate,
|
|
1888
1909
|
title: h(c).blockActions.duplicate,
|
|
1889
|
-
onClick: E(
|
|
1890
|
-
}, [g(h(
|
|
1910
|
+
onClick: E(ne, ["stop"])
|
|
1911
|
+
}, [g(h(Xt), {
|
|
1891
1912
|
size: 14,
|
|
1892
1913
|
"stroke-width": 1.5
|
|
1893
|
-
})], 8,
|
|
1914
|
+
})], 8, Fi),
|
|
1894
1915
|
I.value ? (s(), x("button", {
|
|
1895
1916
|
key: 0,
|
|
1896
1917
|
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",
|
|
1897
1918
|
"aria-label": h(c).blockActions.saveAsBlock,
|
|
1898
1919
|
title: h(c).blockActions.saveAsBlock,
|
|
1899
|
-
onClick: E(
|
|
1900
|
-
}, [g(h(
|
|
1920
|
+
onClick: E(re, ["stop"])
|
|
1921
|
+
}, [g(h($t), {
|
|
1901
1922
|
size: 14,
|
|
1902
1923
|
"stroke-width": 1.5
|
|
1903
|
-
})], 8,
|
|
1924
|
+
})], 8, Ii)) : S("", !0),
|
|
1904
1925
|
k("button", {
|
|
1905
1926
|
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",
|
|
1906
1927
|
"aria-label": h(c).blockActions.delete,
|
|
1907
1928
|
title: h(c).blockActions.delete,
|
|
1908
|
-
onClick: E(
|
|
1909
|
-
}, [g(h(
|
|
1929
|
+
onClick: E(te, ["stop"])
|
|
1930
|
+
}, [g(h(rn), {
|
|
1910
1931
|
size: 14,
|
|
1911
1932
|
"stroke-width": 1.5
|
|
1912
|
-
})], 8,
|
|
1913
|
-
], 8,
|
|
1914
|
-
C.value ? (s(), x("div",
|
|
1933
|
+
})], 8, Li)
|
|
1934
|
+
], 8, Ni)) : S("", !0),
|
|
1935
|
+
C.value ? (s(), x("div", Ri, [k("span", zi, [g(h(Zt), {
|
|
1915
1936
|
size: 12,
|
|
1916
1937
|
"stroke-width": 1.5
|
|
1917
1938
|
}), R(" " + F(h(u)(h(c).blockActions.hiddenOnViewport, { viewport: O.value })), 1)])])) : S("", !0),
|
|
1918
|
-
A.value && !C.value ? (s(), x("div",
|
|
1939
|
+
A.value && !C.value ? (s(), x("div", Bi, [k("button", {
|
|
1919
1940
|
"data-testid": "condition-toggle",
|
|
1920
1941
|
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)]",
|
|
1921
1942
|
"aria-label": h(c).blockActions.conditionToggle,
|
|
1922
1943
|
title: e.block.displayCondition?.label,
|
|
1923
|
-
onClick: E(
|
|
1924
|
-
}, [g(h(
|
|
1944
|
+
onClick: E(ie, ["stop"])
|
|
1945
|
+
}, [g(h(pn), {
|
|
1925
1946
|
size: 12,
|
|
1926
1947
|
"stroke-width": 2
|
|
1927
|
-
})], 8,
|
|
1928
|
-
B.value > 0 && !C.value ? (s(), x("div",
|
|
1948
|
+
})], 8, Vi)])) : S("", !0),
|
|
1949
|
+
B.value > 0 && !C.value ? (s(), x("div", Hi, [k("button", {
|
|
1929
1950
|
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)]",
|
|
1930
1951
|
"aria-label": h(u)(h(c).blockActions.comments, { count: String(B.value) }),
|
|
1931
1952
|
onClick: n[0] ||= E((t) => h(N).comments?.openForBlock(e.block.id), ["stop"])
|
|
1932
|
-
}, [g(h(
|
|
1953
|
+
}, [g(h(cn), {
|
|
1933
1954
|
size: 12,
|
|
1934
1955
|
"stroke-width": 2.5
|
|
1935
|
-
}), R(" " + F(B.value), 1)], 8,
|
|
1936
|
-
|
|
1956
|
+
}), R(" " + F(B.value), 1)], 8, Ui)])) : S("", !0),
|
|
1957
|
+
H.value ? (s(), x("div", {
|
|
1937
1958
|
key: 4,
|
|
1938
1959
|
class: "tpl-section-wrapper",
|
|
1939
|
-
style: D(
|
|
1960
|
+
style: D(H.value)
|
|
1940
1961
|
}, [k("div", {
|
|
1941
1962
|
class: "tpl-block-content",
|
|
1942
1963
|
style: D(V.value)
|
|
@@ -1945,31 +1966,31 @@ var Oi = [
|
|
|
1945
1966
|
class: "tpl-block-content",
|
|
1946
1967
|
style: D(V.value)
|
|
1947
1968
|
}, [a(t.$slots, "default", {}, void 0, !0)], 4))
|
|
1948
|
-
], 10,
|
|
1969
|
+
], 10, Mi));
|
|
1949
1970
|
}
|
|
1950
1971
|
}), [["__scopeId", "data-v-2c239048"]]);
|
|
1951
1972
|
//#endregion
|
|
1952
1973
|
//#region src/utils/unwrapParagraph.ts
|
|
1953
|
-
function
|
|
1974
|
+
function Gi(e) {
|
|
1954
1975
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
1955
1976
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
1956
1977
|
}
|
|
1957
1978
|
//#endregion
|
|
1958
1979
|
//#region src/components/blocks/TitleBlock.vue
|
|
1959
|
-
var
|
|
1980
|
+
var Ki = /* @__PURE__ */ d({
|
|
1960
1981
|
__name: "TitleBlock",
|
|
1961
1982
|
props: {
|
|
1962
1983
|
block: {},
|
|
1963
1984
|
viewport: {}
|
|
1964
1985
|
},
|
|
1965
1986
|
setup(e) {
|
|
1966
|
-
let t = e, n = L(() => import("./TitleEditor-
|
|
1987
|
+
let t = e, n = L(() => import("./TitleEditor-BRl2qKbd.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: c, handleEditorDone: l } = ki(() => t.block.content), d = b(() => {
|
|
1967
1988
|
let e = {
|
|
1968
|
-
fontSize: `${
|
|
1989
|
+
fontSize: `${Ee[t.block.level]}px`,
|
|
1969
1990
|
textAlign: t.block.textAlign
|
|
1970
1991
|
};
|
|
1971
1992
|
return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
1972
|
-
}), f = b(() => `h${t.block.level}`), p = b(() =>
|
|
1993
|
+
}), f = b(() => `h${t.block.level}`), p = b(() => Gi(o.value));
|
|
1973
1994
|
return (t, o) => (s(), x("div", {
|
|
1974
1995
|
ref_key: "blockRef",
|
|
1975
1996
|
ref: i,
|
|
@@ -1995,16 +2016,16 @@ var Hi = /* @__PURE__ */ d({
|
|
|
1995
2016
|
});
|
|
1996
2017
|
//#endregion
|
|
1997
2018
|
//#region src/utils/sectionColumnDrop.ts
|
|
1998
|
-
function
|
|
2019
|
+
function qi(e) {
|
|
1999
2020
|
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
2000
2021
|
}
|
|
2001
2022
|
//#endregion
|
|
2002
2023
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2003
|
-
var
|
|
2024
|
+
var Ji = { class: "tpl:w-full" }, Yi = {
|
|
2004
2025
|
key: 0,
|
|
2005
2026
|
"data-testid": "section-drop-hint",
|
|
2006
2027
|
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)]"
|
|
2007
|
-
},
|
|
2028
|
+
}, Xi = /* @__PURE__ */ d({
|
|
2008
2029
|
__name: "SectionBlock",
|
|
2009
2030
|
props: {
|
|
2010
2031
|
block: {},
|
|
@@ -2012,13 +2033,13 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2012
2033
|
},
|
|
2013
2034
|
setup(e) {
|
|
2014
2035
|
let t = {
|
|
2015
|
-
title:
|
|
2016
|
-
paragraph:
|
|
2017
|
-
image:
|
|
2018
|
-
button:
|
|
2019
|
-
divider:
|
|
2020
|
-
custom:
|
|
2021
|
-
}, a = e, { t: o } =
|
|
2036
|
+
title: Ki,
|
|
2037
|
+
paragraph: ji,
|
|
2038
|
+
image: vi,
|
|
2039
|
+
button: Sr,
|
|
2040
|
+
divider: $r,
|
|
2041
|
+
custom: Zr
|
|
2042
|
+
}, a = e, { t: o } = X(), c = $e(Y, "SectionBlock"), l = n(Et, null), d = n(Lt, null), p = n(At, {}), m = n(It, null);
|
|
2022
2043
|
function _(e) {
|
|
2023
2044
|
let t = p.savedBlocks;
|
|
2024
2045
|
if (t?.isPicking.value) {
|
|
@@ -2053,7 +2074,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2053
2074
|
r[e] = n, c.updateBlock(a.block.id, { children: r });
|
|
2054
2075
|
}
|
|
2055
2076
|
function A(e) {
|
|
2056
|
-
return
|
|
2077
|
+
return mr(e, d, t);
|
|
2057
2078
|
}
|
|
2058
2079
|
function j(e, t) {
|
|
2059
2080
|
e.type === "custom" && c.updateBlock(e.id, {
|
|
@@ -2061,7 +2082,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2061
2082
|
dataSourceFetched: t.dataSourceFetched
|
|
2062
2083
|
});
|
|
2063
2084
|
}
|
|
2064
|
-
return (t, n) => (s(), x("div",
|
|
2085
|
+
return (t, n) => (s(), x("div", Ji, [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", {
|
|
2065
2086
|
key: n,
|
|
2066
2087
|
class: v(["tpl:relative tpl:min-h-[60px] tpl:rounded", T(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
2067
2088
|
style: D({ width: w.value ? "100%" : y.value[n] })
|
|
@@ -2070,7 +2091,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2070
2091
|
group: {
|
|
2071
2092
|
name: "blocks",
|
|
2072
2093
|
pull: !0,
|
|
2073
|
-
put: (e, t, n) => h(
|
|
2094
|
+
put: (e, t, n) => h(qi)(n)
|
|
2074
2095
|
},
|
|
2075
2096
|
animation: 150,
|
|
2076
2097
|
"ghost-class": "tpl-ghost",
|
|
@@ -2083,7 +2104,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2083
2104
|
class: "tpl:min-h-[60px]",
|
|
2084
2105
|
"onUpdate:modelValue": (e) => E(n, e)
|
|
2085
2106
|
}, {
|
|
2086
|
-
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(
|
|
2107
|
+
default: i(() => [(s(!0), x(P, null, r(T(n), (t) => f((s(), x("div", { key: t.id }, [g(Wi, {
|
|
2087
2108
|
block: t,
|
|
2088
2109
|
"is-selected": h(c).state.selectedBlockId === t.id,
|
|
2089
2110
|
viewport: e.viewport,
|
|
@@ -2115,13 +2136,13 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2115
2136
|
"model-value",
|
|
2116
2137
|
"group",
|
|
2117
2138
|
"onUpdate:modelValue"
|
|
2118
|
-
]), T(n).length === 0 ? (s(), x("div",
|
|
2139
|
+
]), T(n).length === 0 ? (s(), x("div", Yi, [k("span", null, F(h(o).section.dropHere), 1)])) : S("", !0)], 6))), 128))], 2)]));
|
|
2119
2140
|
}
|
|
2120
|
-
}),
|
|
2141
|
+
}), Zi = [
|
|
2121
2142
|
"width",
|
|
2122
2143
|
"height",
|
|
2123
2144
|
"fill"
|
|
2124
|
-
],
|
|
2145
|
+
], Qi = ["d"], $i = /* @__PURE__ */ d({
|
|
2125
2146
|
__name: "SocialIconSvg",
|
|
2126
2147
|
props: {
|
|
2127
2148
|
platform: {},
|
|
@@ -2129,7 +2150,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2129
2150
|
iconSize: {}
|
|
2130
2151
|
},
|
|
2131
2152
|
setup(e) {
|
|
2132
|
-
let t = e, n = b(() =>
|
|
2153
|
+
let t = e, n = b(() => He[t.platform]), r = b(() => We[t.iconSize]), i = b(() => {
|
|
2133
2154
|
let e = {
|
|
2134
2155
|
display: "inline-flex",
|
|
2135
2156
|
alignItems: "center",
|
|
@@ -2173,25 +2194,25 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2173
2194
|
viewBox: "0 0 24 24",
|
|
2174
2195
|
fill: o.value,
|
|
2175
2196
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2176
|
-
}, [k("path", { d: n.value.path }, null, 8,
|
|
2197
|
+
}, [k("path", { d: n.value.path }, null, 8, Qi)], 8, Zi))], 4));
|
|
2177
2198
|
}
|
|
2178
|
-
}),
|
|
2199
|
+
}), ea = { class: "tpl:w-full" }, ta = ["href"], na = {
|
|
2179
2200
|
key: 1,
|
|
2180
2201
|
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)]"
|
|
2181
|
-
},
|
|
2202
|
+
}, ra = /* @__PURE__ */ d({
|
|
2182
2203
|
__name: "SocialIconsBlock",
|
|
2183
2204
|
props: {
|
|
2184
2205
|
block: {},
|
|
2185
2206
|
viewport: {}
|
|
2186
2207
|
},
|
|
2187
2208
|
setup(e) {
|
|
2188
|
-
let t = e, { t: n } =
|
|
2209
|
+
let t = e, { t: n } = X(), i = b(() => ({
|
|
2189
2210
|
display: "flex",
|
|
2190
2211
|
flexWrap: "wrap",
|
|
2191
2212
|
gap: `${t.block.spacing}px`,
|
|
2192
2213
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
2193
2214
|
})), a = b(() => t.block.icons.length > 0);
|
|
2194
|
-
return (t, o) => (s(), x("div",
|
|
2215
|
+
return (t, o) => (s(), x("div", ea, [a.value ? (s(), x("div", {
|
|
2195
2216
|
key: 0,
|
|
2196
2217
|
style: D(i.value)
|
|
2197
2218
|
}, [(s(!0), x(P, null, r(e.block.icons, (t) => (s(), x("a", {
|
|
@@ -2199,7 +2220,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2199
2220
|
href: t.url || "#",
|
|
2200
2221
|
class: "tpl:cursor-default",
|
|
2201
2222
|
onClick: o[0] ||= E(() => {}, ["prevent"])
|
|
2202
|
-
}, [g(
|
|
2223
|
+
}, [g($i, {
|
|
2203
2224
|
platform: t.platform,
|
|
2204
2225
|
"icon-style": e.block.iconStyle,
|
|
2205
2226
|
"icon-size": e.block.iconSize
|
|
@@ -2207,44 +2228,44 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2207
2228
|
"platform",
|
|
2208
2229
|
"icon-style",
|
|
2209
2230
|
"icon-size"
|
|
2210
|
-
])], 8,
|
|
2231
|
+
])], 8, ta))), 128))], 4)) : (s(), x("div", na, [g(h(on), { size: 16 }), k("span", null, F(h(n).social.addIcons), 1)]))]));
|
|
2211
2232
|
}
|
|
2212
|
-
}),
|
|
2233
|
+
}), ia = { class: "tpl:w-full" }, aa = {
|
|
2213
2234
|
key: 0,
|
|
2214
2235
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
2215
2236
|
style: {
|
|
2216
2237
|
"background-color": "var(--tpl-bg-hover)",
|
|
2217
2238
|
color: "var(--tpl-text-dim)"
|
|
2218
2239
|
}
|
|
2219
|
-
},
|
|
2240
|
+
}, oa = /* @__PURE__ */ d({
|
|
2220
2241
|
__name: "SpacerBlock",
|
|
2221
2242
|
props: {
|
|
2222
2243
|
block: {},
|
|
2223
2244
|
viewport: {}
|
|
2224
2245
|
},
|
|
2225
2246
|
setup(e) {
|
|
2226
|
-
let t = e, n =
|
|
2247
|
+
let t = e, n = $e(Y, "SpacerBlock"), r = b(() => ({
|
|
2227
2248
|
height: `${t.block.height}px`,
|
|
2228
2249
|
minHeight: `${t.block.height}px`,
|
|
2229
2250
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
2230
2251
|
}));
|
|
2231
|
-
return (t, i) => (s(), x("div",
|
|
2252
|
+
return (t, i) => (s(), x("div", ia, [k("div", {
|
|
2232
2253
|
style: D(r.value),
|
|
2233
2254
|
class: v(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !h(n).state.previewMode }])
|
|
2234
|
-
}, [h(n).state.previewMode ? S("", !0) : (s(), x("span",
|
|
2255
|
+
}, [h(n).state.previewMode ? S("", !0) : (s(), x("span", aa, F(e.block.height) + "px ", 1))], 6)]));
|
|
2235
2256
|
}
|
|
2236
|
-
}),
|
|
2257
|
+
}), sa = { class: "tpl:w-full" }, ca = { key: 0 }, la = [
|
|
2237
2258
|
"aria-label",
|
|
2238
2259
|
"data-placeholder",
|
|
2239
2260
|
"onBlur"
|
|
2240
|
-
],
|
|
2261
|
+
], ua = [
|
|
2241
2262
|
"aria-label",
|
|
2242
2263
|
"data-placeholder",
|
|
2243
2264
|
"onBlur"
|
|
2244
|
-
],
|
|
2265
|
+
], da = {
|
|
2245
2266
|
key: 1,
|
|
2246
2267
|
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)]"
|
|
2247
|
-
},
|
|
2268
|
+
}, fa = /*#__PURE__*/ hn(/* @__PURE__ */ d({
|
|
2248
2269
|
__name: "TableBlock",
|
|
2249
2270
|
props: {
|
|
2250
2271
|
block: {},
|
|
@@ -2258,7 +2279,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2258
2279
|
updated(e, t) {
|
|
2259
2280
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
2260
2281
|
}
|
|
2261
|
-
}, n = e, { t: i } =
|
|
2282
|
+
}, n = e, { t: i } = X(), a = $e(Y, "TableBlock"), o = b(() => n.block.rows.length > 0), c = b(() => {
|
|
2262
2283
|
let e = {
|
|
2263
2284
|
width: "100%",
|
|
2264
2285
|
borderCollapse: "collapse",
|
|
@@ -2289,11 +2310,11 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2289
2310
|
} : n);
|
|
2290
2311
|
a.updateBlock(n.block.id, { rows: o });
|
|
2291
2312
|
}
|
|
2292
|
-
return (e, n) => (s(), x("div",
|
|
2313
|
+
return (e, n) => (s(), x("div", sa, [o.value ? (s(), x("table", {
|
|
2293
2314
|
key: 0,
|
|
2294
2315
|
style: D(c.value),
|
|
2295
2316
|
class: "tpl-table-editable"
|
|
2296
|
-
}, [d.value ? (s(), x("thead",
|
|
2317
|
+
}, [d.value ? (s(), x("thead", ca, [k("tr", null, [(s(!0), x(P, null, r(d.value.cells, (e) => f((s(), x("th", {
|
|
2297
2318
|
key: e.id,
|
|
2298
2319
|
style: D(u.value),
|
|
2299
2320
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2302,7 +2323,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2302
2323
|
onBlur: (t) => v(d.value.id, e.id, t),
|
|
2303
2324
|
onKeydown: n[0] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2304
2325
|
onClick: E(m, ["stop"])
|
|
2305
|
-
}, null, 44,
|
|
2326
|
+
}, null, 44, la)), [[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", {
|
|
2306
2327
|
key: r.id,
|
|
2307
2328
|
style: D(l.value),
|
|
2308
2329
|
"aria-label": h(i).table.cellPlaceholder,
|
|
@@ -2311,9 +2332,9 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2311
2332
|
onBlur: (t) => v(e.id, r.id, t),
|
|
2312
2333
|
onKeydown: n[1] ||= _(E((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
2313
2334
|
onClick: E(m, ["stop"])
|
|
2314
|
-
}, null, 44,
|
|
2335
|
+
}, null, 44, ua)), [[t, r.content]])), 128))]))), 128))])], 4)) : (s(), x("div", da, [g(h(fn), { size: 16 }), k("span", null, F(h(i).table.empty), 1)]))]));
|
|
2315
2336
|
}
|
|
2316
|
-
}), [["__scopeId", "data-v-963ac422"]]),
|
|
2337
|
+
}), [["__scopeId", "data-v-963ac422"]]), pa = /* @__PURE__ */ d({
|
|
2317
2338
|
__name: "VideoPlayButton",
|
|
2318
2339
|
props: { hoverEffect: {
|
|
2319
2340
|
type: Boolean,
|
|
@@ -2331,7 +2352,7 @@ var Wi = { class: "tpl:w-full" }, Gi = {
|
|
|
2331
2352
|
});
|
|
2332
2353
|
//#endregion
|
|
2333
2354
|
//#region src/utils/videoThumbnail.ts
|
|
2334
|
-
function
|
|
2355
|
+
function ma(e) {
|
|
2335
2356
|
if (!e) return {
|
|
2336
2357
|
platform: "unknown",
|
|
2337
2358
|
videoId: null,
|
|
@@ -2363,25 +2384,25 @@ function ua(e) {
|
|
|
2363
2384
|
thumbnailUrl: null
|
|
2364
2385
|
};
|
|
2365
2386
|
}
|
|
2366
|
-
function
|
|
2367
|
-
return t ||
|
|
2387
|
+
function ha(e, t) {
|
|
2388
|
+
return t || ma(e).thumbnailUrl;
|
|
2368
2389
|
}
|
|
2369
2390
|
//#endregion
|
|
2370
2391
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2371
|
-
var
|
|
2392
|
+
var ga = ["src", "alt"], _a = {
|
|
2372
2393
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
2373
2394
|
style: { opacity: "0.7" }
|
|
2374
|
-
},
|
|
2395
|
+
}, va = ["href"], ya = ["src", "alt"], ba = ["src", "alt"], xa = {
|
|
2375
2396
|
key: 3,
|
|
2376
2397
|
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)]"
|
|
2377
|
-
},
|
|
2398
|
+
}, Sa = /* @__PURE__ */ d({
|
|
2378
2399
|
__name: "VideoBlock",
|
|
2379
2400
|
props: {
|
|
2380
2401
|
block: {},
|
|
2381
2402
|
viewport: {}
|
|
2382
2403
|
},
|
|
2383
2404
|
setup(e) {
|
|
2384
|
-
let t = e, { t: n } =
|
|
2405
|
+
let t = e, { t: n } = X(), { syntax: r } = _n(), i = b(() => U(t.block.url, r) || U(t.block.thumbnailUrl, r)), a = En(() => i.value ? void 0 : t.block.thumbnailUrl || void 0), o = En(() => i.value ? t.block.placeholderUrl : void 0), c = b(() => i.value ? null : t.block.thumbnailUrl ? a.value ?? null : ha(t.block.url)), l = b(() => ({ textAlign: t.block.align })), u = b(() => {
|
|
2385
2406
|
let e = t.block.align;
|
|
2386
2407
|
return {
|
|
2387
2408
|
maxWidth: "100%",
|
|
@@ -2391,7 +2412,7 @@ var fa = ["src", "alt"], pa = {
|
|
|
2391
2412
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
2392
2413
|
marginRight: e === "center" ? "auto" : void 0
|
|
2393
2414
|
};
|
|
2394
|
-
}), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() =>
|
|
2415
|
+
}), d = b(() => ({ height: t.block.height ? `${t.block.height}px` : void 0 })), f = b(() => U(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
|
|
2395
2416
|
return (t, r) => (s(), x("div", {
|
|
2396
2417
|
class: "tpl:w-full",
|
|
2397
2418
|
style: D(l.value)
|
|
@@ -2404,16 +2425,16 @@ var fa = ["src", "alt"], pa = {
|
|
|
2404
2425
|
src: h(o),
|
|
2405
2426
|
alt: e.block.alt,
|
|
2406
2427
|
style: D(d.value)
|
|
2407
|
-
}, null, 12,
|
|
2428
|
+
}, null, 12, ga), g(pa)], 4)) : i.value ? (s(), x("div", {
|
|
2408
2429
|
key: 1,
|
|
2409
2430
|
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)]",
|
|
2410
2431
|
style: D([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
|
|
2411
|
-
}, [g(h(
|
|
2432
|
+
}, [g(h(ln), {
|
|
2412
2433
|
size: 36,
|
|
2413
2434
|
"stroke-width": 1.5,
|
|
2414
2435
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
2415
2436
|
style: { opacity: "0.5" }
|
|
2416
|
-
}), k("span",
|
|
2437
|
+
}), k("span", _a, [g(br, { text: f.value }, null, 8, ["text"])])], 4)) : c.value ? (s(), x(P, { key: 2 }, [e.block.url ? (s(), x("a", {
|
|
2417
2438
|
key: 0,
|
|
2418
2439
|
href: e.block.url,
|
|
2419
2440
|
target: "_blank",
|
|
@@ -2426,7 +2447,7 @@ var fa = ["src", "alt"], pa = {
|
|
|
2426
2447
|
src: c.value,
|
|
2427
2448
|
alt: e.block.alt,
|
|
2428
2449
|
style: D(d.value)
|
|
2429
|
-
}, null, 12,
|
|
2450
|
+
}, null, 12, ya), g(pa, { "hover-effect": "" })], 12, va)) : (s(), x("div", {
|
|
2430
2451
|
key: 1,
|
|
2431
2452
|
class: "tpl:relative tpl:inline-block",
|
|
2432
2453
|
style: D(u.value)
|
|
@@ -2435,54 +2456,54 @@ var fa = ["src", "alt"], pa = {
|
|
|
2435
2456
|
src: c.value,
|
|
2436
2457
|
alt: e.block.alt,
|
|
2437
2458
|
style: D(d.value)
|
|
2438
|
-
}, null, 12,
|
|
2459
|
+
}, null, 12, ba), g(pa)], 4))], 64)) : (s(), x("div", xa, [g(h(ln), {
|
|
2439
2460
|
size: 40,
|
|
2440
2461
|
"stroke-width": 1.5,
|
|
2441
2462
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
2442
2463
|
}), k("span", null, F(h(n).video.addVideo), 1)]))], 4));
|
|
2443
2464
|
}
|
|
2444
|
-
}),
|
|
2445
|
-
section:
|
|
2446
|
-
title:
|
|
2447
|
-
paragraph:
|
|
2448
|
-
image:
|
|
2449
|
-
button:
|
|
2450
|
-
divider:
|
|
2451
|
-
video:
|
|
2452
|
-
social:
|
|
2453
|
-
menu:
|
|
2454
|
-
table:
|
|
2455
|
-
spacer:
|
|
2456
|
-
html:
|
|
2465
|
+
}), Ca = {
|
|
2466
|
+
section: Xi,
|
|
2467
|
+
title: Ki,
|
|
2468
|
+
paragraph: ji,
|
|
2469
|
+
image: vi,
|
|
2470
|
+
button: Sr,
|
|
2471
|
+
divider: $r,
|
|
2472
|
+
video: Sa,
|
|
2473
|
+
social: ra,
|
|
2474
|
+
menu: Si,
|
|
2475
|
+
table: fa,
|
|
2476
|
+
spacer: oa,
|
|
2477
|
+
html: ai,
|
|
2457
2478
|
countdown: L(() => import("./CountdownBlock-sVDjKkRw.js"))
|
|
2458
2479
|
};
|
|
2459
|
-
function
|
|
2460
|
-
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } =
|
|
2480
|
+
function wa(e) {
|
|
2481
|
+
let { editor: n, config: r, translations: i, fontsManager: a } = e, { t: s, format: u } = X(i), d = b(() => ue(ue(ue(Wn(i), lr(n.content.value.settings?.locale)), H(n.content.value.settings) === "rtl" ? {
|
|
2461
2482
|
title: { textAlign: "right" },
|
|
2462
2483
|
table: { textAlign: "right" }
|
|
2463
2484
|
} : {}), r.blockDefaults ?? {}));
|
|
2464
2485
|
n.setUiTheme(r.uiTheme ?? "auto");
|
|
2465
|
-
let { resolvedTheme: f } =
|
|
2486
|
+
let { resolvedTheme: f } = Mn(b(() => n.state.uiTheme)), p = l(r.theme ?? {}), { themeStyles: h } = Pn({
|
|
2466
2487
|
themeOverrides: p,
|
|
2467
2488
|
resolvedTheme: f,
|
|
2468
2489
|
extraStyles: () => ({
|
|
2469
2490
|
"--tpl-drop-text": `"${i.canvas.dropHere}"`,
|
|
2470
2491
|
...e.themeExtraStyles?.()
|
|
2471
2492
|
})
|
|
2472
|
-
}), g =
|
|
2493
|
+
}), g = Le({
|
|
2473
2494
|
content: n.content,
|
|
2474
2495
|
setContent: (e, t) => n.setContent(e, t),
|
|
2475
2496
|
...e.historyOptions
|
|
2476
2497
|
});
|
|
2477
|
-
|
|
2478
|
-
let _ =
|
|
2498
|
+
Ve(n, g);
|
|
2499
|
+
let _ = Ke({
|
|
2479
2500
|
addBlock: n.addBlock,
|
|
2480
2501
|
removeBlock: n.removeBlock,
|
|
2481
2502
|
updateBlock: n.updateBlock,
|
|
2482
2503
|
selectBlock: n.selectBlock,
|
|
2483
2504
|
findBlockLocation: n.findBlockLocation,
|
|
2484
2505
|
blockDefaults: () => d.value
|
|
2485
|
-
}), v =
|
|
2506
|
+
}), v = Re(n), x = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Ge({
|
|
2486
2507
|
content: n.content,
|
|
2487
2508
|
isDirty: () => n.state.isDirty,
|
|
2488
2509
|
...e.autoSaveOptions
|
|
@@ -2490,30 +2511,30 @@ function ba(e) {
|
|
|
2490
2511
|
x && (S = t(g.isNavigating, (e) => {
|
|
2491
2512
|
e ? x.pause() : x.resume();
|
|
2492
2513
|
}));
|
|
2493
|
-
let C =
|
|
2514
|
+
let C = jn(n, {
|
|
2494
2515
|
t: s,
|
|
2495
2516
|
format: u
|
|
2496
|
-
}, r.customBlocks ?? []), w =
|
|
2497
|
-
if (w.allowCustomIgnored &&
|
|
2498
|
-
let e =
|
|
2499
|
-
e.length > 0 &&
|
|
2500
|
-
}
|
|
2501
|
-
let T =
|
|
2502
|
-
for (let e of T.unknown)
|
|
2503
|
-
let E =
|
|
2504
|
-
|
|
2517
|
+
}, r.customBlocks ?? []), w = Gt(r.colors);
|
|
2518
|
+
if (w.allowCustomIgnored && Z.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 && Z.warn(`config.colors.presets skipped invalid entries: ${w.invalidPresets.join(", ")} — presets must be hex colors (#rgb or #rrggbb).`), w.allowCustom === !1) {
|
|
2519
|
+
let e = Un(w.presets, r.blockDefaults, r.templateDefaults);
|
|
2520
|
+
e.length > 0 && Z.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.`);
|
|
2521
|
+
}
|
|
2522
|
+
let T = qt(r.templateSettings);
|
|
2523
|
+
for (let e of T.unknown) Z.warn(`config.templateSettings.fields: "${e}" is not a template setting (expected one of ${Jt.join(", ")}) — skipping it.`);
|
|
2524
|
+
let E = Fn();
|
|
2525
|
+
Bn(E, Ca);
|
|
2505
2526
|
let D = /* @__PURE__ */ new Set();
|
|
2506
2527
|
function O(e) {
|
|
2507
2528
|
for (let t of e) {
|
|
2508
|
-
E.registerCustom(t,
|
|
2509
|
-
for (let e of
|
|
2529
|
+
E.registerCustom(t, Zr);
|
|
2530
|
+
for (let e of ur(t, w)) D.has(e.id) || (D.add(e.id), Z.warn(e.message));
|
|
2510
2531
|
}
|
|
2511
2532
|
}
|
|
2512
2533
|
r.customBlocks?.length && O(r.customBlocks);
|
|
2513
|
-
let k =
|
|
2534
|
+
let k = Sn();
|
|
2514
2535
|
if (o() && m(k.dispose), e.containerEl) {
|
|
2515
2536
|
let t = e.containerEl;
|
|
2516
|
-
|
|
2537
|
+
G(document, "pointerdown", (e) => {
|
|
2517
2538
|
let n = t.value;
|
|
2518
2539
|
n && (e.composedPath?.() ?? []).includes(n) && k.claim();
|
|
2519
2540
|
}, { capture: !0 });
|
|
@@ -2527,7 +2548,7 @@ function ba(e) {
|
|
|
2527
2548
|
x?.flush();
|
|
2528
2549
|
}
|
|
2529
2550
|
function j(t) {
|
|
2530
|
-
k.isActive() &&
|
|
2551
|
+
k.isActive() && fr(t, {
|
|
2531
2552
|
history: g,
|
|
2532
2553
|
selectBlock: (e) => n.selectBlock(e),
|
|
2533
2554
|
getSelectedBlockId: () => n.state.selectedBlockId,
|
|
@@ -2539,21 +2560,21 @@ function ba(e) {
|
|
|
2539
2560
|
onCancelPick: () => e.capabilities?.savedBlocks?.cancelPicking()
|
|
2540
2561
|
});
|
|
2541
2562
|
}
|
|
2542
|
-
|
|
2563
|
+
G(document, "keydown", j);
|
|
2543
2564
|
let M = l(null);
|
|
2544
|
-
c(
|
|
2565
|
+
c(xt, e.editorRoot ?? document), c(tt, M), c(yt, i), c(Y, n), c(Vt, g), c(St, _), c(Et, v), c(Rt, a), c(ct, h), c(bt, f), c(Nt, d), c(vt, r.locale), c(Lt, E), c(Pt, r.customBlocks ?? []), c(Ht, r.paletteBlocks), c(Ct, Vn(r.htmlBlockPreview)), c(nt, r.layout), c(at, r.sectionWrapper), c(Tt, w), c(Ft, T.fields), c(jt, In(n.content, E));
|
|
2545
2566
|
let N = be(r.mergeTags?.syntax), P = y(r.mergeTags?.tags ?? []);
|
|
2546
2567
|
function F(e) {
|
|
2547
2568
|
if (!Array.isArray(e)) {
|
|
2548
|
-
|
|
2569
|
+
Z.warn(`setMergeTags() expects an array of merge tags, received ${typeof e} — ignoring.`);
|
|
2549
2570
|
return;
|
|
2550
2571
|
}
|
|
2551
2572
|
P.value = e;
|
|
2552
2573
|
}
|
|
2553
|
-
c(
|
|
2554
|
-
let I = l(
|
|
2555
|
-
c(
|
|
2556
|
-
let L =
|
|
2574
|
+
c(q, P), c(pt, N), c(mt, r.mergeTags?.onRequest ?? null), c(kt, r.mergeTags?.autocomplete !== !1), c(ft, r.mergeTags?.showRawValue !== !1);
|
|
2575
|
+
let I = l(Ne(r.mergeTags?.tags ?? []));
|
|
2576
|
+
c(dt, I);
|
|
2577
|
+
let L = wn({
|
|
2557
2578
|
resolvePreview: r.resolvePreview,
|
|
2558
2579
|
getContent: () => {
|
|
2559
2580
|
let e = n.content.value;
|
|
@@ -2561,19 +2582,19 @@ function ba(e) {
|
|
|
2561
2582
|
},
|
|
2562
2583
|
isActive: () => n.state.previewMode
|
|
2563
2584
|
});
|
|
2564
|
-
c(
|
|
2585
|
+
c(_t, L), c(ot, r.resolvePreview);
|
|
2565
2586
|
let R = b(() => !(n.state.previewMode && L.isConfigured));
|
|
2566
|
-
c(
|
|
2567
|
-
let z =
|
|
2568
|
-
c(
|
|
2569
|
-
let B =
|
|
2587
|
+
c(It, R);
|
|
2588
|
+
let z = Dn();
|
|
2589
|
+
c(et, z), c(Ot, l(!1)), c(rt, l(!1)), c(gt, r.logicTags?.tags ?? []), c(zt, r.logicTags?.pairs ?? []), c(st, r.logicTags?.onRequest ?? null), c(it, On()), c(ut, r.onRequestMedia ?? null), c(wt, r.canDropMedia ?? null), c(Bt, r.resolveImageUrl ? Tn(r.resolveImageUrl) : null), c(Dt, r.displayConditions?.conditions ?? []), c(Mt, r.displayConditions?.allowCustom ?? !1), c(At, e.capabilities ?? {}), c(ht, C);
|
|
2590
|
+
let B = kn(r.lint) ? null : An({
|
|
2570
2591
|
content: n.content,
|
|
2571
2592
|
options: r.lint ?? {},
|
|
2572
2593
|
updateBlock: n.updateBlock,
|
|
2573
2594
|
updateSettings: n.updateSettings,
|
|
2574
2595
|
removeBlock: n.removeBlock
|
|
2575
2596
|
});
|
|
2576
|
-
c(
|
|
2597
|
+
c(lt, B);
|
|
2577
2598
|
function V() {
|
|
2578
2599
|
S?.(), B?.destroy(), x?.destroy(), g.destroy();
|
|
2579
2600
|
}
|
|
@@ -2600,6 +2621,6 @@ function ba(e) {
|
|
|
2600
2621
|
};
|
|
2601
2622
|
}
|
|
2602
2623
|
//#endregion
|
|
2603
|
-
export {
|
|
2624
|
+
export { ir as A, hr as C, Qn as D, mr as E, nr as M, tr as N, or as O, wn as P, Sr as S, vr as T, Rr as _, ra as a, Dr as b, Wi as c, vi as d, ai as f, Br as g, Hr as h, oa as i, rr as j, ar as k, ji as l, Zr as m, Sa as n, Xi as o, $r as p, fa as r, Ki as s, wa as t, Si as u, Nr as v, pr as w, Tr as x, Or as y };
|
|
2604
2625
|
|
|
2605
|
-
//# sourceMappingURL=useEditorCore-
|
|
2626
|
+
//# sourceMappingURL=useEditorCore-yd40TFKy.js.map
|