@emailmaker/emailmaker 1.0.1
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 +188 -0
- package/README_eng.md +195 -0
- package/android-chrome-192x192.png +0 -0
- package/android-chrome-512x512.png +0 -0
- package/apple-touch-icon-b.png +0 -0
- package/apple-touch-icon.png +0 -0
- package/asset-manifest.json +207 -0
- package/css.worker.js +2 -0
- package/css.worker.js.LICENSE.txt +6 -0
- package/editor.worker.js +1 -0
- package/emailmaker-esm.js +1 -0
- package/emailmaker.d.ts +978 -0
- package/emailmaker.js +1 -0
- package/favicon-16x16.png +0 -0
- package/favicon-32x32.png +0 -0
- package/favicon-b.ico +0 -0
- package/favicon.ico +0 -0
- package/html.worker.js +2 -0
- package/html.worker.js.LICENSE.txt +14 -0
- package/icon-192.png +0 -0
- package/icon-512.png +0 -0
- package/icon.svg +2 -0
- package/iframe/css/line-awesome/line-awesome.min.css +2 -0
- package/iframe/css/line-awesome/line-awesome.min.css.js +0 -0
- package/iframe/css/sandbox-dark.css +301 -0
- package/iframe/css/sandbox-dark.css.js +0 -0
- package/iframe/css/sandbox-darktheme.css +234 -0
- package/iframe/css/sandbox-darktheme.css.js +0 -0
- package/iframe/css/sandbox-light.css +197 -0
- package/iframe/css/sandbox-light.css.js +0 -0
- package/iframe/css/sandbox.css +1553 -0
- package/iframe/css/sandbox.css.js +0 -0
- package/iframe/css/sandbox.locale.en_en.css +16 -0
- package/iframe/css/sandbox.locale.en_en.css.js +0 -0
- package/iframe/css/sandbox.locale.ru_ru.css +16 -0
- package/iframe/css/sandbox.locale.ru_ru.css.js +0 -0
- package/iframe/fonts/line-awesome/la-solid-900.ttf +0 -0
- package/iframe/fonts/line-awesome/la-solid-900.woff +0 -0
- package/iframe/fonts/line-awesome/la-solid-900.woff2 +0 -0
- package/iframe/iframe-eblock.5ad84761d0d28cf7389f.html +18 -0
- package/iframe/iframe.5ad84761d0d28cf7389f.html +20 -0
- package/iframe/iframe.html +33 -0
- package/iframe/img/drag-insert.svg +5 -0
- package/iframe/img/icon-code.svg +10 -0
- package/iframe/img/icon-img.svg +10 -0
- package/iframe/img/left-arrow.svg +3 -0
- package/iframe/img/loader-1-dark.gif +0 -0
- package/iframe/img/loader-1-light.gif +0 -0
- package/iframe/js/cssbeautify.js +1 -0
- package/iframe/js/csso.min.js +1 -0
- package/iframe/js/emmet-monaco.min.js +2 -0
- package/iframe/js/emmet-monaco.min.js.LICENSE.txt +14 -0
- package/iframe/js/iframeResizer.contentWindow.min.js +2 -0
- package/iframe/js/iframeResizer.contentWindow.min.js.LICENSE.txt +7 -0
- package/iframe/js/sandbox.locale.en_us.js +1 -0
- package/iframe/js/sandbox.locale.ru_ru.js +1 -0
- package/iframe/js/typograf/typograf.all.min.js +2 -0
- package/iframe/js/typograf/typograf.all.min.js.LICENSE.txt +1 -0
- package/iframe/sandbox-eblock.js +1 -0
- package/iframe/sandbox-eblock.js.LICENSE.txt +10 -0
- package/iframe/sandbox.js +1 -0
- package/iframe/sandbox.js.LICENSE.txt +8 -0
- package/images/video-playButtons/youtube_red.png +0 -0
- package/json.worker.js +2 -0
- package/json.worker.js.LICENSE.txt +6 -0
- package/manifest-b.json +16 -0
- package/manifest.json +17 -0
- package/package.json +10 -0
- package/plugin.html +115 -0
- package/plugin_default.html +56 -0
- package/plugin_s.html +31 -0
- package/react/index.d.ts +11 -0
- package/react/index.jsx +34 -0
- package/robots.txt +3 -0
- package/static/css/2859.3f78309e.css +1 -0
- package/static/css/4225.7ff43163.css +1 -0
- package/static/css/4872.36457ae6.css +1 -0
- package/static/css/9002.f81f3603.css +1 -0
- package/static/js/111.cbd98290.chunk.js +2 -0
- package/static/js/111.cbd98290.chunk.js.LICENSE.txt +6 -0
- package/static/js/1115.fb08b320.chunk.js +2 -0
- package/static/js/1115.fb08b320.chunk.js.LICENSE.txt +6 -0
- package/static/js/1247.6885a0da.chunk.js +2 -0
- package/static/js/1247.6885a0da.chunk.js.LICENSE.txt +6 -0
- package/static/js/1375.9309af3d.chunk.js +2 -0
- package/static/js/1375.9309af3d.chunk.js.LICENSE.txt +6 -0
- package/static/js/1727.05b807df.chunk.js +2 -0
- package/static/js/1727.05b807df.chunk.js.LICENSE.txt +6 -0
- package/static/js/1863.7fa7c875.chunk.js +2 -0
- package/static/js/1863.7fa7c875.chunk.js.LICENSE.txt +6 -0
- package/static/js/2095.35960898.chunk.js +2 -0
- package/static/js/2095.35960898.chunk.js.LICENSE.txt +6 -0
- package/static/js/215.184294a2.chunk.js +2 -0
- package/static/js/215.184294a2.chunk.js.LICENSE.txt +6 -0
- package/static/js/2175.7bfdf72e.chunk.js +2 -0
- package/static/js/2175.7bfdf72e.chunk.js.LICENSE.txt +6 -0
- package/static/js/223.86871df9.chunk.js +2 -0
- package/static/js/223.86871df9.chunk.js.LICENSE.txt +6 -0
- package/static/js/255.96cc3f0a.chunk.js +2 -0
- package/static/js/255.96cc3f0a.chunk.js.LICENSE.txt +6 -0
- package/static/js/2777.93e2f4b9.chunk.js +2 -0
- package/static/js/2777.93e2f4b9.chunk.js.LICENSE.txt +6 -0
- package/static/js/2799.a8352a8e.chunk.js +2 -0
- package/static/js/2799.a8352a8e.chunk.js.LICENSE.txt +6 -0
- package/static/js/2807.13d244f7.js +2 -0
- package/static/js/2807.13d244f7.js.LICENSE.txt +51 -0
- package/static/js/2859.b9caeb15.js +1 -0
- package/static/js/2959.37c71ed2.chunk.js +2 -0
- package/static/js/2959.37c71ed2.chunk.js.LICENSE.txt +6 -0
- package/static/js/3.cc80fb69.chunk.js +2 -0
- package/static/js/3.cc80fb69.chunk.js.LICENSE.txt +6 -0
- package/static/js/303.4b451722.chunk.js +2 -0
- package/static/js/303.4b451722.chunk.js.LICENSE.txt +6 -0
- package/static/js/3095.27a8a7ce.chunk.js +2 -0
- package/static/js/3095.27a8a7ce.chunk.js.LICENSE.txt +6 -0
- package/static/js/3116.b4e4c747.chunk.js +2 -0
- package/static/js/3116.b4e4c747.chunk.js.LICENSE.txt +6 -0
- package/static/js/33.7087137f.chunk.js +2 -0
- package/static/js/33.7087137f.chunk.js.LICENSE.txt +6 -0
- package/static/js/3321.3369560d.chunk.js +2 -0
- package/static/js/3321.3369560d.chunk.js.LICENSE.txt +6 -0
- package/static/js/351.800cfa64.chunk.js +2 -0
- package/static/js/351.800cfa64.chunk.js.LICENSE.txt +10 -0
- package/static/js/363.36407050.chunk.js +2 -0
- package/static/js/363.36407050.chunk.js.LICENSE.txt +6 -0
- package/static/js/3756.4539bf2a.chunk.js +2 -0
- package/static/js/3756.4539bf2a.chunk.js.LICENSE.txt +6 -0
- package/static/js/3887.1d2dfdb9.chunk.js +2 -0
- package/static/js/3887.1d2dfdb9.chunk.js.LICENSE.txt +6 -0
- package/static/js/4123.3cb83836.chunk.js +2 -0
- package/static/js/4123.3cb83836.chunk.js.LICENSE.txt +6 -0
- package/static/js/4225.e7602269.js +2 -0
- package/static/js/4225.e7602269.js.LICENSE.txt +8 -0
- package/static/js/4311.af4a59a5.chunk.js +2 -0
- package/static/js/4311.af4a59a5.chunk.js.LICENSE.txt +6 -0
- package/static/js/4459.b6de1b05.chunk.js +2 -0
- package/static/js/4459.b6de1b05.chunk.js.LICENSE.txt +6 -0
- package/static/js/4461.371ffb79.chunk.js +2 -0
- package/static/js/4461.371ffb79.chunk.js.LICENSE.txt +6 -0
- package/static/js/4501.6e4ba4d8.js +2 -0
- package/static/js/4501.6e4ba4d8.js.LICENSE.txt +42 -0
- package/static/js/4791.c9177129.chunk.js +2 -0
- package/static/js/4791.c9177129.chunk.js.LICENSE.txt +6 -0
- package/static/js/4872.a0e5cb2b.js +2 -0
- package/static/js/4872.a0e5cb2b.js.LICENSE.txt +200 -0
- package/static/js/4879.8556f136.chunk.js +2 -0
- package/static/js/4879.8556f136.chunk.js.LICENSE.txt +6 -0
- package/static/js/4932.6c513f63.chunk.js +2 -0
- package/static/js/4932.6c513f63.chunk.js.LICENSE.txt +6 -0
- package/static/js/5051.b9a57eb1.chunk.js +2 -0
- package/static/js/5051.b9a57eb1.chunk.js.LICENSE.txt +6 -0
- package/static/js/5068.5d29e1a9.chunk.js +1 -0
- package/static/js/5227.6c918241.chunk.js +2 -0
- package/static/js/5227.6c918241.chunk.js.LICENSE.txt +6 -0
- package/static/js/5293.7e051b80.chunk.js +2 -0
- package/static/js/5293.7e051b80.chunk.js.LICENSE.txt +6 -0
- package/static/js/5423.bddd4a43.chunk.js +2 -0
- package/static/js/5423.bddd4a43.chunk.js.LICENSE.txt +6 -0
- package/static/js/543.82f27022.chunk.js +2 -0
- package/static/js/543.82f27022.chunk.js.LICENSE.txt +6 -0
- package/static/js/5535.3244c148.chunk.js +2 -0
- package/static/js/5535.3244c148.chunk.js.LICENSE.txt +6 -0
- package/static/js/5613.62288e00.chunk.js +2 -0
- package/static/js/5613.62288e00.chunk.js.LICENSE.txt +6 -0
- package/static/js/5615.6ccde06b.chunk.js +2 -0
- package/static/js/5615.6ccde06b.chunk.js.LICENSE.txt +6 -0
- package/static/js/5693.3d4fe88d.chunk.js +2 -0
- package/static/js/5693.3d4fe88d.chunk.js.LICENSE.txt +6 -0
- package/static/js/5763.37c30999.chunk.js +2 -0
- package/static/js/5763.37c30999.chunk.js.LICENSE.txt +6 -0
- package/static/js/5919.dd3128af.chunk.js +2 -0
- package/static/js/5919.dd3128af.chunk.js.LICENSE.txt +6 -0
- package/static/js/6009.f189e5ae.chunk.js +2 -0
- package/static/js/6009.f189e5ae.chunk.js.LICENSE.txt +6 -0
- package/static/js/6447.cfdb8875.chunk.js +2 -0
- package/static/js/6447.cfdb8875.chunk.js.LICENSE.txt +6 -0
- package/static/js/6639.bbbbe601.chunk.js +2 -0
- package/static/js/6639.bbbbe601.chunk.js.LICENSE.txt +6 -0
- package/static/js/6675.3a2d412d.chunk.js +2 -0
- package/static/js/6675.3a2d412d.chunk.js.LICENSE.txt +6 -0
- package/static/js/6713.b7412fee.chunk.js +2 -0
- package/static/js/6713.b7412fee.chunk.js.LICENSE.txt +6 -0
- package/static/js/6735.a97baca4.chunk.js +2 -0
- package/static/js/6735.a97baca4.chunk.js.LICENSE.txt +6 -0
- package/static/js/6901.40d177c8.chunk.js +1 -0
- package/static/js/6933.74b38c02.chunk.js +2 -0
- package/static/js/6933.74b38c02.chunk.js.LICENSE.txt +6 -0
- package/static/js/6987.76422d40.js +1 -0
- package/static/js/7073.605ee411.chunk.js +2 -0
- package/static/js/7073.605ee411.chunk.js.LICENSE.txt +6 -0
- package/static/js/7119.ca1d70c7.chunk.js +2 -0
- package/static/js/7119.ca1d70c7.chunk.js.LICENSE.txt +6 -0
- package/static/js/7175.5dd62a53.chunk.js +2 -0
- package/static/js/7175.5dd62a53.chunk.js.LICENSE.txt +6 -0
- package/static/js/7241.0040848f.chunk.js +2 -0
- package/static/js/7241.0040848f.chunk.js.LICENSE.txt +6 -0
- package/static/js/7260.df86f79c.chunk.js +2 -0
- package/static/js/7260.df86f79c.chunk.js.LICENSE.txt +6 -0
- package/static/js/7473.703ab781.chunk.js +2 -0
- package/static/js/7473.703ab781.chunk.js.LICENSE.txt +6 -0
- package/static/js/7533.ff47b1c6.chunk.js +2 -0
- package/static/js/7533.ff47b1c6.chunk.js.LICENSE.txt +6 -0
- package/static/js/7567.5b36aa1e.chunk.js +2 -0
- package/static/js/7567.5b36aa1e.chunk.js.LICENSE.txt +6 -0
- package/static/js/7568.abd309a5.chunk.js +2 -0
- package/static/js/7568.abd309a5.chunk.js.LICENSE.txt +6 -0
- package/static/js/7663.9dadc8ad.chunk.js +2 -0
- package/static/js/7663.9dadc8ad.chunk.js.LICENSE.txt +6 -0
- package/static/js/779.7ec500b4.chunk.js +2 -0
- package/static/js/779.7ec500b4.chunk.js.LICENSE.txt +6 -0
- package/static/js/7803.0edbb2ab.chunk.js +2 -0
- package/static/js/7803.0edbb2ab.chunk.js.LICENSE.txt +6 -0
- package/static/js/7855.90402a9a.chunk.js +2 -0
- package/static/js/7855.90402a9a.chunk.js.LICENSE.txt +6 -0
- package/static/js/7878.a2ba845f.chunk.js +2 -0
- package/static/js/7878.a2ba845f.chunk.js.LICENSE.txt +6 -0
- package/static/js/7963.8d0e0875.chunk.js +2 -0
- package/static/js/7963.8d0e0875.chunk.js.LICENSE.txt +6 -0
- package/static/js/7999.0ef327fe.chunk.js +2 -0
- package/static/js/7999.0ef327fe.chunk.js.LICENSE.txt +6 -0
- package/static/js/8287.60007a30.chunk.js +2 -0
- package/static/js/8287.60007a30.chunk.js.LICENSE.txt +6 -0
- package/static/js/8525.164b4ef1.chunk.js +2 -0
- package/static/js/8525.164b4ef1.chunk.js.LICENSE.txt +6 -0
- package/static/js/8614.4df07be3.chunk.js +2 -0
- package/static/js/8614.4df07be3.chunk.js.LICENSE.txt +6 -0
- package/static/js/863.6162bd02.chunk.js +2 -0
- package/static/js/863.6162bd02.chunk.js.LICENSE.txt +6 -0
- package/static/js/8675.4011b507.chunk.js +2 -0
- package/static/js/8675.4011b507.chunk.js.LICENSE.txt +6 -0
- package/static/js/8799.eaf2f1c6.chunk.js +2 -0
- package/static/js/8799.eaf2f1c6.chunk.js.LICENSE.txt +6 -0
- package/static/js/8871.25143e00.chunk.js +2 -0
- package/static/js/8871.25143e00.chunk.js.LICENSE.txt +6 -0
- package/static/js/8991.19d7f941.chunk.js +2 -0
- package/static/js/8991.19d7f941.chunk.js.LICENSE.txt +6 -0
- package/static/js/9002.6c79bc92.js +1 -0
- package/static/js/9059.695b4670.chunk.js +2 -0
- package/static/js/9059.695b4670.chunk.js.LICENSE.txt +6 -0
- package/static/js/9137.564a2d8b.chunk.js +2 -0
- package/static/js/9137.564a2d8b.chunk.js.LICENSE.txt +6 -0
- package/static/js/9199.9d74e16f.chunk.js +2 -0
- package/static/js/9199.9d74e16f.chunk.js.LICENSE.txt +6 -0
- package/static/js/9225.25bc13dc.chunk.js +2 -0
- package/static/js/9225.25bc13dc.chunk.js.LICENSE.txt +6 -0
- package/static/js/9368.cc07f295.js +1 -0
- package/static/js/9503.80f871a1.chunk.js +2 -0
- package/static/js/9503.80f871a1.chunk.js.LICENSE.txt +6 -0
- package/static/js/9541.7d3756bf.js +1 -0
- package/static/js/9655.2e8d4a8e.chunk.js +2 -0
- package/static/js/9655.2e8d4a8e.chunk.js.LICENSE.txt +6 -0
- package/static/js/9823.a7ba133e.chunk.js +2 -0
- package/static/js/9823.a7ba133e.chunk.js.LICENSE.txt +6 -0
- package/static/js/9875.3b739db7.js +2 -0
- package/static/js/9875.3b739db7.js.LICENSE.txt +86 -0
- package/static/js/9935.f14200e3.chunk.js +2 -0
- package/static/js/9935.f14200e3.chunk.js.LICENSE.txt +6 -0
- package/static/js/ant-locale/locale0.bc9eb989.chunk.js +1 -0
- package/static/js/ant-locale/locale1.79afa8d5.chunk.js +1 -0
- package/static/js/ant-locale/locale10.931ba183.chunk.js +1 -0
- package/static/js/ant-locale/locale11.7c905a2e.chunk.js +1 -0
- package/static/js/ant-locale/locale13.8c7e33f9.chunk.js +1 -0
- package/static/js/ant-locale/locale14.a6d2b694.chunk.js +1 -0
- package/static/js/ant-locale/locale15.e521e6c8.chunk.js +1 -0
- package/static/js/ant-locale/locale16.6bf080c9.chunk.js +1 -0
- package/static/js/ant-locale/locale17.8db23aba.chunk.js +1 -0
- package/static/js/ant-locale/locale18.2378252e.chunk.js +1 -0
- package/static/js/ant-locale/locale19.a9518e0a.chunk.js +1 -0
- package/static/js/ant-locale/locale2.49423b7a.chunk.js +1 -0
- package/static/js/ant-locale/locale20.4195bdf5.chunk.js +1 -0
- package/static/js/ant-locale/locale21.479ba0df.chunk.js +1 -0
- package/static/js/ant-locale/locale22.4c3baa93.chunk.js +1 -0
- package/static/js/ant-locale/locale23.58be86ea.chunk.js +1 -0
- package/static/js/ant-locale/locale24.a44b9124.chunk.js +1 -0
- package/static/js/ant-locale/locale25.efe23431.chunk.js +1 -0
- package/static/js/ant-locale/locale26.52c7a0fc.chunk.js +1 -0
- package/static/js/ant-locale/locale27.cc9719d7.chunk.js +1 -0
- package/static/js/ant-locale/locale28.8b89909a.chunk.js +1 -0
- package/static/js/ant-locale/locale3.547b47e0.chunk.js +1 -0
- package/static/js/ant-locale/locale30.fb7b325a.chunk.js +1 -0
- package/static/js/ant-locale/locale31.2700fff5.chunk.js +1 -0
- package/static/js/ant-locale/locale32.27d17521.chunk.js +1 -0
- package/static/js/ant-locale/locale33.3f671b7f.chunk.js +1 -0
- package/static/js/ant-locale/locale34.6eea3a7c.chunk.js +1 -0
- package/static/js/ant-locale/locale35.1c169a8f.chunk.js +1 -0
- package/static/js/ant-locale/locale36.a0f5d209.chunk.js +1 -0
- package/static/js/ant-locale/locale37.d7a93cd8.chunk.js +1 -0
- package/static/js/ant-locale/locale38.a167fb02.chunk.js +1 -0
- package/static/js/ant-locale/locale39.88330df8.chunk.js +1 -0
- package/static/js/ant-locale/locale4.a14d4f60.chunk.js +1 -0
- package/static/js/ant-locale/locale40.26a0f7b4.chunk.js +1 -0
- package/static/js/ant-locale/locale41.2c575f45.chunk.js +1 -0
- package/static/js/ant-locale/locale42.bd705058.chunk.js +1 -0
- package/static/js/ant-locale/locale43.4c318c1e.chunk.js +1 -0
- package/static/js/ant-locale/locale44.ae6fc942.chunk.js +1 -0
- package/static/js/ant-locale/locale45.4fcc0acf.chunk.js +1 -0
- package/static/js/ant-locale/locale46.8d7fca54.chunk.js +1 -0
- package/static/js/ant-locale/locale47.6a8d9ee9.chunk.js +1 -0
- package/static/js/ant-locale/locale48.db4fb3e9.chunk.js +1 -0
- package/static/js/ant-locale/locale49.876e9846.chunk.js +1 -0
- package/static/js/ant-locale/locale5.179f1d8d.chunk.js +1 -0
- package/static/js/ant-locale/locale50.8d63ce0a.chunk.js +1 -0
- package/static/js/ant-locale/locale51.691274b8.chunk.js +1 -0
- package/static/js/ant-locale/locale52.b9a49d71.chunk.js +1 -0
- package/static/js/ant-locale/locale53.7a7722e3.chunk.js +1 -0
- package/static/js/ant-locale/locale54.0c75bb80.chunk.js +1 -0
- package/static/js/ant-locale/locale55.f5c0d904.chunk.js +1 -0
- package/static/js/ant-locale/locale56.bb2a06a4.chunk.js +1 -0
- package/static/js/ant-locale/locale57.648ebc5b.chunk.js +1 -0
- package/static/js/ant-locale/locale58.fd6a6d0e.chunk.js +1 -0
- package/static/js/ant-locale/locale59.05c85397.chunk.js +1 -0
- package/static/js/ant-locale/locale60.23e6b029.chunk.js +1 -0
- package/static/js/ant-locale/locale61.30ad8fdf.chunk.js +1 -0
- package/static/js/ant-locale/locale62.2ba4458e.chunk.js +1 -0
- package/static/js/ant-locale/locale63.e0e3072c.chunk.js +1 -0
- package/static/js/ant-locale/locale64.d9db34fb.chunk.js +1 -0
- package/static/js/ant-locale/locale65.aa10f18f.chunk.js +1 -0
- package/static/js/ant-locale/locale66.586f32ee.chunk.js +1 -0
- package/static/js/ant-locale/locale68.d2a63a32.chunk.js +1 -0
- package/static/js/ant-locale/locale69.b786c422.chunk.js +1 -0
- package/static/js/ant-locale/locale7.e847d0ec.chunk.js +1 -0
- package/static/js/ant-locale/locale70.75d26f29.chunk.js +1 -0
- package/static/js/ant-locale/locale71.e5c07b26.chunk.js +1 -0
- package/static/js/ant-locale/locale8.f139c7f8.chunk.js +1 -0
- package/static/js/ant-locale/locale9.b69465db.chunk.js +1 -0
- package/static/js/emailmaker_core.b4fb2394.js +1 -0
- package/static/js/mergeTags/locale0.d3379239.chunk.js +1 -0
- package/static/js/mergeTags/locale1.9462df85.chunk.js +1 -0
- package/static/media/codicon.f13d28f3.ttf +0 -0
- package/static/media/frame_dark.318d7ed5.png +0 -0
- package/static/media/frame_light.22a9b4ec.png +0 -0
- package/static/media/frame_template_gallery.85693b39.png +0 -0
- package/static/media/icon-border-radius.2a56b93a7711558098a622296b7ae2e1.svg +1 -0
- package/static/media/icon-create-block.0b077f4000bf7907b9ea871d28c7fb1e.svg +1 -0
- package/static/media/typewriter.c11b8204.png +0 -0
- package/translations.pot +3955 -0
- package/ts.worker.js +2 -0
- package/ts.worker.js.LICENSE.txt +21 -0
- package/vite/index.d.ts +11 -0
- package/vite/index.js +136 -0
- package/vite/mime-types.js +179 -0
- package/vite/utils.js +58 -0
- package/webpack/index.d.ts +12 -0
- package/webpack/index.js +109 -0
package/emailmaker.d.ts
ADDED
|
@@ -0,0 +1,978 @@
|
|
|
1
|
+
type MayBePromise<T> = T | Promise<T>;
|
|
2
|
+
type PromiseWrap<T> = Promise<Awaited<T>>;
|
|
3
|
+
type RecursivePartial<T> = { [K in keyof T]?: T[K] extends (number | string | boolean | bigint) ? T[K] : RecursivePartial<T[K]>; };
|
|
4
|
+
type AppListener<Value, Result = void> = (value: Value) => MayBePromise<Result>;
|
|
5
|
+
type AppEvent<Listener extends AppListener<any, any>> = (listener: Listener, priority?: number, thisArg?: any) => () => void;
|
|
6
|
+
|
|
7
|
+
// type UploadEventPayload = { file: File; file_url: string };
|
|
8
|
+
// type UploadListener<Cancelable = true> = Listener<UploadEventPayload, Cancelable>;
|
|
9
|
+
// type UploadEvent<Cancelable = true> = AppEvent<UploadEventPayload, Cancelable>;
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
type SaveEventPayload<T> = {
|
|
13
|
+
/** source of the event */
|
|
14
|
+
source?: string;
|
|
15
|
+
/** previous value */
|
|
16
|
+
prev?: T;
|
|
17
|
+
/** changed fields */
|
|
18
|
+
patch: Partial<T>;
|
|
19
|
+
/** next value */
|
|
20
|
+
value: T;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
type CreateEventPayload<T> = {
|
|
24
|
+
/** source of the event */
|
|
25
|
+
source?: string;
|
|
26
|
+
/** next value */
|
|
27
|
+
value: T;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
type RemoveEventPayload<T> = {
|
|
31
|
+
/** source of the event */
|
|
32
|
+
source?: string;
|
|
33
|
+
/** removed value */
|
|
34
|
+
value: T;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
type MergeTagGroup = {
|
|
38
|
+
type?: "group";
|
|
39
|
+
label: string;
|
|
40
|
+
value: string,
|
|
41
|
+
children?: MergeTag[];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
type MergeTagItem = {
|
|
45
|
+
label: string;
|
|
46
|
+
value: string;
|
|
47
|
+
};
|
|
48
|
+
type MergeTag = MergeTagGroup | MergeTagItem;
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
type SaveListener<T> = AppListener<SaveEventPayload<T>, T | undefined>;
|
|
52
|
+
type SaveEvent<T> = AppEvent<SaveListener<T>>;
|
|
53
|
+
type RemoveListener<T> = AppListener<RemoveEventPayload<T>>;
|
|
54
|
+
type RemoveEvent<T> = AppEvent<RemoveListener<T>>;
|
|
55
|
+
type CreateListener<T> = AppListener<CreateEventPayload<T>, T | undefined>;
|
|
56
|
+
type CreateEvent<T> = AppEvent<CreateListener<T>>;
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
type Notify = {
|
|
60
|
+
type?: 'success' | 'info' | 'error' | 'warning';
|
|
61
|
+
message: string | HTMLElement;
|
|
62
|
+
description?: string | HTMLElement;
|
|
63
|
+
btn?: string | HTMLElement;
|
|
64
|
+
onClose?: () => void;
|
|
65
|
+
duration?: number | null;
|
|
66
|
+
icon?: string | HTMLElement;
|
|
67
|
+
placement?: "top" | "topLeft" | "topRight" | "bottom" | "bottomLeft" | "bottomRight",
|
|
68
|
+
style?: any;
|
|
69
|
+
className?: string;
|
|
70
|
+
onClick?: () => void;
|
|
71
|
+
closeIcon?: boolean | string | HTMLElement;
|
|
72
|
+
props?: any;
|
|
73
|
+
role?: 'alert' | 'status';
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
type EmailDesc = {
|
|
78
|
+
id?: string;
|
|
79
|
+
title?: string;
|
|
80
|
+
code?: string;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
type BlockDesc = {
|
|
84
|
+
id?: string;
|
|
85
|
+
title?: string;
|
|
86
|
+
code?: string;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
interface ISelection {
|
|
90
|
+
selectionStartLineNumber: number;
|
|
91
|
+
selectionStartColumn: number;
|
|
92
|
+
positionLineNumber: number;
|
|
93
|
+
positionColumn: number;
|
|
94
|
+
}
|
|
95
|
+
interface ISingleModelEditStackData {
|
|
96
|
+
afterCursorState: ISelection[];
|
|
97
|
+
afterVersionId: number;
|
|
98
|
+
beforeCursorState: ISelection[];
|
|
99
|
+
beforeVersionId: number;
|
|
100
|
+
changes: {
|
|
101
|
+
oldPosition: number;
|
|
102
|
+
oldText: string;
|
|
103
|
+
newPosition: number;
|
|
104
|
+
newText: string;
|
|
105
|
+
}[];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
interface IFrameErrorInfo {
|
|
109
|
+
future: ISingleModelEditStackData[];
|
|
110
|
+
past: ISingleModelEditStackData[];
|
|
111
|
+
errorResolved: boolean;
|
|
112
|
+
message: string;
|
|
113
|
+
text: string;
|
|
114
|
+
stack: string;
|
|
115
|
+
userId: number;
|
|
116
|
+
entityId: string;
|
|
117
|
+
entityType: "email" | "block";
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
declare namespace Notify {
|
|
121
|
+
type Error =
|
|
122
|
+
{ innerException?: any; } & (
|
|
123
|
+
{ id?: ""; data?: any } |
|
|
124
|
+
{ id: "EMAIL_CREATING_ERROR"; data: EmailDesc; } |
|
|
125
|
+
{ id: "EMAIL_EDITING_ERROR"; data: EmailDesc; } |
|
|
126
|
+
{ id: 'FOLDER_CREATE_ERROR'; data: string; } |
|
|
127
|
+
{ id: "EMAIL_CLONING_ERROR"; data: EmailDesc; } |
|
|
128
|
+
{ id: "TAG_CREATING_ERROR"; data: string; } |
|
|
129
|
+
{ id: "EMAIL_ACCESS_TO_LOCKED_ERROR"; data: EmailDesc; } |
|
|
130
|
+
{ id: "EMAIL_TOO_MANY_TAGS_ERROR"; data: EmailDesc; } |
|
|
131
|
+
{ id: "BLOCK_GET_ERROR"; data: {}; } |
|
|
132
|
+
{ id: "BLOCK_ACCESS_TO_LOCKED_ERROR"; data: BlockDesc; } |
|
|
133
|
+
{ id: "BLOCK_TOO_MANY_TAGS_ERROR"; data: BlockDesc; } |
|
|
134
|
+
{ id: "BLOCK_CLONING_ERROR"; data: BlockDesc; } |
|
|
135
|
+
{ id: "AI_IMAGE_SEND_ERROR", data: any; } |
|
|
136
|
+
{ id: "AI_IMAGE_GET_ERROR", data: any; } |
|
|
137
|
+
{ id: "IMAGE_UPLOAD_WRONG_FORMAT", data: File; } |
|
|
138
|
+
{ id: "IMAGE_UPLOAD_ERROR", data: File; } |
|
|
139
|
+
{ id: "BLOCK_CREATING_ERROR", data: BlockDesc } |
|
|
140
|
+
{ id: "BLOCK_EDITING_ERROR"; data: BlockDesc; } |
|
|
141
|
+
{ id: "EMAIL_AUTOSAVE_ERROR", data: ExportedApi.EmailRevision } |
|
|
142
|
+
{ id: "EMAIL_INIT_EVENT_ERROR", data: EmailDesc } |
|
|
143
|
+
{ id: "SAVE_BUTTON_CLICK_EVENT_ERROR"; data: EmailDesc; } |
|
|
144
|
+
{ id: "NEXT_BUTTON_CLICK_EVENT_ERROR"; data: EmailDesc; } |
|
|
145
|
+
{ id: "BLOCK_REMOVING_ERROR"; data: BlockDesc; } |
|
|
146
|
+
{ id: "IFRAME_ERROR"; data: IFrameErrorInfo; }
|
|
147
|
+
);
|
|
148
|
+
type ErrorEvent = {
|
|
149
|
+
type: "error";
|
|
150
|
+
} & Error;
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
type Success =
|
|
154
|
+
{ id?: ""; data?: any } |
|
|
155
|
+
{ id: "EMAIL_TITLE_UPDATED_FROM_AI"; data: string; } |
|
|
156
|
+
{ id: "EMAIL_PREHEADER_UPDATED_FROM_AI"; data: string; } |
|
|
157
|
+
{ id: "TEXT_COPIED_TO_CLIPBOARD"; data: string; } |
|
|
158
|
+
{ id: "EMAIL_SAVING_SUCCESS"; data: EmailDesc; } |
|
|
159
|
+
{ id: "AI_IMAGE_SEND_SUCCESS"; data: any; } |
|
|
160
|
+
{ id: "IMAGE_UPLOAD_SUCCESS"; data: File; } |
|
|
161
|
+
{ id: "BLOCK_CREATING_SUCCESS", data: BlockDesc } |
|
|
162
|
+
{ id: "BLOCK_EDITING_SUCCESS", data: BlockDesc } |
|
|
163
|
+
{ id: "EMAIL_AUTOSAVE_SUCCESS", data: ExportedApi.EmailRevision } |
|
|
164
|
+
{ id: "BLOCK_CLONING_SUCCESS"; data: BlockDesc; } |
|
|
165
|
+
{ id: "BLOCK_REMOVING_SUCCESS"; data: BlockDesc; };
|
|
166
|
+
|
|
167
|
+
type SuccessEvent = {
|
|
168
|
+
type: "success";
|
|
169
|
+
} & Success;
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
type Warning =
|
|
173
|
+
{ id?: ""; data?: any } |
|
|
174
|
+
{ id: "COPY_NOT_SAVED_BLOCK"; data: ExportedApi.Block; } |
|
|
175
|
+
{ id: "EMAIL_TITLE_UPDATED"; data: string; };
|
|
176
|
+
|
|
177
|
+
type WarningEvent = { type: "warning" } & Warning;
|
|
178
|
+
|
|
179
|
+
type Info =
|
|
180
|
+
{ id?: ""; data?: any };
|
|
181
|
+
|
|
182
|
+
type InfoEvent = { type: "info" } & Info;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
type NotifyEvent = Notify.SuccessEvent | Notify.ErrorEvent | Notify.WarningEvent | Notify.InfoEvent;
|
|
186
|
+
|
|
187
|
+
declare namespace ExportedApi {
|
|
188
|
+
interface Block {
|
|
189
|
+
/**
|
|
190
|
+
* Дата публикации записи (по часовому поясу сайта).
|
|
191
|
+
* @format date-time
|
|
192
|
+
*/
|
|
193
|
+
date?: string | null;
|
|
194
|
+
/**
|
|
195
|
+
* Дата публикации записи, по GMT.
|
|
196
|
+
* @format date-time
|
|
197
|
+
*/
|
|
198
|
+
date_gmt?: string | null;
|
|
199
|
+
|
|
200
|
+
/** Уникальный идентификатор записи. */
|
|
201
|
+
id?: string;
|
|
202
|
+
/**
|
|
203
|
+
* URL записи.
|
|
204
|
+
* @format uri
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
modified?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Дата последнего изменения записи (в формате GMT).
|
|
210
|
+
* @format date-time
|
|
211
|
+
*/
|
|
212
|
+
modified_gmt?: string;
|
|
213
|
+
/** Название записи. */
|
|
214
|
+
title?: string;
|
|
215
|
+
/** ID автора записи. */
|
|
216
|
+
author?: number;
|
|
217
|
+
/** Отрывок записи. */
|
|
218
|
+
excerpt?: string;
|
|
219
|
+
|
|
220
|
+
subject?: string;
|
|
221
|
+
description?: string;
|
|
222
|
+
code?: string;
|
|
223
|
+
project?: string | number;
|
|
224
|
+
related_email?: string;
|
|
225
|
+
type?: string;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
declare namespace ExportedApi {
|
|
229
|
+
interface BlockRevision {
|
|
230
|
+
/** ID автора редакции. */
|
|
231
|
+
author?: number;
|
|
232
|
+
/**
|
|
233
|
+
* Дата публикации записи, по времени часового пояса сайта.
|
|
234
|
+
* @format date-time
|
|
235
|
+
*/
|
|
236
|
+
date?: string;
|
|
237
|
+
/**
|
|
238
|
+
* Время публикации редакции, по GMT.
|
|
239
|
+
* @format date-time
|
|
240
|
+
*/
|
|
241
|
+
date_gmt?: string;
|
|
242
|
+
/** Глобальный уникальный идентификатор записи. */
|
|
243
|
+
guid?: {
|
|
244
|
+
/** GUID для записи в том виде, в котором он существует в базе данных. */
|
|
245
|
+
raw?: string;
|
|
246
|
+
/** GUID для записи, преобразованный для показа. */
|
|
247
|
+
rendered?: string;
|
|
248
|
+
};
|
|
249
|
+
/** Уникальный идентификатор редакции. */
|
|
250
|
+
id?: string;
|
|
251
|
+
/**
|
|
252
|
+
* Дата последнего изменения редакции, по времени часового пояса сайта.
|
|
253
|
+
* @format date-time
|
|
254
|
+
*/
|
|
255
|
+
modified?: string;
|
|
256
|
+
/**
|
|
257
|
+
* Дата последнего изменения редакции, по GMT.
|
|
258
|
+
* @format date-time
|
|
259
|
+
*/
|
|
260
|
+
modified_gmt?: string;
|
|
261
|
+
/** ID родителя редакции. */
|
|
262
|
+
parent?: string;
|
|
263
|
+
/** Буквенно-цифровой идентификатор записи уникальный для её типа. */
|
|
264
|
+
slug?: string;
|
|
265
|
+
/** Название записи. */
|
|
266
|
+
title?: string;
|
|
267
|
+
/** Отрывок записи. */
|
|
268
|
+
excerpt?: string;
|
|
269
|
+
/**
|
|
270
|
+
* Ссылка для предварительного просмотра записи.
|
|
271
|
+
* @format uri
|
|
272
|
+
*/
|
|
273
|
+
preview_link?: string;
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
code?: string;
|
|
277
|
+
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
declare namespace ExportedApi {
|
|
282
|
+
interface Comment {
|
|
283
|
+
/** Уникальный идентификатор для комментария. */
|
|
284
|
+
id?: string;
|
|
285
|
+
/** ID объекта пользователя, если автор - пользователь. */
|
|
286
|
+
author?: number;
|
|
287
|
+
/**
|
|
288
|
+
* Адрес email автора комментария.
|
|
289
|
+
* @format email
|
|
290
|
+
*/
|
|
291
|
+
author_email?: string;
|
|
292
|
+
/**
|
|
293
|
+
* IP адрес автора комментария.
|
|
294
|
+
* @format ip
|
|
295
|
+
*/
|
|
296
|
+
author_ip?: string;
|
|
297
|
+
/** Отображаемое имя автора комментария. */
|
|
298
|
+
author_name?: string;
|
|
299
|
+
/**
|
|
300
|
+
* URL для автора комментария.
|
|
301
|
+
* @format uri
|
|
302
|
+
*/
|
|
303
|
+
author_url?: string;
|
|
304
|
+
/** Значение User-Agent автора комментария. */
|
|
305
|
+
author_user_agent?: string;
|
|
306
|
+
/** Содержимое комментария. */
|
|
307
|
+
content?: string;
|
|
308
|
+
/**
|
|
309
|
+
* Дата публикации комментария (по часовому поясу сайта).
|
|
310
|
+
* @format date-time
|
|
311
|
+
*/
|
|
312
|
+
date?: string;
|
|
313
|
+
/**
|
|
314
|
+
* Время публикации комментария, по GMT.
|
|
315
|
+
* @format date-time
|
|
316
|
+
*/
|
|
317
|
+
date_gmt?: string;
|
|
318
|
+
/**
|
|
319
|
+
* ID ассоциированного объекта записи.
|
|
320
|
+
* @default 0
|
|
321
|
+
*/
|
|
322
|
+
post?: string;
|
|
323
|
+
/** Состояние комментария. */
|
|
324
|
+
status?: string;
|
|
325
|
+
/** Тип комментария. */
|
|
326
|
+
type?: string;
|
|
327
|
+
/** URL изображения аватара автора комментария. */
|
|
328
|
+
author_avatar_urls?: {
|
|
329
|
+
/**
|
|
330
|
+
* URL аватары с размером изображения в 24 пикселей.
|
|
331
|
+
* @format uri
|
|
332
|
+
*/
|
|
333
|
+
'24'?: string;
|
|
334
|
+
/**
|
|
335
|
+
* URL аватары с размером изображения в 48 пикселей.
|
|
336
|
+
* @format uri
|
|
337
|
+
*/
|
|
338
|
+
'48'?: string;
|
|
339
|
+
/**
|
|
340
|
+
* URL аватары с размером изображения в 96 пикселей.
|
|
341
|
+
* @format uri
|
|
342
|
+
*/
|
|
343
|
+
'96'?: string;
|
|
344
|
+
};
|
|
345
|
+
/** Мета поля. */
|
|
346
|
+
meta?: object;
|
|
347
|
+
target_id?: string;
|
|
348
|
+
|
|
349
|
+
parent?: string;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
declare namespace ExportedApi {
|
|
354
|
+
type EditorOptions = {
|
|
355
|
+
fontSize?: number;
|
|
356
|
+
fontFamily?: number;
|
|
357
|
+
tabSize?: number;
|
|
358
|
+
wordWrap?: boolean;
|
|
359
|
+
minimap?: boolean;
|
|
360
|
+
insertSpaces?: boolean;
|
|
361
|
+
indentSize?: number;
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
declare namespace ExportedApi {
|
|
365
|
+
interface Email {
|
|
366
|
+
/**
|
|
367
|
+
* Дата публикации записи, по GMT.
|
|
368
|
+
* @format date-time
|
|
369
|
+
*/
|
|
370
|
+
date_gmt?: string | null;
|
|
371
|
+
/** Уникальный идентификатор записи. */
|
|
372
|
+
id?: string;
|
|
373
|
+
/** Название письма. */
|
|
374
|
+
title?: string;
|
|
375
|
+
/** Прехедер письма. */
|
|
376
|
+
preheader?: string;
|
|
377
|
+
/** ID автора записи. */
|
|
378
|
+
author?: number;
|
|
379
|
+
lock?: boolean;
|
|
380
|
+
subject?: string;
|
|
381
|
+
description?: string;
|
|
382
|
+
code?: string;
|
|
383
|
+
project?: string | number;
|
|
384
|
+
// email tag names
|
|
385
|
+
tags?: string[];
|
|
386
|
+
utm_parameters?: {
|
|
387
|
+
utm_source?: string;
|
|
388
|
+
utm_medium?: string;
|
|
389
|
+
utm_campaign?: string;
|
|
390
|
+
utm_term?: string;
|
|
391
|
+
utm_content?: string;
|
|
392
|
+
};
|
|
393
|
+
parent_email?: string;
|
|
394
|
+
common_styles?: string;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
interface CompiledEmail extends Email {
|
|
398
|
+
readonly compiled: {
|
|
399
|
+
html: string;
|
|
400
|
+
ampHtml: string;
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
declare namespace ExportedApi {
|
|
405
|
+
interface EmailRevision {
|
|
406
|
+
/** ID автора редакции. */
|
|
407
|
+
author?: number;
|
|
408
|
+
/**
|
|
409
|
+
* Дата публикации записи, по времени часового пояса сайта.
|
|
410
|
+
* @format date-time
|
|
411
|
+
*/
|
|
412
|
+
date?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Время публикации редакции, по GMT.
|
|
415
|
+
* @format date-time
|
|
416
|
+
*/
|
|
417
|
+
date_gmt?: string;
|
|
418
|
+
/** Уникальный идентификатор редакции. */
|
|
419
|
+
id?: string;
|
|
420
|
+
/**
|
|
421
|
+
* Дата последнего изменения редакции, по времени часового пояса сайта.
|
|
422
|
+
* @format date-time
|
|
423
|
+
*/
|
|
424
|
+
modified?: string;
|
|
425
|
+
/**
|
|
426
|
+
* Дата последнего изменения редакции, по GMT.
|
|
427
|
+
* @format date-time
|
|
428
|
+
*/
|
|
429
|
+
modified_gmt?: string;
|
|
430
|
+
/** ID родителя редакции. */
|
|
431
|
+
parent?: string;
|
|
432
|
+
/** Название записи. */
|
|
433
|
+
title?: string;
|
|
434
|
+
/** Отрывок записи. */
|
|
435
|
+
excerpt?: string;
|
|
436
|
+
|
|
437
|
+
code?: string;
|
|
438
|
+
|
|
439
|
+
preheader?: string;
|
|
440
|
+
|
|
441
|
+
subject?: string;
|
|
442
|
+
|
|
443
|
+
common_styles?: string;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
interface CompiledEmailRevision extends EmailRevision {
|
|
447
|
+
readonly compiled: {
|
|
448
|
+
html: string;
|
|
449
|
+
ampHtml: string;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
declare namespace ExportedApi {
|
|
455
|
+
export type ThemeConfig = any;
|
|
456
|
+
}
|
|
457
|
+
declare namespace ExportedApi {
|
|
458
|
+
export type CodeModeDirection = "none" | "left" | "right" | "bottom";
|
|
459
|
+
export type Locale = 'en_US' | 'ru_RU';
|
|
460
|
+
|
|
461
|
+
export interface MergeTagsInfo {
|
|
462
|
+
syntax: string[];
|
|
463
|
+
items: MergeTag[];
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
interface Config {
|
|
467
|
+
imageInfoToolUrl?: string;
|
|
468
|
+
/** Стили приложения */
|
|
469
|
+
styles: string;
|
|
470
|
+
/** Тема приложения */
|
|
471
|
+
theme: string;
|
|
472
|
+
/** Настройки тем приложения */
|
|
473
|
+
themes: { [P in string]: ThemeConfig };
|
|
474
|
+
/** Верхняя полоса */
|
|
475
|
+
headerArrowBackVisible: boolean,
|
|
476
|
+
/** показ стрелки Назад */
|
|
477
|
+
headerTitleVisible: boolean,
|
|
478
|
+
/** показ поля Тема */
|
|
479
|
+
headerPreheaderVisible: boolean,
|
|
480
|
+
/** показ поля Прехедер */
|
|
481
|
+
pathEnabled: boolean;
|
|
482
|
+
/** показ хлебных крошек в iframe */
|
|
483
|
+
copyPasteEnabled: boolean;
|
|
484
|
+
/** показ копирования-вставки блока в iframe */
|
|
485
|
+
historyEnabled: boolean;
|
|
486
|
+
/** показ кнопки История версий */
|
|
487
|
+
codeEnabled: boolean;
|
|
488
|
+
/** показ кнопки Code-mode */
|
|
489
|
+
codeSideEnabled: boolean;
|
|
490
|
+
/** показ кнопки Code-mode в режиме, когда есть переключатель десктоп/мобайл */
|
|
491
|
+
previewIconEnabled: boolean;
|
|
492
|
+
/** показ кнопки Предпросмотр */
|
|
493
|
+
previewModeEnabled: boolean;
|
|
494
|
+
/** ссылка на Предпросмотр */
|
|
495
|
+
livePreviewEnabled: boolean;
|
|
496
|
+
/** показ кнопки Тестировние в почтовиках */
|
|
497
|
+
sendTestEnabled: boolean;
|
|
498
|
+
/** показ кнопки Отправить тест */
|
|
499
|
+
sharePreviewEnabled: boolean;
|
|
500
|
+
/** показ кнопки Поделиться */
|
|
501
|
+
emailDropdownMenuEnabled: boolean;
|
|
502
|
+
/** показ меню письма */
|
|
503
|
+
emailDropdownMenuClone: boolean;
|
|
504
|
+
/** показ пункта Клонировать в меню письма */
|
|
505
|
+
emailDropdownMenuImport: boolean;
|
|
506
|
+
/** показ пункта Импортировать в меню письма */
|
|
507
|
+
emailDropdownMenuLock: boolean;
|
|
508
|
+
/** показ пункта Заблокировать в меню письма */
|
|
509
|
+
emailDropdownMenuRemove: boolean;
|
|
510
|
+
/** показ пункта Удалить в меню письма */
|
|
511
|
+
emailExportEnabled: boolean;
|
|
512
|
+
/** показ кнопки Экспорт */
|
|
513
|
+
nextButtonEnabled: boolean;
|
|
514
|
+
/** показ второстепенной кнопки */
|
|
515
|
+
nextButtonText: string;
|
|
516
|
+
/** показ основной кнопки */
|
|
517
|
+
saveButtonEnabled: boolean;
|
|
518
|
+
/** текст основной кнопки */
|
|
519
|
+
saveButtonText: string;
|
|
520
|
+
commandButtonsEnabled?: boolean;
|
|
521
|
+
/** показ ID письма */
|
|
522
|
+
emailIdShow: boolean;
|
|
523
|
+
/** вид боковой панели */
|
|
524
|
+
sidePanelFloating: boolean;
|
|
525
|
+
/** полоса переключения режимов */
|
|
526
|
+
desktopMobileSwitchRule: boolean;
|
|
527
|
+
/** панель переключения режимов */
|
|
528
|
+
desktopMobileSwitchPanel: boolean;
|
|
529
|
+
/** показ кнопки сохранения блока */
|
|
530
|
+
saveBlockEnabled: boolean;
|
|
531
|
+
/** показ кнопки изменения изображения */
|
|
532
|
+
editImageControlEnabled: boolean;
|
|
533
|
+
/** возможность схлопывать боковую панель */
|
|
534
|
+
toggleSidePanel: boolean;
|
|
535
|
+
|
|
536
|
+
/** Расположение боковой панели */
|
|
537
|
+
menuDirection: string;
|
|
538
|
+
|
|
539
|
+
/** настройка открывающейся вкладки по умолчанию (""/"commonBlocks"/"emptyBlocks") */
|
|
540
|
+
defaultBuildPanel: string;
|
|
541
|
+
|
|
542
|
+
/** Боковая панель */
|
|
543
|
+
commentsEnabled: boolean;
|
|
544
|
+
optimizeEnabled: boolean;
|
|
545
|
+
settingsEnabled: boolean;
|
|
546
|
+
UTMEnabled: boolean;
|
|
547
|
+
subjectEnabled: boolean;
|
|
548
|
+
preheaderEnabled: boolean;
|
|
549
|
+
descriptionEnabled: boolean;
|
|
550
|
+
tagsEnabled: boolean;
|
|
551
|
+
|
|
552
|
+
/** показ переключателя мобильных свойств */
|
|
553
|
+
switchDesktopMobilePropsEnabled: boolean;
|
|
554
|
+
/** показ кнопок перехода к другим элементам */
|
|
555
|
+
stepToOtherElementEnabled: boolean;
|
|
556
|
+
/** показ кнопки удаления элемента */
|
|
557
|
+
deleteButtonEnabled: boolean;
|
|
558
|
+
/** показ поля Title в форме картинки */
|
|
559
|
+
formFieldImageTitleEnabled: boolean;
|
|
560
|
+
/** показ полей изменения рамки */
|
|
561
|
+
formFieldBorderEnabled: boolean;
|
|
562
|
+
/** показ полей изменения скругления */
|
|
563
|
+
formFieldBorderRadiusEnabled: boolean;
|
|
564
|
+
/** показ полей изменения тени */
|
|
565
|
+
formFieldBoxShadowEnabled: boolean;
|
|
566
|
+
/** показ кнопок изменения видимости элемента */
|
|
567
|
+
formFieldVisibilityEnabled: boolean;
|
|
568
|
+
/** показ переключателя экспорт в картинку */
|
|
569
|
+
formFieldExportAsPictureEnabled: boolean;
|
|
570
|
+
|
|
571
|
+
/** показ кнопки вставки изображения в текст кнопки */
|
|
572
|
+
formButtonFieldInsertImageEnabled: boolean;
|
|
573
|
+
/** показ кнопок вертикального выравнивания */
|
|
574
|
+
formButtonFieldVerticalAlignEnabled: boolean;
|
|
575
|
+
/** показ кнопок выравнивания текста */
|
|
576
|
+
formButtonFieldTextAlignEnabled: boolean;
|
|
577
|
+
/** показ полей фонового изображения */
|
|
578
|
+
formButtonFieldBackgroundImageEnabled: boolean;
|
|
579
|
+
/** показ полей внутренних отступов */
|
|
580
|
+
formButtonFieldPaddingsEnabled: boolean;
|
|
581
|
+
|
|
582
|
+
/** показ кнопок вертикального выравнивания */
|
|
583
|
+
formCellFieldVerticalAlignEnabled: boolean;
|
|
584
|
+
/** показ полей фонового изображения */
|
|
585
|
+
formCellFieldBackgroundImageEnabled: boolean;
|
|
586
|
+
/** показ полей внутренних отступов */
|
|
587
|
+
formCellFieldPaddingsEnabled: boolean;
|
|
588
|
+
/** показ кнопки вставки изображения в текст кнопки */
|
|
589
|
+
formLinkFieldInsertImageEnabled: boolean;
|
|
590
|
+
/** показ полей фонового изображения */
|
|
591
|
+
formTableFieldBackgroundImageEnabled: boolean;
|
|
592
|
+
/** показ полей фонового изображения */
|
|
593
|
+
formDivFieldBackgroundImageEnabled: boolean;
|
|
594
|
+
/** показ полей фонового изображения */
|
|
595
|
+
formEmailFieldBackgroundImageEnabled: boolean;
|
|
596
|
+
|
|
597
|
+
/** Элементы */
|
|
598
|
+
elementImageEnabled: boolean;
|
|
599
|
+
elementTextEnabled: boolean;
|
|
600
|
+
elementHeaderEnabled: boolean;
|
|
601
|
+
elementButtonEnabled: boolean;
|
|
602
|
+
elementListULEnabled: boolean;
|
|
603
|
+
elementListOLEnabled: boolean;
|
|
604
|
+
elementDividerEnabled: boolean;
|
|
605
|
+
elementSpacerEnabled: boolean;
|
|
606
|
+
elementSocialEnabled: boolean;
|
|
607
|
+
elementTableEnabled: boolean;
|
|
608
|
+
elementCountdownEnabled: boolean;
|
|
609
|
+
elementVideoEnabled: boolean;
|
|
610
|
+
elementAIimageEnabled: boolean;
|
|
611
|
+
elementAItextEnabled: boolean;
|
|
612
|
+
elementCarouselEnabled: boolean;
|
|
613
|
+
elementFormEnabled: boolean;
|
|
614
|
+
|
|
615
|
+
imageCenterStockEnabled: boolean;
|
|
616
|
+
imageCenterGifEnabled: boolean;
|
|
617
|
+
imageCenterEditorEnabled: boolean;
|
|
618
|
+
compressMaxSize: number;
|
|
619
|
+
compressMaxWidthOrHeight: number;
|
|
620
|
+
|
|
621
|
+
editor: EditorOptions;
|
|
622
|
+
|
|
623
|
+
locale: Locale;
|
|
624
|
+
|
|
625
|
+
codeModeDirection: CodeModeDirection;
|
|
626
|
+
|
|
627
|
+
preventSendDataToEM?: boolean;
|
|
628
|
+
|
|
629
|
+
mergeTags?: MergeTagsInfo;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
export interface User {
|
|
633
|
+
/** Имя входа для пользователя. */
|
|
634
|
+
username: string;
|
|
635
|
+
/** Адрес email пользователя. @format email */
|
|
636
|
+
email?: string;
|
|
637
|
+
/** Пароль пользователя (никогда не показывается). */
|
|
638
|
+
password?: string;
|
|
639
|
+
/** URL аватара пользователя. */
|
|
640
|
+
avatar_urls?: {
|
|
641
|
+
/** URL аватары с размером изображения в 24 пикселей. @format uri */
|
|
642
|
+
'24'?: string;
|
|
643
|
+
'48'?: string;
|
|
644
|
+
'96'?: string;
|
|
645
|
+
};
|
|
646
|
+
/** Таймаут автосохранения */
|
|
647
|
+
autosaveTimeout?: number;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
namespace AppConfigMixin {
|
|
651
|
+
interface Options {
|
|
652
|
+
config?: Partial<Config>;
|
|
653
|
+
project?: string | number;
|
|
654
|
+
user?: User;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
interface Instance {
|
|
658
|
+
setConfig(config: RecursivePartial<Config>): Promise<void>;
|
|
659
|
+
getConfig(): Config;
|
|
660
|
+
updateConfig(config: RecursivePartial<Config>): Promise<void>;
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
interface Options extends AppConfigMixin.Options { }
|
|
664
|
+
|
|
665
|
+
interface Instance extends AppConfigMixin.Instance { }
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
declare namespace ExportedApi {
|
|
669
|
+
namespace AppInitMixin {
|
|
670
|
+
interface Options {
|
|
671
|
+
/** base url of the app server */
|
|
672
|
+
baseUrl?: string;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
interface Instance {
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
interface Options extends AppInitMixin.Options { }
|
|
679
|
+
|
|
680
|
+
interface Instance extends AppInitMixin.Instance { }
|
|
681
|
+
}
|
|
682
|
+
declare namespace ExportedApi {
|
|
683
|
+
export type JWTAuthOptions = {
|
|
684
|
+
email: string;
|
|
685
|
+
password: string;
|
|
686
|
+
remember?: boolean;
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
type JWTOptions = {
|
|
690
|
+
/** JWT authorization credentials */
|
|
691
|
+
jwtAuth?: JWTAuthOptions
|
|
692
|
+
};
|
|
693
|
+
namespace JWTMixin {
|
|
694
|
+
interface Options extends JWTOptions { }
|
|
695
|
+
|
|
696
|
+
interface Instance { }
|
|
697
|
+
}
|
|
698
|
+
interface Options extends JWTMixin.Options { }
|
|
699
|
+
|
|
700
|
+
interface Instance extends JWTMixin.Instance { }
|
|
701
|
+
}
|
|
702
|
+
declare namespace ExportedApi {
|
|
703
|
+
type OAuthCallback = (prevToken?: string) => MayBePromise<string>;
|
|
704
|
+
|
|
705
|
+
type OAuthOptions = {
|
|
706
|
+
/**
|
|
707
|
+
* Get token callback
|
|
708
|
+
*/
|
|
709
|
+
getAuthToken?: OAuthCallback;
|
|
710
|
+
};
|
|
711
|
+
namespace OAuthMixin {
|
|
712
|
+
interface Options extends OAuthOptions { }
|
|
713
|
+
|
|
714
|
+
interface Instance { }
|
|
715
|
+
}
|
|
716
|
+
interface Options extends OAuthMixin.Options { }
|
|
717
|
+
|
|
718
|
+
interface Instance extends OAuthMixin.Instance { }
|
|
719
|
+
}
|
|
720
|
+
declare namespace Emailmaker {
|
|
721
|
+
/** App options */
|
|
722
|
+
interface Options {
|
|
723
|
+
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
/** App instance */
|
|
727
|
+
interface Instance {
|
|
728
|
+
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
}
|
|
732
|
+
declare namespace ExportedApi {
|
|
733
|
+
interface CoreOptions {
|
|
734
|
+
element?: string | Element | DocumentFragment;
|
|
735
|
+
}
|
|
736
|
+
namespace CoreMixin {
|
|
737
|
+
interface Options extends CoreOptions { }
|
|
738
|
+
|
|
739
|
+
interface Instance {
|
|
740
|
+
getElement(): Element | DocumentFragment | undefined;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
interface Options extends CoreMixin.Options { }
|
|
744
|
+
|
|
745
|
+
interface Instance extends CoreMixin.Instance { }
|
|
746
|
+
}
|
|
747
|
+
declare namespace ExportedApi {
|
|
748
|
+
namespace DataMixin {
|
|
749
|
+
type BlockShowOptions = {
|
|
750
|
+
/** block content */
|
|
751
|
+
block: Block | string;
|
|
752
|
+
/** autosaves */
|
|
753
|
+
revisions?: BlockRevision[];
|
|
754
|
+
/** comments */
|
|
755
|
+
comments?: Comment[];
|
|
756
|
+
/** blocks */
|
|
757
|
+
blocks?: Block[];
|
|
758
|
+
/** template identifier for email */
|
|
759
|
+
templateId?: string | number;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
type EmailShowOptions = {
|
|
763
|
+
/** email content */
|
|
764
|
+
email: Email | string;
|
|
765
|
+
/** autosaves */
|
|
766
|
+
autosaves?: EmailRevision[];
|
|
767
|
+
/** comments */
|
|
768
|
+
comments?: Comment[];
|
|
769
|
+
/** blocks */
|
|
770
|
+
blocks?: Block[];
|
|
771
|
+
/** template identifier for block */
|
|
772
|
+
templateId?: number;
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
type Content = string | Email | EmailShowOptions;// | BlockShowOptions;
|
|
776
|
+
|
|
777
|
+
type ReadEmailHandler = (id: string) => MayBePromise<Email>;
|
|
778
|
+
type ReadEmailAutosavesHandler = (emailId: string) => MayBePromise<EmailRevision[]>;
|
|
779
|
+
type ReadBlocksHandler = (project: string) => MayBePromise<Block[]>;
|
|
780
|
+
type ReadCommentsHandler = (emailId: string) => MayBePromise<Comment[]>;
|
|
781
|
+
|
|
782
|
+
type EmailHandler = AppListener<CompiledEmail>;
|
|
783
|
+
type HtmlHandler = AppListener<string>;
|
|
784
|
+
|
|
785
|
+
type TestEmailSendEventPayload = {
|
|
786
|
+
project?: string;
|
|
787
|
+
email_id?: string;
|
|
788
|
+
subject?: string;
|
|
789
|
+
email?: string;
|
|
790
|
+
code?: string;
|
|
791
|
+
from_name?: string;
|
|
792
|
+
compiled: {
|
|
793
|
+
html: string;
|
|
794
|
+
ampHtml: string;
|
|
795
|
+
};
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
type TestEmailSendHandler = AppListener<TestEmailSendEventPayload, false | void>;
|
|
799
|
+
|
|
800
|
+
type TestEmailModalSendHandler = AppListener<Email, false | void>;
|
|
801
|
+
|
|
802
|
+
interface Events {
|
|
803
|
+
/** read email handler */
|
|
804
|
+
handleReadEmail: AppEvent<ReadEmailHandler>;
|
|
805
|
+
/** fires when email saved */
|
|
806
|
+
handleSaveEmail: SaveEvent<CompiledEmail>;
|
|
807
|
+
|
|
808
|
+
/** read autosaves handler */
|
|
809
|
+
handleReadEmailRevisions: AppEvent<ReadEmailAutosavesHandler>;
|
|
810
|
+
/** fires when email autosave */
|
|
811
|
+
handleEmailAutosave: CreateEvent<CompiledEmailRevision>;
|
|
812
|
+
/** fires when email autosave delete */
|
|
813
|
+
handleRemoveEmailAutoSave: RemoveEvent<CompiledEmailRevision>;
|
|
814
|
+
|
|
815
|
+
/** read blocks handler */
|
|
816
|
+
handleReadBlocks: AppEvent<ReadBlocksHandler>;
|
|
817
|
+
/** fires when block save */
|
|
818
|
+
handleSaveBlock: SaveEvent<Block>;
|
|
819
|
+
/** fires when block delete */
|
|
820
|
+
handleRemoveBlock: RemoveEvent<Block>;
|
|
821
|
+
|
|
822
|
+
/** read comments handler */
|
|
823
|
+
handleReadComments: AppEvent<ReadCommentsHandler>;
|
|
824
|
+
/** fires when comment save */
|
|
825
|
+
handleSaveComment: SaveEvent<Comment>;
|
|
826
|
+
/** fires when comment delete */
|
|
827
|
+
handleRemoveComment: RemoveEvent<Comment>;
|
|
828
|
+
|
|
829
|
+
/** fires when user clicked on 'save' button */
|
|
830
|
+
handleSaveButtonClick: AppEvent<EmailHandler>;
|
|
831
|
+
/** fires when user clicked on 'next' button */
|
|
832
|
+
handleNextButtonClick: AppEvent<EmailHandler>;
|
|
833
|
+
/** fires when user clicked on 'previous' button */
|
|
834
|
+
handlePreviousButtonClick: AppEvent<EmailHandler>;
|
|
835
|
+
/** fires when email iframe inited */
|
|
836
|
+
handleEmailInit: AppEvent<EmailHandler>;
|
|
837
|
+
/** fires when email changed */
|
|
838
|
+
handleEmailChanged: AppEvent<EmailHandler>;
|
|
839
|
+
/** fires when email Html changed */
|
|
840
|
+
handleHtmlChanged: AppEvent<HtmlHandler>;
|
|
841
|
+
/** fires when test email send*/
|
|
842
|
+
handleTestEmailSend: AppEvent<TestEmailSendHandler>;
|
|
843
|
+
/** fires when open */
|
|
844
|
+
handleTestEmailModal: AppEvent<TestEmailModalSendHandler>;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
type Listeners = { [K in keyof Events]?: Events[K] extends AppEvent<infer Listener> ? Listener : never; };
|
|
848
|
+
interface Options extends Listeners {
|
|
849
|
+
/** entity content */
|
|
850
|
+
content: Content;
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
interface Instance extends Events {
|
|
854
|
+
/**
|
|
855
|
+
* show block or email
|
|
856
|
+
* @param content entity content
|
|
857
|
+
*/
|
|
858
|
+
show(content: Content): Promise<void>;
|
|
859
|
+
/** save current email */
|
|
860
|
+
save(): Promise<CompiledEmail>;
|
|
861
|
+
/**s
|
|
862
|
+
* get email from inner storage
|
|
863
|
+
*/
|
|
864
|
+
getEmail(): Promise<CompiledEmail>;
|
|
865
|
+
/**
|
|
866
|
+
* get blocks from inner storage
|
|
867
|
+
*/
|
|
868
|
+
getBlocks(): Promise<Block[]>;
|
|
869
|
+
/**
|
|
870
|
+
* get email satosaves
|
|
871
|
+
* @param emailId email identifier
|
|
872
|
+
*/
|
|
873
|
+
getEmailRevisions(): Promise<EmailRevision[]>;
|
|
874
|
+
/**
|
|
875
|
+
* get email comments
|
|
876
|
+
*/
|
|
877
|
+
getComments(): Promise<Comment[]>;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
interface Options extends DataMixin.Options { }
|
|
881
|
+
|
|
882
|
+
interface Instance extends DataMixin.Instance { }
|
|
883
|
+
}
|
|
884
|
+
declare namespace ExportedApi {
|
|
885
|
+
namespace DestroyableMixin {
|
|
886
|
+
type DestroyListener = AppListener<ExportedApi.Instance>;
|
|
887
|
+
interface Options {
|
|
888
|
+
handleDestroy?: DestroyListener;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
interface Instance {
|
|
892
|
+
/** fires when app destroyed */
|
|
893
|
+
handleDestroy: AppEvent<DestroyListener>;
|
|
894
|
+
destroy(): void;
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
interface Options extends DestroyableMixin.Options { }
|
|
898
|
+
|
|
899
|
+
interface Instance extends DestroyableMixin.Instance { }
|
|
900
|
+
}
|
|
901
|
+
declare namespace ExportedApi {
|
|
902
|
+
namespace ImageHandlerMixin {
|
|
903
|
+
type LoadEventPayload = { file: File, project: string };
|
|
904
|
+
type LoadImageListener = AppListener<LoadEventPayload, string | void>;
|
|
905
|
+
interface Options {
|
|
906
|
+
handleLoadImage?: LoadImageListener;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
interface Instance {
|
|
910
|
+
/** fires when image loading */
|
|
911
|
+
handleLoadImage: AppEvent<LoadImageListener>;
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
interface Options extends ImageHandlerMixin.Options { }
|
|
915
|
+
|
|
916
|
+
interface Instance extends ImageHandlerMixin.Instance { }
|
|
917
|
+
}
|
|
918
|
+
declare namespace ExportedApi {
|
|
919
|
+
namespace LoadHandlerMixin {
|
|
920
|
+
type LoadListener = AppListener<ExportedApi.Instance>;
|
|
921
|
+
interface Options {
|
|
922
|
+
handleLoad?: LoadListener;
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
interface Instance {
|
|
926
|
+
/** fires when app loaded */
|
|
927
|
+
handleLoad: AppEvent<LoadListener>;
|
|
928
|
+
reset(options: ExportedApi.Options): Promise<ExportedApi.Instance>;
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
interface Options extends LoadHandlerMixin.Options { }
|
|
932
|
+
|
|
933
|
+
interface Instance extends LoadHandlerMixin.Instance { }
|
|
934
|
+
}
|
|
935
|
+
declare namespace ExportedApi {
|
|
936
|
+
type ConfigNotify = Notify & Partial<NotifyEvent> & { message: string | HTMLElement };
|
|
937
|
+
namespace NotificationMixin {
|
|
938
|
+
type NotifyListener = AppListener<NotifyEvent, ConfigNotify | string | false | void>;
|
|
939
|
+
type ErrorListener = AppListener<Notify.ErrorEvent, ConfigNotify | string | false | void>;
|
|
940
|
+
type SuccessListener = AppListener<Notify.SuccessEvent, ConfigNotify | string | false | void>;
|
|
941
|
+
interface Options {
|
|
942
|
+
handleNotify?: NotifyListener;
|
|
943
|
+
handleError?: ErrorListener;
|
|
944
|
+
handleSuccess?: SuccessListener;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
interface Instance {
|
|
948
|
+
handleNotify: AppEvent<NotifyListener>;
|
|
949
|
+
handleError: AppEvent<ErrorListener>;
|
|
950
|
+
handleSuccess: AppEvent<SuccessListener>;
|
|
951
|
+
notify(config: ConfigNotify | string): void;
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
interface Options extends NotificationMixin.Options { }
|
|
955
|
+
|
|
956
|
+
interface Instance extends NotificationMixin.Instance { }
|
|
957
|
+
}
|
|
958
|
+
declare namespace ExportedApi {
|
|
959
|
+
interface Instance {
|
|
960
|
+
/** reset app config */
|
|
961
|
+
reset(options: Options): Promise<Instance>;
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
export type Instance = ExportedApi.Instance;
|
|
966
|
+
|
|
967
|
+
export type Options = ExportedApi.Options;
|
|
968
|
+
|
|
969
|
+
/**
|
|
970
|
+
* initialize app instance
|
|
971
|
+
* @param {options} app options
|
|
972
|
+
* @returns app instance
|
|
973
|
+
*/
|
|
974
|
+
export function init(options: Options): Promise<Instance>;
|
|
975
|
+
/**
|
|
976
|
+
* app version
|
|
977
|
+
*/
|
|
978
|
+
export const version: string;
|