@dwelle/excalidraw 0.3.4

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.
Files changed (242) hide show
  1. package/CHANGELOG.md +680 -0
  2. package/README.md +927 -0
  3. package/dist/excalidraw-assets/Cascadia.woff2 +0 -0
  4. package/dist/excalidraw-assets/Virgil.woff2 +0 -0
  5. package/dist/excalidraw-assets/image-02a1f3ecd6baf42daaa6.js +1 -0
  6. package/dist/excalidraw-assets/image-eafab0c39ce13f7fea67.js +1 -0
  7. package/dist/excalidraw-assets/vendor-448ccb79e58765b61834.js +2 -0
  8. package/dist/excalidraw-assets/vendor-448ccb79e58765b61834.js.LICENSE.txt +1 -0
  9. package/dist/excalidraw-assets/vendor-cb708a4580b007d81177.js +2 -0
  10. package/dist/excalidraw-assets/vendor-cb708a4580b007d81177.js.LICENSE.txt +1 -0
  11. package/dist/excalidraw-assets-dev/Cascadia.woff2 +0 -0
  12. package/dist/excalidraw-assets-dev/Virgil.woff2 +0 -0
  13. package/dist/excalidraw-assets-dev/image-cacb3d0c02eb2e346ecc.js +33 -0
  14. package/dist/excalidraw-assets-dev/vendor-0454f90696ac835aeb45.js +356 -0
  15. package/dist/excalidraw-assets-dev/vendor-7664c12c379862ed98a5.js +356 -0
  16. package/dist/excalidraw.development.js +2924 -0
  17. package/dist/excalidraw.production.min.js +2 -0
  18. package/dist/excalidraw.production.min.js.LICENSE.txt +1 -0
  19. package/main.js +8 -0
  20. package/package.json +72 -0
  21. package/types/actions/actionAddToLibrary.d.ts +1 -0
  22. package/types/actions/actionAlign.d.ts +6 -0
  23. package/types/actions/actionCanvas.d.ts +8 -0
  24. package/types/actions/actionClipboard.d.ts +4 -0
  25. package/types/actions/actionDeleteSelected.d.ts +1 -0
  26. package/types/actions/actionDistribute.d.ts +2 -0
  27. package/types/actions/actionDuplicateSelection.d.ts +1 -0
  28. package/types/actions/actionExport.d.ts +9 -0
  29. package/types/actions/actionFinalize.d.ts +1 -0
  30. package/types/actions/actionFlip.d.ts +2 -0
  31. package/types/actions/actionGroup.d.ts +2 -0
  32. package/types/actions/actionHistory.d.ts +6 -0
  33. package/types/actions/actionMenu.d.ts +4 -0
  34. package/types/actions/actionNavigate.d.ts +1 -0
  35. package/types/actions/actionProperties.d.ts +12 -0
  36. package/types/actions/actionSelectAll.d.ts +1 -0
  37. package/types/actions/actionStyles.d.ts +3 -0
  38. package/types/actions/actionToggleGridMode.d.ts +1 -0
  39. package/types/actions/actionToggleStats.d.ts +1 -0
  40. package/types/actions/actionToggleViewMode.d.ts +1 -0
  41. package/types/actions/actionToggleZenMode.d.ts +1 -0
  42. package/types/actions/actionZindex.d.ts +4 -0
  43. package/types/actions/index.d.ts +20 -0
  44. package/types/actions/manager.d.ts +28 -0
  45. package/types/actions/register.d.ts +3 -0
  46. package/types/actions/shortcuts.d.ts +2 -0
  47. package/types/actions/types.d.ts +49 -0
  48. package/types/align.d.ts +7 -0
  49. package/types/analytics.d.ts +1 -0
  50. package/types/appState.d.ts +59 -0
  51. package/types/charts.d.ts +19 -0
  52. package/types/clients.d.ts +6 -0
  53. package/types/clipboard.d.ts +19 -0
  54. package/types/colors.d.ts +6 -0
  55. package/types/components/Actions.d.ts +19 -0
  56. package/types/components/ActiveFile.d.ts +8 -0
  57. package/types/components/App.d.ts +154 -0
  58. package/types/components/Avatar.d.ts +10 -0
  59. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +9 -0
  60. package/types/components/ButtonIconSelect.d.ts +11 -0
  61. package/types/components/Card.d.ts +6 -0
  62. package/types/components/CheckboxItem.d.ts +6 -0
  63. package/types/components/CollabButton.d.ts +8 -0
  64. package/types/components/ColorPicker.d.ts +10 -0
  65. package/types/components/ContextMenu.d.ts +25 -0
  66. package/types/components/DarkModeToggle.d.ts +8 -0
  67. package/types/components/Dialog.d.ts +12 -0
  68. package/types/components/ErrorDialog.d.ts +5 -0
  69. package/types/components/FixedSideContainer.d.ts +9 -0
  70. package/types/components/HelpDialog.d.ts +5 -0
  71. package/types/components/HelpIcon.d.ts +9 -0
  72. package/types/components/HintViewer.d.ts +10 -0
  73. package/types/components/IconPicker.d.ts +14 -0
  74. package/types/components/ImageExportDialog.d.ts +16 -0
  75. package/types/components/InitializeApp.d.ts +16 -0
  76. package/types/components/Island.d.ts +10 -0
  77. package/types/components/JSONExportDialog.d.ts +13 -0
  78. package/types/components/LayerUI.d.ts +34 -0
  79. package/types/components/LibraryButton.d.ts +6 -0
  80. package/types/components/LibraryUnit.d.ts +9 -0
  81. package/types/components/LoadingMessage.d.ts +2 -0
  82. package/types/components/LockButton.d.ts +11 -0
  83. package/types/components/MobileMenu.d.ts +24 -0
  84. package/types/components/Modal.d.ts +11 -0
  85. package/types/components/PasteChartDialog.d.ts +9 -0
  86. package/types/components/Popover.d.ts +11 -0
  87. package/types/components/ProjectName.d.ts +11 -0
  88. package/types/components/Section.d.ts +7 -0
  89. package/types/components/Stack.d.ts +15 -0
  90. package/types/components/Stats.d.ts +11 -0
  91. package/types/components/Toast.d.ts +6 -0
  92. package/types/components/ToolButton.d.ts +35 -0
  93. package/types/components/Tooltip.d.ts +9 -0
  94. package/types/components/UserList.d.ts +13 -0
  95. package/types/components/icons.d.ts +163 -0
  96. package/types/constants.d.ts +115 -0
  97. package/types/data/blob.d.ts +11 -0
  98. package/types/data/encode.d.ts +25 -0
  99. package/types/data/image.d.ts +15 -0
  100. package/types/data/index.d.ts +13 -0
  101. package/types/data/json.d.ts +17 -0
  102. package/types/data/library.d.ts +14 -0
  103. package/types/data/resave.d.ts +5 -0
  104. package/types/data/restore.d.ts +13 -0
  105. package/types/data/types.d.ts +27 -0
  106. package/types/disitrubte.d.ts +7 -0
  107. package/types/element/binding.d.ts +33 -0
  108. package/types/element/bounds.d.ts +16 -0
  109. package/types/element/collision.d.ts +19 -0
  110. package/types/element/dragElements.d.ts +7 -0
  111. package/types/element/index.d.ts +22 -0
  112. package/types/element/linearElementEditor.d.ts +62 -0
  113. package/types/element/mutateElement.d.ts +11 -0
  114. package/types/element/newElement.d.ts +45 -0
  115. package/types/element/resizeElements.d.ts +9 -0
  116. package/types/element/resizeTest.d.ts +13 -0
  117. package/types/element/showSelectedShapeActions.d.ts +3 -0
  118. package/types/element/sizeHelpers.d.ts +16 -0
  119. package/types/element/textElement.d.ts +2 -0
  120. package/types/element/textWysiwyg.d.ts +15 -0
  121. package/types/element/transformHandles.d.ts +28 -0
  122. package/types/element/typeChecks.d.ts +11 -0
  123. package/types/element/types.d.ts +106 -0
  124. package/types/errors.d.ts +5 -0
  125. package/types/ga.d.ts +63 -0
  126. package/types/gadirections.d.ts +8 -0
  127. package/types/galines.d.ts +22 -0
  128. package/types/gapoints.d.ts +7 -0
  129. package/types/gatransforms.d.ts +10 -0
  130. package/types/gesture.d.ts +6 -0
  131. package/types/groups.d.ts +26 -0
  132. package/types/history.d.ts +52 -0
  133. package/types/hooks/useCallbackRefState.d.ts +1 -0
  134. package/types/i18n.d.ts +15 -0
  135. package/types/keys.d.ts +61 -0
  136. package/types/math.d.ts +20 -0
  137. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-9a3fdf94110439c2826a.d.ts +0 -0
  138. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-efd63375f9605b72c4af.d.ts +0 -0
  139. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-047db6df7a74c0298938.d.ts +0 -0
  140. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-35c0e8b92b0dba8a4e6d.d.ts +0 -0
  141. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-6acefe26cfe1d2f12349.d.ts +0 -0
  142. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-9924fbd53652d5f15134.d.ts +0 -0
  143. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-cs-CZ-json-85a469d813bb069829e7.d.ts +0 -0
  144. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-a52c17c4bd1b1db22464.d.ts +0 -0
  145. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-f85a8a52534c04c3f3b8.d.ts +0 -0
  146. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-060595a09e0004e33936.d.ts +0 -0
  147. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-3b209ec86ca2ce69bdfa.d.ts +0 -0
  148. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-32dc3bf0f789ef18e65d.d.ts +0 -0
  149. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-af5c541f9ac1526a9eb7.d.ts +0 -0
  150. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-7ee232d4ef08da0903f6.d.ts +0 -0
  151. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-c732ff7772327332c259.d.ts +0 -0
  152. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-46abeda8d809d4091924.d.ts +0 -0
  153. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-c1d5c5510660a11a428e.d.ts +0 -0
  154. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-6a418571305eecefe9bc.d.ts +0 -0
  155. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-79fa555bfea0a356f393.d.ts +0 -0
  156. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-157ae036fcf470528687.d.ts +0 -0
  157. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-d006423b531ab062bb85.d.ts +0 -0
  158. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-3035c3b3ab3ce981dbc7.d.ts +0 -0
  159. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-d959b869453c591a8861.d.ts +0 -0
  160. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-50a13e322a60bb701615.d.ts +0 -0
  161. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-a366989217753fe3d02b.d.ts +0 -0
  162. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-87212daac6113b5bf808.d.ts +0 -0
  163. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-8d13d29ee41be15a1f99.d.ts +0 -0
  164. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-59f2e9d3dac07f3264cb.d.ts +0 -0
  165. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-90283cd2809f4165506b.d.ts +0 -0
  166. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-9e0a78ddb43d5709fb29.d.ts +0 -0
  167. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-ccb5ffd0f8a0980c2ec0.d.ts +0 -0
  168. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-d9acc7b8ee952e356d06.d.ts +0 -0
  169. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-dac787e0446cdb747fe1.d.ts +0 -0
  170. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-d61af373bea59d1ff4c6.d.ts +0 -0
  171. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-e42ededaa35032a201b9.d.ts +0 -0
  172. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-07f6bffcb44fdd9aad4f.d.ts +0 -0
  173. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-7eea5c4054f8418fdd10.d.ts +0 -0
  174. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-26d1e27bab3b8ac4a3e6.d.ts +0 -0
  175. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-a8f9bb37a7b947e9dfba.d.ts +0 -0
  176. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-8ce0749d46f0b4a8defb.d.ts +0 -0
  177. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-c01fab8602e1b658d5d1.d.ts +0 -0
  178. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-23fdfd9f11bc8efbaf56.d.ts +0 -0
  179. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-cf922daa828029c1aff5.d.ts +0 -0
  180. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-b5931de6e1ed336bf087.d.ts +0 -0
  181. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-d363be6b3dcdbf3a868a.d.ts +0 -0
  182. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-29d6193adb907d4f5890.d.ts +0 -0
  183. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-c6414107ad634b113aba.d.ts +0 -0
  184. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-27063e4865142ac11b1a.d.ts +0 -0
  185. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-f0c779291da384fb5173.d.ts +0 -0
  186. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-16af1b83ac16af57ad07.d.ts +0 -0
  187. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-a4a5c6e0a9877c43476a.d.ts +0 -0
  188. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-03a046855063512eb9ff.d.ts +0 -0
  189. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-db86828d6e3ced9f9854.d.ts +0 -0
  190. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-7ed352e9de6dc74ef503.d.ts +0 -0
  191. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-bc0cd589bd87a3079407.d.ts +0 -0
  192. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-75692b7a0166d6ad27a4.d.ts +0 -0
  193. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-f13a2e7b7a63fbfb6ae7.d.ts +0 -0
  194. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-69b1a919b7f42adfd6ec.d.ts +0 -0
  195. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-7c2a2061d0ca99cf7007.d.ts +0 -0
  196. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-0ef09f90308059d22ae8.d.ts +0 -0
  197. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-4757551ceb15fa0a29a9.d.ts +0 -0
  198. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-dc7718d79b9bf93a4ba4.d.ts +0 -0
  199. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-fa5bd09f128972b13ac2.d.ts +0 -0
  200. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-b574833ee1c2f58fd24e.d.ts +0 -0
  201. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-cba7e62d9610795a5ac3.d.ts +0 -0
  202. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-a9a8ea7adb95c0a03680.d.ts +0 -0
  203. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-f0cab296bdc4089ffa77.d.ts +0 -0
  204. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-45da9983459601b845e8.d.ts +0 -0
  205. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-94f562845a945a45e385.d.ts +0 -0
  206. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-0e77c896018bcd221bf6.d.ts +0 -0
  207. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-7dd3d9ba72493687c286.d.ts +0 -0
  208. package/types/packages/excalidraw/dist/excalidraw-assets/image-02a1f3ecd6baf42daaa6.d.ts +0 -0
  209. package/types/packages/excalidraw/dist/excalidraw-assets/image-eafab0c39ce13f7fea67.d.ts +0 -0
  210. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-448ccb79e58765b61834.d.ts +0 -0
  211. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-cb708a4580b007d81177.d.ts +0 -0
  212. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-cacb3d0c02eb2e346ecc.d.ts +0 -0
  213. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-0454f90696ac835aeb45.d.ts +0 -0
  214. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-7664c12c379862ed98a5.d.ts +0 -0
  215. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -0
  216. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +3 -0
  217. package/types/packages/excalidraw/entry.d.ts +3 -0
  218. package/types/packages/excalidraw/index.d.ts +16 -0
  219. package/types/packages/excalidraw/main.d.ts +2 -0
  220. package/types/packages/excalidraw/publicPath.d.ts +1 -0
  221. package/types/packages/excalidraw/webpack.dev.config.d.ts +81 -0
  222. package/types/packages/excalidraw/webpack.prod.config.d.ts +91 -0
  223. package/types/packages/utils.d.ts +26 -0
  224. package/types/points.d.ts +6 -0
  225. package/types/random.d.ts +3 -0
  226. package/types/renderer/index.d.ts +1 -0
  227. package/types/renderer/renderElement.d.ts +23 -0
  228. package/types/renderer/renderScene.d.ts +21 -0
  229. package/types/renderer/roundRect.d.ts +11 -0
  230. package/types/scene/Scene.d.ts +26 -0
  231. package/types/scene/comparisons.d.ts +10 -0
  232. package/types/scene/export.d.ts +20 -0
  233. package/types/scene/index.d.ts +5 -0
  234. package/types/scene/scroll.d.ts +17 -0
  235. package/types/scene/scrollbars.d.ts +16 -0
  236. package/types/scene/selection.d.ts +11 -0
  237. package/types/scene/types.d.ts +50 -0
  238. package/types/scene/zoom.d.ts +6 -0
  239. package/types/shapes.d.ts +35 -0
  240. package/types/types.d.ts +287 -0
  241. package/types/utils.d.ts +94 -0
  242. package/types/zindex.d.ts +6 -0
