@templatical/editor 0.35.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiChatSidebar-DPHbCGu4.js → AiChatSidebar-tu4eLcf_.js} +57 -57
- package/dist/{AiFeatureMenu--8z7qvg1.js → AiFeatureMenu-BF0i0vA4.js} +17 -17
- package/dist/{BlockIssueBadge-BGCsJqqM.js → BlockIssueBadge-DT-FqKeC.js} +9 -9
- package/dist/{BlockPreviewCanvas-DKspIy8V.js → BlockPreviewCanvas-DDCmMram.js} +28 -28
- package/dist/CloudHeaderExtras-NPhudovT.js +59 -0
- package/dist/{CloudPanels-Bp5gFtaL.js → CloudPanels-Iwnky0iA.js} +78 -108
- package/dist/{CollaboratorBar-DvwZm5u7.js → CollaboratorBar-DAITu0hz.js} +17 -17
- package/dist/{ColorPicker-DtozuN75.js → ColorPicker-BqlZ_TqG.js} +193 -193
- package/dist/{CommentsPanel-3C-DsEjy.js → CommentsPanel-CDvgmWP1.js} +3 -3
- package/dist/{CommentsSidebar-go1FnjDW.js → CommentsSidebar-X_xqM3dR.js} +158 -158
- package/dist/{CountdownBlock-D1fsNsyS.js → CountdownBlock-ZFJIdbP6.js} +12 -12
- package/dist/{CountdownToolbar-SLBuij7Q.js → CountdownToolbar-DBFoG3a6.js} +67 -67
- package/dist/{DesignReferenceSidebar-rcE_BvUd.js → DesignReferenceSidebar--QtXjLrw.js} +57 -57
- package/dist/{FieldRow-BWt7ECqo.js → FieldRow-C8nOknr_.js} +39 -39
- package/dist/{IssuesPanel-Cig46N1i.js → IssuesPanel-BLbNFMSX.js} +38 -38
- package/dist/{LoadingTrack-SQXoZVf2.js → LoadingTrack-BlTL4zFv.js} +2 -2
- package/dist/MediaPanels-CMTAhDXB.js +43 -0
- package/dist/{MergeTagInput-D1hzsn2b.js → MergeTagInput-BEjzj4Iu.js} +115 -115
- package/dist/{MergeTagModeToggle-CH9wR5YF.js → MergeTagModeToggle-DKN6ihI5.js} +40 -40
- package/dist/{MergeTagSuggestion-CoCuzEmW.js → MergeTagSuggestion-DKoLEeoj.js} +21 -21
- package/dist/{ParagraphEditor-CT2AdMdZ.js → ParagraphEditor-1E9yzOfk.js} +231 -258
- package/dist/{RestoreVersionDialog-mdqgQxFR.js → RestoreVersionDialog-BMGUkcd8.js} +28 -28
- package/dist/{RichTextEditorContent-riOB-rKD.js → RichTextEditorContent-BnxbQUV9.js} +49 -59
- package/dist/{SaveBlockDialog-Cn2v4Lpj.js → SaveBlockDialog-WKASpCCT.js} +78 -78
- package/dist/SavedBlocksBrowserModal-AYEXTMtQ.js +323 -0
- package/dist/{SavedBlocksPanels-ffBnWuVU.js → SavedBlocksPanels-D_CpacTl.js} +6 -6
- package/dist/{SavedBlocksPickBar-BmQC2tWN.js → SavedBlocksPickBar-BHMwg-1G.js} +11 -11
- package/dist/{TemplateScoringPanel-CxAtdreR.js → TemplateScoringPanel-CSin43YM.js} +99 -98
- package/dist/{TestEmailModal-Cjn1padY.js → TestEmailModal-BxizsRCd.js} +59 -59
- package/dist/{TestEmailPanel-Bf3XZ1jn.js → TestEmailPanel-vd2e5HzT.js} +3 -3
- package/dist/TitleEditor-CLJ68Ty4.js +199 -0
- package/dist/TplModal-Q9fDgS1M.js +51 -0
- package/dist/{VersionHistoryMenu-CrNrGsaa.js → VersionHistoryMenu-eGYVhM4H.js} +41 -47
- package/dist/{VersionHistoryPanels-CsuQk6W3.js → VersionHistoryPanels-C7Ntrrfq.js} +4 -4
- package/dist/{VersionPreviewBanner-BqbO0Zss.js → VersionPreviewBanner-BbQXnR0M.js} +9 -9
- package/dist/{blockTypeIcons-D_4HdaY9.js → blockTypeIcons-5qD4bB76.js} +5 -17
- package/dist/bundle-stats.json +8 -8
- package/dist/ca-Jx2CDwtn.js +83 -0
- package/dist/cdn/chunks/{AiChatSidebar-D0f74_nS.js → AiChatSidebar-dyqqHAcI.js} +4 -4
- package/dist/cdn/chunks/{AiChatSidebar-D0f74_nS.js.map → AiChatSidebar-dyqqHAcI.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-DwGb3eF9.js → AiFeatureMenu-BjVMwhW8.js} +5 -5
- package/dist/cdn/chunks/{AiFeatureMenu-DwGb3eF9.js.map → AiFeatureMenu-BjVMwhW8.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-CosQgeJ-.js → BlockIssueBadge-BJ__oEtm.js} +4 -4
- package/dist/cdn/chunks/{BlockIssueBadge-CosQgeJ-.js.map → BlockIssueBadge-BJ__oEtm.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-CIpZ2a6g.js → BlockPreviewCanvas-B5f26eLE.js} +5 -5
- package/dist/cdn/chunks/{BlockPreviewCanvas-CIpZ2a6g.js.map → BlockPreviewCanvas-B5f26eLE.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-CQzQwKFB.js → CloudHeaderExtras-D5P5IEKA.js} +4 -4
- package/dist/cdn/chunks/{CloudHeaderExtras-CQzQwKFB.js.map → CloudHeaderExtras-D5P5IEKA.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-BmexuLOU.js → CloudPanels-DkmR05nB.js} +15 -45
- package/dist/cdn/chunks/{CloudPanels-BmexuLOU.js.map → CloudPanels-DkmR05nB.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-DEICobpp.js → CollaboratorBar-Yn7KSpt4.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-DEICobpp.js.map → CollaboratorBar-Yn7KSpt4.js.map} +1 -1
- package/dist/cdn/chunks/{ColorPicker-C7yC58FK.js → ColorPicker-LcrzgMoW.js} +7 -7
- package/dist/cdn/chunks/{ColorPicker-C7yC58FK.js.map → ColorPicker-LcrzgMoW.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-OjmKxLL7.js → CommentsPanel-CntwwocI.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-OjmKxLL7.js.map → CommentsPanel-CntwwocI.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-C4pWZGpy.js → CommentsSidebar-BLDKnKy7.js} +4 -4
- package/dist/cdn/chunks/{CommentsSidebar-C4pWZGpy.js.map → CommentsSidebar-BLDKnKy7.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-rK055jpy.js → CountdownBlock-B4AfqJwb.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-rK055jpy.js.map → CountdownBlock-B4AfqJwb.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-wlJOxyAl.js → CountdownToolbar-CA1dpuOI.js} +3 -3
- package/dist/cdn/chunks/{CountdownToolbar-wlJOxyAl.js.map → CountdownToolbar-CA1dpuOI.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-DELhnh8h.js → DesignReferenceSidebar-D1Y9Hswe.js} +5 -5
- package/dist/cdn/chunks/{DesignReferenceSidebar-DELhnh8h.js.map → DesignReferenceSidebar-D1Y9Hswe.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-C9i3o8aE.js → IssuesPanel-Q62LTqvd.js} +5 -5
- package/dist/cdn/chunks/{IssuesPanel-C9i3o8aE.js.map → IssuesPanel-Q62LTqvd.js.map} +1 -1
- package/dist/cdn/chunks/MediaPanels-D21M6shx.js +45 -0
- package/dist/cdn/chunks/MediaPanels-D21M6shx.js.map +1 -0
- package/dist/cdn/chunks/{MergeTagInput-D76Kyvgu.js → MergeTagInput-l7paaAml.js} +7 -7
- package/dist/cdn/chunks/{MergeTagInput-D76Kyvgu.js.map → MergeTagInput-l7paaAml.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-Dz3gxN2y.js → MergeTagModeToggle-DYxkAGtA.js} +4 -4
- package/dist/cdn/chunks/{MergeTagModeToggle-Dz3gxN2y.js.map → MergeTagModeToggle-DYxkAGtA.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-DQn0HMfV.js → ParagraphEditor-Bd-GQXee.js} +15 -15
- package/dist/cdn/chunks/{ParagraphEditor-DQn0HMfV.js.map → ParagraphEditor-Bd-GQXee.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-BdjOL8Oy.js → RestoreVersionDialog-2X9RpM9A.js} +4 -4
- package/dist/cdn/chunks/{RestoreVersionDialog-BdjOL8Oy.js.map → RestoreVersionDialog-2X9RpM9A.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-Drzwgh0J.js → RichTextEditorContent-D_rb0rmU.js} +8 -8
- package/dist/cdn/chunks/{RichTextEditorContent-Drzwgh0J.js.map → RichTextEditorContent-D_rb0rmU.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-B3rbmXSM.js → SaveBlockDialog-CufdTomT.js} +15 -15
- package/dist/cdn/chunks/{SaveBlockDialog-B3rbmXSM.js.map → SaveBlockDialog-CufdTomT.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CkUXlnd2.js → SavedBlocksBrowserModal-CqpaNsk7.js} +8 -8
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CkUXlnd2.js.map → SavedBlocksBrowserModal-CqpaNsk7.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-BPi3PZKP.js → SavedBlocksPanels-DpxYxddo.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-BPi3PZKP.js.map → SavedBlocksPanels-DpxYxddo.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-BvB9A5W2.js → SavedBlocksPickBar-Drpoav1B.js} +4 -4
- package/dist/cdn/chunks/{SavedBlocksPickBar-BvB9A5W2.js.map → SavedBlocksPickBar-Drpoav1B.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-BBCyLnOi.js → TemplateScoringPanel-DBjUNULq.js} +5 -5
- package/dist/cdn/chunks/{TemplateScoringPanel-BBCyLnOi.js.map → TemplateScoringPanel-DBjUNULq.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-DAGTsBqi.js → TestEmailModal-BTNlSW6f.js} +10 -10
- package/dist/cdn/chunks/{TestEmailModal-DAGTsBqi.js.map → TestEmailModal-BTNlSW6f.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailPanel-BfenVvfx.js → TestEmailPanel-D0A9Zgxr.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-BfenVvfx.js.map → TestEmailPanel-D0A9Zgxr.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-oQ4gr6wS.js → TitleEditor-CrnuIq62.js} +9 -9
- package/dist/cdn/chunks/{TitleEditor-oQ4gr6wS.js.map → TitleEditor-CrnuIq62.js.map} +1 -1
- package/dist/cdn/chunks/{TplModal-DxOMcVwp.js → TplModal-DYXrTz42.js} +5 -5
- package/dist/cdn/chunks/{TplModal-DxOMcVwp.js.map → TplModal-DYXrTz42.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-BfVUvWHT.js → VersionHistoryMenu-bDGnE4hb.js} +4 -4
- package/dist/cdn/chunks/VersionHistoryMenu-bDGnE4hb.js.map +1 -0
- package/dist/cdn/chunks/{VersionHistoryPanels-NpDb641L.js → VersionHistoryPanels-82P0Q0HM.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-NpDb641L.js.map → VersionHistoryPanels-82P0Q0HM.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-Cpgt4xHc.js → VersionPreviewBanner-BJiwKkVC.js} +3 -3
- package/dist/cdn/chunks/{VersionPreviewBanner-Cpgt4xHc.js.map → VersionPreviewBanner-BJiwKkVC.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-t9vvaiuH.js → blockTypeIcons-CNjJSFun.js} +2 -2
- package/dist/cdn/chunks/{blockTypeIcons-t9vvaiuH.js.map → blockTypeIcons-CNjJSFun.js.map} +1 -1
- package/dist/cdn/chunks/{ca-CNRWAMHI.js → ca-Jx2CDwtn.js} +2 -6
- package/dist/cdn/chunks/ca-Jx2CDwtn.js.map +1 -0
- package/dist/cdn/chunks/{cloud-CullB76F.js → cloud-BLgCKP7Z.js} +452 -227
- package/dist/cdn/chunks/cloud-BLgCKP7Z.js.map +1 -0
- package/dist/cdn/chunks/createCloudRuntime-U-qCH-dq.js +385 -0
- package/dist/cdn/chunks/createCloudRuntime-U-qCH-dq.js.map +1 -0
- package/dist/cdn/chunks/{de-DFYCT4QU.js → de-Ck0pBGHu.js} +2 -6
- package/dist/cdn/chunks/de-Ck0pBGHu.js.map +1 -0
- package/dist/cdn/chunks/{src-CaXeO-gG.js → editor-modal-MXgtarMl.js} +1474 -1935
- package/dist/cdn/chunks/editor-modal-MXgtarMl.js.map +1 -0
- package/dist/cdn/chunks/en-C9U7N77n.js +2 -0
- package/dist/cdn/chunks/{es-OgkdMZGX.js → es-lagTvUfX.js} +2 -6
- package/dist/cdn/chunks/es-lagTvUfX.js.map +1 -0
- package/dist/cdn/chunks/{extensions-BpXY7jO5.js → extensions-B8_jnIkD.js} +3 -3
- package/dist/cdn/chunks/{extensions-BpXY7jO5.js.map → extensions-B8_jnIkD.js.map} +1 -1
- package/dist/cdn/chunks/{fr-Dswns199.js → fr-C4hVl5Lk.js} +2 -6
- package/dist/cdn/chunks/fr-C4hVl5Lk.js.map +1 -0
- package/dist/cdn/chunks/{icons-BLxcQUck.js → icons-BUlqGSgd.js} +24 -24
- package/dist/cdn/chunks/{icons-BLxcQUck.js.map → icons-BUlqGSgd.js.map} +1 -1
- package/dist/cdn/chunks/{keys-DQp8x7Nx.js → keys-DBFhDFng.js} +4 -4
- package/dist/cdn/chunks/{keys-DQp8x7Nx.js.map → keys-DBFhDFng.js.map} +1 -1
- package/dist/cdn/chunks/{nl-CbcPJlrL.js → nl-CReD7Apd.js} +2 -6
- package/dist/cdn/chunks/nl-CReD7Apd.js.map +1 -0
- package/dist/cdn/chunks/{pt-BR-BibOQm-o.js → pt-BR-BRA0-vGP.js} +2 -6
- package/dist/cdn/chunks/pt-BR-BRA0-vGP.js.map +1 -0
- package/dist/cdn/chunks/{src-BC-eolWY.js → src-Ozknnj-v.js} +2 -2
- package/dist/cdn/chunks/{src-BC-eolWY.js.map → src-Ozknnj-v.js.map} +1 -1
- package/dist/cdn/chunks/{useCloudI18n-MxgHWrV6.js → useCloudI18n-DSWSGj-A.js} +2 -2
- package/dist/cdn/chunks/{useCloudI18n-MxgHWrV6.js.map → useCloudI18n-DSWSGj-A.js.map} +1 -1
- package/dist/cdn/chunks/{useEditorCore-D4MytYB9.js → useEditorCore-Cs7rYVBo.js} +488 -406
- package/dist/cdn/chunks/useEditorCore-Cs7rYVBo.js.map +1 -0
- package/dist/cdn/chunks/{useEditorRoot-CteADR3y.js → useEditorRoot-B0zW2nT4.js} +2 -2
- package/dist/cdn/chunks/{useEditorRoot-CteADR3y.js.map → useEditorRoot-B0zW2nT4.js.map} +1 -1
- package/dist/cdn/chunks/{useI18n-Ct1VIFcf.js → useI18n-Dlo7R9RA.js} +2 -2
- package/dist/cdn/chunks/{useI18n-Ct1VIFcf.js.map → useI18n-Dlo7R9RA.js.map} +1 -1
- package/dist/cdn/chunks/{useMergeTag-CSocWpxV.js → useMergeTag-BYAifvh8.js} +3 -3
- package/dist/cdn/chunks/{useMergeTag-CSocWpxV.js.map → useMergeTag-BYAifvh8.js.map} +1 -1
- package/dist/cdn/chunks/{usePopoverPosition-BxVWE5_0.js → usePopoverPosition-ElP3ABaV.js} +2 -2
- package/dist/cdn/chunks/{usePopoverPosition-BxVWE5_0.js.map → usePopoverPosition-ElP3ABaV.js.map} +1 -1
- package/dist/cdn/chunks/{useScrollToBlock-Cz3fpgTK.js → useScrollToBlock-nTbWkgaU.js} +2 -2
- package/dist/cdn/chunks/{useScrollToBlock-Cz3fpgTK.js.map → useScrollToBlock-nTbWkgaU.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +1094 -1005
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-CY-Ec6FV.js → check-DWtkBzBU.js} +1 -1
- package/dist/{chevron-down-BghbWA9p.js → chevron-down-C-Fjxcqj.js} +1 -1
- package/dist/chevron-right-SOkn2d4P.js +11 -0
- package/dist/{chevron-up-n3qFAPS3.js → chevron-up-lntU1ypp.js} +1 -1
- package/dist/{circle-alert-L5uGGFRP.js → circle-alert-CjzUTwy3.js} +1 -1
- package/dist/{clock-Dgnwp18n.js → clock-pB2QKPsJ.js} +1 -1
- package/dist/{cloud-B1c4XIsn.js → cloud-DdidMW6f.js} +445 -200
- package/dist/copy-CId1E038.js +19 -0
- package/dist/createCloudRuntime-x5WZm3p8.js +383 -0
- package/dist/{createLucideIcon-05lB8iWe.js → createLucideIcon-Cwf_nTzE.js} +6 -6
- package/dist/de-Ck0pBGHu.js +83 -0
- package/dist/{dist-BxFbxpgW.js → dist-BVqAYoRB.js} +125 -125
- package/dist/dist-D8i1ixHK.js +177 -0
- package/dist/dist-DBirAJIs.js +410 -0
- package/dist/editor-modal-B_LaQf0s.js +5998 -0
- package/dist/en-DcmpWV53.js +2 -0
- package/dist/es-lagTvUfX.js +83 -0
- package/dist/{extensions-Bawm4BOM.js → extensions-CHOBZRab.js} +42 -42
- package/dist/eye-BuGtFUoJ.js +16 -0
- package/dist/fr-C4hVl5Lk.js +83 -0
- package/dist/{image-up-ovhjl9u9.js → image-up-gH4JEpU5.js} +1 -1
- package/dist/index.d.ts +90 -11
- package/dist/{info-c3KI927I.js → info-BQ60P82u.js} +1 -1
- package/dist/{keys-C3P1yxnr.js → keys-DQA2i1k1.js} +4 -4
- package/dist/link-3R8it3J7.js +14 -0
- package/dist/list-Ccdgj46T.js +33 -0
- package/dist/{loader-circle-B2Y8xZQb.js → loader-circle-B_tAD4k6.js} +1 -1
- package/dist/{message-circle-B7K-naUa.js → message-circle-P-KSc6V0.js} +1 -1
- package/dist/nl-CReD7Apd.js +83 -0
- package/dist/{pencil-BhWTFcp4.js → pencil-9ZiwqS4r.js} +1 -1
- package/dist/plus-BwJEzCaO.js +14 -0
- package/dist/pt-BR-BRA0-vGP.js +83 -0
- package/dist/{refresh-cw-BqUR5vgO.js → refresh-cw-DEgfb2FK.js} +2 -14
- package/dist/{runtime-dom.esm-bundler-BuG03jBM.js → runtime-dom.esm-bundler-PnoZU512.js} +106 -106
- package/dist/search-DqQ8Li5E.js +16 -0
- package/dist/{send-D1vvuW79.js → send-CE6uvqop.js} +1 -1
- package/dist/{shield-check-DjK54PnW.js → shield-check-DhD1Z3rd.js} +1 -1
- package/dist/{sparkles-DNdS9V_3.js → sparkles-R0ZQHa6F.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +2491 -2408
- package/dist/{text-align-start-Bcmo_VUY.js → text-align-start-DSux2UNn.js} +1 -1
- package/dist/{trash-C9bMXvw4.js → trash-Cf_SqsER.js} +1 -1
- package/dist/{triangle-alert-Bn8Bd2Yv.js → triangle-alert-C6tGa6jw.js} +1 -1
- package/dist/{upload-DKgg1gno.js → upload-DusKjpVr.js} +1 -1
- package/dist/{useAliveFlag-PVmp95MT.js → useAliveFlag-oyByIcjy.js} +1 -1
- package/dist/{useCloudI18n-BKoiYsWZ.js → useCloudI18n-BLyh_e2T.js} +2 -2
- package/dist/{useEditorCore-CYGvurZa.js → useEditorCore-DhlKOYwe.js} +1552 -1486
- package/dist/{useEditorRoot-DkRGTQRs.js → useEditorRoot-ds57-l6F.js} +2 -2
- package/dist/{useI18n-CL6RfPzK.js → useI18n-BbdxxpOE.js} +2 -2
- package/dist/{useMergeTag-C9GEpljB.js → useMergeTag-DlvOBW_B.js} +3 -3
- package/dist/{usePopoverPosition-CWxaIWd3.js → usePopoverPosition-CprM5p-c.js} +2 -2
- package/dist/{useScrollToBlock-oUx1HIZ2.js → useScrollToBlock-BTFw0b9O.js} +3 -3
- package/dist/{vue.runtime.esm-bundler-D9JUcKrV.js → vue.runtime.esm-bundler-DShF3P6k.js} +1192 -1181
- package/dist/{x-BPKoRPTG.js → x-D_-42Ukq.js} +1 -1
- package/package.json +9 -12
- package/dist/CloudHeaderExtras-CRUQvgSV.js +0 -59
- package/dist/SavedBlocksBrowserModal-BORqqASb.js +0 -322
- package/dist/TitleEditor-pYEUX6lR.js +0 -198
- package/dist/TplModal-DRx4ytx8.js +0 -51
- package/dist/cdn/chunks/VersionHistoryMenu-BfVUvWHT.js.map +0 -1
- package/dist/cdn/chunks/ca-CNRWAMHI.js.map +0 -1
- package/dist/cdn/chunks/cloud-CullB76F.js.map +0 -1
- package/dist/cdn/chunks/createCloudRuntime-Cx2JpUYU.js +0 -443
- package/dist/cdn/chunks/createCloudRuntime-Cx2JpUYU.js.map +0 -1
- package/dist/cdn/chunks/de-DFYCT4QU.js.map +0 -1
- package/dist/cdn/chunks/en-rGHphLWo.js +0 -2
- package/dist/cdn/chunks/es-OgkdMZGX.js.map +0 -1
- package/dist/cdn/chunks/fr-Dswns199.js.map +0 -1
- package/dist/cdn/chunks/nl-CbcPJlrL.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-BibOQm-o.js.map +0 -1
- package/dist/cdn/chunks/src-CaXeO-gG.js.map +0 -1
- package/dist/cdn/chunks/useEditorCore-D4MytYB9.js.map +0 -1
- package/dist/createCloudRuntime-PevFSH74.js +0 -441
- package/dist/dist-dNiknO7j.js +0 -251
- package/dist/dist-heatwAdo.js +0 -150
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//#region ../media-library/src/i18n/locales/es.ts
|
|
2
|
+
var e = { mediaLibrary: {
|
|
3
|
+
title: "Biblioteca multimedia",
|
|
4
|
+
searchPlaceholder: "Buscar archivos...",
|
|
5
|
+
allFiles: "Todos los archivos",
|
|
6
|
+
filterAll: "Todos los tipos",
|
|
7
|
+
filterImages: "Imágenes",
|
|
8
|
+
filterDocuments: "Documentos",
|
|
9
|
+
filterVideos: "Vídeos",
|
|
10
|
+
filterAudio: "Audio",
|
|
11
|
+
newFolder: "Nueva carpeta",
|
|
12
|
+
folderName: "Nombre de la carpeta",
|
|
13
|
+
noFiles: "No se han encontrado archivos",
|
|
14
|
+
noSearchResults: "Ningún archivo coincide con tu búsqueda",
|
|
15
|
+
dropOrClick: "Suelta los archivos aquí o haz clic para subirlos",
|
|
16
|
+
acceptedFormats: "Imágenes, PDF, vídeo, audio y documentos (máx. 10 MB)",
|
|
17
|
+
uploading: "Subiendo...",
|
|
18
|
+
uploadingProgress: "Subiendo {current} de {total}...",
|
|
19
|
+
selectImage: "Seleccionar imagen",
|
|
20
|
+
selectFile: "Seleccionar archivo",
|
|
21
|
+
deleteSelected: "Eliminar",
|
|
22
|
+
copyUrl: "Copiar URL",
|
|
23
|
+
copied: "¡Copiada!",
|
|
24
|
+
browseMedia: "Explorar la biblioteca multimedia",
|
|
25
|
+
renameFolder: "Cambiar nombre de la carpeta",
|
|
26
|
+
addSubfolder: "Añadir subcarpeta",
|
|
27
|
+
subfolderName: "Nombre de la subcarpeta",
|
|
28
|
+
sortNewest: "Más recientes primero",
|
|
29
|
+
sortOldest: "Más antiguos primero",
|
|
30
|
+
sortNameAsc: "Nombre de A a Z",
|
|
31
|
+
sortNameDesc: "Nombre de Z a A",
|
|
32
|
+
sortSizeAsc: "Más pequeños primero",
|
|
33
|
+
sortSizeDesc: "Más grandes primero",
|
|
34
|
+
moveSelected: "Mover",
|
|
35
|
+
moveToRoot: "Todos los archivos",
|
|
36
|
+
currentFolder: "(actual)",
|
|
37
|
+
confirmDelete: "¿Confirmar?",
|
|
38
|
+
renameFile: "Cambiar nombre",
|
|
39
|
+
editFile: "Editar archivo",
|
|
40
|
+
fileName: "Nombre del archivo",
|
|
41
|
+
altText: "Texto alternativo",
|
|
42
|
+
altTextPlaceholder: "Describe esta imagen para mejorar la accesibilidad",
|
|
43
|
+
saveChanges: "Guardar",
|
|
44
|
+
cancel: "Cancelar",
|
|
45
|
+
frequentlyUsed: "Usados frecuentemente",
|
|
46
|
+
deleteWarningTitle: "Eliminar archivo",
|
|
47
|
+
deleteWarningMessage: "¿Estás seguro? Esta acción es irreversible.",
|
|
48
|
+
deleteWarningUsageNote: "Los siguientes archivos se utilizan en plantillas. Si los eliminas, es posible que esas plantillas dejen de funcionar correctamente.",
|
|
49
|
+
deleteAnyway: "Eliminar",
|
|
50
|
+
usedInTemplates: "Usado en {count} plantilla(s)",
|
|
51
|
+
viewGrid: "Vista de cuadrícula",
|
|
52
|
+
viewList: "Vista de lista",
|
|
53
|
+
showFolders: "Mostrar carpetas",
|
|
54
|
+
hideFolders: "Ocultar carpetas",
|
|
55
|
+
importFromUrl: "Importar desde URL",
|
|
56
|
+
importUrlPlaceholder: "https://example.com/image.jpg",
|
|
57
|
+
import: "Importar",
|
|
58
|
+
importing: "Importando...",
|
|
59
|
+
importError: "No se ha podido importar desde la URL",
|
|
60
|
+
replaceFile: "Reemplazar archivo",
|
|
61
|
+
replaceWarningTitle: "Reemplazar archivo",
|
|
62
|
+
replaceWarningMessage: "Estás a punto de reemplazar este archivo. El archivo de reemplazo debe tener la misma extensión ({extension}).",
|
|
63
|
+
replaceWarningUsageNote: "Este archivo se utiliza en {count} plantilla(s). Al reemplazarlo, se actualizarán todas las referencias.",
|
|
64
|
+
replaceSelectFile: "Seleccionar archivo de reemplazo",
|
|
65
|
+
replace: "Reemplazar",
|
|
66
|
+
replacing: "Reemplazando...",
|
|
67
|
+
replaceError: "No se ha podido reemplazar el archivo",
|
|
68
|
+
saving: "Guardando...",
|
|
69
|
+
cropAspectRatio: "Relación de aspecto",
|
|
70
|
+
cropFree: "Libre",
|
|
71
|
+
cropSquare: "1:1",
|
|
72
|
+
cropLandscape43: "4:3",
|
|
73
|
+
cropLandscape169: "16:9",
|
|
74
|
+
cropOriginal: "Original",
|
|
75
|
+
cropMaxWidth: "Anchura máxima",
|
|
76
|
+
cropMaxHeight: "Altura máxima",
|
|
77
|
+
cropOutputSize: "Tamaño de salida",
|
|
78
|
+
cropPixels: "px",
|
|
79
|
+
cropOptional: "(opcional)",
|
|
80
|
+
storageTooltip: "{used} de {total} usados ({remaining} restantes)"
|
|
81
|
+
} };
|
|
82
|
+
//#endregion
|
|
83
|
+
export { e as default };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as h, c as g, s as _ } from "./runtime-dom.esm-bundler-
|
|
1
|
+
import { A as e, At as t, B as n, E as r, V as i, Z as a, at as o, c as s, d as c, jt as l, kt as u, l as d, s as f, u as p, v as m } from "./vue.runtime.esm-bundler-DShF3P6k.js";
|
|
2
|
+
import { a as h, c as g, s as _ } from "./runtime-dom.esm-bundler-PnoZU512.js";
|
|
3
3
|
import { F as v, O as y, k as b, o as x } from "./dist-tGkjkX-v.js";
|
|
4
|
-
import { t as S } from "./useI18n-
|
|
5
|
-
import { t as C } from "./useMergeTag-
|
|
4
|
+
import { t as S } from "./useI18n-BbdxxpOE.js";
|
|
5
|
+
import { t as C } from "./useMergeTag-DlvOBW_B.js";
|
|
6
6
|
import { gn as w, m as T, s as E, u as D, v as O } from "./dist-DL9334yz.js";
|
|
7
|
-
import { i as k, r as A, t as j } from "./MergeTagSuggestion-
|
|
8
|
-
import { n as M, t as N } from "./dist-
|
|
7
|
+
import { i as k, r as A, t as j } from "./MergeTagSuggestion-DKoLEeoj.js";
|
|
8
|
+
import { n as M, t as N } from "./dist-BVqAYoRB.js";
|
|
9
9
|
//#region src/extensions/FontSize.ts
|
|
10
10
|
var P = E.create({
|
|
11
11
|
name: "fontSize",
|
|
@@ -91,7 +91,7 @@ var P = E.create({
|
|
|
91
91
|
"aria-label",
|
|
92
92
|
"data-tooltip",
|
|
93
93
|
"onKeydown"
|
|
94
|
-
], z = ["aria-label", "onKeydown"], B = ["aria-label"], V = /* @__PURE__ */
|
|
94
|
+
], z = ["aria-label", "onKeydown"], B = ["aria-label"], V = /* @__PURE__ */ m({
|
|
95
95
|
__name: "LogicMergeTagNodeView",
|
|
96
96
|
props: {
|
|
97
97
|
node: {},
|
|
@@ -100,8 +100,8 @@ var P = E.create({
|
|
|
100
100
|
deleteNode: { type: Function },
|
|
101
101
|
updateAttributes: { type: Function }
|
|
102
102
|
},
|
|
103
|
-
setup(
|
|
104
|
-
let b =
|
|
103
|
+
setup(m) {
|
|
104
|
+
let b = m, { syntax: x } = C(), { t: w } = S(), T = f(() => v(b.node.attrs.value, x)), E = f(() => y(b.node.attrs.value, x)), D = a(!1), O = a(""), k = a(null), A = !1;
|
|
105
105
|
function j() {
|
|
106
106
|
O.value = b.node.attrs.value, A = !1, D.value = !0, r(() => {
|
|
107
107
|
k.value?.focus(), k.value?.select();
|
|
@@ -123,45 +123,45 @@ var P = E.create({
|
|
|
123
123
|
function P(e) {
|
|
124
124
|
e.key === "Enter" ? (e.preventDefault(), M()) : e.key === "Escape" && (D.value = !1);
|
|
125
125
|
}
|
|
126
|
-
return (r,
|
|
126
|
+
return (r, a) => (e(), d(o(N), {
|
|
127
127
|
as: "span",
|
|
128
|
-
class:
|
|
129
|
-
style:
|
|
128
|
+
class: u(T.value ? "tpl-logic-merge-tag-node tpl:group tpl:mx-0.5 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.8em] tpl:font-bold tpl:tracking-wide tpl:uppercase tpl:select-none" : ""),
|
|
129
|
+
style: t(T.value ? "background-color: transparent; border: 1.5px solid color-mix(in srgb, var(--tpl-primary) 50%, transparent); color: var(--tpl-primary);" : ""),
|
|
130
130
|
contenteditable: "false"
|
|
131
131
|
}, {
|
|
132
|
-
default:
|
|
132
|
+
default: n(() => [D.value ? i((e(), c("input", {
|
|
133
133
|
key: 0,
|
|
134
134
|
ref_key: "inputRef",
|
|
135
135
|
ref: k,
|
|
136
|
-
"onUpdate:modelValue":
|
|
136
|
+
"onUpdate:modelValue": a[0] ||= (e) => O.value = e,
|
|
137
137
|
type: "text",
|
|
138
138
|
class: "tpl:w-40 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-0.5 tpl:py-0 tpl:text-[1em] tpl:font-medium tpl:normal-case tpl:outline-none tpl:text-[var(--tpl-primary)]",
|
|
139
139
|
onBlur: M,
|
|
140
140
|
onKeydown: P
|
|
141
|
-
}, null, 544)), [[h, O.value]]) : T.value ? (
|
|
141
|
+
}, null, 544)), [[h, O.value]]) : T.value ? (e(), c("span", {
|
|
142
142
|
key: 1,
|
|
143
143
|
role: "button",
|
|
144
144
|
tabindex: "0",
|
|
145
|
-
"aria-label":
|
|
145
|
+
"aria-label": o(w).mergeTag.editValue,
|
|
146
146
|
class: "tpl-tooltip tpl:cursor-pointer",
|
|
147
|
-
"data-tooltip":
|
|
147
|
+
"data-tooltip": m.node.attrs.value,
|
|
148
148
|
onClick: g(j, ["stop"]),
|
|
149
149
|
onKeydown: [_(g(j, ["stop"]), ["enter"]), _(g(j, ["prevent", "stop"]), ["space"])]
|
|
150
|
-
},
|
|
150
|
+
}, l(E.value), 41, R)) : (e(), c("span", {
|
|
151
151
|
key: 2,
|
|
152
152
|
role: "button",
|
|
153
153
|
tabindex: "0",
|
|
154
|
-
"aria-label":
|
|
154
|
+
"aria-label": o(w).mergeTag.editValue,
|
|
155
155
|
onClick: g(j, ["stop"]),
|
|
156
156
|
onKeydown: [_(g(j, ["stop"]), ["enter"]), _(g(j, ["prevent", "stop"]), ["space"])]
|
|
157
|
-
},
|
|
157
|
+
}, l(m.node.attrs.value), 41, z)), T.value ? (e(), c("button", {
|
|
158
158
|
key: 3,
|
|
159
159
|
type: "button",
|
|
160
|
-
"aria-label":
|
|
160
|
+
"aria-label": o(w).mergeTag.deleteMergeTag,
|
|
161
161
|
class: "tpl-merge-tag-delete tpl:flex tpl:size-5 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-full tpl:border-none tpl:bg-transparent tpl:p-0 tpl:opacity-60 tpl:transition-all tpl:hover:opacity-100 tpl:text-[var(--tpl-primary)]",
|
|
162
162
|
contenteditable: "false",
|
|
163
|
-
onClick:
|
|
164
|
-
}, [...
|
|
163
|
+
onClick: a[1] ||= g((...e) => m.deleteNode && m.deleteNode(...e), ["stop", "prevent"])
|
|
164
|
+
}, [...a[2] ||= [s("svg", {
|
|
165
165
|
width: "10",
|
|
166
166
|
height: "10",
|
|
167
167
|
viewBox: "0 0 24 24",
|
|
@@ -169,17 +169,17 @@ var P = E.create({
|
|
|
169
169
|
stroke: "currentColor",
|
|
170
170
|
"stroke-width": "3",
|
|
171
171
|
"aria-hidden": "true"
|
|
172
|
-
}, [
|
|
172
|
+
}, [s("line", {
|
|
173
173
|
x1: "18",
|
|
174
174
|
y1: "6",
|
|
175
175
|
x2: "6",
|
|
176
176
|
y2: "18"
|
|
177
|
-
}),
|
|
177
|
+
}), s("line", {
|
|
178
178
|
x1: "6",
|
|
179
179
|
y1: "6",
|
|
180
180
|
x2: "18",
|
|
181
181
|
y2: "18"
|
|
182
|
-
})], -1)]], 8, B)) :
|
|
182
|
+
})], -1)]], 8, B)) : p("", !0)]),
|
|
183
183
|
_: 1
|
|
184
184
|
}, 8, ["class", "style"]));
|
|
185
185
|
}
|
|
@@ -281,7 +281,7 @@ var W = T.create({
|
|
|
281
281
|
"aria-label",
|
|
282
282
|
"data-tooltip",
|
|
283
283
|
"onKeydown"
|
|
284
|
-
], K = ["aria-label"], q = /* @__PURE__ */
|
|
284
|
+
], K = ["aria-label"], q = /* @__PURE__ */ m({
|
|
285
285
|
__name: "MergeTagNodeView",
|
|
286
286
|
props: {
|
|
287
287
|
node: {},
|
|
@@ -289,53 +289,53 @@ var W = T.create({
|
|
|
289
289
|
updateAttributes: { type: Function }
|
|
290
290
|
},
|
|
291
291
|
setup(t) {
|
|
292
|
-
let
|
|
292
|
+
let u = t, { getMergeTagLabel: p } = C(), { t: m } = S(), v = f(() => p(u.node.attrs.value)), y = a(!1), b = a(""), x = a(null);
|
|
293
293
|
function w() {
|
|
294
|
-
b.value =
|
|
294
|
+
b.value = u.node.attrs.value, y.value = !0, r(() => {
|
|
295
295
|
x.value?.focus(), x.value?.select();
|
|
296
296
|
});
|
|
297
297
|
}
|
|
298
298
|
function T() {
|
|
299
299
|
let e = b.value.trim();
|
|
300
|
-
e && e !==
|
|
300
|
+
e && e !== u.node.attrs.value && u.updateAttributes({
|
|
301
301
|
value: e,
|
|
302
|
-
label:
|
|
302
|
+
label: p(e)
|
|
303
303
|
}), y.value = !1;
|
|
304
304
|
}
|
|
305
305
|
function E(e) {
|
|
306
306
|
e.key === "Enter" ? (e.preventDefault(), T()) : e.key === "Escape" && (y.value = !1);
|
|
307
307
|
}
|
|
308
|
-
return (
|
|
308
|
+
return (r, a) => (e(), d(o(N), {
|
|
309
309
|
as: "span",
|
|
310
310
|
class: "tpl-merge-tag-node tpl:group tpl:mx-0.5 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.9em] tpl:font-medium tpl:select-none tpl:text-[var(--tpl-primary)]",
|
|
311
311
|
style: { "background-color": "color-mix(in srgb, var(--tpl-primary) 20%, transparent)" },
|
|
312
312
|
contenteditable: "false"
|
|
313
313
|
}, {
|
|
314
|
-
default:
|
|
314
|
+
default: n(() => [y.value ? i((e(), c("input", {
|
|
315
315
|
key: 0,
|
|
316
316
|
ref_key: "inputRef",
|
|
317
317
|
ref: x,
|
|
318
|
-
"onUpdate:modelValue":
|
|
318
|
+
"onUpdate:modelValue": a[0] ||= (e) => b.value = e,
|
|
319
319
|
type: "text",
|
|
320
320
|
class: "tpl:w-32 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-0.5 tpl:py-0 tpl:text-[1em] tpl:font-medium tpl:outline-none tpl:text-[var(--tpl-primary)]",
|
|
321
321
|
onBlur: T,
|
|
322
322
|
onKeydown: E
|
|
323
|
-
}, null, 544)), [[h, b.value]]) : (
|
|
323
|
+
}, null, 544)), [[h, b.value]]) : (e(), c("span", {
|
|
324
324
|
key: 1,
|
|
325
325
|
role: "button",
|
|
326
326
|
tabindex: "0",
|
|
327
|
-
"aria-label":
|
|
327
|
+
"aria-label": o(m).mergeTag.editValue,
|
|
328
328
|
class: "tpl-tooltip tpl:cursor-pointer",
|
|
329
329
|
"data-tooltip": t.node.attrs.value,
|
|
330
330
|
onClick: g(w, ["stop"]),
|
|
331
331
|
onKeydown: [_(g(w, ["stop"]), ["enter"]), _(g(w, ["prevent", "stop"]), ["space"])]
|
|
332
|
-
},
|
|
332
|
+
}, l(v.value), 41, G)), s("button", {
|
|
333
333
|
type: "button",
|
|
334
|
-
"aria-label":
|
|
334
|
+
"aria-label": o(m).mergeTag.deleteMergeTag,
|
|
335
335
|
class: "tpl-merge-tag-delete tpl:flex tpl:size-5 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-full tpl:border-none tpl:bg-transparent tpl:p-0 tpl:opacity-60 tpl:transition-all tpl:hover:opacity-100 tpl:text-[var(--tpl-primary)]",
|
|
336
336
|
contenteditable: "false",
|
|
337
|
-
onClick:
|
|
338
|
-
}, [...
|
|
337
|
+
onClick: a[1] ||= g((...e) => t.deleteNode && t.deleteNode(...e), ["stop", "prevent"])
|
|
338
|
+
}, [...a[2] ||= [s("svg", {
|
|
339
339
|
width: "10",
|
|
340
340
|
height: "10",
|
|
341
341
|
viewBox: "0 0 24 24",
|
|
@@ -343,12 +343,12 @@ var W = T.create({
|
|
|
343
343
|
stroke: "currentColor",
|
|
344
344
|
"stroke-width": "3",
|
|
345
345
|
"aria-hidden": "true"
|
|
346
|
-
}, [
|
|
346
|
+
}, [s("line", {
|
|
347
347
|
x1: "18",
|
|
348
348
|
y1: "6",
|
|
349
349
|
x2: "6",
|
|
350
350
|
y2: "18"
|
|
351
|
-
}),
|
|
351
|
+
}), s("line", {
|
|
352
352
|
x1: "6",
|
|
353
353
|
y1: "6",
|
|
354
354
|
x2: "18",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { t as e } from "./createLucideIcon-Cwf_nTzE.js";
|
|
2
|
+
var t = e({
|
|
3
|
+
name: "eye",
|
|
4
|
+
size: 24,
|
|
5
|
+
node: [["path", {
|
|
6
|
+
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
|
|
7
|
+
key: "1nclc0"
|
|
8
|
+
}], ["circle", {
|
|
9
|
+
cx: "12",
|
|
10
|
+
cy: "12",
|
|
11
|
+
r: "3",
|
|
12
|
+
key: "1v7zrd"
|
|
13
|
+
}]]
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//#region ../media-library/src/i18n/locales/fr.ts
|
|
2
|
+
var e = { mediaLibrary: {
|
|
3
|
+
title: "Médiathèque",
|
|
4
|
+
searchPlaceholder: "Rechercher des fichiers...",
|
|
5
|
+
allFiles: "Tous les fichiers",
|
|
6
|
+
filterAll: "Tous les types",
|
|
7
|
+
filterImages: "Images",
|
|
8
|
+
filterDocuments: "Documents",
|
|
9
|
+
filterVideos: "Vidéos",
|
|
10
|
+
filterAudio: "Audio",
|
|
11
|
+
newFolder: "Nouveau dossier",
|
|
12
|
+
folderName: "Nom du dossier",
|
|
13
|
+
noFiles: "Aucun fichier trouvé",
|
|
14
|
+
noSearchResults: "Aucun fichier ne correspond à votre recherche",
|
|
15
|
+
dropOrClick: "Déposez des fichiers ici ou cliquez pour téléverser",
|
|
16
|
+
acceptedFormats: "Images, PDF, vidéo, audio, documents (max 10 Mo)",
|
|
17
|
+
uploading: "Téléversement...",
|
|
18
|
+
uploadingProgress: "Téléversement de {current} sur {total}...",
|
|
19
|
+
selectImage: "Sélectionner l'image",
|
|
20
|
+
selectFile: "Sélectionner le fichier",
|
|
21
|
+
deleteSelected: "Supprimer",
|
|
22
|
+
copyUrl: "Copier l'URL",
|
|
23
|
+
copied: "Copié !",
|
|
24
|
+
browseMedia: "Parcourir la médiathèque",
|
|
25
|
+
renameFolder: "Renommer le dossier",
|
|
26
|
+
addSubfolder: "Ajouter un sous-dossier",
|
|
27
|
+
subfolderName: "Nom du sous-dossier",
|
|
28
|
+
sortNewest: "Plus récents d'abord",
|
|
29
|
+
sortOldest: "Plus anciens d'abord",
|
|
30
|
+
sortNameAsc: "Nom A-Z",
|
|
31
|
+
sortNameDesc: "Nom Z-A",
|
|
32
|
+
sortSizeAsc: "Plus petits d'abord",
|
|
33
|
+
sortSizeDesc: "Plus grands d'abord",
|
|
34
|
+
moveSelected: "Déplacer",
|
|
35
|
+
moveToRoot: "Tous les fichiers",
|
|
36
|
+
currentFolder: "(actuel)",
|
|
37
|
+
confirmDelete: "Confirmer ?",
|
|
38
|
+
renameFile: "Renommer",
|
|
39
|
+
editFile: "Modifier le fichier",
|
|
40
|
+
fileName: "Nom de fichier",
|
|
41
|
+
altText: "Texte alternatif",
|
|
42
|
+
altTextPlaceholder: "Décrivez cette image pour l'accessibilité",
|
|
43
|
+
saveChanges: "Enregistrer",
|
|
44
|
+
cancel: "Annuler",
|
|
45
|
+
frequentlyUsed: "Fréquemment utilisés",
|
|
46
|
+
deleteWarningTitle: "Supprimer le fichier",
|
|
47
|
+
deleteWarningMessage: "Êtes-vous sûr ? Cette action est irréversible.",
|
|
48
|
+
deleteWarningUsageNote: "Les fichiers suivants sont utilisés dans des modèles. Les supprimer peut casser ces modèles.",
|
|
49
|
+
deleteAnyway: "Supprimer",
|
|
50
|
+
usedInTemplates: "Utilisé dans {count} modèle(s)",
|
|
51
|
+
viewGrid: "Vue en grille",
|
|
52
|
+
viewList: "Vue en liste",
|
|
53
|
+
showFolders: "Afficher les dossiers",
|
|
54
|
+
hideFolders: "Masquer les dossiers",
|
|
55
|
+
importFromUrl: "Importer depuis une URL",
|
|
56
|
+
importUrlPlaceholder: "https://example.com/image.jpg",
|
|
57
|
+
import: "Importer",
|
|
58
|
+
importing: "Importation...",
|
|
59
|
+
importError: "Échec de l'importation depuis l'URL",
|
|
60
|
+
replaceFile: "Remplacer le fichier",
|
|
61
|
+
replaceWarningTitle: "Remplacer le fichier",
|
|
62
|
+
replaceWarningMessage: "Vous êtes sur le point de remplacer ce fichier. Le remplacement doit avoir la même extension ({extension}).",
|
|
63
|
+
replaceWarningUsageNote: "Ce fichier est utilisé dans {count} modèle(s). Le remplacer mettra à jour toutes les références.",
|
|
64
|
+
replaceSelectFile: "Sélectionner le fichier de remplacement",
|
|
65
|
+
replace: "Remplacer",
|
|
66
|
+
replacing: "Remplacement...",
|
|
67
|
+
replaceError: "Échec du remplacement du fichier",
|
|
68
|
+
saving: "Enregistrement...",
|
|
69
|
+
cropAspectRatio: "Proportions",
|
|
70
|
+
cropFree: "Libre",
|
|
71
|
+
cropSquare: "1:1",
|
|
72
|
+
cropLandscape43: "4:3",
|
|
73
|
+
cropLandscape169: "16:9",
|
|
74
|
+
cropOriginal: "Originales",
|
|
75
|
+
cropMaxWidth: "Largeur max",
|
|
76
|
+
cropMaxHeight: "Hauteur max",
|
|
77
|
+
cropOutputSize: "Taille de sortie",
|
|
78
|
+
cropPixels: "px",
|
|
79
|
+
cropOptional: "(facultatif)",
|
|
80
|
+
storageTooltip: "{used} sur {total} utilisés ({remaining} restants)"
|
|
81
|
+
} };
|
|
82
|
+
//#endregion
|
|
83
|
+
export { e as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { CommentEventMeta } from '@templatical/types';
|
|
|
6
6
|
import { CommentsOptions } from '@templatical/types';
|
|
7
7
|
import type { CommentsProvider } from '@templatical/types';
|
|
8
8
|
import { ComputedRef } from 'vue';
|
|
9
|
+
import { createLocalStorageMediaProvider } from '@templatical/core';
|
|
9
10
|
import { createLocalStorageSavedBlocksProvider } from '@templatical/core';
|
|
10
11
|
import type { CustomBlock } from '@templatical/types';
|
|
11
12
|
import { CustomBlockDefinition } from '@templatical/types';
|
|
@@ -14,13 +15,16 @@ import { DisplayConditionsConfig } from '@templatical/types';
|
|
|
14
15
|
import type { EditorUser } from '@templatical/types';
|
|
15
16
|
import { FontsConfig } from '@templatical/types';
|
|
16
17
|
import { LintOptions } from '@templatical/quality';
|
|
18
|
+
import { LocalStorageMediaProviderOptions } from '@templatical/core';
|
|
17
19
|
import { LocalStorageSavedBlocksOptions } from '@templatical/core';
|
|
18
20
|
import { LogicPair } from '@templatical/types';
|
|
19
21
|
import { LogicTag } from '@templatical/types';
|
|
20
22
|
import { LogicTagsConfig } from '@templatical/types';
|
|
21
23
|
import type { McpConfig } from '@templatical/types';
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
+
import { MediaAsset } from '@templatical/types';
|
|
25
|
+
import { MediaOptions } from '@templatical/types';
|
|
26
|
+
import { MediaProvider as MediaProvider_2 } from '@templatical/types';
|
|
27
|
+
import { MediaRequestContext } from '@templatical/types';
|
|
24
28
|
import type { MediaResult } from '@templatical/types';
|
|
25
29
|
import { MergeTagsConfig } from '@templatical/types';
|
|
26
30
|
import { Ref } from 'vue';
|
|
@@ -56,6 +60,8 @@ export { CommentEventMeta }
|
|
|
56
60
|
|
|
57
61
|
export { CommentsOptions }
|
|
58
62
|
|
|
63
|
+
export { createLocalStorageMediaProvider }
|
|
64
|
+
|
|
59
65
|
export { createLocalStorageSavedBlocksProvider }
|
|
60
66
|
|
|
61
67
|
export { CustomBlockDefinition }
|
|
@@ -320,13 +326,14 @@ export declare function init(config: TemplaticalEditorConfig): Promise<Templatic
|
|
|
320
326
|
* server-side for test email, sends and exports, so a supplied renderer
|
|
321
327
|
* would change only what you preview and export, never what Cloud delivers.
|
|
322
328
|
* `resolvePreview` is the same key with the same type on both entry points,
|
|
323
|
-
* so upgrading an OSS integration is a deletion. `savedBlocks`
|
|
324
|
-
* `
|
|
329
|
+
* so upgrading an OSS integration is a deletion. `savedBlocks`, `testEmail`
|
|
330
|
+
* and `media` are the same key on both entry points too, but Cloud widens
|
|
325
331
|
* each type to also accept an events-only shape — `boolean |
|
|
326
|
-
* SavedBlocksOptions | SavedBlocksProvider
|
|
327
|
-
* "onSent" | "defaultRecipient"> | TestEmailProvider
|
|
328
|
-
*
|
|
329
|
-
*
|
|
332
|
+
* SavedBlocksOptions | SavedBlocksProvider`, `Pick<TestEmailOptions,
|
|
333
|
+
* "onSent" | "defaultRecipient"> | TestEmailProvider`, and
|
|
334
|
+
* `false | MediaOptions | MediaProvider` — so upgrading is still a
|
|
335
|
+
* deletion: drop the key to adopt Cloud's store or sender, or leave it
|
|
336
|
+
* exactly as it is to keep your own.
|
|
330
337
|
*
|
|
331
338
|
* `user` is not a key either: Cloud signs comment writes against the auth token's
|
|
332
339
|
* `user` claim, so it fills `init({ user })` from there rather than letting a
|
|
@@ -340,6 +347,8 @@ export declare function isCloudLocaleSupported(locale: string): boolean;
|
|
|
340
347
|
/** Check if a locale has OSS translations (matched by exact locale, then base). */
|
|
341
348
|
export declare function isLocaleSupported(locale: string): boolean;
|
|
342
349
|
|
|
350
|
+
export { LocalStorageMediaProviderOptions }
|
|
351
|
+
|
|
343
352
|
export { LocalStorageSavedBlocksOptions }
|
|
344
353
|
|
|
345
354
|
export { LogicPair }
|
|
@@ -348,6 +357,14 @@ export { LogicTag }
|
|
|
348
357
|
|
|
349
358
|
export { LogicTagsConfig }
|
|
350
359
|
|
|
360
|
+
export { MediaAsset }
|
|
361
|
+
|
|
362
|
+
export { MediaOptions }
|
|
363
|
+
|
|
364
|
+
export { MediaProvider_2 as MediaProvider }
|
|
365
|
+
|
|
366
|
+
export { MediaRequestContext }
|
|
367
|
+
|
|
351
368
|
export { MergeTagsConfig }
|
|
352
369
|
|
|
353
370
|
/** Function type for media browser requests, used by both OSS and Cloud editors. */
|
|
@@ -475,7 +492,7 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
475
492
|
* Reusable saved blocks.
|
|
476
493
|
*
|
|
477
494
|
* - **omitted / `true`** — backed by Templatical Cloud, gated on the
|
|
478
|
-
* `
|
|
495
|
+
* `savedModules` plan feature;
|
|
479
496
|
* - **`false`** — off entirely; no UI renders;
|
|
480
497
|
* - **a {@link SavedBlocksOptions}** — still backed by Cloud's store, plus
|
|
481
498
|
* your `onCreated`, `onUpdated` and `onDeleted` handlers;
|
|
@@ -488,6 +505,29 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
488
505
|
* leaving it exactly as-is (to keep your own) — never rewriting it.
|
|
489
506
|
*/
|
|
490
507
|
savedBlocks?: boolean | SavedBlocksOptions | SavedBlocksProvider;
|
|
508
|
+
/**
|
|
509
|
+
* Storage backend for the **media library** — the picker behind Browse on
|
|
510
|
+
* image fields, video thumbnails, and custom-block image fields.
|
|
511
|
+
*
|
|
512
|
+
* - **omitted** — backed by Templatical Cloud. Not plan-gated;
|
|
513
|
+
* - **`false`** — off; image fields stay URL-only unless `onRequestMedia`
|
|
514
|
+
* is set;
|
|
515
|
+
* - **a {@link MediaOptions}** — still backed by Cloud's store, plus your
|
|
516
|
+
* `onCreated`, `onUpdated` and `onDeleted` handlers. `maxFileSize` and
|
|
517
|
+
* `mimeTypes` are not honoured on this form — Cloud's plan owns those
|
|
518
|
+
* limits. TypeScript does not flag passing them here (both are valid
|
|
519
|
+
* members of the sibling {@link MediaProvider} arm, so the union
|
|
520
|
+
* accepts them structurally); passing either logs a runtime warning
|
|
521
|
+
* naming it instead;
|
|
522
|
+
* - **a {@link MediaProvider}** — backed by *your* store instead of
|
|
523
|
+
* Cloud's, and **not plan-gated**, because the plan licenses Cloud's
|
|
524
|
+
* storage rather than the editor's UI.
|
|
525
|
+
*
|
|
526
|
+
* The provider form is the same type `init()` takes, so moving an OSS
|
|
527
|
+
* integration to Cloud means deleting this key (to adopt Cloud's store) or
|
|
528
|
+
* leaving it exactly as-is (to keep your own) — never rewriting it.
|
|
529
|
+
*/
|
|
530
|
+
media?: false | MediaOptions | MediaProvider_2;
|
|
491
531
|
/**
|
|
492
532
|
* Configuration and events for the template lifecycle. **The same key and
|
|
493
533
|
* the same type as `init()`'s `templates`** — minus the storage methods,
|
|
@@ -592,7 +632,12 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
592
632
|
onDirtyChange?: (isDirty: boolean) => void;
|
|
593
633
|
onError?: (error: Error) => void;
|
|
594
634
|
onUnmount?: () => void;
|
|
595
|
-
|
|
635
|
+
/**
|
|
636
|
+
* UI override for Browse / drop. Same key and type as `init()`. Wins over
|
|
637
|
+
* `media` when both are set. Cloud still supplies its store as `media`
|
|
638
|
+
* unless you pass `media: false` or your own provider.
|
|
639
|
+
*/
|
|
640
|
+
onRequestMedia?: (context?: MediaRequestContext) => Promise<MediaResult | null>;
|
|
596
641
|
/**
|
|
597
642
|
* Transform the rendered HTML just before Cloud sends a test email.
|
|
598
643
|
*
|
|
@@ -604,7 +649,7 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
604
649
|
/**
|
|
605
650
|
* Sending backend for test emails.
|
|
606
651
|
*
|
|
607
|
-
* - **omitted** — sent by Templatical Cloud, gated on the `
|
|
652
|
+
* - **omitted** — sent by Templatical Cloud, gated on the `testEmail` plan
|
|
608
653
|
* feature and its signed allowed-recipient list;
|
|
609
654
|
* - **`{ onSent?, defaultRecipient? }`** — still sent by Cloud, plus your
|
|
610
655
|
* `onSent` handler and/or a pre-filled recipient (ignored unless it's
|
|
@@ -894,6 +939,27 @@ export declare interface TemplaticalEditorConfig {
|
|
|
894
939
|
* @default 2000
|
|
895
940
|
*/
|
|
896
941
|
changeDebounce?: number;
|
|
942
|
+
/**
|
|
943
|
+
* Storage backend for the **media library** — the picker behind Browse on
|
|
944
|
+
* image fields, video thumbnails, and custom-block image fields.
|
|
945
|
+
*
|
|
946
|
+
* The editor owns the modal, grid, crop and insertion; you own persistence.
|
|
947
|
+
* `list` is required; every other method is `false | fn`. All mutations
|
|
948
|
+
* `false` is a read-only library: browse, search and pick still work.
|
|
949
|
+
*
|
|
950
|
+
* Implement the methods of `MediaProvider` against your own API, or use
|
|
951
|
+
* the bundled browser-local provider for demos and prototypes:
|
|
952
|
+
*
|
|
953
|
+
* ```ts
|
|
954
|
+
* import { init, createLocalStorageMediaProvider } from "@templatical/editor";
|
|
955
|
+
*
|
|
956
|
+
* init({ container, media: createLocalStorageMediaProvider() });
|
|
957
|
+
* ```
|
|
958
|
+
*
|
|
959
|
+
* **Omitted by default.** Image fields stay URL-only. `onRequestMedia` is
|
|
960
|
+
* the UI override (a host widget) and wins when both are set.
|
|
961
|
+
*/
|
|
962
|
+
media?: MediaProvider_2;
|
|
897
963
|
onRequestMedia?: OnRequestMedia;
|
|
898
964
|
/**
|
|
899
965
|
* Resolves the template for preview surfaces — typically evaluating logic
|
|
@@ -985,6 +1051,19 @@ export declare interface TemplaticalEditorConfig {
|
|
|
985
1051
|
*/
|
|
986
1052
|
htmlBlockPreview?: HtmlBlockPreviewConfig;
|
|
987
1053
|
fonts?: FontsConfig;
|
|
1054
|
+
/**
|
|
1055
|
+
* Base URL for the social-icon PNGs the renderer references in exported MJML
|
|
1056
|
+
* (the `<mj-image>` src for each Social block icon). Forwarded to
|
|
1057
|
+
* `@templatical/renderer`’s `socialIconsBaseUrl`; when omitted the renderer
|
|
1058
|
+
* uses its version-pinned jsDelivr default. Set it to self-host the icons
|
|
1059
|
+
* from your own origin. Trailing slash optional.
|
|
1060
|
+
*
|
|
1061
|
+
* Applies to the local `toMjml()` / `toHtml()` (via `compileMjml`) path only.
|
|
1062
|
+
* A `render.toMjml` provider wins over the bundled renderer and never sees
|
|
1063
|
+
* this — pass the URL to your own `renderToMjml` there. The editing canvas is
|
|
1064
|
+
* unaffected either way (it draws icons as inline SVG).
|
|
1065
|
+
*/
|
|
1066
|
+
socialIconsBaseUrl?: string;
|
|
988
1067
|
/**
|
|
989
1068
|
* Editor-wide color-picker palette. `presets` appear as a clickable grid in
|
|
990
1069
|
* every color picker popover (block toolbars, template settings, rich-text
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { S as e } from "./vue.runtime.esm-bundler-
|
|
1
|
+
import { S as e } from "./vue.runtime.esm-bundler-DShF3P6k.js";
|
|
2
2
|
//#region src/keys.ts
|
|
3
|
-
var t = Symbol("translations"), n = Symbol("editor"), r = Symbol("history"), i = Symbol("blockActions"), a = Symbol("conditionPreview"), o = Symbol("appliesConditionFilter"), s = Symbol("fontsManager"), c = Symbol("themeStyles"), l = Symbol("tplUiTheme"), u = Symbol("tplUiLocale"), d = Symbol("blockDefaults"), f = Symbol("blockRegistry"), p = Symbol("customBlockDefinitions"), m = Symbol("paletteBlocks"), h = Symbol("htmlBlockPreview"), g = Symbol("colors"), _ = Symbol("templateSettingsFields"), v = Symbol("customBlockStylesheets"), y = Symbol("mergeTags"), b = Symbol("mergeTagSyntax"), x = Symbol("onRequestMergeTag"), S = Symbol("mergeTagAutocomplete"), C = Symbol("mergeTagSampleMode"), w = Symbol("useMergeTagSamples"), T = Symbol("resolvePreview"), E = Symbol("previewResolution"), D = Symbol("mergeTagPicker"), O = Symbol("mergeTagRequesting"), k = Symbol("logicTagRequesting"), A = Symbol("logicTags"), j = Symbol("logicPairs"), M = Symbol("logicPicker"), N = Symbol("onRequestLogic"), P = Symbol("onRequestMedia"), F = Symbol("
|
|
4
|
-
function
|
|
3
|
+
var t = Symbol("translations"), n = Symbol("editor"), r = Symbol("history"), i = Symbol("blockActions"), a = Symbol("conditionPreview"), o = Symbol("appliesConditionFilter"), s = Symbol("fontsManager"), c = Symbol("themeStyles"), l = Symbol("tplUiTheme"), u = Symbol("tplUiLocale"), d = Symbol("blockDefaults"), f = Symbol("blockRegistry"), p = Symbol("customBlockDefinitions"), m = Symbol("paletteBlocks"), h = Symbol("htmlBlockPreview"), g = Symbol("colors"), _ = Symbol("templateSettingsFields"), v = Symbol("customBlockStylesheets"), y = Symbol("mergeTags"), b = Symbol("mergeTagSyntax"), x = Symbol("onRequestMergeTag"), S = Symbol("mergeTagAutocomplete"), C = Symbol("mergeTagSampleMode"), w = Symbol("useMergeTagSamples"), T = Symbol("resolvePreview"), E = Symbol("previewResolution"), D = Symbol("mergeTagPicker"), O = Symbol("mergeTagRequesting"), k = Symbol("logicTagRequesting"), A = Symbol("logicTags"), j = Symbol("logicPairs"), M = Symbol("logicPicker"), N = Symbol("onRequestLogic"), P = Symbol("onRequestMedia"), F = Symbol("canDropMedia"), I = Symbol("imageUrlResolver"), L = Symbol("displayConditions"), R = Symbol("allowCustomConditions"), z = Symbol("capabilities"), B = Symbol("keyboardReorder"), V = Symbol("templateLint"), H = Symbol("editorRoot"), U = Symbol("popoverRoot"), W = Symbol("savedBlocks"), G = Symbol("authManager"), K = Symbol("aiConfig"), q = Symbol("scoring"), J = Symbol("cloudTranslations");
|
|
4
|
+
function Y(t, n) {
|
|
5
5
|
let r = e(t, null);
|
|
6
6
|
if (r == null) throw Error(`${n} requires a provider for ${t.description ?? "unknown key"}. Ensure it renders inside the editor, below Editor.vue.`);
|
|
7
7
|
return r;
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
|
-
export {
|
|
10
|
+
export { O as A, W as B, j as C, y as D, k as E, x as F, t as G, V as H, m as I, w as J, u as K, U as L, b as M, N, S as O, P, E as R, B as S, M as T, _ as U, q as V, c as W, Y, H as _, i as a, h as b, F as c, g as d, a as f, n as g, L as h, G as i, C as j, D as k, z as l, v as m, R as n, d as o, p, l as q, o as r, f as s, K as t, J as u, s as v, A as w, I as x, r as y, T as z };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { t as e } from "./createLucideIcon-Cwf_nTzE.js";
|
|
2
|
+
var t = e({
|
|
3
|
+
name: "link",
|
|
4
|
+
size: 24,
|
|
5
|
+
node: [["path", {
|
|
6
|
+
d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",
|
|
7
|
+
key: "1cjeqo"
|
|
8
|
+
}], ["path", {
|
|
9
|
+
d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",
|
|
10
|
+
key: "19qd67"
|
|
11
|
+
}]]
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { t };
|