@excalidraw/excalidraw 0.14.1-e6de1fe → 0.14.2
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/CHANGELOG.md +37 -1
- package/README.md +0 -4
- package/dist/excalidraw-assets-dev/vendor-e6df8519da951026ff69.js +1 -1
- package/dist/excalidraw.development.js +39 -39
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +2 -2
- package/types/bug-issue-template.d.ts +2 -0
- package/types/components/ActiveFile.d.ts +7 -0
- package/types/components/ClearCanvas.d.ts +4 -0
- package/types/components/CollabButton.d.ts +7 -0
- package/types/components/MenuItem.d.ts +11 -0
- package/types/components/MenuUtils.d.ts +2 -0
- package/types/components/TopErrorBoundary.d.ts +15 -0
- package/types/components/WelcomeScreen.d.ts +8 -0
- package/types/components/WelcomeScreenDecor.d.ts +6 -0
- package/types/components/context/tunnels.d.ts +16 -0
- package/types/components/mainMenu/DefaultItems.d.ts +44 -0
- package/types/components/mainMenu/MainMenu.d.ts +44 -0
- package/types/excalidraw-app/CustomStats.d.ts +9 -0
- package/types/excalidraw-app/app_constants.d.ts +32 -0
- package/types/excalidraw-app/collab/Collab.d.ts +163 -0
- package/types/excalidraw-app/collab/Portal.d.ts +28 -0
- package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
- package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
- package/types/excalidraw-app/components/EncryptedIcon.d.ts +1 -0
- package/types/excalidraw-app/components/ExcalidrawPlusAppLink.d.ts +1 -0
- package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
- package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
- package/types/excalidraw-app/components/icons.d.ts +1 -0
- package/types/excalidraw-app/data/FileManager.d.ts +66 -0
- package/types/excalidraw-app/data/LocalData.d.ts +32 -0
- package/types/excalidraw-app/data/Locker.d.ts +8 -0
- package/types/excalidraw-app/data/firebase.d.ts +25 -0
- package/types/excalidraw-app/data/index.d.ts +183 -0
- package/types/excalidraw-app/data/localStorage.d.ts +109 -0
- package/types/excalidraw-app/data/tabSync.d.ts +9 -0
- package/types/excalidraw-app/index.d.ts +26 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/bug-issue-template-7628a1d844446e5ca713.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ar-SA-json-1bb6302a93fa38d23d93.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ar-SA-json-7880ce61551376011ec8.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/bg-BG-json-04c32894a53ff1b841f2.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/bg-BG-json-a1facb11dbb377c90536.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/bn-BD-json-634967cdb3ba0649af4d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/bn-BD-json-c8a37406c9152cd7acf4.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ca-ES-json-319bfc63af7c5cf7ec18.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ca-ES-json-55c9b183f935a5d11aca.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/cs-CZ-json-63e64aea4eee696f6560.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/cs-CZ-json-6d90332bcb443eb42802.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/da-DK-json-3537795fe77f731fa73b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/da-DK-json-d3633cf24300764ec674.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/de-DE-json-1e0ab10e858bdd7cd5c7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/de-DE-json-f02ac029c64432725793.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/el-GR-json-041566c45d784db853b3.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/el-GR-json-72b6ce23553a9c8e270b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/es-ES-json-124029c5c7386ccbce1c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/es-ES-json-8791f8a3ec6253466a9b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/eu-ES-json-2debb0a180f671e8c417.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/eu-ES-json-f959c593c0f00edff67b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fa-IR-json-1a48b1b4d36c56bc98b2.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fa-IR-json-901375a61be9b3ebce1d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fi-FI-json-5f4fce8f7a54b9660c99.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fi-FI-json-b5f1567c3ca0a897e452.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fr-FR-json-9a524eca06b781609d92.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/fr-FR-json-cb24197bbfb2a4788fde.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/gl-ES-json-24ddd1aea2914489d66b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/gl-ES-json-bff1413c13a0b907cd6d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/he-IL-json-2686abc8b155be579d06.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/he-IL-json-bcfe172e6fc193bbf5f1.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/hi-IN-json-a86588d386d42bea67ad.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/hi-IN-json-efc9f7ef04774f58cbad.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/hu-HU-json-3b647d54caa9cd086abc.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/hu-HU-json-9eced03fca421da9dc33.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/id-ID-json-7b86bce77d4d5a362f05.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/id-ID-json-7d938493c5aa6afef186.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/it-IT-json-9ecc203d696bd8ab1e5c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/it-IT-json-a909a4d4bb19af207fff.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ja-JP-json-3ca539ebaf199164dd7f.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ja-JP-json-9e961616beed862eac56.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/kab-KAB-json-2d1204c965bc93f5754b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/kab-KAB-json-4cd28c882b4db23990d8.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/kk-KZ-json-0d11cd6204ccf3fe525f.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/kk-KZ-json-f89d72504164df84c087.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ko-KR-json-3d69fbb43c407fca47d3.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ko-KR-json-6ee79cc1ac4f34e85f50.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ku-TR-json-04cd173683d79bb264e7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ku-TR-json-6077b8b65644d4b19461.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/lt-LT-json-07a117096cba0d54446a.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/lt-LT-json-0d6150d8b3d418652fe9.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/lv-LV-json-24ab5a572ca1e9899a88.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/lv-LV-json-5ff95e7961229ff568fb.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/mr-IN-json-069b53ee4b91eda493ce.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/mr-IN-json-a7a04f967d1b0df28700.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/my-MM-json-354b418b74398f6efb2b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/my-MM-json-7a5e168f3c205e6dc827.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nb-NO-json-4424f16783be9dc1b68c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nb-NO-json-df3df0be06e3f1bf4b06.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nl-NL-json-4b701336a4c5c331d25a.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nl-NL-json-85d5f44469db5c5e6124.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nn-NO-json-72c1151e278eaa3007da.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/nn-NO-json-d566f1edbd6be33a70b3.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/oc-FR-json-1d888554c45e5174ede4.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/oc-FR-json-24548a7feecb4c99eaa3.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pa-IN-json-0ef170e4e8fc90c8b8c0.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pa-IN-json-9ffe63db0e1a6b0274f7.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pa-IN-json-d4f592694e6f6af11450.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pl-PL-json-a8ddc96c59a92fca9d77.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pl-PL-json-eec56b7a089b7cb68635.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-BR-json-1317f88b4d299ad9a2ce.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-BR-json-1e850bd4508a5abf6aec.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-PT-json-0d63b7c4b4188b9378b8.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-PT-json-37c5101916c53869cd8c.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ro-RO-json-97f37a829dc90dfcc450.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ro-RO-json-bdd13022520b63c2e758.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ru-RU-json-1ac97d5e23a89ebff869.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ru-RU-json-c7b2021bbfe94a4c3b92.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/si-LK-json-1444e979b8c965d31530.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/si-LK-json-99d0a5a652dbc68ed47d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sk-SK-json-02cfad34246f8cfedd42.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sk-SK-json-39a1277ee816fa9d9661.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sl-SI-json-239877b5b4b9450f4ff8.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sl-SI-json-c8c152fc0e647c41b0b9.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sv-SE-json-8930dabe22b7aabb2293.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/sv-SE-json-dbe06cf14132b3898415.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ta-IN-json-860e88f005450b4f47b0.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/ta-IN-json-fb0ad99371cc9d395a4a.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/tr-TR-json-2e9abe9bb4deaf4dd351.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/tr-TR-json-787da8dfc2342305e3a6.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/uk-UA-json-31b987b925c003b67518.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/uk-UA-json-e1832968cea3ac1b1f14.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/vi-VN-json-238d97c20e7382d8d408.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/vi-VN-json-8e07b04b68ca2190a3ba.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-CN-json-0c84694ac9a1000f2eda.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-CN-json-ee9966d1cd4ff9e87533.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-HK-json-3a8d1819016d2ff6a8a5.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-HK-json-a90c2e97d0115af3affe.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-TW-json-1f855b7f18a6b359ad85.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-TW-json-a4a2e5b4cc51ab083773.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/socketIoClient-9dfbabed609bb6017f9b.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/vendor-1e6c2df4e69cc1956ad5.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/bug-issue-template-28bde25b78f0c2ca82bd.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ar-SA-json-808d2efbf452212f669d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ar-SA-json-b6404a304896578c57e7.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bg-BG-json-27fa33071eaa81394d61.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bg-BG-json-e9f8c439c703b9c46f8f.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bn-BD-json-6b8f0d28591eb6926c5a.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bn-BD-json-b181d32e04f431472a00.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ca-ES-json-0f0e2e2efe8081b84670.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ca-ES-json-b8795d2c06e02f8459d2.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/cs-CZ-json-101521a09a7715f909be.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/cs-CZ-json-96005b5d91bada4af762.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/da-DK-json-291963ff7bdf063a3414.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/da-DK-json-4d9054b3dd4ff8de7bfa.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/de-DE-json-0dfed44e094e5e7647ea.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/de-DE-json-c4d1b52feda557945ecf.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/el-GR-json-6b618647cd5dc299d56b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/el-GR-json-cc428d6d24413e24785d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/es-ES-json-93b74ae63ccd847c1735.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/es-ES-json-f300883866a6249a4943.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/eu-ES-json-2ce16fff0331672e3630.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/eu-ES-json-5321ea491e8c1e8e265c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fa-IR-json-607ddee328d9a13e688d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fa-IR-json-d8736c460ba5f77209bf.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fi-FI-json-29f534e1e3daf160eb2c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fi-FI-json-92708cde694d0f77df88.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fr-FR-json-4a98afe80b0f71441e85.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fr-FR-json-fc60b276b98e6bc57ae8.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/gl-ES-json-210eff58e4414a5490e8.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/gl-ES-json-4e726abf2864318b51f9.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/he-IL-json-86ff7589978ed9654753.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/he-IL-json-9bb31b0b25e5a4e8ebec.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hi-IN-json-568c16b512f4c2c8dc80.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hi-IN-json-87d2ac812dc34ff143a2.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hu-HU-json-6127772c863962f7a7c9.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hu-HU-json-a96298a55c135b42996d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/id-ID-json-0850671b76921f20c9b6.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/id-ID-json-cec1d9b72fad17e79219.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/it-IT-json-2cef8370cf78d9233c2b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/it-IT-json-5436ec678e0205d56856.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ja-JP-json-32f639470c104e80bfa4.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ja-JP-json-ea55175bf36ae67d1486.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kab-KAB-json-0571060fae93fb1f4655.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kab-KAB-json-e40e6e3caaf73fb06f29.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kk-KZ-json-25ada9f88f38cfb84b18.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kk-KZ-json-2c2022e9751e266daf48.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ko-KR-json-8a4074591f36df4d0c58.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ko-KR-json-c7c136cb71decba363c7.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ku-TR-json-7f671260a35125754327.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ku-TR-json-d9a93bd27cba79b19aee.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lt-LT-json-0907f29dc7c40b6e344f.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lt-LT-json-6c2e9629a9ba65c0dca7.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lv-LV-json-a811474717b56be40608.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lv-LV-json-ccbb9781322782d02fae.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/mr-IN-json-1bac19e335b1be4d57b1.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/mr-IN-json-d8ec700e1e33441c238b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/my-MM-json-5c3b77241cc063b2c5b0.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/my-MM-json-bf5438b8b540213e7b7d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nb-NO-json-354ad83d68de9511218b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nb-NO-json-d7ca016e9141141cf6d2.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nl-NL-json-1690236e0232b67cd430.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nl-NL-json-3ba3e0f154412bbcf188.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nn-NO-json-75b6725e1dfad76dd3d6.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nn-NO-json-cd35c740e50d116d56a0.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/oc-FR-json-54e22feb16f23f963b44.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/oc-FR-json-e352ed207a2bc6ff2f9a.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pa-IN-json-2ad0a6609c7ab52d467d.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pa-IN-json-66af94286f884f29d157.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pl-PL-json-5e2c724996753a370f00.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pl-PL-json-e9d55427ccc0a3ee2287.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-BR-json-3756b9371bfb0744a247.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-BR-json-b51075fd4a34edc98c62.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-PT-json-54efec7908df52d47dd5.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-PT-json-f580e6aa27acd18cf7eb.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ro-RO-json-7d91654ae261bb9d572c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ro-RO-json-f62b471f8125751df395.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ru-RU-json-0b36410a81160861bfbe.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ru-RU-json-807c094575141684a23c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/si-LK-json-338de2463f06f3a76069.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/si-LK-json-d6a06f63464d79fd36eb.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sk-SK-json-b8a13e82d3ccc25365ff.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sk-SK-json-dc42543f0ffa26f7e2de.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sl-SI-json-79d34e23c08ceec64254.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sl-SI-json-7f2b05323ad2e88110b3.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sv-SE-json-053d2c3abda7dcc70df7.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sv-SE-json-0aec1cdc076c868b1384.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ta-IN-json-41c81e1f857b5e0da8e5.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ta-IN-json-82adc75c8ce42916819b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/tr-TR-json-662131ef5ef936bed6fc.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/tr-TR-json-745c327779771326407a.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/uk-UA-json-0e7734abfada3d4d8c23.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/uk-UA-json-a91561233fde5c47199c.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/vi-VN-json-24e0a602b51ae02a9396.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/vi-VN-json-da80feb32fd43849da41.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-CN-json-9a4f14a3964c94a3b1d0.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-CN-json-cfa7b0a95405aae3bd85.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-HK-json-d549d0545edbb2c9b957.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-HK-json-d621701ec05102b37e3b.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-TW-json-67cab9706c94be113c72.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-TW-json-8e24a4e83f3a0e4ae157.d.ts +2 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/socketIoClient-fa4b6d469c39d45f2e09.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-cdf32fffa1d8406fcad7.d.ts +0 -0
- package/types/packages/excalidraw/example/public/bundle.d.ts +4 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ar-SA-json-422720aeae76b43f4e34.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/bg-BG-json-ae0d3ff13ac91abf996f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/bn-BD-json-32cdc6ced24b13f36bbc.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ca-ES-json-a49f03ca494b1ca8ed9b.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/cs-CZ-json-2f07dbffe26aa12a024c.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/da-DK-json-6ae97a313d4264946e31.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/de-DE-json-c80daaed2a67b2f15223.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/el-GR-json-51bfd33c7f83bbd7f6db.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/es-ES-json-8b67d656368fbf73428a.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/eu-ES-json-5e56699d66f76750fe41.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/fa-IR-json-d0c9c049db458a8ca59b.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/fi-FI-json-1ae181bce5d26c50d814.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/fr-FR-json-0956ba0a6dca32f13c7c.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/gl-ES-json-1d1f4fc2134412b9c96a.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/he-IL-json-1f78737fd8e123db1288.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/hi-IN-json-5be1ea05cc7ee8432cb8.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/hu-HU-json-107000c3f76466f229a2.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/id-ID-json-f782bb0be319848f497f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/it-IT-json-c10398560de544c3d260.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ja-JP-json-e6171aca80f24923fe78.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/kab-KAB-json-24afe8bf173c1ff2b0fb.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/kk-KZ-json-ebcf4e820011c8b8947f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ko-KR-json-8ea51a4ccc4dcc5ad697.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/lt-LT-json-5bbbf30868522c7bc767.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/lv-LV-json-b098759876ad0f66ffeb.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/mr-IN-json-095d9331dce2f1e28fe2.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/my-MM-json-6d5eac0f31d26c9151d0.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/nb-NO-json-3212c5604c8178216a20.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/nl-NL-json-a0917464058630804509.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/nn-NO-json-acadf455071816b2e1ed.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/oc-FR-json-09009791e68cc185268f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/pa-IN-json-0b4a87b2f3a174822e14.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/pl-PL-json-e9f93bc2be954bd5cd6f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/pt-BR-json-1d39c9c817cafb4df7bc.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/pt-PT-json-bf4365a3b12692290c60.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ro-RO-json-b5a994918893bdb7f12a.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ru-RU-json-4ca260298f98f8b9d64b.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/si-LK-json-036efbecc1473ea2654c.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/sk-SK-json-01a56bd743bfafa0ea7f.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/sl-SI-json-7c07dba5b6bcb7072b72.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/sv-SE-json-344d32171a6dcaa49e4b.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/ta-IN-json-972a32d06dc37eae0265.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/tr-TR-json-fe7706a48e8c387f0efa.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/uk-UA-json-3530ec9aa3e0e74258f2.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/vi-VN-json-8787bf8cf6bfb42f8db7.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/zh-CN-json-973f54c2e185ded6c3aa.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/zh-HK-json-327e43ba85bde53f4508.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/locales/zh-TW-json-76cff34960ab6a8ef9ae.d.ts +2 -0
- package/types/packages/excalidraw/example/public/excalidraw-assets-dev/vendor-045ba36ab51d57ee5669.d.ts +0 -0
- package/types/packages/excalidraw/example/public/excalidraw.development.d.ts +4 -0
- package/types/components/tunnels.d.ts +0 -37
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@excalidraw/excalidraw",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.2",
|
|
4
4
|
"main": "main.js",
|
|
5
5
|
"types": "types/packages/excalidraw/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -81,4 +81,4 @@
|
|
|
81
81
|
"install:deps": "yarn install --frozen-lockfile && yarn --cwd ../../../",
|
|
82
82
|
"build:example": "EXAMPLE=true webpack --config webpack.dev-server.config.js && yarn gen:types"
|
|
83
83
|
}
|
|
84
|
-
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "./Menu.scss";
|
|
2
|
+
interface MenuProps {
|
|
3
|
+
icon: JSX.Element;
|
|
4
|
+
onClick: () => void;
|
|
5
|
+
label: string;
|
|
6
|
+
dataTestId: string;
|
|
7
|
+
shortcut?: string;
|
|
8
|
+
isCollaborating?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const MenuItem: ({ icon, onClick, label, dataTestId, shortcut, isCollaborating, }: MenuProps) => JSX.Element;
|
|
11
|
+
export default MenuItem;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface TopErrorBoundaryState {
|
|
3
|
+
hasError: boolean;
|
|
4
|
+
sentryEventId: string;
|
|
5
|
+
localStorage: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class TopErrorBoundary extends React.Component<any, TopErrorBoundaryState> {
|
|
8
|
+
state: TopErrorBoundaryState;
|
|
9
|
+
render(): any;
|
|
10
|
+
componentDidCatch(error: Error, errorInfo: any): void;
|
|
11
|
+
private selectTextArea;
|
|
12
|
+
private createGithubIssue;
|
|
13
|
+
private errorSplash;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionManager } from "../actions/manager";
|
|
2
|
+
import { AppState } from "../types";
|
|
3
|
+
import "./WelcomeScreen.scss";
|
|
4
|
+
declare const WelcomeScreen: ({ appState, actionManager, }: {
|
|
5
|
+
appState: AppState;
|
|
6
|
+
actionManager: ActionManager;
|
|
7
|
+
}) => JSX.Element;
|
|
8
|
+
export default WelcomeScreen;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import tunnel from "@dwelle/tunnel-rat";
|
|
3
|
+
declare type Tunnel = ReturnType<typeof tunnel>;
|
|
4
|
+
declare type TunnelsContextValue = {
|
|
5
|
+
mainMenuTunnel: Tunnel;
|
|
6
|
+
welcomeScreenMenuHintTunnel: Tunnel;
|
|
7
|
+
welcomeScreenToolbarHintTunnel: Tunnel;
|
|
8
|
+
welcomeScreenHelpHintTunnel: Tunnel;
|
|
9
|
+
welcomeScreenCenterTunnel: Tunnel;
|
|
10
|
+
footerCenterTunnel: Tunnel;
|
|
11
|
+
jotaiScope: symbol;
|
|
12
|
+
};
|
|
13
|
+
export declare const TunnelsContext: React.Context<TunnelsContextValue>;
|
|
14
|
+
export declare const useTunnels: () => TunnelsContextValue;
|
|
15
|
+
export declare const useInitializeTunnels: () => TunnelsContextValue;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ExcalidrawProps } from "../../types";
|
|
2
|
+
export declare const LoadScene: {
|
|
3
|
+
(): JSX.Element | null;
|
|
4
|
+
displayName: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const SaveToActiveFile: {
|
|
7
|
+
(): JSX.Element | null;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const SaveAsImage: {
|
|
11
|
+
(): JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const Help: {
|
|
15
|
+
(): JSX.Element | null;
|
|
16
|
+
displayName: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const ClearCanvas: {
|
|
19
|
+
(): JSX.Element | null;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const ToggleTheme: {
|
|
23
|
+
(): JSX.Element | null;
|
|
24
|
+
displayName: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const ChangeCanvasBackground: {
|
|
27
|
+
(): JSX.Element | null;
|
|
28
|
+
displayName: string;
|
|
29
|
+
};
|
|
30
|
+
export declare const Export: {
|
|
31
|
+
(): JSX.Element;
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
export declare const Socials: {
|
|
35
|
+
(): JSX.Element;
|
|
36
|
+
displayName: string;
|
|
37
|
+
};
|
|
38
|
+
export declare const LiveCollaboration: {
|
|
39
|
+
({ onClick, isCollaborating, }: {
|
|
40
|
+
onClick: ExcalidrawProps["onCollabButtonClick"];
|
|
41
|
+
isCollaborating: ExcalidrawProps["isCollaborating"];
|
|
42
|
+
}): JSX.Element;
|
|
43
|
+
displayName: string;
|
|
44
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import * as DefaultItems from "./DefaultItems";
|
|
3
|
+
declare const MainMenu: {
|
|
4
|
+
({ children }: {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}): JSX.Element;
|
|
7
|
+
Trigger: {
|
|
8
|
+
({ className, children, onToggle, }: {
|
|
9
|
+
className?: string | undefined;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
onToggle: () => void;
|
|
12
|
+
}): JSX.Element;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
Item: {
|
|
16
|
+
({ icon, onClick, children, dataTestId, shortcut, className, link, style, }: {
|
|
17
|
+
icon?: JSX.Element | undefined;
|
|
18
|
+
onClick?: (() => void) | undefined;
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
dataTestId?: string | undefined;
|
|
21
|
+
shortcut?: string | undefined;
|
|
22
|
+
className?: string | undefined;
|
|
23
|
+
link?: string | undefined;
|
|
24
|
+
style?: React.CSSProperties | undefined;
|
|
25
|
+
}): JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
Group: {
|
|
29
|
+
({ children, className, style, title, }: {
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
className?: string | undefined;
|
|
32
|
+
style?: React.CSSProperties | undefined;
|
|
33
|
+
title?: string | undefined;
|
|
34
|
+
}): JSX.Element;
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
37
|
+
Separator: {
|
|
38
|
+
(): JSX.Element;
|
|
39
|
+
displayName: string;
|
|
40
|
+
};
|
|
41
|
+
DefaultItems: typeof DefaultItems;
|
|
42
|
+
displayName: string;
|
|
43
|
+
};
|
|
44
|
+
export default MainMenu;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AppState } from "../types";
|
|
2
|
+
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
3
|
+
declare type Props = {
|
|
4
|
+
setToast: (message: string) => void;
|
|
5
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
6
|
+
appState: AppState;
|
|
7
|
+
};
|
|
8
|
+
declare const CustomStats: (props: Props) => JSX.Element;
|
|
9
|
+
export default CustomStats;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const SAVE_TO_LOCAL_STORAGE_TIMEOUT = 300;
|
|
2
|
+
export declare const INITIAL_SCENE_UPDATE_TIMEOUT = 5000;
|
|
3
|
+
export declare const FILE_UPLOAD_TIMEOUT = 300;
|
|
4
|
+
export declare const LOAD_IMAGES_TIMEOUT = 500;
|
|
5
|
+
export declare const SYNC_FULL_SCENE_INTERVAL_MS = 20000;
|
|
6
|
+
export declare const SYNC_BROWSER_TABS_TIMEOUT = 50;
|
|
7
|
+
export declare const CURSOR_SYNC_TIMEOUT = 33;
|
|
8
|
+
export declare const DELETED_ELEMENT_TIMEOUT: number;
|
|
9
|
+
export declare const FILE_UPLOAD_MAX_BYTES: number;
|
|
10
|
+
export declare const FILE_CACHE_MAX_AGE_SEC = 31536000;
|
|
11
|
+
export declare const WS_EVENTS: {
|
|
12
|
+
SERVER_VOLATILE: string;
|
|
13
|
+
SERVER: string;
|
|
14
|
+
};
|
|
15
|
+
export declare enum WS_SCENE_EVENT_TYPES {
|
|
16
|
+
INIT = "SCENE_INIT",
|
|
17
|
+
UPDATE = "SCENE_UPDATE"
|
|
18
|
+
}
|
|
19
|
+
export declare const FIREBASE_STORAGE_PREFIXES: {
|
|
20
|
+
shareLinkFiles: string;
|
|
21
|
+
collabFiles: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const ROOM_ID_BYTES = 10;
|
|
24
|
+
export declare const STORAGE_KEYS: {
|
|
25
|
+
readonly LOCAL_STORAGE_ELEMENTS: "excalidraw";
|
|
26
|
+
readonly LOCAL_STORAGE_APP_STATE: "excalidraw-state";
|
|
27
|
+
readonly LOCAL_STORAGE_COLLAB: "excalidraw-collab";
|
|
28
|
+
readonly LOCAL_STORAGE_LIBRARY: "excalidraw-library";
|
|
29
|
+
readonly LOCAL_STORAGE_THEME: "excalidraw-theme";
|
|
30
|
+
readonly VERSION_DATA_STATE: "version-dataState";
|
|
31
|
+
readonly VERSION_FILES: "version-files";
|
|
32
|
+
};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
2
|
+
import { PureComponent } from "react";
|
|
3
|
+
import { ExcalidrawImperativeAPI } from "../../types";
|
|
4
|
+
import { ImportedDataState } from "../../data/types";
|
|
5
|
+
import { ExcalidrawElement } from "../../element/types";
|
|
6
|
+
import { Gesture } from "../../types";
|
|
7
|
+
import { SocketUpdateDataSource, SyncableExcalidrawElement } from "../data";
|
|
8
|
+
import Portal from "./Portal";
|
|
9
|
+
import { UserIdleState } from "../../types";
|
|
10
|
+
import { FileManager } from "../data/FileManager";
|
|
11
|
+
export declare const collabAPIAtom: import("jotai").Atom<CollabAPI | null> & {
|
|
12
|
+
write: (get: {
|
|
13
|
+
<Value>(atom: import("jotai").Atom<Value | Promise<Value>>): Value;
|
|
14
|
+
<Value_1>(atom: import("jotai").Atom<Promise<Value_1>>): Value_1;
|
|
15
|
+
<Value_2>(atom: import("jotai").Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
|
|
16
|
+
} & {
|
|
17
|
+
<Value_3>(atom: import("jotai").Atom<Value_3 | Promise<Value_3>>, options: {
|
|
18
|
+
unstable_promise: true;
|
|
19
|
+
}): Value_3 | Promise<Value_3>;
|
|
20
|
+
<Value_4>(atom: import("jotai").Atom<Promise<Value_4>>, options: {
|
|
21
|
+
unstable_promise: true;
|
|
22
|
+
}): Value_4 | Promise<Value_4>;
|
|
23
|
+
<Value_5>(atom: import("jotai").Atom<Value_5>, options: {
|
|
24
|
+
unstable_promise: true;
|
|
25
|
+
}): (Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5) | Promise<Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5>;
|
|
26
|
+
}, set: {
|
|
27
|
+
<Value_6, Result extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_6, undefined, Result>): Result;
|
|
28
|
+
<Value_7, Update, Result_1 extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_7, Update, Result_1>, update: Update): Result_1;
|
|
29
|
+
}, update: CollabAPI | ((prev: CollabAPI | null) => CollabAPI | null) | null) => void;
|
|
30
|
+
onMount?: (<S extends (update: CollabAPI | ((prev: CollabAPI | null) => CollabAPI | null) | null) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
31
|
+
} & {
|
|
32
|
+
init: CollabAPI | null;
|
|
33
|
+
};
|
|
34
|
+
export declare const collabDialogShownAtom: import("jotai").Atom<boolean> & {
|
|
35
|
+
write: (get: {
|
|
36
|
+
<Value>(atom: import("jotai").Atom<Value | Promise<Value>>): Value;
|
|
37
|
+
<Value_1>(atom: import("jotai").Atom<Promise<Value_1>>): Value_1;
|
|
38
|
+
<Value_2>(atom: import("jotai").Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
|
|
39
|
+
} & {
|
|
40
|
+
<Value_3>(atom: import("jotai").Atom<Value_3 | Promise<Value_3>>, options: {
|
|
41
|
+
unstable_promise: true;
|
|
42
|
+
}): Value_3 | Promise<Value_3>;
|
|
43
|
+
<Value_4>(atom: import("jotai").Atom<Promise<Value_4>>, options: {
|
|
44
|
+
unstable_promise: true;
|
|
45
|
+
}): Value_4 | Promise<Value_4>;
|
|
46
|
+
<Value_5>(atom: import("jotai").Atom<Value_5>, options: {
|
|
47
|
+
unstable_promise: true;
|
|
48
|
+
}): (Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5) | Promise<Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5>;
|
|
49
|
+
}, set: {
|
|
50
|
+
<Value_6, Result extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_6, undefined, Result>): Result;
|
|
51
|
+
<Value_7, Update, Result_1 extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_7, Update, Result_1>, update: Update): Result_1;
|
|
52
|
+
}, update: boolean | ((prev: boolean) => boolean)) => void;
|
|
53
|
+
onMount?: (<S extends (update: boolean | ((prev: boolean) => boolean)) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
54
|
+
} & {
|
|
55
|
+
init: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare const isCollaboratingAtom: import("jotai").Atom<boolean> & {
|
|
58
|
+
write: (get: {
|
|
59
|
+
<Value>(atom: import("jotai").Atom<Value | Promise<Value>>): Value;
|
|
60
|
+
<Value_1>(atom: import("jotai").Atom<Promise<Value_1>>): Value_1;
|
|
61
|
+
<Value_2>(atom: import("jotai").Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
|
|
62
|
+
} & {
|
|
63
|
+
<Value_3>(atom: import("jotai").Atom<Value_3 | Promise<Value_3>>, options: {
|
|
64
|
+
unstable_promise: true;
|
|
65
|
+
}): Value_3 | Promise<Value_3>;
|
|
66
|
+
<Value_4>(atom: import("jotai").Atom<Promise<Value_4>>, options: {
|
|
67
|
+
unstable_promise: true;
|
|
68
|
+
}): Value_4 | Promise<Value_4>;
|
|
69
|
+
<Value_5>(atom: import("jotai").Atom<Value_5>, options: {
|
|
70
|
+
unstable_promise: true;
|
|
71
|
+
}): (Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5) | Promise<Value_5 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_5>;
|
|
72
|
+
}, set: {
|
|
73
|
+
<Value_6, Result extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_6, undefined, Result>): Result;
|
|
74
|
+
<Value_7, Update, Result_1 extends void | Promise<void>>(atom: import("jotai").WritableAtom<Value_7, Update, Result_1>, update: Update): Result_1;
|
|
75
|
+
}, update: boolean | ((prev: boolean) => boolean)) => void;
|
|
76
|
+
onMount?: (<S extends (update: boolean | ((prev: boolean) => boolean)) => void>(setAtom: S) => void | (() => void)) | undefined;
|
|
77
|
+
} & {
|
|
78
|
+
init: boolean;
|
|
79
|
+
};
|
|
80
|
+
interface CollabState {
|
|
81
|
+
errorMessage: string;
|
|
82
|
+
username: string;
|
|
83
|
+
activeRoomLink: string;
|
|
84
|
+
}
|
|
85
|
+
declare type CollabInstance = InstanceType<typeof Collab>;
|
|
86
|
+
export interface CollabAPI {
|
|
87
|
+
/** function so that we can access the latest value from stale callbacks */
|
|
88
|
+
isCollaborating: () => boolean;
|
|
89
|
+
onPointerUpdate: CollabInstance["onPointerUpdate"];
|
|
90
|
+
startCollaboration: CollabInstance["startCollaboration"];
|
|
91
|
+
stopCollaboration: CollabInstance["stopCollaboration"];
|
|
92
|
+
syncElements: CollabInstance["syncElements"];
|
|
93
|
+
fetchImageFilesFromFirebase: CollabInstance["fetchImageFilesFromFirebase"];
|
|
94
|
+
setUsername: (username: string) => void;
|
|
95
|
+
}
|
|
96
|
+
interface PublicProps {
|
|
97
|
+
excalidrawAPI: ExcalidrawImperativeAPI;
|
|
98
|
+
}
|
|
99
|
+
declare type Props = PublicProps & {
|
|
100
|
+
modalIsShown: boolean;
|
|
101
|
+
};
|
|
102
|
+
declare class Collab extends PureComponent<Props, CollabState> {
|
|
103
|
+
portal: Portal;
|
|
104
|
+
fileManager: FileManager;
|
|
105
|
+
excalidrawAPI: Props["excalidrawAPI"];
|
|
106
|
+
activeIntervalId: number | null;
|
|
107
|
+
idleTimeoutId: number | null;
|
|
108
|
+
private socketInitializationTimer?;
|
|
109
|
+
private lastBroadcastedOrReceivedSceneVersion;
|
|
110
|
+
private collaborators;
|
|
111
|
+
constructor(props: Props);
|
|
112
|
+
componentDidMount(): void;
|
|
113
|
+
componentWillUnmount(): void;
|
|
114
|
+
isCollaborating: () => boolean;
|
|
115
|
+
private setIsCollaborating;
|
|
116
|
+
private onUnload;
|
|
117
|
+
private beforeUnload;
|
|
118
|
+
saveCollabRoomToFirebase: (syncableElements: readonly SyncableExcalidrawElement[]) => Promise<void>;
|
|
119
|
+
stopCollaboration: (keepRemoteState?: boolean) => void;
|
|
120
|
+
private destroySocketClient;
|
|
121
|
+
private fetchImageFilesFromFirebase;
|
|
122
|
+
private decryptPayload;
|
|
123
|
+
private fallbackInitializationHandler;
|
|
124
|
+
startCollaboration: (existingRoomLinkData: null | {
|
|
125
|
+
roomId: string;
|
|
126
|
+
roomKey: string;
|
|
127
|
+
}) => Promise<ImportedDataState | null>;
|
|
128
|
+
private initializeRoom;
|
|
129
|
+
private reconcileElements;
|
|
130
|
+
private loadImageFiles;
|
|
131
|
+
private handleRemoteSceneUpdate;
|
|
132
|
+
private onPointerMove;
|
|
133
|
+
private onVisibilityChange;
|
|
134
|
+
private reportIdle;
|
|
135
|
+
private reportActive;
|
|
136
|
+
private initializeIdleDetector;
|
|
137
|
+
setCollaborators(sockets: string[]): void;
|
|
138
|
+
setLastBroadcastedOrReceivedSceneVersion: (version: number) => void;
|
|
139
|
+
getLastBroadcastedOrReceivedSceneVersion: () => number;
|
|
140
|
+
getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
|
|
141
|
+
onPointerUpdate: import("lodash").DebouncedFunc<(payload: {
|
|
142
|
+
pointer: SocketUpdateDataSource["MOUSE_LOCATION"]["payload"]["pointer"];
|
|
143
|
+
button: SocketUpdateDataSource["MOUSE_LOCATION"]["payload"]["button"];
|
|
144
|
+
pointersMap: Gesture["pointers"];
|
|
145
|
+
}) => void>;
|
|
146
|
+
onIdleStateChange: (userState: UserIdleState) => void;
|
|
147
|
+
broadcastElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
148
|
+
syncElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
149
|
+
queueBroadcastAllElements: import("lodash").DebouncedFunc<() => void>;
|
|
150
|
+
queueSaveToFirebase: import("lodash").DebouncedFunc<() => void>;
|
|
151
|
+
handleClose: () => void;
|
|
152
|
+
setUsername: (username: string) => void;
|
|
153
|
+
onUsernameChange: (username: string) => void;
|
|
154
|
+
render(): JSX.Element;
|
|
155
|
+
}
|
|
156
|
+
declare global {
|
|
157
|
+
interface Window {
|
|
158
|
+
collab: InstanceType<typeof Collab>;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
declare const _Collab: React.FC<PublicProps>;
|
|
162
|
+
export default _Collab;
|
|
163
|
+
export declare type TCollabClass = Collab;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/// <reference types="socket.io-client" />
|
|
2
|
+
/// <reference types="lodash" />
|
|
3
|
+
import { SocketUpdateData, SocketUpdateDataSource } from "../data";
|
|
4
|
+
import { TCollabClass } from "./Collab";
|
|
5
|
+
import { ExcalidrawElement } from "../../element/types";
|
|
6
|
+
import { WS_SCENE_EVENT_TYPES } from "../app_constants";
|
|
7
|
+
import { UserIdleState } from "../../types";
|
|
8
|
+
declare class Portal {
|
|
9
|
+
collab: TCollabClass;
|
|
10
|
+
socket: SocketIOClient.Socket | null;
|
|
11
|
+
socketInitialized: boolean;
|
|
12
|
+
roomId: string | null;
|
|
13
|
+
roomKey: string | null;
|
|
14
|
+
broadcastedElementVersions: Map<string, number>;
|
|
15
|
+
constructor(collab: TCollabClass);
|
|
16
|
+
open(socket: SocketIOClient.Socket, id: string, key: string): SocketIOClient.Socket;
|
|
17
|
+
close(): void;
|
|
18
|
+
isOpen(): boolean;
|
|
19
|
+
_broadcastSocketData(data: SocketUpdateData, volatile?: boolean): Promise<void>;
|
|
20
|
+
queueFileUpload: import("lodash").DebouncedFunc<() => Promise<void>>;
|
|
21
|
+
broadcastScene: (updateType: WS_SCENE_EVENT_TYPES.INIT | WS_SCENE_EVENT_TYPES.UPDATE, allElements: readonly ExcalidrawElement[], syncAll: boolean) => Promise<void>;
|
|
22
|
+
broadcastIdleChange: (userState: UserIdleState) => Promise<void> | undefined;
|
|
23
|
+
broadcastMouseLocation: (payload: {
|
|
24
|
+
pointer: SocketUpdateDataSource["MOUSE_LOCATION"]["payload"]["pointer"];
|
|
25
|
+
button: SocketUpdateDataSource["MOUSE_LOCATION"]["payload"]["button"];
|
|
26
|
+
}) => Promise<void> | undefined;
|
|
27
|
+
}
|
|
28
|
+
export default Portal;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./RoomDialog.scss";
|
|
2
|
+
import { AppState } from "../../types";
|
|
3
|
+
declare const RoomDialog: ({ handleClose, activeRoomLink, username, onUsernameChange, onRoomCreate, onRoomDestroy, setErrorMessage, theme, }: {
|
|
4
|
+
handleClose: () => void;
|
|
5
|
+
activeRoomLink: string;
|
|
6
|
+
username: string;
|
|
7
|
+
onUsernameChange: (username: string) => void;
|
|
8
|
+
onRoomCreate: () => void;
|
|
9
|
+
onRoomDestroy: () => void;
|
|
10
|
+
setErrorMessage: (message: string) => void;
|
|
11
|
+
theme: AppState["theme"];
|
|
12
|
+
}) => JSX.Element;
|
|
13
|
+
export default RoomDialog;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PRECEDING_ELEMENT_KEY } from "../../constants";
|
|
2
|
+
import { ExcalidrawElement } from "../../element/types";
|
|
3
|
+
import { AppState } from "../../types";
|
|
4
|
+
export declare type ReconciledElements = readonly ExcalidrawElement[] & {
|
|
5
|
+
_brand: "reconciledElements";
|
|
6
|
+
};
|
|
7
|
+
export declare type BroadcastedExcalidrawElement = ExcalidrawElement & {
|
|
8
|
+
[PRECEDING_ELEMENT_KEY]?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const reconcileElements: (localElements: readonly ExcalidrawElement[], remoteElements: readonly BroadcastedExcalidrawElement[], localAppState: AppState) => ReconciledElements;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EncryptedIcon: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ExcalidrawPlusAppLink: () => JSX.Element | null;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { NonDeletedExcalidrawElement } from "../../element/types";
|
|
3
|
+
import { AppState, BinaryFiles } from "../../types";
|
|
4
|
+
export declare const ExportToExcalidrawPlus: React.FC<{
|
|
5
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
6
|
+
appState: AppState;
|
|
7
|
+
files: BinaryFiles;
|
|
8
|
+
onError: (error: Error) => void;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const excalidrawPlusIcon: JSX.Element;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "../../element/types";
|
|
2
|
+
import { BinaryFileData, ExcalidrawImperativeAPI, BinaryFiles } from "../../types";
|
|
3
|
+
export declare class FileManager {
|
|
4
|
+
/** files being fetched */
|
|
5
|
+
private fetchingFiles;
|
|
6
|
+
/** files being saved */
|
|
7
|
+
private savingFiles;
|
|
8
|
+
private savedFiles;
|
|
9
|
+
private erroredFiles;
|
|
10
|
+
private _getFiles;
|
|
11
|
+
private _saveFiles;
|
|
12
|
+
constructor({ getFiles, saveFiles, }: {
|
|
13
|
+
getFiles: (fileIds: FileId[]) => Promise<{
|
|
14
|
+
loadedFiles: BinaryFileData[];
|
|
15
|
+
erroredFiles: Map<FileId, true>;
|
|
16
|
+
}>;
|
|
17
|
+
saveFiles: (data: {
|
|
18
|
+
addedFiles: Map<FileId, BinaryFileData>;
|
|
19
|
+
}) => Promise<{
|
|
20
|
+
savedFiles: Map<FileId, true>;
|
|
21
|
+
erroredFiles: Map<FileId, true>;
|
|
22
|
+
}>;
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* returns whether file is already saved or being processed
|
|
26
|
+
*/
|
|
27
|
+
isFileHandled: (id: FileId) => boolean;
|
|
28
|
+
isFileSaved: (id: FileId) => boolean;
|
|
29
|
+
saveFiles: ({ elements, files, }: {
|
|
30
|
+
elements: readonly ExcalidrawElement[];
|
|
31
|
+
files: BinaryFiles;
|
|
32
|
+
}) => Promise<{
|
|
33
|
+
savedFiles: Map<FileId, true>;
|
|
34
|
+
erroredFiles: Map<FileId, true>;
|
|
35
|
+
}>;
|
|
36
|
+
getFiles: (ids: FileId[]) => Promise<{
|
|
37
|
+
loadedFiles: BinaryFileData[];
|
|
38
|
+
erroredFiles: Map<FileId, true>;
|
|
39
|
+
}>;
|
|
40
|
+
/** a file element prevents unload only if it's being saved regardless of
|
|
41
|
+
* its `status`. This ensures that elements who for any reason haven't
|
|
42
|
+
* beed set to `saved` status don't prevent unload in future sessions.
|
|
43
|
+
* Technically we should prevent unload when the origin client haven't
|
|
44
|
+
* yet saved the `status` update to storage, but that should be taken care
|
|
45
|
+
* of during regular beforeUnload unsaved files check.
|
|
46
|
+
*/
|
|
47
|
+
shouldPreventUnload: (elements: readonly ExcalidrawElement[]) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* helper to determine if image element status needs updating
|
|
50
|
+
*/
|
|
51
|
+
shouldUpdateImageElementStatus: (element: ExcalidrawElement) => element is InitializedExcalidrawImageElement;
|
|
52
|
+
reset(): void;
|
|
53
|
+
}
|
|
54
|
+
export declare const encodeFilesForUpload: ({ files, maxBytes, encryptionKey, }: {
|
|
55
|
+
files: Map<FileId, BinaryFileData>;
|
|
56
|
+
maxBytes: number;
|
|
57
|
+
encryptionKey: string;
|
|
58
|
+
}) => Promise<{
|
|
59
|
+
id: FileId;
|
|
60
|
+
buffer: Uint8Array;
|
|
61
|
+
}[]>;
|
|
62
|
+
export declare const updateStaleImageStatuses: (params: {
|
|
63
|
+
excalidrawAPI: ExcalidrawImperativeAPI;
|
|
64
|
+
erroredFiles: Map<FileId, true>;
|
|
65
|
+
elements: readonly ExcalidrawElement[];
|
|
66
|
+
}) => void;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file deals with saving data state (appState, elements, images, ...)
|
|
3
|
+
* locally to the browser.
|
|
4
|
+
*
|
|
5
|
+
* Notes:
|
|
6
|
+
*
|
|
7
|
+
* - DataState refers to full state of the app: appState, elements, images,
|
|
8
|
+
* though some state is saved separately (collab username, library) for one
|
|
9
|
+
* reason or another. We also save different data to different sotrage
|
|
10
|
+
* (localStorage, indexedDB).
|
|
11
|
+
*/
|
|
12
|
+
import { ExcalidrawElement, FileId } from "../../element/types";
|
|
13
|
+
import { AppState, BinaryFiles } from "../../types";
|
|
14
|
+
import { FileManager } from "./FileManager";
|
|
15
|
+
declare class LocalFileManager extends FileManager {
|
|
16
|
+
clearObsoleteFiles: (opts: {
|
|
17
|
+
currentFileIds: FileId[];
|
|
18
|
+
}) => Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
declare type SavingLockTypes = "collaboration";
|
|
21
|
+
export declare class LocalData {
|
|
22
|
+
private static _save;
|
|
23
|
+
/** Saves DataState, including files. Bails if saving is paused */
|
|
24
|
+
static save: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, onFilesSaved: () => void) => void;
|
|
25
|
+
static flushSave: () => void;
|
|
26
|
+
private static locker;
|
|
27
|
+
static pauseSave: (lockType: SavingLockTypes) => void;
|
|
28
|
+
static resumeSave: (lockType: SavingLockTypes) => void;
|
|
29
|
+
static isSavePaused: () => boolean;
|
|
30
|
+
static fileStorage: LocalFileManager;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class Locker<T extends string> {
|
|
2
|
+
private locks;
|
|
3
|
+
lock: (lockType: T) => void;
|
|
4
|
+
/** @returns whether no locks remaining */
|
|
5
|
+
unlock: (lockType: T) => boolean;
|
|
6
|
+
/** @returns whether some (or specific) locks are present */
|
|
7
|
+
isLocked(lockType?: T): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="socket.io-client" />
|
|
2
|
+
import { ExcalidrawElement, FileId } from "../../element/types";
|
|
3
|
+
import Portal from "../collab/Portal";
|
|
4
|
+
import { AppState, BinaryFileData } from "../../types";
|
|
5
|
+
import { SyncableExcalidrawElement } from ".";
|
|
6
|
+
export declare const loadFirebaseStorage: () => Promise<typeof import("firebase/app").default>;
|
|
7
|
+
export declare const isSavedToFirebase: (portal: Portal, elements: readonly ExcalidrawElement[]) => boolean;
|
|
8
|
+
export declare const saveFilesToFirebase: ({ prefix, files, }: {
|
|
9
|
+
prefix: string;
|
|
10
|
+
files: {
|
|
11
|
+
id: FileId;
|
|
12
|
+
buffer: Uint8Array;
|
|
13
|
+
}[];
|
|
14
|
+
}) => Promise<{
|
|
15
|
+
savedFiles: Map<FileId, true>;
|
|
16
|
+
erroredFiles: Map<FileId, true>;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const saveToFirebase: (portal: Portal, elements: readonly SyncableExcalidrawElement[], appState: AppState) => Promise<false | {
|
|
19
|
+
reconciledElements: SyncableExcalidrawElement[] | null;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const loadFromFirebase: (roomId: string, roomKey: string, socket: SocketIOClient.Socket | null) => Promise<readonly ExcalidrawElement[] | null>;
|
|
22
|
+
export declare const loadFilesFromFirebase: (prefix: string, decryptionKey: string, filesIds: readonly FileId[]) => Promise<{
|
|
23
|
+
loadedFiles: BinaryFileData[];
|
|
24
|
+
erroredFiles: Map<FileId, true>;
|
|
25
|
+
}>;
|