@@ -0,0 +1 @@
1
+ // @license © 2020 Google LLC. Licensed under the Apache License, Version 2.0.
package/main.js ADDED
@@ -0,0 +1,8 @@
1
+ if (
2
+ process.env.NODE_ENV === "production" ||
3
+ window.__excalidraw_env__ === "production"
4
+ ) {
5
+ module.exports = require("./dist/excalidraw.production.min.js");
6
+ } else {
7
+ module.exports = require("./dist/excalidraw.development.js");
8
+ }
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@dwelle/excalidraw",
3
+ "version": "0.3.4",
4
+ "main": "main.js",
5
+ "types": "types/packages/excalidraw/index.d.ts",
6
+ "files": [
7
+ "dist/*",
8
+ "types/*"
9
+ ],
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "description": "Excalidraw as a React component",
14
+ "license": "MIT",
15
+ "keywords": [],
16
+ "browserslist": {
17
+ "production": [
18
+ ">0.2%",
19
+ "not dead",
20
+ "not ie <= 11",
21
+ "not op_mini all",
22
+ "not safari < 12",
23
+ "not kaios <= 2.5",
24
+ "not edge < 79",
25
+ "not chrome < 70",
26
+ "not and_uc < 13",
27
+ "not samsung < 10"
28
+ ],
29
+ "development": [
30
+ "last 1 chrome version",
31
+ "last 1 firefox version",
32
+ "last 1 safari version"
33
+ ]
34
+ },
35
+ "peerDependencies": {
36
+ "react": "^17.0.2",
37
+ "react-dom": "^17.0.2"
38
+ },
39
+ "devDependencies": {
40
+ "@babel/core": "7.14.8",
41
+ "@babel/plugin-transform-arrow-functions": "7.14.5",
42
+ "@babel/plugin-transform-async-to-generator": "7.14.5",
43
+ "@babel/plugin-transform-runtime": "7.14.5",
44
+ "@babel/plugin-transform-typescript": "7.14.6",
45
+ "@babel/preset-env": "7.14.9",
46
+ "@babel/preset-react": "7.14.5",
47
+ "@babel/preset-typescript": "7.14.5",
48
+ "autoprefixer": "10.3.1",
49
+ "babel-loader": "8.2.2",
50
+ "babel-plugin-transform-class-properties": "6.24.1",
51
+ "cross-env": "7.0.3",
52
+ "css-loader": "5.2.6",
53
+ "file-loader": "6.2.0",
54
+ "mini-css-extract-plugin": "1.6.1",
55
+ "postcss-loader": "6.1.1",
56
+ "sass-loader": "12.1.0",
57
+ "terser-webpack-plugin": "5.1.4",
58
+ "ts-loader": "9.2.4",
59
+ "typescript": "4.3.5",
60
+ "webpack": "5.50.0",
61
+ "webpack-bundle-analyzer": "4.4.2",
62
+ "webpack-cli": "4.7.2"
63
+ },
64
+ "repository": "https://github.com/dwelle/excalidraw",
65
+ "homepage": "https://github.com/excalidraw/excalidraw/tree/master/src/packages/excalidraw",
66
+ "scripts": {
67
+ "gen:types": "tsc --project ../../../tsconfig-types.json",
68
+ "build:umd": "cross-env NODE_ENV=production webpack --config webpack.prod.config.js && cross-env NODE_ENV=development webpack --config webpack.dev.config.js && yarn gen:types",
69
+ "build:umd:withAnalyzer": "cross-env NODE_ENV=production ANALYZER=true webpack --config webpack.prod.config.js",
70
+ "pack": "yarn build:umd && yarn pack"
71
+ }
72
+ }
@@ -0,0 +1 @@
1
+ export declare const actionAddToLibrary: import("./types").Action;
@@ -0,0 +1,6 @@
1
+ export declare const actionAlignTop: import("./types").Action;
2
+ export declare const actionAlignBottom: import("./types").Action;
3
+ export declare const actionAlignLeft: import("./types").Action;
4
+ export declare const actionAlignRight: import("./types").Action;
5
+ export declare const actionAlignVerticallyCentered: import("./types").Action;
6
+ export declare const actionAlignHorizontallyCentered: import("./types").Action;
@@ -0,0 +1,8 @@
1
+ export declare const actionChangeViewBackgroundColor: import("./types").Action;
2
+ export declare const actionClearCanvas: import("./types").Action;
3
+ export declare const actionZoomIn: import("./types").Action;
4
+ export declare const actionZoomOut: import("./types").Action;
5
+ export declare const actionResetZoom: import("./types").Action;
6
+ export declare const actionZoomToSelected: import("./types").Action;
7
+ export declare const actionZoomToFit: import("./types").Action;
8
+ export declare const actionToggleTheme: import("./types").Action;
@@ -0,0 +1,4 @@
1
+ export declare const actionCopy: import("./types").Action;
2
+ export declare const actionCut: import("./types").Action;
3
+ export declare const actionCopyAsSvg: import("./types").Action;
4
+ export declare const actionCopyAsPng: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionDeleteSelected: import("./types").Action;
@@ -0,0 +1,2 @@
1
+ export declare const distributeHorizontally: import("./types").Action;
2
+ export declare const distributeVertically: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionDuplicateSelection: import("./types").Action;
@@ -0,0 +1,9 @@
1
+ import "../components/ToolIcon.scss";
2
+ export declare const actionChangeProjectName: import("./types").Action;
3
+ export declare const actionChangeExportScale: import("./types").Action;
4
+ export declare const actionChangeExportBackground: import("./types").Action;
5
+ export declare const actionChangeExportEmbedScene: import("./types").Action;
6
+ export declare const actionSaveToActiveFile: import("./types").Action;
7
+ export declare const actionSaveFileToDisk: import("./types").Action;
8
+ export declare const actionLoadScene: import("./types").Action;
9
+ export declare const actionExportWithDarkMode: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionFinalize: import("./types").Action;
@@ -0,0 +1,2 @@
1
+ export declare const actionFlipHorizontal: import("./types").Action;
2
+ export declare const actionFlipVertical: import("./types").Action;
@@ -0,0 +1,2 @@
1
+ export declare const actionGroup: import("./types").Action;
2
+ export declare const actionUngroup: import("./types").Action;
@@ -0,0 +1,6 @@
1
+ import { Action } from "./types";
2
+ import History from "../history";
3
+ declare type ActionCreator = (history: History) => Action;
4
+ export declare const createUndoAction: ActionCreator;
5
+ export declare const createRedoAction: ActionCreator;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const actionToggleCanvasMenu: import("./types").Action;
2
+ export declare const actionToggleEditMenu: import("./types").Action;
3
+ export declare const actionFullScreen: import("./types").Action;
4
+ export declare const actionShortcuts: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionGoToCollaborator: import("./types").Action;
@@ -0,0 +1,12 @@
1
+ export declare const actionChangeStrokeColor: import("./types").Action;
2
+ export declare const actionChangeBackgroundColor: import("./types").Action;
3
+ export declare const actionChangeFillStyle: import("./types").Action;
4
+ export declare const actionChangeStrokeWidth: import("./types").Action;
5
+ export declare const actionChangeSloppiness: import("./types").Action;
6
+ export declare const actionChangeStrokeStyle: import("./types").Action;
7
+ export declare const actionChangeOpacity: import("./types").Action;
8
+ export declare const actionChangeFontSize: import("./types").Action;
9
+ export declare const actionChangeFontFamily: import("./types").Action;
10
+ export declare const actionChangeTextAlign: import("./types").Action;
11
+ export declare const actionChangeSharpness: import("./types").Action;
12
+ export declare const actionChangeArrowhead: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionSelectAll: import("./types").Action;
@@ -0,0 +1,3 @@
1
+ export declare let copiedStyles: string;
2
+ export declare const actionCopyStyles: import("./types").Action;
3
+ export declare const actionPasteStyles: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionToggleGridMode: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionToggleStats: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionToggleViewMode: import("./types").Action;
@@ -0,0 +1 @@
1
+ export declare const actionToggleZenMode: import("./types").Action;
@@ -0,0 +1,4 @@
1
+ export declare const actionSendBackward: import("./types").Action;
2
+ export declare const actionBringForward: import("./types").Action;
3
+ export declare const actionSendToBack: import("./types").Action;
4
+ export declare const actionBringToFront: import("./types").Action;
@@ -0,0 +1,20 @@
1
+ export { actionDeleteSelected } from "./actionDeleteSelected";
2
+ export { actionBringForward, actionBringToFront, actionSendBackward, actionSendToBack, } from "./actionZindex";
3
+ export { actionSelectAll } from "./actionSelectAll";
4
+ export { actionDuplicateSelection } from "./actionDuplicateSelection";
5
+ export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, } from "./actionProperties";
6
+ export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
+ export { actionFinalize } from "./actionFinalize";
8
+ export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
9
+ export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
10
+ export { actionToggleCanvasMenu, actionToggleEditMenu, actionFullScreen, actionShortcuts, } from "./actionMenu";
11
+ export { actionGroup, actionUngroup } from "./actionGroup";
12
+ export { actionGoToCollaborator } from "./actionNavigate";
13
+ export { actionAddToLibrary } from "./actionAddToLibrary";
14
+ export { actionAlignTop, actionAlignBottom, actionAlignLeft, actionAlignRight, actionAlignVerticallyCentered, actionAlignHorizontallyCentered, } from "./actionAlign";
15
+ export { distributeHorizontally, distributeVertically, } from "./actionDistribute";
16
+ export { actionFlipHorizontal, actionFlipVertical } from "./actionFlip";
17
+ export { actionCopy, actionCut, actionCopyAsPng, actionCopyAsSvg, } from "./actionClipboard";
18
+ export { actionToggleGridMode } from "./actionToggleGridMode";
19
+ export { actionToggleZenMode } from "./actionToggleZenMode";
20
+ export { actionToggleStats } from "./actionToggleStats";
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { Action, ActionsManagerInterface, UpdaterFn, ActionName, ActionResult, PanelComponentProps } from "./types";
3
+ import { ExcalidrawElement } from "../element/types";
4
+ import { AppProps, AppState } from "../types";
5
+ import Library from "../data/library";
6
+ declare type App = {
7
+ canvas: HTMLCanvasElement | null;
8
+ focusContainer: () => void;
9
+ props: AppProps;
10
+ library: Library;
11
+ };
12
+ export declare class ActionManager implements ActionsManagerInterface {
13
+ actions: Record<ActionName, Action>;
14
+ updater: (actionResult: ActionResult | Promise<ActionResult>) => void;
15
+ getAppState: () => Readonly<AppState>;
16
+ getElementsIncludingDeleted: () => readonly ExcalidrawElement[];
17
+ app: App;
18
+ constructor(updater: UpdaterFn, getAppState: () => AppState, getElementsIncludingDeleted: () => readonly ExcalidrawElement[], app: App);
19
+ registerAction(action: Action): void;
20
+ registerAll(actions: readonly Action[]): void;
21
+ handleKeyDown(event: React.KeyboardEvent | KeyboardEvent): boolean;
22
+ executeAction(action: Action): void;
23
+ /**
24
+ * @param data additional data sent to the PanelComponent
25
+ */
26
+ renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => JSX.Element | null;
27
+ }
28
+ export {};
@@ -0,0 +1,3 @@
1
+ import { Action } from "./types";
2
+ export declare let actions: readonly Action[];
3
+ export declare const register: (action: Action) => Action;
@@ -0,0 +1,2 @@
1
+ export declare type ShortcutName = "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "copyAsSvg" | "group" | "ungroup" | "gridMode" | "zenMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical";
2
+ export declare const getShortcutFromShortcutName: (name: ShortcutName) => string;
@@ -0,0 +1,49 @@
1
+ import React from "react";
2
+ import { ExcalidrawElement } from "../element/types";
3
+ import { AppState, ExcalidrawProps } from "../types";
4
+ import Library from "../data/library";
5
+ import { ToolButtonSize } from "../components/ToolButton";
6
+ /** if false, the action should be prevented */
7
+ export declare type ActionResult = {
8
+ elements?: readonly ExcalidrawElement[] | null;
9
+ appState?: MarkOptional<AppState, "offsetTop" | "offsetLeft" | "width" | "height"> | null;
10
+ commitToHistory: boolean;
11
+ syncHistory?: boolean;
12
+ } | false;
13
+ declare type AppAPI = {
14
+ canvas: HTMLCanvasElement | null;
15
+ focusContainer(): void;
16
+ library: Library;
17
+ };
18
+ declare type ActionFn = (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppAPI) => ActionResult | Promise<ActionResult>;
19
+ export declare type UpdaterFn = (res: ActionResult) => void;
20
+ export declare type ActionFilterFn = (action: Action) => void;
21
+ export declare type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToSelection" | "changeFontFamily" | "changeTextAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeSharpness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme";
22
+ export declare type PanelComponentProps = {
23
+ elements: readonly ExcalidrawElement[];
24
+ appState: AppState;
25
+ updateData: (formData?: any) => void;
26
+ appProps: ExcalidrawProps;
27
+ data?: Partial<{
28
+ id: string;
29
+ size: ToolButtonSize;
30
+ }>;
31
+ };
32
+ export interface Action {
33
+ name: ActionName;
34
+ PanelComponent?: React.FC<PanelComponentProps>;
35
+ perform: ActionFn;
36
+ keyPriority?: number;
37
+ keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
38
+ contextItemLabel?: string;
39
+ contextItemPredicate?: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
40
+ checked?: (appState: Readonly<AppState>) => boolean;
41
+ }
42
+ export interface ActionsManagerInterface {
43
+ actions: Record<ActionName, Action>;
44
+ registerAction: (action: Action) => void;
45
+ handleKeyDown: (event: React.KeyboardEvent | KeyboardEvent) => boolean;
46
+ renderAction: (name: ActionName) => React.ReactElement | null;
47
+ executeAction: (action: Action) => void;
48
+ }
49
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ExcalidrawElement } from "./element/types";
2
+ export interface Alignment {
3
+ position: "start" | "center" | "end";
4
+ axis: "x" | "y";
5
+ }
6
+ export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment) => ExcalidrawElement[];
7
+ export declare const getMaximumGroups: (elements: ExcalidrawElement[]) => ExcalidrawElement[][];
@@ -0,0 +1 @@
1
+ export declare const trackEvent: (category: string, name: string, label?: string | undefined, value?: number | undefined) => void;
@@ -0,0 +1,59 @@
1
+ import { AppState, NormalizedZoomValue } from "./types";
2
+ export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
+ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
+ zoom?: Readonly<{
5
+ value: NormalizedZoomValue;
6
+ translation: Readonly<{
7
+ x: number;
8
+ y: number;
9
+ }>;
10
+ }> | undefined;
11
+ scrollX?: number | undefined;
12
+ scrollY?: number | undefined;
13
+ elementType?: "line" | "selection" | "rectangle" | "diamond" | "ellipse" | "text" | "arrow" | "freedraw" | undefined;
14
+ elementLocked?: boolean | undefined;
15
+ exportBackground?: boolean | undefined;
16
+ exportEmbedScene?: boolean | undefined;
17
+ exportWithDarkMode?: boolean | undefined;
18
+ exportScale?: number | undefined;
19
+ currentItemStrokeColor?: string | undefined;
20
+ currentItemBackgroundColor?: string | undefined;
21
+ currentItemFillStyle?: import("./element/types").FillStyle | undefined;
22
+ currentItemStrokeWidth?: number | undefined;
23
+ currentItemStrokeStyle?: import("./element/types").StrokeStyle | undefined;
24
+ currentItemRoughness?: number | undefined;
25
+ currentItemOpacity?: number | undefined;
26
+ currentItemFontFamily?: number | undefined;
27
+ currentItemFontSize?: number | undefined;
28
+ currentItemTextAlign?: import("./element/types").TextAlign | undefined;
29
+ currentItemStrokeSharpness?: import("./element/types").StrokeSharpness | undefined;
30
+ currentItemStartArrowhead?: import("./element/types").Arrowhead | null | undefined;
31
+ currentItemEndArrowhead?: import("./element/types").Arrowhead | null | undefined;
32
+ currentItemLinearStrokeSharpness?: import("./element/types").StrokeSharpness | undefined;
33
+ viewBackgroundColor?: string | undefined;
34
+ cursorButton?: "up" | "down" | undefined;
35
+ scrolledOutside?: boolean | undefined;
36
+ name?: string | undefined;
37
+ openMenu?: "canvas" | "shape" | null | undefined;
38
+ lastPointerDownWith?: import("./element/types").PointerType | undefined;
39
+ selectedElementIds?: {
40
+ [id: string]: boolean;
41
+ } | undefined;
42
+ previousSelectedElementIds?: {
43
+ [id: string]: boolean;
44
+ } | undefined;
45
+ shouldCacheIgnoreZoom?: boolean | undefined;
46
+ zenModeEnabled?: boolean | undefined;
47
+ theme?: "light" | "dark" | undefined;
48
+ gridSize?: number | null | undefined;
49
+ selectedGroupIds?: {
50
+ [groupId: string]: boolean;
51
+ } | undefined;
52
+ editingGroupId?: string | null | undefined;
53
+ showStats?: boolean | undefined;
54
+ currentChartType?: import("./element/types").ChartType | undefined;
55
+ };
56
+ export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
57
+ viewBackgroundColor?: string | undefined;
58
+ gridSize?: number | null | undefined;
59
+ };
@@ -0,0 +1,19 @@
1
+ import { NonDeletedExcalidrawElement } from "./element/types";
2
+ export declare type ChartElements = readonly NonDeletedExcalidrawElement[];
3
+ export interface Spreadsheet {
4
+ title: string | null;
5
+ labels: string[] | null;
6
+ values: number[];
7
+ }
8
+ export declare const NOT_SPREADSHEET = "NOT_SPREADSHEET";
9
+ export declare const VALID_SPREADSHEET = "VALID_SPREADSHEET";
10
+ declare type ParseSpreadsheetResult = {
11
+ type: typeof NOT_SPREADSHEET;
12
+ reason: string;
13
+ } | {
14
+ type: typeof VALID_SPREADSHEET;
15
+ spreadsheet: Spreadsheet;
16
+ };
17
+ export declare const tryParseSpreadsheet: (text: string) => ParseSpreadsheetResult;
18
+ export declare const renderSpreadsheet: (chartType: string, spreadsheet: Spreadsheet, x: number, y: number) => ChartElements;
19
+ export {};
@@ -0,0 +1,6 @@
1
+ import { AppState } from "./types";
2
+ export declare const getClientColors: (clientId: string, appState: AppState) => {
3
+ background: string;
4
+ stroke: string;
5
+ };
6
+ export declare const getClientInitials: (username?: string | null | undefined) => string;
@@ -0,0 +1,19 @@
1
+ import { ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
2
+ import { AppState } from "./types";
3
+ import { Spreadsheet } from "./charts";
4
+ export interface ClipboardData {
5
+ spreadsheet?: Spreadsheet;
6
+ elements?: readonly ExcalidrawElement[];
7
+ text?: string;
8
+ errorMessage?: string;
9
+ }
10
+ export declare const probablySupportsClipboardReadText: boolean;
11
+ export declare const probablySupportsClipboardWriteText: boolean;
12
+ export declare const probablySupportsClipboardBlob: boolean;
13
+ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => Promise<void>;
14
+ /**
15
+ * Attemps to parse clipboard. Prefers system clipboard.
16
+ */
17
+ export declare const parseClipboard: (event: ClipboardEvent | null) => Promise<ClipboardData>;
18
+ export declare const copyBlobToClipboardAsPng: (blob: Blob) => Promise<void>;
19
+ export declare const copyTextToSystemClipboard: (text: string | null) => Promise<void>;
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ canvasBackground: string[];
3
+ elementBackground: string[];
4
+ elementStroke: string[];
5
+ };
6
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { ActionManager } from "../actions/manager";
3
+ import { ExcalidrawElement } from "../element/types";
4
+ import { AppState, Zoom } from "../types";
5
+ export declare const SelectedShapeActions: ({ appState, elements, renderAction, elementType, }: {
6
+ appState: AppState;
7
+ elements: readonly ExcalidrawElement[];
8
+ renderAction: ActionManager["renderAction"];
9
+ elementType: ExcalidrawElement["type"];
10
+ }) => JSX.Element;
11
+ export declare const ShapesSwitcher: ({ canvas, elementType, setAppState, }: {
12
+ canvas: HTMLCanvasElement | null;
13
+ elementType: ExcalidrawElement["type"];
14
+ setAppState: React.Component<any, AppState>["setState"];
15
+ }) => JSX.Element;
16
+ export declare const ZoomActions: ({ renderAction, zoom, }: {
17
+ renderAction: ActionManager["renderAction"];
18
+ zoom: Zoom;
19
+ }) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import "./ActiveFile.scss";
3
+ declare type ActiveFileProps = {
4
+ fileName?: string;
5
+ onSave: () => void;
6
+ };
7
+ export declare const ActiveFile: ({ fileName, onSave }: ActiveFileProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,154 @@
1
+ import React from "react";
2
+ import { RoughCanvas } from "roughjs/bin/canvas";
3
+ import { ActionManager } from "../actions/manager";
4
+ import Library from "../data/library";
5
+ import { ExcalidrawElement } from "../element/types";
6
+ import History from "../history";
7
+ import { AppProps, AppState, LibraryItems, SceneData } from "../types";
8
+ export declare const useIsMobile: () => boolean;
9
+ export declare const useExcalidrawContainer: () => {
10
+ container: HTMLDivElement | null;
11
+ id?: string | null | undefined;
12
+ };
13
+ declare class App extends React.Component<AppProps, AppState> {
14
+ canvas: HTMLCanvasElement | null;
15
+ rc: RoughCanvas | null;
16
+ unmounted: boolean;
17
+ actionManager: ActionManager;
18
+ isMobile: boolean;
19
+ detachIsMobileMqHandler?: () => void;
20
+ private excalidrawContainerRef;
21
+ static defaultProps: Partial<AppProps>;
22
+ private scene;
23
+ private resizeObserver;
24
+ private nearestScrollableContainer;
25
+ library: Library;
26
+ libraryItemsFromStorage: LibraryItems | undefined;
27
+ private id;
28
+ private history;
29
+ private excalidrawContainerValue;
30
+ constructor(props: AppProps);
31
+ private renderCanvas;
32
+ render(): JSX.Element;
33
+ focusContainer: () => void;
34
+ getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
35
+ getSceneElements: () => readonly import("../element/types").NonDeletedExcalidrawElement[];
36
+ private syncActionResult;
37
+ private onBlur;
38
+ private onUnload;
39
+ private disableEvent;
40
+ private onFontLoaded;
41
+ private importLibraryFromUrl;
42
+ private resetHistory;
43
+ /**
44
+ * Resets scene & history.
45
+ * ! Do not use to clear scene user action !
46
+ */
47
+ private resetScene;
48
+ private initializeScene;
49
+ componentDidMount(): Promise<void>;
50
+ componentWillUnmount(): void;
51
+ private onResize;
52
+ private removeEventListeners;
53
+ private addEventListeners;
54
+ componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
55
+ private onScroll;
56
+ private onCut;
57
+ private onCopy;
58
+ private cutAll;
59
+ private copyAll;
60
+ private static resetTapTwice;
61
+ private onTapStart;
62
+ private onTapEnd;
63
+ private pasteFromClipboard;
64
+ private addElementsFromPasteOrLibrary;
65
+ private addTextFromPaste;
66
+ setAppState: (obj: any) => void;
67
+ removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
68
+ toggleLock: () => void;
69
+ toggleZenMode: () => void;
70
+ toggleStats: () => void;
71
+ scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[]) => void;
72
+ clearToast: () => void;
73
+ setToastMessage: (toastMessage: string) => void;
74
+ restoreFileFromShare: () => Promise<void>;
75
+ updateScene: <K extends keyof AppState>(sceneData: {
76
+ elements?: SceneData["elements"];
77
+ appState?: Pick<AppState, K> | null | undefined;
78
+ collaborators?: SceneData["collaborators"];
79
+ commitToHistory?: SceneData["commitToHistory"];
80
+ }) => void;
81
+ private onSceneUpdated;
82
+ private updateCurrentCursorPosition;
83
+ private onKeyDown;
84
+ private onKeyUp;
85
+ private selectShapeTool;
86
+ private onGestureStart;
87
+ private onGestureChange;
88
+ private onGestureEnd;
89
+ private handleTextWysiwyg;
90
+ private deselectElements;
91
+ private getTextElementAtPosition;
92
+ private getElementAtPosition;
93
+ private getElementsAtPosition;
94
+ private startTextEditing;
95
+ private handleCanvasDoubleClick;
96
+ private handleCanvasPointerMove;
97
+ private handleTouchMove;
98
+ private handleCanvasPointerDown;
99
+ private maybeOpenContextMenuAfterPointerDownOnTouchDevices;
100
+ private maybeCleanupAfterMissingPointerUp;
101
+ private handleCanvasPanUsingWheelOrSpaceDrag;
102
+ private updateGestureOnPointerDown;
103
+ private initialPointerDownState;
104
+ private handleDraggingScrollBar;
105
+ private clearSelectionIfNotUsingSelection;
106
+ /**
107
+ * @returns whether the pointer event has been completely handled
108
+ */
109
+ private handleSelectionOnPointerDown;
110
+ private isASelectedElement;
111
+ private isHittingCommonBoundingBoxOfSelectedElements;
112
+ private handleTextOnPointerDown;
113
+ private handleFreeDrawElementOnPointerDown;
114
+ private handleLinearElementOnPointerDown;
115
+ private createGenericElementOnPointerDown;
116
+ private onKeyDownFromPointerDownHandler;
117
+ private onKeyUpFromPointerDownHandler;
118
+ private onPointerMoveFromPointerDownHandler;
119
+ private handlePointerMoveOverScrollbars;
120
+ private onPointerUpFromPointerDownHandler;
121
+ private updateBindingEnabledOnPointerMove;
122
+ private maybeSuggestBindingAtCursor;
123
+ private maybeSuggestBindingForLinearElementAtCursor;
124
+ private maybeSuggestBindingForAll;
125
+ private clearSelection;
126
+ private handleCanvasRef;
127
+ private handleAppOnDrop;
128
+ loadFileToCanvas: (file: Blob) => void;
129
+ private handleCanvasContextMenu;
130
+ private maybeDragNewGenericElement;
131
+ private maybeHandleResize;
132
+ /** @private use this.handleCanvasContextMenu */
133
+ private _openContextMenu;
134
+ private handleWheel;
135
+ private getTextWysiwygSnappedToCenterPosition;
136
+ private savePointer;
137
+ private resetShouldCacheIgnoreZoomDebounced;
138
+ private updateDOMRect;
139
+ refresh: () => void;
140
+ private getCanvasOffsets;
141
+ private updateLanguage;
142
+ }
143
+ declare global {
144
+ interface Window {
145
+ h: {
146
+ elements: readonly ExcalidrawElement[];
147
+ state: AppState;
148
+ setState: React.Component<any, AppState>["setState"];
149
+ app: InstanceType<typeof App>;
150
+ history: History;
151
+ };
152
+ }
153
+ }
154
+ export default App;