@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-835eb8d

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 (302) hide show
  1. package/CHANGELOG.md +11 -11
  2. package/dist/dev/chunk-CP5DND7P.js +7 -0
  3. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  4. package/dist/dev/chunk-FB2NA5UG.js +4132 -0
  5. package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
  6. package/dist/dev/chunk-N4PQJPAH.js +5666 -0
  7. package/dist/dev/chunk-N4PQJPAH.js.map +7 -0
  8. package/dist/dev/{chunk-LMHBUWQS.js → chunk-PWQMCSHA.js} +27 -8
  9. package/dist/dev/chunk-PWQMCSHA.js.map +7 -0
  10. package/dist/dev/data/{image-V26YBSDB.js → image-RT6RLBUE.js} +3 -3
  11. package/dist/dev/index.css +3573 -3309
  12. package/dist/dev/index.css.map +3 -3
  13. package/dist/dev/index.js +31657 -23863
  14. package/dist/dev/index.js.map +4 -4
  15. package/dist/dev/locales/{en-OZCJJ2HN.js → en-V3NQTBPG.js} +2 -2
  16. package/dist/dev/subset-shared.chunk.js +2 -2
  17. package/dist/dev/subset-worker.chunk.js +2 -2
  18. package/dist/prod/chunk-A66AFZZU.js +7 -0
  19. package/dist/prod/chunk-GF46JCB3.js +12 -0
  20. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  21. package/dist/prod/chunk-SVEJI6WL.js +4 -0
  22. package/dist/prod/data/image-HPGPBQV2.js +1 -0
  23. package/dist/prod/index.css +1 -1
  24. package/dist/prod/index.js +27 -16
  25. package/dist/prod/locales/{en-B4ZKOASM.js → en-LQE6K457.js} +1 -1
  26. package/dist/prod/subset-shared.chunk.js +1 -1
  27. package/dist/prod/subset-worker.chunk.js +1 -1
  28. package/dist/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +1 -1
  29. package/dist/types/{excalidraw → common/src}/colors.d.ts +1 -0
  30. package/dist/types/{excalidraw → common/src}/constants.d.ts +49 -12
  31. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  32. package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +15 -5
  33. package/dist/types/common/src/index.d.ts +12 -0
  34. package/dist/types/{excalidraw → common/src}/points.d.ts +2 -0
  35. package/dist/types/common/src/promise-pool.d.ts +6 -0
  36. package/dist/types/{excalidraw → common/src}/utility-types.d.ts +5 -0
  37. package/dist/types/{excalidraw → common/src}/utils.d.ts +25 -11
  38. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +19 -18
  39. package/dist/types/element/src/align.d.ts +8 -0
  40. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +30 -19
  41. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +20 -7
  42. package/dist/types/element/src/collision.d.ts +32 -0
  43. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  44. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +1 -1
  45. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +78 -41
  46. package/dist/types/element/src/distance.d.ts +3 -0
  47. package/dist/types/{excalidraw → element/src}/distribute.d.ts +3 -2
  48. package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +5 -4
  49. package/dist/types/element/src/duplicate.d.ts +63 -0
  50. package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +1 -1
  51. package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
  52. package/dist/types/element/src/embeddable.d.ts +10 -0
  53. package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +4 -3
  54. package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +12 -3
  55. package/dist/types/{excalidraw → element/src}/frame.d.ts +8 -7
  56. package/dist/types/{excalidraw → element/src}/groups.d.ts +6 -5
  57. package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
  58. package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
  59. package/dist/types/element/src/index.d.ts +58 -0
  60. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +24 -37
  61. package/dist/types/element/src/mutateElement.d.ts +21 -0
  62. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +4 -43
  63. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  64. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +6 -3
  65. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +7 -6
  66. package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
  67. package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -7
  68. package/dist/types/element/src/shape.d.ts +42 -0
  69. package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
  70. package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +3 -3
  71. package/dist/types/element/src/store.d.ts +237 -0
  72. package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +8 -7
  73. package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
  74. package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +21 -3
  75. package/dist/types/{excalidraw/element → element/src}/types.d.ts +17 -4
  76. package/dist/types/element/src/utils.d.ts +31 -0
  77. package/dist/types/{excalidraw → element/src}/zindex.d.ts +5 -4
  78. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +103 -109
  79. package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
  80. package/dist/types/excalidraw/actions/actionBoundText.d.ts +74 -78
  81. package/dist/types/excalidraw/actions/actionCanvas.d.ts +653 -502
  82. package/dist/types/excalidraw/actions/actionClipboard.d.ts +218 -228
  83. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +36 -38
  84. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +108 -113
  85. package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
  86. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
  87. package/dist/types/excalidraw/actions/actionElementLink.d.ts +39 -41
  88. package/dist/types/excalidraw/actions/actionElementLock.d.ts +86 -92
  89. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +36 -48
  90. package/dist/types/excalidraw/actions/actionExport.d.ts +369 -387
  91. package/dist/types/excalidraw/actions/actionFinalize.d.ts +104 -67
  92. package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
  93. package/dist/types/excalidraw/actions/actionFrame.d.ts +260 -268
  94. package/dist/types/excalidraw/actions/actionGroup.d.ts +71 -75
  95. package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
  96. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +564 -42
  97. package/dist/types/excalidraw/actions/actionLink.d.ts +37 -39
  98. package/dist/types/excalidraw/actions/actionMenu.d.ts +104 -110
  99. package/dist/types/excalidraw/actions/actionNavigate.d.ts +69 -73
  100. package/dist/types/excalidraw/actions/actionProperties.d.ts +512 -525
  101. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +37 -39
  102. package/dist/types/excalidraw/actions/actionStyles.d.ts +38 -40
  103. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  104. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +36 -38
  105. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +36 -38
  106. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +35 -209
  107. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  108. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +35 -38
  109. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +36 -39
  110. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +36 -39
  111. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  112. package/dist/types/excalidraw/actions/index.d.ts +2 -1
  113. package/dist/types/excalidraw/actions/manager.d.ts +2 -2
  114. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  115. package/dist/types/excalidraw/actions/types.d.ts +6 -5
  116. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  117. package/dist/types/excalidraw/appState.d.ts +39 -28
  118. package/dist/types/excalidraw/charts.d.ts +1 -1
  119. package/dist/types/excalidraw/clipboard.d.ts +71 -8
  120. package/dist/types/excalidraw/components/Actions.d.ts +10 -7
  121. package/dist/types/excalidraw/components/App.d.ts +51 -32
  122. package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
  123. package/dist/types/excalidraw/components/ButtonIcon.d.ts +2 -1
  124. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  125. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +11 -6
  126. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  127. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  128. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +4 -5
  129. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +3 -4
  130. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +3 -3
  131. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  132. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +4 -4
  133. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  134. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +2 -1
  135. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  136. package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
  137. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  138. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  139. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  140. package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  141. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  142. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +5 -4
  143. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  144. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  145. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  146. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  147. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +3 -2
  148. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  149. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -2
  150. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  151. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  152. package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
  153. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  154. package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
  155. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  156. package/dist/types/excalidraw/components/Island.d.ts +1 -1
  157. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  158. package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
  159. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  160. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  161. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +4 -4
  162. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  163. package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  164. package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
  165. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
  166. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  167. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  168. package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  169. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  170. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  171. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  172. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  173. package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  174. package/dist/types/excalidraw/components/Stack.d.ts +1 -1
  175. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  176. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  177. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  178. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  179. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +14 -4
  180. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
  181. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  182. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
  183. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
  184. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  185. package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
  186. package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
  187. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  188. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  189. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
  190. package/dist/types/excalidraw/components/TextField.d.ts +2 -1
  191. package/dist/types/excalidraw/components/Toast.d.ts +1 -1
  192. package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
  193. package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
  194. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  195. package/dist/types/excalidraw/components/UserList.d.ts +1 -1
  196. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
  197. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  198. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  199. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  200. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  201. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  202. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +5 -4
  203. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -2
  204. package/dist/types/excalidraw/components/icons.d.ts +11 -1
  205. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  206. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  207. package/dist/types/excalidraw/components/shapes.d.ts +190 -0
  208. package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
  209. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  210. package/dist/types/excalidraw/data/blob.d.ts +7 -11
  211. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  212. package/dist/types/excalidraw/data/index.d.ts +2 -2
  213. package/dist/types/excalidraw/data/json.d.ts +1 -1
  214. package/dist/types/excalidraw/data/library.d.ts +3 -3
  215. package/dist/types/excalidraw/data/reconcile.d.ts +3 -2
  216. package/dist/types/excalidraw/data/resave.d.ts +1 -1
  217. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  218. package/dist/types/excalidraw/data/transform.d.ts +4 -4
  219. package/dist/types/excalidraw/data/types.d.ts +6 -3
  220. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  221. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  222. package/dist/types/excalidraw/errors.d.ts +0 -3
  223. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -13
  224. package/dist/types/excalidraw/history.d.ts +31 -23
  225. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  226. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  227. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  228. package/dist/types/excalidraw/i18n.d.ts +1 -1
  229. package/dist/types/excalidraw/index.d.ts +18 -16
  230. package/dist/types/excalidraw/laser-trails.d.ts +1 -1
  231. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  232. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  233. package/dist/types/excalidraw/renderer/helpers.d.ts +8 -3
  234. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  235. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  236. package/dist/types/excalidraw/scene/Renderer.d.ts +3 -4
  237. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  238. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  239. package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
  240. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  241. package/dist/types/excalidraw/scene/types.d.ts +6 -4
  242. package/dist/types/excalidraw/snapping.d.ts +5 -6
  243. package/dist/types/excalidraw/types.d.ts +50 -26
  244. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +4 -2
  245. package/dist/types/math/{angle.d.ts → src/angle.d.ts} +2 -0
  246. package/dist/types/math/src/constants.d.ts +3 -0
  247. package/dist/types/math/src/curve.d.ts +74 -0
  248. package/dist/types/math/{index.d.ts → src/index.d.ts} +1 -0
  249. package/dist/types/math/{point.d.ts → src/point.d.ts} +3 -3
  250. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  251. package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +2 -0
  252. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +2 -1
  253. package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
  254. package/dist/types/math/{vector.d.ts → src/vector.d.ts} +8 -2
  255. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  256. package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
  257. package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  258. package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
  259. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  260. package/history.ts +148 -109
  261. package/package.json +26 -11
  262. package/dist/dev/chunk-3SN6HYVK.js +0 -25695
  263. package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
  264. package/dist/dev/chunk-53KHN5WM.js +0 -7
  265. package/dist/dev/chunk-53KHN5WM.js.map +0 -7
  266. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  267. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  268. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  269. package/dist/prod/chunk-36CXSE6H.js +0 -34
  270. package/dist/prod/chunk-6U3AYISY.js +0 -12
  271. package/dist/prod/chunk-EIO257PC.js +0 -86
  272. package/dist/prod/chunk-G5N3DNGT.js +0 -7
  273. package/dist/prod/data/image-N4WCURRR.js +0 -1
  274. package/dist/types/excalidraw/align.d.ts +0 -7
  275. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  276. package/dist/types/excalidraw/element/collision.d.ts +0 -26
  277. package/dist/types/excalidraw/element/distance.d.ts +0 -3
  278. package/dist/types/excalidraw/element/index.d.ts +0 -26
  279. package/dist/types/excalidraw/element/mutateElement.d.ts +0 -13
  280. package/dist/types/excalidraw/element/utils.d.ts +0 -21
  281. package/dist/types/excalidraw/scene/Shape.d.ts +0 -17
  282. package/dist/types/excalidraw/scene/ShapeCache.d.ts +0 -25
  283. package/dist/types/excalidraw/shapes.d.ts +0 -85
  284. package/dist/types/excalidraw/store.d.ts +0 -129
  285. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  286. package/dist/types/math/curve.d.ts +0 -40
  287. package/dist/types/utils/collision.d.ts +0 -9
  288. /package/dist/dev/data/{image-V26YBSDB.js.map → image-RT6RLBUE.js.map} +0 -0
  289. /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-V3NQTBPG.js.map} +0 -0
  290. /package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
  291. /package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
  292. /package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
  293. /package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  294. /package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  295. /package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  296. /package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  297. /package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  298. /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  299. /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
  300. /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
  301. /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  302. /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
