@dwelle/excalidraw 0.3.78 → 0.4.0-08c4fac

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 (334) hide show
  1. package/CHANGELOG.md +102 -754
  2. package/README.md +94 -26
  3. package/dist/excalidraw-assets/Assistant-Bold.woff2 +0 -0
  4. package/dist/excalidraw-assets/Assistant-Medium.woff2 +0 -0
  5. package/dist/excalidraw-assets/Assistant-Regular.woff2 +0 -0
  6. package/dist/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
  7. package/dist/excalidraw-assets/vendor-2002fe1b8862917b36c1.js +2 -0
  8. package/dist/excalidraw-assets/vendor-2002fe1b8862917b36c1.js.LICENSE.txt +12 -0
  9. package/dist/excalidraw-assets-dev/Assistant-Bold.woff2 +0 -0
  10. package/dist/excalidraw-assets-dev/Assistant-Medium.woff2 +0 -0
  11. package/dist/excalidraw-assets-dev/Assistant-Regular.woff2 +0 -0
  12. package/dist/excalidraw-assets-dev/Assistant-SemiBold.woff2 +0 -0
  13. package/dist/excalidraw-assets-dev/vendor-e6df8519da951026ff69.js +98 -0
  14. package/dist/excalidraw.development.js +1323 -1074
  15. package/dist/excalidraw.production.min.js +1 -1
  16. package/dist/excalidraw.production.min.js.LICENSE.txt +2 -0
  17. package/package.json +2 -2
  18. package/types/actions/actionAddToLibrary.d.ts +314 -311
  19. package/types/actions/actionAlign.d.ts +103 -91
  20. package/types/actions/actionBoundText.d.ts +129 -128
  21. package/types/actions/actionCanvas.d.ts +923 -901
  22. package/types/actions/actionClipboard.d.ts +595 -589
  23. package/types/actions/actionDeleteSelected.d.ts +345 -339
  24. package/types/actions/actionDistribute.d.ts +37 -33
  25. package/types/actions/actionDuplicateSelection.d.ts +24 -22
  26. package/types/actions/actionExport.d.ts +1025 -1000
  27. package/types/actions/actionFinalize.d.ts +220 -216
  28. package/types/actions/actionFlip.d.ts +35 -35
  29. package/types/actions/actionGroup.d.ts +49 -45
  30. package/types/actions/actionHistory.d.ts +6 -6
  31. package/types/actions/actionLinearEditor.d.ts +115 -0
  32. package/types/actions/actionMenu.d.ts +358 -349
  33. package/types/actions/actionNavigate.d.ts +15 -13
  34. package/types/actions/actionProperties.d.ts +1493 -1454
  35. package/types/actions/actionSelectAll.d.ts +16 -16
  36. package/types/actions/actionStyles.d.ts +130 -129
  37. package/types/actions/actionToggleGridMode.d.ts +117 -116
  38. package/types/actions/actionToggleLock.d.ts +116 -115
  39. package/types/actions/actionToggleStats.d.ts +115 -114
  40. package/types/actions/actionToggleViewMode.d.ts +116 -115
  41. package/types/actions/actionToggleZenMode.d.ts +116 -115
  42. package/types/actions/actionZindex.d.ts +75 -67
  43. package/types/actions/index.d.ts +24 -23
  44. package/types/actions/manager.d.ts +20 -20
  45. package/types/actions/register.d.ts +5 -5
  46. package/types/actions/shortcuts.d.ts +3 -3
  47. package/types/actions/types.d.ts +42 -40
  48. package/types/align.d.ts +6 -6
  49. package/types/analytics.d.ts +1 -1
  50. package/types/appState.d.ts +77 -76
  51. package/types/charts.d.ts +27 -27
  52. package/types/clients.d.ts +6 -6
  53. package/types/clipboard.d.ts +20 -20
  54. package/types/colors.d.ts +6 -6
  55. package/types/components/Actions.d.ts +35 -23
  56. package/types/components/ActiveFile.d.ts +7 -7
  57. package/types/components/App.d.ts +420 -368
  58. package/types/components/Avatar.d.ts +11 -11
  59. package/types/components/ButtonIconSelect.d.ts +11 -11
  60. package/types/components/CheckboxItem.d.ts +8 -8
  61. package/types/components/ClearCanvas.d.ts +4 -4
  62. package/types/components/CollabButton.d.ts +6 -7
  63. package/types/components/ColorPicker.d.ts +14 -14
  64. package/types/components/ConfirmDialog.d.ts +10 -10
  65. package/types/components/ContextMenu.d.ts +28 -28
  66. package/types/components/DarkModeToggle.d.ts +7 -7
  67. package/types/components/Dialog.d.ts +14 -14
  68. package/types/components/DialogActionButton.d.ts +10 -0
  69. package/types/components/ErrorDialog.d.ts +4 -4
  70. package/types/components/FixedSideContainer.d.ts +9 -9
  71. package/types/components/Footer.d.ts +10 -0
  72. package/types/components/HelpButton.d.ts +8 -0
  73. package/types/components/HelpDialog.d.ts +4 -4
  74. package/types/components/HintViewer.d.ts +11 -10
  75. package/types/components/HomeButton.d.ts +5 -0
  76. package/types/components/IconPicker.d.ts +13 -13
  77. package/types/components/ImageExportDialog.d.ts +18 -16
  78. package/types/components/InitializeApp.d.ts +10 -8
  79. package/types/components/Island.d.ts +10 -10
  80. package/types/components/JSONExportDialog.d.ts +13 -13
  81. package/types/components/LayerUI.d.ts +40 -38
  82. package/types/components/LibraryButton.d.ts +8 -7
  83. package/types/components/LibraryMenu.d.ts +25 -17
  84. package/types/components/LibraryMenuBrowseButton.d.ts +7 -0
  85. package/types/components/LibraryMenuHeaderContent.d.ts +12 -0
  86. package/types/components/LibraryMenuItems.d.ts +15 -24
  87. package/types/components/LibraryUnit.d.ts +11 -12
  88. package/types/components/LoadingMessage.d.ts +6 -4
  89. package/types/components/LockButton.d.ts +11 -11
  90. package/types/components/MenuItem.d.ts +11 -0
  91. package/types/components/MenuUtils.d.ts +1 -0
  92. package/types/components/MobileMenu.d.ts +30 -29
  93. package/types/components/Modal.d.ts +12 -12
  94. package/types/components/PasteChartDialog.d.ts +9 -9
  95. package/types/components/PenModeButton.d.ts +12 -12
  96. package/types/components/Popover.d.ts +15 -15
  97. package/types/components/ProjectName.d.ts +10 -10
  98. package/types/components/PublishLibrary.d.ts +16 -16
  99. package/types/components/Section.d.ts +6 -6
  100. package/types/components/Sidebar/Sidebar.d.ts +73 -0
  101. package/types/components/Sidebar/SidebarHeader.d.ts +20 -0
  102. package/types/components/Sidebar/common.d.ts +16 -0
  103. package/types/components/SingleLibraryItem.d.ts +10 -10
  104. package/types/components/Spinner.d.ts +6 -6
  105. package/types/components/Stack.d.ts +15 -15
  106. package/types/components/Stats.d.ts +11 -11
  107. package/types/components/Toast.d.ts +7 -7
  108. package/types/components/ToolButton.d.ts +46 -46
  109. package/types/components/Tooltip.d.ts +17 -17
  110. package/types/components/UserList.d.ts +10 -11
  111. package/types/components/WelcomeScreen.d.ts +8 -0
  112. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  113. package/types/components/hoc/withUpstreamOverride.d.ts +10 -0
  114. package/types/components/icons.d.ts +139 -180
  115. package/types/constants.d.ts +157 -149
  116. package/types/data/blob.d.ts +47 -47
  117. package/types/data/encode.d.ts +53 -53
  118. package/types/data/encryption.d.ts +9 -9
  119. package/types/data/filesystem.d.ts +18 -18
  120. package/types/data/image.d.ts +15 -15
  121. package/types/data/index.d.ts +13 -13
  122. package/types/data/json.d.ts +16 -16
  123. package/types/data/library.d.ts +96 -96
  124. package/types/data/resave.d.ts +5 -5
  125. package/types/data/restore.d.ts +15 -15
  126. package/types/data/types.d.ts +47 -32
  127. package/types/distribute.d.ts +6 -6
  128. package/types/element/Hyperlink.d.ts +138 -136
  129. package/types/element/binding.d.ts +33 -33
  130. package/types/element/bounds.d.ts +27 -27
  131. package/types/element/collision.d.ts +21 -21
  132. package/types/element/dragElements.d.ts +5 -5
  133. package/types/element/image.d.ts +22 -22
  134. package/types/element/index.d.ts +20 -20
  135. package/types/element/linearElementEditor.d.ts +223 -203
  136. package/types/element/mutateElement.d.ts +11 -11
  137. package/types/element/newElement.d.ts +63 -50
  138. package/types/element/resizeElements.d.ts +9 -9
  139. package/types/element/resizeTest.d.ts +13 -13
  140. package/types/element/showSelectedShapeActions.d.ts +3 -3
  141. package/types/element/sizeHelpers.d.ts +21 -21
  142. package/types/element/textElement.d.ts +30 -26
  143. package/types/element/textWysiwyg.d.ts +16 -16
  144. package/types/element/transformHandles.d.ts +29 -28
  145. package/types/element/typeChecks.d.ts +17 -17
  146. package/types/element/types.d.ts +134 -133
  147. package/types/emitter.d.ts +21 -21
  148. package/types/errors.d.ts +8 -8
  149. package/types/ga.d.ts +63 -63
  150. package/types/gadirections.d.ts +8 -8
  151. package/types/galines.d.ts +22 -22
  152. package/types/gapoints.d.ts +7 -7
  153. package/types/gatransforms.d.ts +10 -10
  154. package/types/gesture.d.ts +6 -6
  155. package/types/groups.d.ts +27 -27
  156. package/types/history.d.ts +52 -52
  157. package/types/hooks/useCallbackRefState.d.ts +1 -1
  158. package/types/hooks/useOutsideClick.d.ts +2 -0
  159. package/types/i18n.d.ts +15 -15
  160. package/types/jotai.d.ts +122 -122
  161. package/types/keys.d.ts +68 -68
  162. package/types/math.d.ts +27 -20
  163. package/types/packages/excalidraw/dist/{excalidraw-assets-dev/image-469d5bd946743969995a.d.ts → excalidraw-assets/vendor-2002fe1b8862917b36c1.d.ts} +0 -0
  164. package/types/packages/excalidraw/dist/excalidraw-assets-dev/{image-028ba554a42cc8a4995a.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
  165. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -2
  166. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -5
  167. package/types/packages/excalidraw/entry.d.ts +1 -1
  168. package/types/packages/excalidraw/env.d.ts +1 -1
  169. package/types/packages/excalidraw/example/App.d.ts +8 -7
  170. package/types/packages/excalidraw/example/index.d.ts +1 -1
  171. package/types/packages/excalidraw/example/initialData.d.ts +172 -172
  172. package/types/packages/excalidraw/example/sidebar/{Sidebar.d.ts → ExampleSidebar.d.ts} +5 -5
  173. package/types/packages/excalidraw/index.d.ts +19 -18
  174. package/types/packages/excalidraw/main.d.ts +2 -2
  175. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  176. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  177. package/types/packages/excalidraw/webpack.dev.config.d.ts +79 -79
  178. package/types/packages/excalidraw/webpack.prod.config.d.ts +92 -92
  179. package/types/packages/utils.d.ts +35 -32
  180. package/types/points.d.ts +7 -6
  181. package/types/polyfill.d.ts +2 -0
  182. package/types/random.d.ts +3 -3
  183. package/types/renderer/renderElement.d.ts +35 -35
  184. package/types/renderer/renderScene.d.ts +41 -25
  185. package/types/renderer/roundRect.d.ts +11 -11
  186. package/types/scene/Scene.d.ts +25 -25
  187. package/types/scene/comparisons.d.ts +11 -11
  188. package/types/scene/export.d.ts +20 -20
  189. package/types/scene/index.d.ts +5 -5
  190. package/types/scene/scroll.d.ts +17 -17
  191. package/types/scene/scrollbars.d.ts +16 -16
  192. package/types/scene/selection.d.ts +11 -11
  193. package/types/scene/types.d.ts +59 -58
  194. package/types/scene/zoom.d.ts +13 -13
  195. package/types/shapes.d.ts +52 -38
  196. package/types/types.d.ts +399 -393
  197. package/types/utils.d.ts +136 -136
  198. package/types/zindex.d.ts +6 -6
  199. package/dist/excalidraw-assets/vendor-b9b3a25c026c138e55b2.js +0 -2
  200. package/dist/excalidraw-assets/vendor-b9b3a25c026c138e55b2.js.LICENSE.txt +0 -6
  201. package/dist/excalidraw-assets-dev/vendor-33bd21df77fc9cda16d2.js +0 -98
  202. package/types/actions/actionUnbindText.d.ts +0 -11
  203. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  204. package/types/components/Card.d.ts +0 -7
  205. package/types/components/HelpIcon.d.ts +0 -8
  206. package/types/components/SidebarLockButton.d.ts +0 -8
  207. package/types/disitrubte.d.ts +0 -6
  208. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-9a3fdf94110439c2826a.d.ts +0 -0
  209. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-efd63375f9605b72c4af.d.ts +0 -0
  210. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-047db6df7a74c0298938.d.ts +0 -0
  211. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-35c0e8b92b0dba8a4e6d.d.ts +0 -0
  212. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-6acefe26cfe1d2f12349.d.ts +0 -0
  213. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-9924fbd53652d5f15134.d.ts +0 -0
  214. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-cs-CZ-json-85a469d813bb069829e7.d.ts +0 -0
  215. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-a52c17c4bd1b1db22464.d.ts +0 -0
  216. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-f85a8a52534c04c3f3b8.d.ts +0 -0
  217. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-060595a09e0004e33936.d.ts +0 -0
  218. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-3b209ec86ca2ce69bdfa.d.ts +0 -0
  219. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-32dc3bf0f789ef18e65d.d.ts +0 -0
  220. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-af5c541f9ac1526a9eb7.d.ts +0 -0
  221. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-7ee232d4ef08da0903f6.d.ts +0 -0
  222. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-c732ff7772327332c259.d.ts +0 -0
  223. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-46abeda8d809d4091924.d.ts +0 -0
  224. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-c1d5c5510660a11a428e.d.ts +0 -0
  225. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-6a418571305eecefe9bc.d.ts +0 -0
  226. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-79fa555bfea0a356f393.d.ts +0 -0
  227. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-157ae036fcf470528687.d.ts +0 -0
  228. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-d006423b531ab062bb85.d.ts +0 -0
  229. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-3035c3b3ab3ce981dbc7.d.ts +0 -0
  230. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-d959b869453c591a8861.d.ts +0 -0
  231. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-50a13e322a60bb701615.d.ts +0 -0
  232. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-a366989217753fe3d02b.d.ts +0 -0
  233. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-87212daac6113b5bf808.d.ts +0 -0
  234. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-8d13d29ee41be15a1f99.d.ts +0 -0
  235. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-59f2e9d3dac07f3264cb.d.ts +0 -0
  236. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-90283cd2809f4165506b.d.ts +0 -0
  237. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-9e0a78ddb43d5709fb29.d.ts +0 -0
  238. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-ccb5ffd0f8a0980c2ec0.d.ts +0 -0
  239. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-d9acc7b8ee952e356d06.d.ts +0 -0
  240. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-dac787e0446cdb747fe1.d.ts +0 -0
  241. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-d61af373bea59d1ff4c6.d.ts +0 -0
  242. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-e42ededaa35032a201b9.d.ts +0 -0
  243. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-07f6bffcb44fdd9aad4f.d.ts +0 -0
  244. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-7eea5c4054f8418fdd10.d.ts +0 -0
  245. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-26d1e27bab3b8ac4a3e6.d.ts +0 -0
  246. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-a8f9bb37a7b947e9dfba.d.ts +0 -0
  247. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-8ce0749d46f0b4a8defb.d.ts +0 -0
  248. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-c01fab8602e1b658d5d1.d.ts +0 -0
  249. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-23fdfd9f11bc8efbaf56.d.ts +0 -0
  250. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-cf922daa828029c1aff5.d.ts +0 -0
  251. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-b5931de6e1ed336bf087.d.ts +0 -0
  252. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-d363be6b3dcdbf3a868a.d.ts +0 -0
  253. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-29d6193adb907d4f5890.d.ts +0 -0
  254. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-c6414107ad634b113aba.d.ts +0 -0
  255. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-27063e4865142ac11b1a.d.ts +0 -0
  256. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-f0c779291da384fb5173.d.ts +0 -0
  257. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-16af1b83ac16af57ad07.d.ts +0 -0
  258. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-a4a5c6e0a9877c43476a.d.ts +0 -0
  259. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-03a046855063512eb9ff.d.ts +0 -0
  260. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-db86828d6e3ced9f9854.d.ts +0 -0
  261. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-7ed352e9de6dc74ef503.d.ts +0 -0
  262. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-bc0cd589bd87a3079407.d.ts +0 -0
  263. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-75692b7a0166d6ad27a4.d.ts +0 -0
  264. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-f13a2e7b7a63fbfb6ae7.d.ts +0 -0
  265. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-69b1a919b7f42adfd6ec.d.ts +0 -0
  266. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-7c2a2061d0ca99cf7007.d.ts +0 -0
  267. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-0ef09f90308059d22ae8.d.ts +0 -0
  268. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-4757551ceb15fa0a29a9.d.ts +0 -0
  269. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-dc7718d79b9bf93a4ba4.d.ts +0 -0
  270. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-fa5bd09f128972b13ac2.d.ts +0 -0
  271. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-b574833ee1c2f58fd24e.d.ts +0 -0
  272. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-cba7e62d9610795a5ac3.d.ts +0 -0
  273. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-a9a8ea7adb95c0a03680.d.ts +0 -0
  274. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-f0cab296bdc4089ffa77.d.ts +0 -0
  275. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-45da9983459601b845e8.d.ts +0 -0
  276. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-94f562845a945a45e385.d.ts +0 -0
  277. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-0e77c896018bcd221bf6.d.ts +0 -0
  278. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-7dd3d9ba72493687c286.d.ts +0 -0
  279. package/types/packages/excalidraw/dist/excalidraw-assets/image-02a1f3ecd6baf42daaa6.d.ts +0 -0
  280. package/types/packages/excalidraw/dist/excalidraw-assets/image-0db17e06143a31f9772b.d.ts +0 -0
  281. package/types/packages/excalidraw/dist/excalidraw-assets/image-2be1c869cd5bacebdc3c.d.ts +0 -0
  282. package/types/packages/excalidraw/dist/excalidraw-assets/image-46f5e8e621bfedbf6d91.d.ts +0 -0
  283. package/types/packages/excalidraw/dist/excalidraw-assets/image-6f8d3b9873832b5f7a67.d.ts +0 -0
  284. package/types/packages/excalidraw/dist/excalidraw-assets/image-8e0c265e832504f62477.d.ts +0 -0
  285. package/types/packages/excalidraw/dist/excalidraw-assets/image-9592159c56d563857679.d.ts +0 -0
  286. package/types/packages/excalidraw/dist/excalidraw-assets/image-98a7b39bd21998c69c4b.d.ts +0 -0
  287. package/types/packages/excalidraw/dist/excalidraw-assets/image-a26261fb8a718f15853e.d.ts +0 -0
  288. package/types/packages/excalidraw/dist/excalidraw-assets/image-a97adda58b4c4d8d0107.d.ts +0 -0
  289. package/types/packages/excalidraw/dist/excalidraw-assets/image-af02967a8a4c328f2713.d.ts +0 -0
  290. package/types/packages/excalidraw/dist/excalidraw-assets/image-bd5991c772b4867c8d27.d.ts +0 -0
  291. package/types/packages/excalidraw/dist/excalidraw-assets/image-c198828284ec0dba28dc.d.ts +0 -0
  292. package/types/packages/excalidraw/dist/excalidraw-assets/image-eac20119cbc2ceb81523.d.ts +0 -0
  293. package/types/packages/excalidraw/dist/excalidraw-assets/image-eafab0c39ce13f7fea67.d.ts +0 -0
  294. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-0e2ecbd1f46fc190ec01.d.ts +0 -0
  295. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-1018b0a7e7e60d808384.d.ts +0 -0
  296. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-405364e1fdefedf5d3d7.d.ts +0 -0
  297. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-448ccb79e58765b61834.d.ts +0 -0
  298. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-585a4c89d479fd91edeb.d.ts +0 -0
  299. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-64ea3ed78bc76a895e61.d.ts +0 -0
  300. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-6644c8f79d52085cf653.d.ts +0 -0
  301. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-807e23d7531555236936.d.ts +0 -0
  302. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-8698157b56eb5e0ee549.d.ts +0 -0
  303. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-aed19b6e017f9f736254.d.ts +0 -0
  304. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-b088910ac1ba8853a571.d.ts +0 -0
  305. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-b9b3a25c026c138e55b2.d.ts +0 -0
  306. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-cb708a4580b007d81177.d.ts +0 -0
  307. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-ce466849186c701b6c48.d.ts +0 -0
  308. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-e5c6cd57013e8e575a61.d.ts +0 -0
  309. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-664005f0b02c93342b89.d.ts +0 -0
  310. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-73be8b3c1837ea26950c.d.ts +0 -0
  311. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-821afe7d20de2d2ca898.d.ts +0 -0
  312. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-8825d180ee32659f8996.d.ts +0 -0
  313. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-89cddf27ef982ca154dc.d.ts +0 -0
  314. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-9f771c114a0a3ad7b334.d.ts +0 -0
  315. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-a98d24ea9aa42940a0df.d.ts +0 -0
  316. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-b2befe1e2a0424a41fb3.d.ts +0 -0
  317. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-cacb3d0c02eb2e346ecc.d.ts +0 -0
  318. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-d7e941a51c2e0a7b3c23.d.ts +0 -0
  319. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-e50a452aa26d28419e39.d.ts +0 -0
  320. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-eddc6ed66acd3a3f3d46.d.ts +0 -0
  321. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-f696fa36e3535df5e97a.d.ts +0 -0
  322. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-0454f90696ac835aeb45.d.ts +0 -0
  323. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-1bc8ceaafd8623c96dd4.d.ts +0 -0
  324. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-26ccabf52930f0ce0ffd.d.ts +0 -0
  325. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-33bd21df77fc9cda16d2.d.ts +0 -0
  326. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-4534d6e506404cef7a9e.d.ts +0 -0
  327. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-5d1c4700bd0fa2109ab5.d.ts +0 -0
  328. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-7664c12c379862ed98a5.d.ts +0 -0
  329. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-7fcb99cece261da4983f.d.ts +0 -0
  330. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-86b56a69e7dddcf8f70d.d.ts +0 -0
  331. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-a449655791956f151f51.d.ts +0 -0
  332. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-bb07a412033591d5470d.d.ts +0 -0
  333. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-ec7db14ff9ba640888c4.d.ts +0 -0
  334. package/types/renderer/index.d.ts +0 -1
@@ -1,368 +1,420 @@
1
- import React from "react";
2
- import { RoughCanvas } from "roughjs/bin/canvas";
3
- import { ActionManager } from "../actions/manager";
4
- import { LinearElementEditor } from "../element/linearElementEditor";
5
- import { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement } from "../element/types";
6
- import History from "../history";
7
- import Scene from "../scene/Scene";
8
- import { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device } from "../types";
9
- import { FileSystemHandle } from "../data/filesystem";
10
- import { Emitter } from "../emitter";
11
- export declare const useDevice: () => Readonly<{
12
- isSmScreen: boolean;
13
- isMobile: boolean;
14
- isTouchScreen: boolean;
15
- canDeviceFitSidebar: boolean;
16
- }>;
17
- export declare const useExcalidrawContainer: () => {
18
- container: HTMLDivElement | null;
19
- id?: string | null | undefined;
20
- };
21
- declare class App extends React.Component<AppProps, AppState> {
22
- canvas: AppClassProperties["canvas"];
23
- rc: RoughCanvas | null;
24
- unmounted: boolean;
25
- actionManager: ActionManager;
26
- device: Device;
27
- detachIsMobileMqHandler?: () => void;
28
- private excalidrawContainerRef;
29
- static defaultProps: Partial<AppProps>;
30
- scene: Scene;
31
- private resizeObserver;
32
- private nearestScrollableContainer;
33
- library: AppClassProperties["library"];
34
- libraryItemsFromStorage: LibraryItems | undefined;
35
- private id;
36
- private history;
37
- private excalidrawContainerValue;
38
- files: BinaryFiles;
39
- imageCache: AppClassProperties["imageCache"];
40
- hitLinkElement?: NonDeletedExcalidrawElement;
41
- lastPointerDown: React.PointerEvent<HTMLCanvasElement> | null;
42
- lastPointerUp: React.PointerEvent<HTMLElement> | PointerEvent | null;
43
- contextMenuOpen: boolean;
44
- lastScenePointer: {
45
- x: number;
46
- y: number;
47
- } | null;
48
- onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
49
- onPointerDownEmitter: Emitter<[activeTool: {
50
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
51
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
52
- locked: boolean;
53
- customType: null;
54
- } | {
55
- type: "custom";
56
- customType: string;
57
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
58
- locked: boolean;
59
- }, pointerDownState: Readonly<{
60
- origin: Readonly<{
61
- x: number;
62
- y: number;
63
- }>;
64
- originInGrid: Readonly<{
65
- x: number;
66
- y: number;
67
- }>;
68
- scrollbars: {
69
- isOverEither: boolean;
70
- isOverHorizontal: boolean;
71
- isOverVertical: boolean;
72
- };
73
- lastCoords: {
74
- x: number;
75
- y: number;
76
- };
77
- originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
78
- resize: {
79
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
80
- isResizing: boolean;
81
- offset: {
82
- x: number;
83
- y: number;
84
- };
85
- arrowDirection: "end" | "origin";
86
- center: {
87
- x: number;
88
- y: number;
89
- };
90
- };
91
- hit: {
92
- element: NonDeleted<ExcalidrawElement> | null;
93
- allHitElements: NonDeleted<ExcalidrawElement>[];
94
- wasAddedToSelection: boolean;
95
- hasBeenDuplicated: boolean;
96
- hasHitCommonBoundingBoxOfSelectedElements: boolean;
97
- hasHitElementInside: boolean;
98
- };
99
- withCmdOrCtrl: boolean;
100
- drag: {
101
- hasOccurred: boolean;
102
- offset: {
103
- x: number;
104
- y: number;
105
- } | null;
106
- };
107
- eventListeners: {
108
- onMove: {
109
- (...args: any[]): void;
110
- flush(): void;
111
- cancel(): void;
112
- } | null;
113
- onUp: ((event: PointerEvent) => void) | null;
114
- onKeyDown: ((event: KeyboardEvent) => void) | null;
115
- onKeyUp: ((event: KeyboardEvent) => void) | null;
116
- };
117
- boxSelection: {
118
- hasOccurred: boolean;
119
- };
120
- elementIdsToErase: {
121
- [key: string]: {
122
- opacity: number;
123
- erase: boolean;
124
- };
125
- };
126
- }>, event: React.PointerEvent<HTMLCanvasElement>]>;
127
- onPointerUpEmitter: Emitter<[activeTool: {
128
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
129
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
130
- locked: boolean;
131
- customType: null;
132
- } | {
133
- type: "custom";
134
- customType: string;
135
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
136
- locked: boolean;
137
- }, pointerDownState: Readonly<{
138
- origin: Readonly<{
139
- x: number;
140
- y: number;
141
- }>;
142
- originInGrid: Readonly<{
143
- x: number;
144
- y: number;
145
- }>;
146
- scrollbars: {
147
- isOverEither: boolean;
148
- isOverHorizontal: boolean;
149
- isOverVertical: boolean;
150
- };
151
- lastCoords: {
152
- x: number;
153
- y: number;
154
- };
155
- originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
156
- resize: {
157
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
158
- isResizing: boolean;
159
- offset: {
160
- x: number;
161
- y: number;
162
- };
163
- arrowDirection: "end" | "origin";
164
- center: {
165
- x: number;
166
- y: number;
167
- };
168
- };
169
- hit: {
170
- element: NonDeleted<ExcalidrawElement> | null;
171
- allHitElements: NonDeleted<ExcalidrawElement>[];
172
- wasAddedToSelection: boolean;
173
- hasBeenDuplicated: boolean;
174
- hasHitCommonBoundingBoxOfSelectedElements: boolean;
175
- hasHitElementInside: boolean;
176
- };
177
- withCmdOrCtrl: boolean;
178
- drag: {
179
- hasOccurred: boolean;
180
- offset: {
181
- x: number;
182
- y: number;
183
- } | null;
184
- };
185
- eventListeners: {
186
- onMove: {
187
- (...args: any[]): void;
188
- flush(): void;
189
- cancel(): void;
190
- } | null;
191
- onUp: ((event: PointerEvent) => void) | null;
192
- onKeyDown: ((event: KeyboardEvent) => void) | null;
193
- onKeyUp: ((event: KeyboardEvent) => void) | null;
194
- };
195
- boxSelection: {
196
- hasOccurred: boolean;
197
- };
198
- elementIdsToErase: {
199
- [key: string]: {
200
- opacity: number;
201
- erase: boolean;
202
- };
203
- };
204
- }>, event: PointerEvent]>;
205
- constructor(props: AppProps);
206
- private renderCanvas;
207
- render(): JSX.Element;
208
- focusContainer: AppClassProperties["focusContainer"];
209
- getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
210
- getSceneElements: () => readonly NonDeletedExcalidrawElement[];
211
- private syncActionResult;
212
- private onBlur;
213
- private onUnload;
214
- private disableEvent;
215
- private onFontLoaded;
216
- private resetHistory;
217
- /**
218
- * Resets scene & history.
219
- * ! Do not use to clear scene user action !
220
- */
221
- private resetScene;
222
- private initializeScene;
223
- private refreshDeviceState;
224
- componentDidMount(): Promise<void>;
225
- componentWillUnmount(): void;
226
- private onResize;
227
- private removeEventListeners;
228
- private addEventListeners;
229
- componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
230
- private onScroll;
231
- private onCut;
232
- private onCopy;
233
- private cutAll;
234
- private copyAll;
235
- private static resetTapTwice;
236
- private onTapStart;
237
- private onTapEnd;
238
- private pasteFromClipboard;
239
- private addElementsFromPasteOrLibrary;
240
- private addTextFromPaste;
241
- setAppState: (obj: any) => void;
242
- removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
243
- toggleLock: (source?: "keyboard" | "ui") => void;
244
- togglePenMode: () => void;
245
- scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[]) => void;
246
- setToast: (toast: {
247
- message: string;
248
- closable?: boolean;
249
- duration?: number;
250
- } | null) => void;
251
- restoreFileFromShare: () => Promise<void>;
252
- /** adds supplied files to existing files in the appState */
253
- addFiles: ExcalidrawImperativeAPI["addFiles"];
254
- updateScene: <K extends keyof AppState>(sceneData: {
255
- elements?: SceneData["elements"];
256
- appState?: Pick<AppState, K> | null | undefined;
257
- collaborators?: SceneData["collaborators"];
258
- commitToHistory?: SceneData["commitToHistory"];
259
- }) => void;
260
- private onSceneUpdated;
261
- private updateCurrentCursorPosition;
262
- private onKeyDown;
263
- private onWheel;
264
- private onKeyUp;
265
- private setActiveTool;
266
- private setCursor;
267
- private resetCursor;
268
- /**
269
- * returns whether user is making a gesture with >= 2 fingers (points)
270
- * on o touch screen (not on a trackpad). Currently only relates to Darwin
271
- * (iOS/iPadOS,MacOS), but may work on other devices in the future if
272
- * GestureEvent is standardized.
273
- */
274
- private isTouchScreenMultiTouchGesture;
275
- private onGestureStart;
276
- private onGestureChange;
277
- private onGestureEnd;
278
- private handleTextWysiwyg;
279
- private deselectElements;
280
- private getTextElementAtPosition;
281
- private getElementAtPosition;
282
- private getElementsAtPosition;
283
- private startTextEditing;
284
- private handleCanvasDoubleClick;
285
- private getElementLinkAtPosition;
286
- private redirectToLink;
287
- private handleCanvasPointerMove;
288
- private handleEraser;
289
- private handleTouchMove;
290
- handleHoverSelectedLinearElement(linearElementEditor: LinearElementEditor, scenePointerX: number, scenePointerY: number): void;
291
- private handleCanvasPointerDown;
292
- private handleCanvasPointerUp;
293
- private maybeOpenContextMenuAfterPointerDownOnTouchDevices;
294
- private resetContextMenuTimer;
295
- private maybeCleanupAfterMissingPointerUp;
296
- private handleCanvasPanUsingWheelOrSpaceDrag;
297
- private updateGestureOnPointerDown;
298
- private initialPointerDownState;
299
- private handleDraggingScrollBar;
300
- private clearSelectionIfNotUsingSelection;
301
- /**
302
- * @returns whether the pointer event has been completely handled
303
- */
304
- private handleSelectionOnPointerDown;
305
- private isASelectedElement;
306
- private isHittingCommonBoundingBoxOfSelectedElements;
307
- private handleTextOnPointerDown;
308
- private handleFreeDrawElementOnPointerDown;
309
- private createImageElement;
310
- private handleLinearElementOnPointerDown;
311
- private createGenericElementOnPointerDown;
312
- private onKeyDownFromPointerDownHandler;
313
- private onKeyUpFromPointerDownHandler;
314
- private onPointerMoveFromPointerDownHandler;
315
- private handlePointerMoveOverScrollbars;
316
- private onPointerUpFromPointerDownHandler;
317
- private restoreReadyToEraseElements;
318
- private eraseElements;
319
- private initializeImage;
320
- /**
321
- * inserts image into elements array and rerenders
322
- */
323
- private insertImageElement;
324
- private setImagePreviewCursor;
325
- private onImageAction;
326
- private initializeImageDimensions;
327
- /** updates image cache, refreshing updated elements and/or setting status
328
- to error for images that fail during <img> element creation */
329
- private updateImageCache;
330
- /** adds new images to imageCache and re-renders if needed */
331
- private addNewImagesToImageCache;
332
- /** generally you should use `addNewImagesToImageCache()` directly if you need
333
- * to render new images. This is just a failsafe */
334
- private scheduleImageRefresh;
335
- private updateBindingEnabledOnPointerMove;
336
- private maybeSuggestBindingAtCursor;
337
- private maybeSuggestBindingsForLinearElementAtCoords;
338
- private maybeSuggestBindingForAll;
339
- private clearSelection;
340
- private handleCanvasRef;
341
- private handleAppOnDrop;
342
- loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
343
- private handleCanvasContextMenu;
344
- private maybeDragNewGenericElement;
345
- private maybeHandleResize;
346
- /** @private use this.handleCanvasContextMenu */
347
- private _openContextMenu;
348
- private handleWheel;
349
- private getTextWysiwygSnappedToCenterPosition;
350
- private savePointer;
351
- private resetShouldCacheIgnoreZoomDebounced;
352
- private updateDOMRect;
353
- refresh: () => void;
354
- private getCanvasOffsets;
355
- private updateLanguage;
356
- }
357
- declare global {
358
- interface Window {
359
- h: {
360
- elements: readonly ExcalidrawElement[];
361
- state: AppState;
362
- setState: React.Component<any, AppState>["setState"];
363
- app: InstanceType<typeof App>;
364
- history: History;
365
- };
366
- }
367
- }
368
- export default App;
1
+ import React from "react";
2
+ import { RoughCanvas } from "roughjs/bin/canvas";
3
+ import { ActionManager } from "../actions/manager";
4
+ import { LinearElementEditor } from "../element/linearElementEditor";
5
+ import { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement } from "../element/types";
6
+ import History from "../history";
7
+ import Scene from "../scene/Scene";
8
+ import { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device } from "../types";
9
+ import { FileSystemHandle } from "../data/filesystem";
10
+ import { Emitter } from "../emitter";
11
+ export declare const isMenuOpenAtom: import("jotai").Atom<boolean> & {
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: boolean | ((prev: boolean) => boolean)) => void;
30
+ onMount?: (<S extends (update: boolean | ((prev: boolean) => boolean)) => void>(setAtom: S) => void | (() => void)) | undefined;
31
+ } & {
32
+ init: boolean;
33
+ };
34
+ export declare const isDropdownOpenAtom: 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 useDevice: () => Readonly<{
58
+ isSmScreen: boolean;
59
+ isMobile: boolean;
60
+ isTouchScreen: boolean;
61
+ canDeviceFitSidebar: boolean;
62
+ }>;
63
+ export declare const useExcalidrawContainer: () => {
64
+ container: HTMLDivElement | null;
65
+ id?: string | null | undefined;
66
+ };
67
+ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawElement[];
68
+ export declare const useExcalidrawAppState: () => AppState;
69
+ export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
70
+ declare class App extends React.Component<AppProps, AppState> {
71
+ canvas: AppClassProperties["canvas"];
72
+ rc: RoughCanvas | null;
73
+ unmounted: boolean;
74
+ actionManager: ActionManager;
75
+ device: Device;
76
+ detachIsMobileMqHandler?: () => void;
77
+ private excalidrawContainerRef;
78
+ static defaultProps: Partial<AppProps>;
79
+ scene: Scene;
80
+ private resizeObserver;
81
+ private nearestScrollableContainer;
82
+ library: AppClassProperties["library"];
83
+ libraryItemsFromStorage: LibraryItems | undefined;
84
+ private id;
85
+ private history;
86
+ private excalidrawContainerValue;
87
+ files: BinaryFiles;
88
+ imageCache: AppClassProperties["imageCache"];
89
+ hitLinkElement?: NonDeletedExcalidrawElement;
90
+ lastPointerDown: React.PointerEvent<HTMLCanvasElement> | null;
91
+ lastPointerUp: React.PointerEvent<HTMLElement> | PointerEvent | null;
92
+ contextMenuOpen: boolean;
93
+ lastScenePointer: {
94
+ x: number;
95
+ y: number;
96
+ } | null;
97
+ onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
98
+ onPointerDownEmitter: Emitter<[activeTool: {
99
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
100
+ lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
101
+ locked: boolean;
102
+ customType: null;
103
+ } | {
104
+ type: "custom";
105
+ customType: string;
106
+ lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
107
+ locked: boolean;
108
+ }, pointerDownState: Readonly<{
109
+ origin: Readonly<{
110
+ x: number;
111
+ y: number;
112
+ }>;
113
+ originInGrid: Readonly<{
114
+ x: number;
115
+ y: number;
116
+ }>;
117
+ scrollbars: {
118
+ isOverEither: boolean;
119
+ isOverHorizontal: boolean;
120
+ isOverVertical: boolean;
121
+ };
122
+ lastCoords: {
123
+ x: number;
124
+ y: number;
125
+ };
126
+ originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
127
+ resize: {
128
+ handleType: import("../element/transformHandles").MaybeTransformHandleType;
129
+ isResizing: boolean;
130
+ offset: {
131
+ x: number;
132
+ y: number;
133
+ };
134
+ arrowDirection: "end" | "origin";
135
+ center: {
136
+ x: number;
137
+ y: number;
138
+ };
139
+ };
140
+ hit: {
141
+ element: NonDeleted<ExcalidrawElement> | null;
142
+ allHitElements: NonDeleted<ExcalidrawElement>[];
143
+ wasAddedToSelection: boolean;
144
+ hasBeenDuplicated: boolean;
145
+ hasHitCommonBoundingBoxOfSelectedElements: boolean;
146
+ };
147
+ withCmdOrCtrl: boolean;
148
+ drag: {
149
+ hasOccurred: boolean;
150
+ offset: {
151
+ x: number;
152
+ y: number;
153
+ } | null;
154
+ };
155
+ eventListeners: {
156
+ onMove: {
157
+ (...args: any[]): void;
158
+ flush(): void;
159
+ cancel(): void;
160
+ } | null;
161
+ onUp: ((event: PointerEvent) => void) | null;
162
+ onKeyDown: ((event: KeyboardEvent) => void) | null;
163
+ onKeyUp: ((event: KeyboardEvent) => void) | null;
164
+ };
165
+ boxSelection: {
166
+ hasOccurred: boolean;
167
+ };
168
+ elementIdsToErase: {
169
+ [key: string]: {
170
+ opacity: number;
171
+ erase: boolean;
172
+ };
173
+ };
174
+ }>, event: React.PointerEvent<HTMLCanvasElement>]>;
175
+ onPointerUpEmitter: Emitter<[activeTool: {
176
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
177
+ lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
178
+ locked: boolean;
179
+ customType: null;
180
+ } | {
181
+ type: "custom";
182
+ customType: string;
183
+ lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
184
+ locked: boolean;
185
+ }, pointerDownState: Readonly<{
186
+ origin: Readonly<{
187
+ x: number;
188
+ y: number;
189
+ }>;
190
+ originInGrid: Readonly<{
191
+ x: number;
192
+ y: number;
193
+ }>;
194
+ scrollbars: {
195
+ isOverEither: boolean;
196
+ isOverHorizontal: boolean;
197
+ isOverVertical: boolean;
198
+ };
199
+ lastCoords: {
200
+ x: number;
201
+ y: number;
202
+ };
203
+ originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
204
+ resize: {
205
+ handleType: import("../element/transformHandles").MaybeTransformHandleType;
206
+ isResizing: boolean;
207
+ offset: {
208
+ x: number;
209
+ y: number;
210
+ };
211
+ arrowDirection: "end" | "origin";
212
+ center: {
213
+ x: number;
214
+ y: number;
215
+ };
216
+ };
217
+ hit: {
218
+ element: NonDeleted<ExcalidrawElement> | null;
219
+ allHitElements: NonDeleted<ExcalidrawElement>[];
220
+ wasAddedToSelection: boolean;
221
+ hasBeenDuplicated: boolean;
222
+ hasHitCommonBoundingBoxOfSelectedElements: boolean;
223
+ };
224
+ withCmdOrCtrl: boolean;
225
+ drag: {
226
+ hasOccurred: boolean;
227
+ offset: {
228
+ x: number;
229
+ y: number;
230
+ } | null;
231
+ };
232
+ eventListeners: {
233
+ onMove: {
234
+ (...args: any[]): void;
235
+ flush(): void;
236
+ cancel(): void;
237
+ } | null;
238
+ onUp: ((event: PointerEvent) => void) | null;
239
+ onKeyDown: ((event: KeyboardEvent) => void) | null;
240
+ onKeyUp: ((event: KeyboardEvent) => void) | null;
241
+ };
242
+ boxSelection: {
243
+ hasOccurred: boolean;
244
+ };
245
+ elementIdsToErase: {
246
+ [key: string]: {
247
+ opacity: number;
248
+ erase: boolean;
249
+ };
250
+ };
251
+ }>, event: PointerEvent]>;
252
+ constructor(props: AppProps);
253
+ private renderCanvas;
254
+ render(): JSX.Element;
255
+ focusContainer: AppClassProperties["focusContainer"];
256
+ getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
257
+ getSceneElements: () => readonly NonDeletedExcalidrawElement[];
258
+ private syncActionResult;
259
+ private onBlur;
260
+ private onUnload;
261
+ private disableEvent;
262
+ private onFontLoaded;
263
+ private resetHistory;
264
+ /**
265
+ * Resets scene & history.
266
+ * ! Do not use to clear scene user action !
267
+ */
268
+ private resetScene;
269
+ private initializeScene;
270
+ private refreshDeviceState;
271
+ componentDidMount(): Promise<void>;
272
+ componentWillUnmount(): void;
273
+ private onResize;
274
+ private removeEventListeners;
275
+ private addEventListeners;
276
+ componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
277
+ private renderScene;
278
+ private onScroll;
279
+ private onCut;
280
+ private onCopy;
281
+ private cutAll;
282
+ private copyAll;
283
+ private static resetTapTwice;
284
+ private onTapStart;
285
+ private onTapEnd;
286
+ private pasteFromClipboard;
287
+ private addElementsFromPasteOrLibrary;
288
+ private addTextFromPaste;
289
+ setAppState: React.Component<any, AppState>["setState"];
290
+ removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
291
+ toggleLock: (source?: "keyboard" | "ui") => void;
292
+ togglePenMode: () => void;
293
+ scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[]) => void;
294
+ setToast: (toast: {
295
+ message: string;
296
+ closable?: boolean;
297
+ duration?: number;
298
+ } | null) => void;
299
+ restoreFileFromShare: () => Promise<void>;
300
+ /** adds supplied files to existing files in the appState */
301
+ addFiles: ExcalidrawImperativeAPI["addFiles"];
302
+ updateScene: <K extends keyof AppState>(sceneData: {
303
+ elements?: SceneData["elements"];
304
+ appState?: Pick<AppState, K> | null | undefined;
305
+ collaborators?: SceneData["collaborators"];
306
+ commitToHistory?: SceneData["commitToHistory"];
307
+ }) => void;
308
+ private onSceneUpdated;
309
+ /**
310
+ * @returns whether the menu was toggled on or off
311
+ */
312
+ toggleMenu: (type: "library" | "customSidebar", force?: boolean) => boolean;
313
+ private updateCurrentCursorPosition;
314
+ private onKeyDown;
315
+ private onWheel;
316
+ private onKeyUp;
317
+ private setActiveTool;
318
+ private setCursor;
319
+ private resetCursor;
320
+ /**
321
+ * returns whether user is making a gesture with >= 2 fingers (points)
322
+ * on o touch screen (not on a trackpad). Currently only relates to Darwin
323
+ * (iOS/iPadOS,MacOS), but may work on other devices in the future if
324
+ * GestureEvent is standardized.
325
+ */
326
+ private isTouchScreenMultiTouchGesture;
327
+ private onGestureStart;
328
+ private onGestureChange;
329
+ private onGestureEnd;
330
+ private handleTextWysiwyg;
331
+ private deselectElements;
332
+ private getTextElementAtPosition;
333
+ private getElementAtPosition;
334
+ private getElementsAtPosition;
335
+ private startTextEditing;
336
+ private handleCanvasDoubleClick;
337
+ private getElementLinkAtPosition;
338
+ private redirectToLink;
339
+ private handleCanvasPointerMove;
340
+ private handleEraser;
341
+ private handleTouchMove;
342
+ handleHoverSelectedLinearElement(linearElementEditor: LinearElementEditor, scenePointerX: number, scenePointerY: number): void;
343
+ private handleCanvasPointerDown;
344
+ private handleCanvasPointerUp;
345
+ private maybeOpenContextMenuAfterPointerDownOnTouchDevices;
346
+ private resetContextMenuTimer;
347
+ private maybeCleanupAfterMissingPointerUp;
348
+ private handleCanvasPanUsingWheelOrSpaceDrag;
349
+ private updateGestureOnPointerDown;
350
+ private initialPointerDownState;
351
+ private handleDraggingScrollBar;
352
+ private clearSelectionIfNotUsingSelection;
353
+ /**
354
+ * @returns whether the pointer event has been completely handled
355
+ */
356
+ private handleSelectionOnPointerDown;
357
+ private isASelectedElement;
358
+ private isHittingCommonBoundingBoxOfSelectedElements;
359
+ private handleTextOnPointerDown;
360
+ private handleFreeDrawElementOnPointerDown;
361
+ private createImageElement;
362
+ private handleLinearElementOnPointerDown;
363
+ private createGenericElementOnPointerDown;
364
+ private onKeyDownFromPointerDownHandler;
365
+ private onKeyUpFromPointerDownHandler;
366
+ private onPointerMoveFromPointerDownHandler;
367
+ private handlePointerMoveOverScrollbars;
368
+ private onPointerUpFromPointerDownHandler;
369
+ private restoreReadyToEraseElements;
370
+ private eraseElements;
371
+ private initializeImage;
372
+ /**
373
+ * inserts image into elements array and rerenders
374
+ */
375
+ private insertImageElement;
376
+ private setImagePreviewCursor;
377
+ private onImageAction;
378
+ private initializeImageDimensions;
379
+ /** updates image cache, refreshing updated elements and/or setting status
380
+ to error for images that fail during <img> element creation */
381
+ private updateImageCache;
382
+ /** adds new images to imageCache and re-renders if needed */
383
+ private addNewImagesToImageCache;
384
+ /** generally you should use `addNewImagesToImageCache()` directly if you need
385
+ * to render new images. This is just a failsafe */
386
+ private scheduleImageRefresh;
387
+ private updateBindingEnabledOnPointerMove;
388
+ private maybeSuggestBindingAtCursor;
389
+ private maybeSuggestBindingsForLinearElementAtCoords;
390
+ private maybeSuggestBindingForAll;
391
+ private clearSelection;
392
+ private handleCanvasRef;
393
+ private handleAppOnDrop;
394
+ loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
395
+ private handleCanvasContextMenu;
396
+ private maybeDragNewGenericElement;
397
+ private maybeHandleResize;
398
+ /** @private use this.handleCanvasContextMenu */
399
+ private _openContextMenu;
400
+ private handleWheel;
401
+ private getTextWysiwygSnappedToCenterPosition;
402
+ private savePointer;
403
+ private resetShouldCacheIgnoreZoomDebounced;
404
+ private updateDOMRect;
405
+ refresh: () => void;
406
+ private getCanvasOffsets;
407
+ private updateLanguage;
408
+ }
409
+ declare global {
410
+ interface Window {
411
+ h: {
412
+ elements: readonly ExcalidrawElement[];
413
+ state: AppState;
414
+ setState: React.Component<any, AppState>["setState"];
415
+ app: InstanceType<typeof App>;
416
+ history: History;
417
+ };
418
+ }
419
+ }
420
+ export default App;