- import type React from "react";
2
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { CaptureUpdateActionType } from "@excalidraw/element";
3
3
  import type { AppClassProperties, AppState, ExcalidrawProps, BinaryFiles, UIAppState } from "../types";
4
- import type { CaptureUpdateActionType } from "../store";
4
+ import type React from "react";
5
5
  export type ActionSource = "ui" | "keyboard" | "contextMenu" | "api" | "commandPalette";
6
6
  /** if false, the action should be prevented */
7
7
  export type ActionResult = {
@@ -14,7 +14,7 @@ export type ActionResult = {
14
14
  type ActionFn = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
20
  appState: AppState;
@@ -22,6 +22,7 @@ export type PanelComponentProps = {
22
22
  appProps: ExcalidrawProps;
23
23
  data?: Record<string, any>;
24
24
  app: AppClassProperties;
25
+ renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => React.JSX.Element | null;
25
26
  };
26
27
  export interface Action {
27
28
  name: ActionName;
@@ -35,7 +36,7 @@ export interface Action {
35
36
  predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
36
37
  checked?: (appState: Readonly<AppState>) => boolean;
37
38
  trackEvent: false | {
38
- category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu";
39
+ category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu" | "shape_switch";
39
40
  action?: string;
40
41
  predicate?: (appState: Readonly<AppState>, elements: readonly ExcalidrawElement[], value: any) => boolean;
41
42
  };
@@ -1,3 +1,4 @@
1
+ import { LaserPointer } from "@excalidraw/laser-pointer";
1
2
  import type { LaserPointerOptions } from "@excalidraw/laser-pointer";
2
3
  import type { AnimationFrameHandler } from "./animation-frame-handler";
3
4
  import type App from "./components/App";
@@ -10,15 +11,18 @@ export interface Trail {
10
11
  }
11
12
  export interface AnimatedTrailOptions {
12
13
  fill: (trail: AnimatedTrail) => string;
14
+ stroke?: (trail: AnimatedTrail) => string;
15
+ animateTrail?: boolean;
13
16
  }
14
17
  export declare class AnimatedTrail implements Trail {
15
18
  private animationFrameHandler;
16
- private app;
19
+ protected app: App;
17
20
  private options;
18
21
  private currentTrail?;
19
22
  private pastTrails;
20
23
  private container?;
21
24
  private trailElement;
25
+ private trailAnimation?;
22
26
  constructor(animationFrameHandler: AnimationFrameHandler, app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
23
27
  get hasCurrentTrail(): boolean;
24
28
  hasLastPoint(x: number, y: number): boolean;
@@ -27,6 +31,8 @@ export declare class AnimatedTrail implements Trail {
27
31
  startPath(x: number, y: number): void;
28
32
  addPointToPath(x: number, y: number): void;
29
33
  endPath(): void;
34
+ getCurrentTrail(): LaserPointer | undefined;
35
+ clearTrails(): void;
30
36
  private update;
31
37
  private onFrame;
32
38
  private drawTrail;
@@ -1,16 +1,28 @@
1
1
  import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
- zenModeEnabled?: boolean | undefined;
5
- gridModeEnabled?: boolean | undefined;
6
- objectsSnapModeEnabled?: boolean | undefined;
7
- theme?: import("./element/types").Theme | undefined;
4
+ viewBackgroundColor?: string | undefined;
8
5
  name?: string | null | undefined;
9
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
6
+ zoom?: Readonly<{
7
+ value: NormalizedZoomValue;
8
+ }> | undefined;
9
+ scrollX?: number | undefined;
10
+ scrollY?: number | undefined;
11
+ editingGroupId?: string | null | undefined;
12
+ selectedElementIds?: Readonly<{
13
+ [id: string]: true;
14
+ }> | undefined;
15
+ theme?: import("@excalidraw/element/types").Theme | undefined;
16
+ selectedGroupIds?: {
17
+ [groupId: string]: boolean;
18
+ } | undefined;
19
+ selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
20
+ zenModeEnabled?: boolean | undefined;
10
21
  showWelcomeScreen?: boolean | undefined;
11
22
  activeTool?: ({
12
23
  lastActiveTool: import("./types").ActiveTool | null;
13
24
  locked: boolean;
25
+ fromSelection: boolean;
14
26
  } & import("./types").ActiveTool) | undefined;
15
27
  penMode?: boolean | undefined;
16
28
  penDetected?: boolean | undefined;
@@ -20,63 +32,62 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
20
32
  exportScale?: number | undefined;
21
33
  currentItemStrokeColor?: string | undefined;
22
34
  currentItemBackgroundColor?: string | undefined;
23
- currentItemFillStyle?: import("./element/types").FillStyle | undefined;
35
+ currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
24
36
  currentItemStrokeWidth?: number | undefined;
25
- currentItemStrokeStyle?: import("./element/types").StrokeStyle | undefined;
37
+ currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
26
38
  currentItemRoughness?: number | undefined;
27
39
  currentItemOpacity?: number | undefined;
28
40
  currentItemFontFamily?: number | undefined;
29
41
  currentItemFontSize?: number | undefined;
30
42
  currentItemTextAlign?: string | undefined;
31
- currentItemStartArrowhead?: import("./element/types").Arrowhead | null | undefined;
32
- currentItemEndArrowhead?: import("./element/types").Arrowhead | null | undefined;
33
- currentItemRoundness?: import("./element/types").StrokeRoundness | undefined;
34
- viewBackgroundColor?: string | undefined;
35
- scrollX?: number | undefined;
36
- scrollY?: number | undefined;
43
+ currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
44
+ currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
45
+ currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
46
+ currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
37
47
  cursorButton?: "up" | "down" | undefined;
38
48
  scrolledOutside?: boolean | undefined;
39
- zoom?: Readonly<{
40
- value: NormalizedZoomValue;
41
- }> | undefined;
42
49
  openMenu?: "canvas" | "shape" | null | undefined;
43
50
  openSidebar?: {
44
51
  name: string;
45
52
  tab?: string | undefined;
46
53
  } | null | undefined;
47
54
  defaultSidebarDockedPreference?: boolean | undefined;
48
- lastPointerDownWith?: import("./element/types").PointerType | undefined;
49
- selectedElementIds?: Readonly<{
50
- [id: string]: true;
51
- }> | undefined;
55
+ lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
52
56
  previousSelectedElementIds?: {
53
57
  [id: string]: true;
54
58
  } | undefined;
55
59
  shouldCacheIgnoreZoom?: boolean | undefined;
56
60
  gridSize?: number | undefined;
57
61
  gridStep?: number | undefined;
58
- selectedGroupIds?: {
59
- [groupId: string]: boolean;
60
- } | undefined;
61
- editingGroupId?: string | null | undefined;
62
+ gridModeEnabled?: boolean | undefined;
62
63
  stats?: {
63
64
  open: boolean;
64
65
  panels: number;
65
66
  } | undefined;
66
- currentChartType?: import("./element/types").ChartType | undefined;
67
- selectedLinearElement?: import("./element/linearElementEditor").LinearElementEditor | null | undefined;
67
+ currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
68
+ objectsSnapModeEnabled?: boolean | undefined;
69
+ lockedMultiSelections?: {
70
+ [groupId: string]: true;
71
+ } | undefined;
72
+ stylesPanelMode?: "compact" | "full" | undefined;
68
73
  };
69
74
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
70
- gridModeEnabled?: boolean | undefined;
71
75
  viewBackgroundColor?: string | undefined;
72
76
  gridSize?: number | undefined;
73
77
  gridStep?: number | undefined;
78
+ gridModeEnabled?: boolean | undefined;
79
+ lockedMultiSelections?: {
80
+ [groupId: string]: true;
81
+ } | undefined;
74
82
  };
75
83
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
76
- gridModeEnabled?: boolean | undefined;
77
84
  viewBackgroundColor?: string | undefined;
78
85
  gridSize?: number | undefined;
79
86
  gridStep?: number | undefined;
87
+ gridModeEnabled?: boolean | undefined;
88
+ lockedMultiSelections?: {
89
+ [groupId: string]: true;
90
+ } | undefined;
80
91
  };
81
92
  export declare const isEraserActive: ({ activeTool, }: {
82
93
  activeTool: AppState["activeTool"];
@@ -1,4 +1,4 @@
1
- import type { NonDeletedExcalidrawElement } from "./element/types";
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  export type ChartElements = readonly NonDeletedExcalidrawElement[];
3
3
  export interface Spreadsheet {
4
4
  title: string | null;
@@ -1,7 +1,10 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
2
- import type { BinaryFiles } from "./types";
1
+ import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
3
+ import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
4
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
5
+ import type { FileSystemHandle } from "./data/filesystem";
3
6
  import type { Spreadsheet } from "./charts";
4
- import { ALLOWED_PASTE_MIME_TYPES } from "./constants";
7
+ import type { BinaryFiles } from "./types";
5
8
  export type PastedMixedContent = {
6
9
  type: "text" | "imageUrl";
7
10
  value: string;
@@ -21,6 +24,8 @@ export declare const probablySupportsClipboardWriteText: boolean;
21
24
  export declare const probablySupportsClipboardBlob: boolean;
22
25
  export declare const createPasteEvent: ({ types, files, }: {
23
26
  types?: {
27
+ "text/plain"?: string | File | undefined;
28
+ "text/html"?: string | File | undefined;
24
29
  "image/svg+xml"?: string | File | undefined;
25
30
  "image/png"?: string | File | undefined;
26
31
  "image/jpeg"?: string | File | undefined;
@@ -30,8 +35,6 @@ export declare const createPasteEvent: ({ types, files, }: {
30
35
  "image/x-icon"?: string | File | undefined;
31
36
  "image/avif"?: string | File | undefined;
32
37
  "image/jfif"?: string | File | undefined;
33
- "text/plain"?: string | File | undefined;
34
- "text/html"?: string | File | undefined;
35
38
  } | undefined;
36
39
  files?: File[] | undefined;
37
40
  }) => ClipboardEvent;
@@ -45,6 +48,8 @@ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawEl
45
48
  * Will prompt user for permission if not granted.
46
49
  */
47
50
  export declare const readSystemClipboard: () => Promise<{
51
+ "text/plain"?: string | File | undefined;
52
+ "text/html"?: string | File | undefined;
48
53
  "image/svg+xml"?: string | File | undefined;
49
54
  "image/png"?: string | File | undefined;
50
55
  "image/jpeg"?: string | File | undefined;
@@ -54,13 +59,71 @@ export declare const readSystemClipboard: () => Promise<{
54
59
  "image/x-icon"?: string | File | undefined;
55
60
  "image/avif"?: string | File | undefined;
56
61
  "image/jfif"?: string | File | undefined;
57
- "text/plain"?: string | File | undefined;
58
- "text/html"?: string | File | undefined;
59
62
  }>;
63
+ type AllowedParsedDataTransferItem = {
64
+ type: ValueOf<typeof IMAGE_MIME_TYPES>;
65
+ kind: "file";
66
+ file: File;
67
+ fileHandle: FileSystemHandle | null;
68
+ } | {
69
+ type: ValueOf<typeof STRING_MIME_TYPES>;
70
+ kind: "string";
71
+ value: string;
72
+ };
73
+ type ParsedDataTransferItem = {
74
+ type: string;
75
+ kind: "file";
76
+ file: File;
77
+ fileHandle: FileSystemHandle | null;
78
+ } | {
79
+ type: string;
80
+ kind: "string";
81
+ value: string;
82
+ };
83
+ type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]> = AllowedParsedDataTransferItem & {
84
+ type: T;
85
+ };
86
+ export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
87
+ kind: "file";
88
+ }>;
89
+ type ParsedDataTranferList = ParsedDataTransferItem[] & {
90
+ /**
91
+ * Only allows filtering by known `string` data types, since `file`
92
+ * types can have multiple items of the same type (e.g. multiple image files)
93
+ * unlike `string` data transfer items.
94
+ */
95
+ findByType: typeof findDataTransferItemType;
96
+ /**
97
+ * Only allows filtering by known `string` data types, since `file`
98
+ * types can have multiple items of the same type (e.g. multiple image files)
99
+ * unlike `string` data transfer items.
100
+ */
101
+ getData: typeof getDataTransferItemData;
102
+ getFiles: typeof getDataTransferFiles;
103
+ };
104
+ declare const findDataTransferItemType: <T extends ValueOf<{
105
+ readonly text: "text/plain";
106
+ readonly html: "text/html";
107
+ readonly json: "application/json";
108
+ readonly excalidraw: "application/vnd.excalidraw+json";
109
+ readonly excalidrawlib: "application/vnd.excalidrawlib+json";
110
+ readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
111
+ }>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
112
+ declare const getDataTransferItemData: <T extends ValueOf<{
113
+ readonly text: "text/plain";
114
+ readonly html: "text/html";
115
+ readonly json: "application/json";
116
+ readonly excalidraw: "application/vnd.excalidraw+json";
117
+ readonly excalidrawlib: "application/vnd.excalidrawlib+json";
118
+ readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
119
+ }>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
120
+ declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
121
+ export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
60
122
  /**
61
123
  * Attempts to parse clipboard event.
62
124
  */
63
- export declare const parseClipboard: (event: ClipboardEvent, isPlainPaste?: boolean) => Promise<ClipboardData>;
125
+ export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
64
126
  export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
65
127
  export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
128
+ export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
66
129
  export {};
@@ -1,7 +1,7 @@
1
- import type { ActionManager } from "../actions/manager";
2
- import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "../element/types";
3
- import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
1
+ import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
4
2
  import "./Actions.scss";
3
+ import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
4
+ import type { ActionManager } from "../actions/manager";
5
5
  export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
6
6
  export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
7
7
  export declare const SelectedShapeActions: ({ appState, elementsMap, renderAction, app, }: {
@@ -10,6 +10,13 @@ export declare const SelectedShapeActions: ({ appState, elementsMap, renderActio
10
10
  renderAction: ActionManager["renderAction"];
11
11
  app: AppClassProperties;
12
12
  }) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
14
+ appState: UIAppState;
15
+ elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
16
+ renderAction: ActionManager["renderAction"];
17
+ app: AppClassProperties;
18
+ setAppState: React.Component<any, AppState>["setState"];
19
+ }) => import("react/jsx-runtime").JSX.Element;
13
20
  export declare const ShapesSwitcher: ({ activeTool, appState, app, UIOptions, }: {
14
21
  activeTool: UIAppState["activeTool"];
15
22
  appState: UIAppState;
@@ -28,7 +35,3 @@ export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }:
28
35
  actionManager: ActionManager;
29
36
  showExitZenModeBtn: boolean;
30
37
  }) => import("react/jsx-runtime").JSX.Element;
31
- export declare const FinalizeAction: ({ renderAction, className, }: {
32
- renderAction: ActionManager["renderAction"];
33
- className?: string | undefined;
34
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,22 @@
1
1
  import React from "react";
2
- import type { RoughCanvas } from "roughjs/bin/canvas";
2
+ import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
5
+ import type { Mutable } from "@excalidraw/common/utility-types";
3
6
  import { ActionManager } from "../actions/manager";
4
- import type { ActionResult } from "../actions/types";
5
- import { type EXPORT_IMAGE_TYPES } from "../constants";
6
- import type { ExportedElements } from "../data";
7
- import { LinearElementEditor } from "../element/linearElementEditor";
8
- import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "../element/types";
7
+ import { AnimationFrameHandler } from "../animation-frame-handler";
9
8
  import { History } from "../history";
10
- import Scene from "../scene/Scene";
11
- import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
12
- import type { FileSystemHandle } from "../data/filesystem";
13
9
  import { Fonts } from "../fonts";
10
+ import { type WritableAtom } from "../editor-jotai";
14
11
  import { Renderer } from "../scene/Renderer";
15
- import { Emitter } from "../emitter";
16
- import { Store } from "../store";
17
- import { AnimationFrameHandler } from "../animation-frame-handler";
18
- import { AnimatedTrail } from "../animated-trail";
19
12
  import { LaserTrails } from "../laser-trails";
20
- import { FlowChartCreator } from "../element/flowchart";
13
+ import { LassoTrail } from "../lasso";
14
+ import { EraserTrail } from "../eraser";
15
+ import type { ExportedElements } from "../data";
16
+ import type { FileSystemHandle } from "../data/filesystem";
17
+ import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
18
+ import type { RoughCanvas } from "roughjs/bin/canvas";
19
+ import type { ActionResult } from "../actions/types";
21
20
  export declare const ExcalidrawContainerContext: React.Context<{
22
21
  container: HTMLDivElement | null;
23
22
  id: string | null;
@@ -79,6 +78,7 @@ declare class App extends React.Component<AppProps, AppState> {
79
78
  /** embeds that have been inserted to DOM (as a perf optim, we don't want to
80
79
  * insert to DOM before user initially scrolls to them) */
81
80
  private initializedEmbeds;
81
+ private handleToastClose;
82
82
  private elementsPendingErasure;
83
83
  flowChartCreator: FlowChartCreator;
84
84
  private flowChartNavigator;
@@ -96,11 +96,13 @@ declare class App extends React.Component<AppProps, AppState> {
96
96
  };
97
97
  animationFrameHandler: AnimationFrameHandler;
98
98
  laserTrails: LaserTrails;
99
- eraserTrail: AnimatedTrail;
99
+ eraserTrail: EraserTrail;
100
+ lassoTrail: LassoTrail;
100
101
  onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
101
102
  onPointerDownEmitter: Emitter<[activeTool: {
102
103
  lastActiveTool: import("../types").ActiveTool | null;
103
104
  locked: boolean;
105
+ fromSelection: boolean;
104
106
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
105
107
  origin: Readonly<{
106
108
  x: number;
@@ -121,7 +123,7 @@ declare class App extends React.Component<AppProps, AppState> {
121
123
  };
122
124
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
123
125
  resize: {
124
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
126
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
125
127
  isResizing: boolean;
126
128
  offset: {
127
129
  x: number;
@@ -147,6 +149,11 @@ declare class App extends React.Component<AppProps, AppState> {
147
149
  x: number;
148
150
  y: number;
149
151
  } | null;
152
+ origin: {
153
+ x: number;
154
+ y: number;
155
+ };
156
+ blockDragging: boolean;
150
157
  };
151
158
  eventListeners: {
152
159
  onMove: {
@@ -165,6 +172,7 @@ declare class App extends React.Component<AppProps, AppState> {
165
172
  onPointerUpEmitter: Emitter<[activeTool: {
166
173
  lastActiveTool: import("../types").ActiveTool | null;
167
174
  locked: boolean;
175
+ fromSelection: boolean;
168
176
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
169
177
  origin: Readonly<{
170
178
  x: number;
@@ -185,7 +193,7 @@ declare class App extends React.Component<AppProps, AppState> {
185
193
  };
186
194
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
187
195
  resize: {
188
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
196
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
189
197
  isResizing: boolean;
190
198
  offset: {
191
199
  x: number;
@@ -211,6 +219,11 @@ declare class App extends React.Component<AppProps, AppState> {
211
219
  x: number;
212
220
  y: number;
213
221
  } | null;
222
+ origin: {
223
+ x: number;
224
+ y: number;
225
+ };
226
+ blockDragging: boolean;
214
227
  };
215
228
  eventListeners: {
216
229
  onMove: {
@@ -232,7 +245,9 @@ declare class App extends React.Component<AppProps, AppState> {
232
245
  }>]>;
233
246
  missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
234
247
  onRemoveEventListenersEmitter: Emitter<[]>;
248
+ defaultSelectionTool: "selection" | "lasso";
235
249
  constructor(props: AppProps);
250
+ updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
236
251
  private onWindowMessage;
237
252
  private cacheEmbeddableRef;
238
253
  /**
@@ -253,7 +268,8 @@ declare class App extends React.Component<AppProps, AppState> {
253
268
  private toggleOverscrollBehavior;
254
269
  render(): import("react/jsx-runtime").JSX.Element;
255
270
  focusContainer: AppClassProperties["focusContainer"];
256
- getSceneElementsIncludingDeleted: () => readonly import("../element/types").OrderedExcalidrawElement[];
271
+ getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
272
+ getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
257
273
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
258
274
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
259
275
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -285,6 +301,7 @@ declare class App extends React.Component<AppProps, AppState> {
285
301
  private resetScene;
286
302
  private initializeScene;
287
303
  private isMobileBreakpoint;
304
+ private isTabletBreakpoint;
288
305
  private refreshViewportBreakpoints;
289
306
  private refreshEditorBreakpoints;
290
307
  private clearImageShapeCache;
@@ -303,6 +320,7 @@ declare class App extends React.Component<AppProps, AppState> {
303
320
  private static resetTapTwice;
304
321
  private onTouchStart;
305
322
  private onTouchEnd;
323
+ private insertClipboardContent;
306
324
  pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
307
325
  addElementsFromPasteOrLibrary: (opts: {
308
326
  elements: readonly ExcalidrawElement[];
@@ -384,6 +402,8 @@ declare class App extends React.Component<AppProps, AppState> {
384
402
  */
385
403
  captureUpdate?: SceneData["captureUpdate"];
386
404
  }) => void;
405
+ applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
406
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
387
407
  private triggerRender;
388
408
  /**
389
409
  * @returns whether the menu was toggled on or off
@@ -398,17 +418,15 @@ declare class App extends React.Component<AppProps, AppState> {
398
418
  private onKeyDown;
399
419
  private onKeyUp;
400
420
  private isToolSupported;
401
- setActiveTool: (tool: (({
402
- type: Exclude<ToolType, "image">;
421
+ setActiveTool: (tool: ({
422
+ type: ToolType;
403
423
  } | {
404
- type: Extract<ToolType, "image">;
405
- insertOnCanvasDirectly?: boolean;
406
- }) | {
407
424
  type: "custom";
408
425
  customType: string;
409
426
  }) & {
410
427
  locked?: boolean;
411
- }) => void;
428
+ fromSelection?: boolean;
429
+ }, keepSelection?: boolean) => void;
412
430
  setOpenDialog: (dialogType: AppState["openDialog"]) => void;
413
431
  private setCursor;
414
432
  private resetCursor;
@@ -428,7 +446,7 @@ declare class App extends React.Component<AppProps, AppState> {
428
446
  private getTextElementAtPosition;
429
447
  private getElementAtPosition;
430
448
  private getElementsAtPosition;
431
- private getElementHitThreshold;
449
+ getElementHitThreshold(element: ExcalidrawElement): number;
432
450
  private hitElement;
433
451
  private getTextBindableContainerAtPosition;
434
452
  private startTextEditing;
@@ -476,7 +494,7 @@ declare class App extends React.Component<AppProps, AppState> {
476
494
  sceneY: number;
477
495
  link: string;
478
496
  }) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
479
- private createImageElement;
497
+ private newImagePlaceholder;
480
498
  private handleLinearElementOnPointerDown;
481
499
  private getCurrentItemRoundness;
482
500
  private createGenericElementOnPointerDown;
@@ -492,12 +510,13 @@ declare class App extends React.Component<AppProps, AppState> {
492
510
  private eraseElements;
493
511
  private initializeImage;
494
512
  /**
495
- * inserts image into elements array and rerenders
513
+ * use during async image initialization,
514
+ * when the placeholder image could have been modified in the meantime,
515
+ * and when you don't want to loose those modifications
496
516
  */
497
- insertImageElement: (imageElement: ExcalidrawImageElement, imageFile: File, showCursorImagePreview?: boolean) => Promise<NonDeleted<InitializedExcalidrawImageElement> | null | undefined>;
498
- private setImagePreviewCursor;
499
- private onImageAction;
500
- initializeImageDimensions: (imageElement: ExcalidrawImageElement, forceNaturalSize?: boolean) => void;
517
+ private getLatestInitializedImageElement;
518
+ private onImageToolbarButtonClick;
519
+ private getImageNaturalDimensions;
501
520
  /** updates image cache, refreshing updated elements and/or setting status
502
521
  to error for images that fail during <img> element creation */
503
522
  private updateImageCache;
@@ -508,9 +527,9 @@ declare class App extends React.Component<AppProps, AppState> {
508
527
  private scheduleImageRefresh;
509
528
  private updateBindingEnabledOnPointerMove;
510
529
  private maybeSuggestBindingAtCursor;
511
- private maybeSuggestBindingsForLinearElementAtCoords;
512
530
  private clearSelection;
513
531
  private handleInteractiveCanvasRef;
532
+ private insertImages;
514
533
  private handleAppOnDrop;
515
534
  loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
516
535
  private handleCanvasContextMenu;
@@ -1,5 +1,5 @@
1
- import "./Avatar.scss";
2
1
  import React from "react";
2
+ import "./Avatar.scss";
3
3
  type AvatarProps = {
4
4
  onClick: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
5
5
  color: string;
@@ -1,5 +1,5 @@
1
- import type { JSX } from "react";
2
1
  import "./ButtonIcon.scss";
2
+ import type { JSX } from "react";
3
3
  interface ButtonIconProps {
4
4
  icon: JSX.Element;
5
5
  title: string;
@@ -10,6 +10,7 @@ interface ButtonIconProps {
10
10
  /** include standalone style (could interfere with parent styles) */
11
11
  standalone?: boolean;
12
12
  onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
13
+ style?: React.CSSProperties;
13
14
  }
14
15
  export declare const ButtonIcon: import("react").ForwardRefExoticComponent<ButtonIconProps & import("react").RefAttributes<HTMLButtonElement>>;
15
16
  export {};
@@ -4,6 +4,7 @@ interface ColorInputProps {
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  colorPickerType: ColorPickerType;
7
+ placeholder?: string;
7
8
  }
8
- export declare const ColorInput: ({ color, onChange, label, colorPickerType, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -1,12 +1,16 @@
1
- import type { ExcalidrawElement } from "../../element/types";
2
- import type { AppState } from "../../types";
3
- import type { ColorPickerType } from "./colorPickerUtils";
4
- import type { ColorTuple, ColorPaletteCustom } from "../../colors";
1
+ import type { ColorTuple, ColorPaletteCustom } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
5
3
  import "./ColorPicker.scss";
4
+ import type { ColorPickerType } from "./colorPickerUtils";
5
+ import type { AppState } from "../../types";
6
6
  export declare const getColor: (color: string) => string | null;
7
7
  interface ColorPickerProps {
8
8
  type: ColorPickerType;
9
- color: string;
9
+ /**
10
+ * null indicates no color should be displayed as active
11
+ * (e.g. when multiple shapes selected with different colors)
12
+ */
13
+ color: string | null;
10
14
  onChange: (color: string) => void;
11
15
  label: string;
12
16
  elements: readonly ExcalidrawElement[];
@@ -14,6 +18,7 @@ interface ColorPickerProps {
14
18
  palette?: ColorPaletteCustom | null;
15
19
  topPicks?: ColorTuple;
16
20
  updateData: (formData?: any) => void;
21
+ compactMode?: boolean;
17
22
  }
18
- export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, compactMode, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
19
24
  export {};
@@ -1,6 +1,6 @@
1
1
  interface CustomColorListProps {
2
2
  colors: string[];
3
- color: string;
3
+ color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  }