@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-a18b139

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 (271) hide show
  1. package/CHANGELOG.md +11 -11
  2. package/dist/dev/chunk-FB2NA5UG.js +4132 -0
  3. package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
  4. package/dist/dev/{chunk-53KHN5WM.js → chunk-MJMGTOVG.js} +2 -2
  5. package/dist/dev/{chunk-53KHN5WM.js.map → chunk-MJMGTOVG.js.map} +1 -1
  6. package/dist/dev/{chunk-3SN6HYVK.js → chunk-U3G3LY5D.js} +14433 -21847
  7. package/dist/dev/chunk-U3G3LY5D.js.map +7 -0
  8. package/dist/dev/{chunk-LMHBUWQS.js → chunk-X3RYHLJU.js} +2 -1
  9. package/dist/dev/chunk-X3RYHLJU.js.map +7 -0
  10. package/dist/dev/data/{image-V26YBSDB.js → image-Y366K5SN.js} +3 -3
  11. package/dist/dev/index.css +3031 -3034
  12. package/dist/dev/index.css.map +3 -3
  13. package/dist/dev/index.js +30824 -23152
  14. package/dist/dev/index.js.map +4 -4
  15. package/dist/dev/locales/{en-OZCJJ2HN.js → en-CKWC2GMK.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-6U3AYISY.js → chunk-IUH5AXLB.js} +1 -1
  19. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  20. package/dist/prod/chunk-PUQLEN73.js +33 -0
  21. package/dist/prod/{chunk-G5N3DNGT.js → chunk-VQA74LVG.js} +1 -1
  22. package/dist/prod/data/image-WY2VMQLG.js +1 -0
  23. package/dist/prod/index.css +1 -1
  24. package/dist/prod/index.js +17 -14
  25. package/dist/prod/locales/{en-B4ZKOASM.js → en-SBO6ZHT2.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 +9 -6
  31. package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +11 -3
  32. package/dist/types/common/src/index.d.ts +11 -0
  33. package/dist/types/{excalidraw → common/src}/points.d.ts +2 -0
  34. package/dist/types/common/src/promise-pool.d.ts +6 -0
  35. package/dist/types/{excalidraw → common/src}/utils.d.ts +13 -12
  36. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +12 -15
  37. package/dist/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
  38. package/dist/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
  39. package/dist/types/element/src/align.d.ts +7 -0
  40. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +15 -15
  41. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +9 -4
  42. package/dist/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
  43. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  44. package/dist/types/{excalidraw → element/src}/distribute.d.ts +1 -1
  45. package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +5 -4
  46. package/dist/types/element/src/duplicate.d.ts +63 -0
  47. package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +1 -1
  48. package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
  49. package/dist/types/element/src/embeddable.d.ts +10 -0
  50. package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +4 -3
  51. package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +5 -2
  52. package/dist/types/{excalidraw → element/src}/frame.d.ts +7 -7
  53. package/dist/types/{excalidraw → element/src}/groups.d.ts +5 -5
  54. package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
  55. package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
  56. package/dist/types/{excalidraw/element → element/src}/index.d.ts +0 -10
  57. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +16 -16
  58. package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +11 -3
  59. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +3 -43
  60. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
  61. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +6 -6
  62. package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
  63. package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
  64. package/dist/types/element/src/shapes.d.ts +23 -0
  65. package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
  66. package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -2
  67. package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +8 -7
  68. package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
  69. package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +2 -2
  70. package/dist/types/{excalidraw/element → element/src}/types.d.ts +2 -2
  71. package/dist/types/element/src/zindex.d.ts +7 -0
  72. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +70 -67
  73. package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
  74. package/dist/types/excalidraw/actions/actionBoundText.d.ts +52 -50
  75. package/dist/types/excalidraw/actions/actionCanvas.d.ts +533 -344
  76. package/dist/types/excalidraw/actions/actionClipboard.d.ts +149 -143
  77. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +25 -24
  78. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +70 -67
  79. package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
  80. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
  81. package/dist/types/excalidraw/actions/actionElementLink.d.ts +29 -28
  82. package/dist/types/excalidraw/actions/actionElementLock.d.ts +51 -50
  83. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +25 -34
  84. package/dist/types/excalidraw/actions/actionExport.d.ts +288 -279
  85. package/dist/types/excalidraw/actions/actionFinalize.d.ts +39 -37
  86. package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
  87. package/dist/types/excalidraw/actions/actionFrame.d.ts +208 -204
  88. package/dist/types/excalidraw/actions/actionGroup.d.ts +49 -47
  89. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -1
  90. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +26 -25
  91. package/dist/types/excalidraw/actions/actionLink.d.ts +26 -25
  92. package/dist/types/excalidraw/actions/actionMenu.d.ts +72 -69
  93. package/dist/types/excalidraw/actions/actionNavigate.d.ts +47 -45
  94. package/dist/types/excalidraw/actions/actionProperties.d.ts +300 -285
  95. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +25 -24
  96. package/dist/types/excalidraw/actions/actionStyles.d.ts +27 -26
  97. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  98. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +25 -24
  99. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +25 -24
  100. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +48 -46
  101. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +24 -24
  102. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +25 -25
  103. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +25 -25
  104. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  105. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  106. package/dist/types/excalidraw/actions/manager.d.ts +2 -2
  107. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  108. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  109. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  110. package/dist/types/excalidraw/appState.d.ts +30 -29
  111. package/dist/types/excalidraw/change.d.ts +3 -3
  112. package/dist/types/excalidraw/charts.d.ts +1 -1
  113. package/dist/types/excalidraw/clipboard.d.ts +7 -7
  114. package/dist/types/excalidraw/components/Actions.d.ts +3 -3
  115. package/dist/types/excalidraw/components/App.d.ts +34 -18
  116. package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
  117. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -1
  118. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  119. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  120. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
  121. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  122. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  123. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
  124. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  125. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  126. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  127. package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
  128. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  129. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  130. package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  131. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  132. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +5 -4
  133. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  134. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  135. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  136. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  137. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  138. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
  139. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  140. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  141. package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
  142. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  143. package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
  144. package/dist/types/excalidraw/components/Island.d.ts +1 -1
  145. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  146. package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
  147. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  148. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  149. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
  150. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  151. package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  152. package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
  153. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
  154. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  155. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  156. package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  157. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  158. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  159. package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  160. package/dist/types/excalidraw/components/Stack.d.ts +1 -1
  161. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  162. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  163. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  164. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +3 -3
  165. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
  166. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  167. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
  168. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
  169. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  170. package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
  171. package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
  172. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -4
  173. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  174. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
  175. package/dist/types/excalidraw/components/TextField.d.ts +1 -1
  176. package/dist/types/excalidraw/components/Toast.d.ts +1 -1
  177. package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
  178. package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
  179. package/dist/types/excalidraw/components/UserList.d.ts +1 -1
  180. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
  181. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  182. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  183. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  184. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  185. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  186. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +5 -4
  187. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  188. package/dist/types/excalidraw/components/icons.d.ts +2 -1
  189. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  190. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  191. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  192. package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
  193. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  194. package/dist/types/excalidraw/data/blob.d.ts +4 -4
  195. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  196. package/dist/types/excalidraw/data/index.d.ts +2 -2
  197. package/dist/types/excalidraw/data/json.d.ts +1 -1
  198. package/dist/types/excalidraw/data/library.d.ts +3 -3
  199. package/dist/types/excalidraw/data/reconcile.d.ts +2 -2
  200. package/dist/types/excalidraw/data/resave.d.ts +1 -1
  201. package/dist/types/excalidraw/data/restore.d.ts +1 -1
  202. package/dist/types/excalidraw/data/transform.d.ts +4 -4
  203. package/dist/types/excalidraw/data/types.d.ts +3 -3
  204. package/dist/types/excalidraw/eraser/index.d.ts +14 -0
  205. package/dist/types/excalidraw/errors.d.ts +0 -3
  206. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -13
  207. package/dist/types/excalidraw/history.d.ts +2 -2
  208. package/dist/types/excalidraw/i18n.d.ts +1 -1
  209. package/dist/types/excalidraw/index.d.ts +15 -14
  210. package/dist/types/excalidraw/laser-trails.d.ts +1 -1
  211. package/dist/types/excalidraw/lasso/index.d.ts +15 -0
  212. package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
  213. package/dist/types/excalidraw/renderer/helpers.d.ts +2 -2
  214. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  215. package/dist/types/excalidraw/scene/Renderer.d.ts +3 -3
  216. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  217. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  218. package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
  219. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  220. package/dist/types/excalidraw/scene/types.d.ts +6 -4
  221. package/dist/types/excalidraw/snapping.d.ts +5 -6
  222. package/dist/types/excalidraw/store.d.ts +2 -2
  223. package/dist/types/excalidraw/types.d.ts +20 -15
  224. package/dist/types/excalidraw/visualdebug.d.ts +2 -2
  225. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +1 -1
  226. package/dist/types/math/{point.d.ts → src/point.d.ts} +2 -2
  227. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  228. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
  229. package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
  230. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  231. package/dist/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
  232. package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
  233. package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  234. package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
  235. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  236. package/history.ts +4 -2
  237. package/package.json +14 -2
  238. package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
  239. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  240. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  241. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  242. package/dist/prod/chunk-36CXSE6H.js +0 -34
  243. package/dist/prod/chunk-EIO257PC.js +0 -86
  244. package/dist/prod/data/image-N4WCURRR.js +0 -1
  245. package/dist/types/excalidraw/align.d.ts +0 -7
  246. package/dist/types/excalidraw/shapes.d.ts +0 -85
  247. package/dist/types/excalidraw/zindex.d.ts +0 -6
  248. package/dist/dev/data/{image-V26YBSDB.js.map → image-Y366K5SN.js.map} +0 -0
  249. package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-CKWC2GMK.js.map} +0 -0
  250. package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
  251. package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
  252. package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
  253. package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  254. package/dist/types/{excalidraw → common/src}/utility-types.d.ts +0 -0
  255. package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  256. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +0 -0
  257. package/dist/types/{excalidraw/element → element/src}/distance.d.ts +0 -0
  258. package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  259. package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  260. package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  261. package/dist/types/{excalidraw/element → element/src}/utils.d.ts +1 -1
  262. /package/dist/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
  263. /package/dist/types/math/{curve.d.ts → src/curve.d.ts} +0 -0
  264. /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  265. /package/dist/types/math/{index.d.ts → src/index.d.ts} +0 -0
  266. /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
  267. /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
  268. /package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +0 -0
  269. /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  270. /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
  271. /package/dist/types/math/{vector.d.ts → src/vector.d.ts} +0 -0
@@ -3,13 +3,12 @@ export declare const actionToggleZenMode: {
3
3
  name: "zenMode";
4
4
  label: string;
5
5
  icon: import("react/jsx-runtime").JSX.Element;
6
- paletteName: string;
7
6
  viewMode: true;
8
7
  trackEvent: {
9
8
  category: "canvas";
10
9
  predicate: (appState: Readonly<import("../types").AppState>) => boolean;
11
10
  };
12
- perform(elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
11
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
13
12
  appState: {
14
13
  zenModeEnabled: boolean;
15
14
  contextMenu: {
@@ -21,17 +20,17 @@ export declare const actionToggleZenMode: {
21
20
  isLoading: boolean;
22
21
  errorMessage: import("react").ReactNode;
23
22
  activeEmbeddable: {
24
- element: import("../element/types").NonDeletedExcalidrawElement;
23
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
25
24
  state: "hover" | "active";
26
25
  } | null;
27
- newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
28
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
29
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
30
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
26
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
27
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
28
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
29
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
30
  isBindingEnabled: boolean;
32
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
33
- suggestedBindings: import("../element/binding").SuggestedBinding[];
34
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
31
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
+ suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
33
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
35
34
  frameRendering: {
36
35
  enabled: boolean;
37
36
  name: boolean;
@@ -39,12 +38,13 @@ export declare const actionToggleZenMode: {
39
38
  clip: boolean;
40
39
  };
41
40
  editingFrame: string | null;
42
- elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
43
- editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
44
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
41
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
42
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
43
+ editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
45
44
  activeTool: {
46
45
  lastActiveTool: import("../types").ActiveTool | null;
47
46
  locked: boolean;
47
+ fromSelection: boolean;
48
48
  } & import("../types").ActiveTool;
49
49
  penMode: boolean;
50
50
  penDetected: boolean;
@@ -54,18 +54,18 @@ export declare const actionToggleZenMode: {
54
54
  exportScale: number;
55
55
  currentItemStrokeColor: string;
56
56
  currentItemBackgroundColor: string;
57
- currentItemFillStyle: import("../element/types").FillStyle;
57
+ currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
58
58
  currentItemStrokeWidth: number;
59
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
59
+ currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
60
60
  currentItemRoughness: number;
61
61
  currentItemOpacity: number;
62
62
  currentItemFontFamily: number;
63
63
  currentItemFontSize: number;
64
64
  currentItemTextAlign: string;
65
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
66
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
65
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
66
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
67
67
  currentHoveredFontFamily: number | null;
68
- currentItemRoundness: import("../element/types").StrokeRoundness;
68
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
69
69
  currentItemArrowType: "round" | "sharp" | "elbow";
70
70
  viewBackgroundColor: string;
71
71
  scrollX: number;
@@ -96,7 +96,7 @@ export declare const actionToggleZenMode: {
96
96
  sourceElementId: string;
97
97
  } | null;
98
98
  defaultSidebarDockedPreference: boolean;
99
- lastPointerDownWith: import("../element/types").PointerType;
99
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
100
100
  selectedElementIds: Readonly<{
101
101
  [id: string]: true;
102
102
  }>;
@@ -113,7 +113,7 @@ export declare const actionToggleZenMode: {
113
113
  closable?: boolean | undefined;
114
114
  duration?: number | undefined;
115
115
  } | null;
116
- theme: import("../element/types").Theme;
116
+ theme: import("@excalidraw/element/types").Theme;
117
117
  gridSize: number;
118
118
  gridStep: number;
119
119
  gridModeEnabled: boolean;
@@ -134,7 +134,7 @@ export declare const actionToggleZenMode: {
134
134
  [id: string]: true;
135
135
  }> | undefined;
136
136
  username?: string | null | undefined;
137
- userState?: import("..").UserIdleState | undefined;
137
+ userState?: import("@excalidraw/common").UserIdleState | undefined;
138
138
  color?: {
139
139
  background: string;
140
140
  stroke: string;
@@ -151,7 +151,7 @@ export declare const actionToggleZenMode: {
151
151
  open: boolean;
152
152
  panels: number;
153
153
  };
154
- currentChartType: import("../element/types").ChartType;
154
+ currentChartType: import("@excalidraw/element/types").ChartType;
155
155
  pasteDialog: {
156
156
  shown: false;
157
157
  data: null;
@@ -160,8 +160,8 @@ export declare const actionToggleZenMode: {
160
160
  data: import("../charts").Spreadsheet;
161
161
  };
162
162
  pendingImageElementId: string | null;
163
- showHyperlinkPopup: false | "info" | "editor";
164
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
163
+ showHyperlinkPopup: false | "editor" | "info";
164
+ selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
165
165
  snapLines: readonly import("../snapping").SnapLine[];
166
166
  originSnapOffset: {
167
167
  x: number;
@@ -186,7 +186,7 @@ export declare const actionToggleZenMode: {
186
186
  captureUpdate: "EVENTUALLY";
187
187
  };
188
188
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
189
- predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
189
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
190
190
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
191
191
  } & {
192
192
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -7,8 +7,8 @@ export declare const actionSendBackward: {
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
11
- elements: readonly import("../element/types").ExcalidrawElement[];
10
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
11
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
12
12
  appState: Readonly<import("../types").AppState>;
13
13
  captureUpdate: "IMMEDIATELY";
14
14
  };
@@ -26,8 +26,8 @@ export declare const actionBringForward: {
26
26
  trackEvent: {
27
27
  category: "element";
28
28
  };
29
- perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
30
- elements: readonly import("../element/types").ExcalidrawElement[];
29
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
30
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
31
31
  appState: Readonly<import("../types").AppState>;
32
32
  captureUpdate: "IMMEDIATELY";
33
33
  };
@@ -45,8 +45,8 @@ export declare const actionSendToBack: {
45
45
  trackEvent: {
46
46
  category: "element";
47
47
  };
48
- perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
49
- elements: readonly import("../element/types").ExcalidrawElement[] | import("../element/types").ExcalidrawElement[];
48
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
49
+ elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
50
50
  appState: Readonly<import("../types").AppState>;
51
51
  captureUpdate: "IMMEDIATELY";
52
52
  };
@@ -63,8 +63,8 @@ export declare const actionBringToFront: {
63
63
  trackEvent: {
64
64
  category: "element";
65
65
  };
66
- perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
67
- elements: readonly import("../element/types").ExcalidrawElement[] | import("../element/types").ExcalidrawElement[];
66
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
67
+ elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
68
68
  appState: Readonly<import("../types").AppState>;
69
69
  captureUpdate: "IMMEDIATELY";
70
70
  };
@@ -4,6 +4,7 @@ export { actionSelectAll } from "./actionSelectAll";
4
4
  export { actionDuplicateSelection } from "./actionDuplicateSelection";
5
5
  export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, } from "./actionProperties";
6
6
  export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
+ export { actionSetEmbeddableAsActiveTool } from "./actionEmbeddable";
7
8
  export { actionFinalize } from "./actionFinalize";
8
9
  export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
9
10
  export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import type { Action, UpdaterFn, ActionName, ActionResult, PanelComponentProps, ActionSource } from "./types";
3
- import type { OrderedExcalidrawElement } from "../element/types";
2
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
4
3
  import type { AppClassProperties, AppState } from "../types";
4
+ import type { Action, UpdaterFn, ActionName, ActionResult, PanelComponentProps, ActionSource } from "./types";
5
5
  export declare class ActionManager {
6
6
  actions: Record<ActionName, Action>;
7
7
  updater: (actionResult: ActionResult | Promise<ActionResult>) => void;
@@ -1,4 +1,4 @@
1
- import type { SubtypeOf } from "../utility-types";
1
+ import type { SubtypeOf } from "@excalidraw/common/utility-types";
2
2
  import type { ActionName } from "./types";
3
3
  export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "toggleEraserTool" | "toggleHandTool" | "setFrameAsActiveTool" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu";
4
4
  export declare const getShortcutFromShortcutName: (name: ShortcutName, idx?: number) => string;
@@ -1,7 +1,7 @@
1
- import type React from "react";
2
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
3
- import type { AppClassProperties, AppState, ExcalidrawProps, BinaryFiles, UIAppState } from "../types";
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
4
2
  import type { CaptureUpdateActionType } from "../store";
3
+ import type { AppClassProperties, AppState, ExcalidrawProps, BinaryFiles, UIAppState } from "../types";
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" | "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";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
20
  appState: AppState;
@@ -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,17 +1,29 @@
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;
8
4
  name?: string | null | undefined;
9
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
10
- showWelcomeScreen?: boolean | undefined;
11
5
  activeTool?: ({
12
6
  lastActiveTool: import("./types").ActiveTool | null;
13
7
  locked: boolean;
8
+ fromSelection: boolean;
14
9
  } & import("./types").ActiveTool) | undefined;
10
+ zoom?: Readonly<{
11
+ value: NormalizedZoomValue;
12
+ }> | undefined;
13
+ scrollX?: number | undefined;
14
+ scrollY?: number | undefined;
15
+ viewBackgroundColor?: string | undefined;
16
+ editingGroupId?: string | null | undefined;
17
+ selectedElementIds?: Readonly<{
18
+ [id: string]: true;
19
+ }> | undefined;
20
+ theme?: import("@excalidraw/element/types").Theme | undefined;
21
+ selectedGroupIds?: {
22
+ [groupId: string]: boolean;
23
+ } | undefined;
24
+ selectedLinearElement?: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null | undefined;
25
+ zenModeEnabled?: boolean | undefined;
26
+ showWelcomeScreen?: boolean | undefined;
15
27
  penMode?: boolean | undefined;
16
28
  penDetected?: boolean | undefined;
17
29
  exportBackground?: boolean | undefined;
@@ -20,63 +32,52 @@ 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;
68
69
  };
69
70
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
70
- gridModeEnabled?: boolean | undefined;
71
71
  viewBackgroundColor?: string | undefined;
72
72
  gridSize?: number | undefined;
73
73
  gridStep?: number | undefined;
74
+ gridModeEnabled?: boolean | undefined;
74
75
  };
75
76
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
76
- gridModeEnabled?: boolean | undefined;
77
77
  viewBackgroundColor?: string | undefined;
78
78
  gridSize?: number | undefined;
79
79
  gridStep?: number | undefined;
80
+ gridModeEnabled?: boolean | undefined;
80
81
  };
81
82
  export declare const isEraserActive: ({ activeTool, }: {
82
83
  activeTool: AppState["activeTool"];
@@ -1,7 +1,7 @@
1
- import type { ElementUpdate } from "./element/mutateElement";
2
- import type { ExcalidrawElement, Ordered, OrderedExcalidrawElement, SceneElementsMap } from "./element/types";
1
+ import type { ElementUpdate } from "@excalidraw/element/mutateElement";
2
+ import type { ExcalidrawElement, Ordered, OrderedExcalidrawElement, SceneElementsMap } from "@excalidraw/element/types";
3
+ import type { ValueOf } from "@excalidraw/common/utility-types";
3
4
  import type { AppState, ObservedAppState } from "./types";
4
- import type { ValueOf } from "./utility-types";
5
5
  /**
6
6
  * Represents the difference between two objects of the same type.
7
7
  *
@@ -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,7 @@
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 { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { Spreadsheet } from "./charts";
4
- import { ALLOWED_PASTE_MIME_TYPES } from "./constants";
4
+ import type { BinaryFiles } from "./types";
5
5
  export type PastedMixedContent = {
6
6
  type: "text" | "imageUrl";
7
7
  value: string;
@@ -21,6 +21,8 @@ export declare const probablySupportsClipboardWriteText: boolean;
21
21
  export declare const probablySupportsClipboardBlob: boolean;
22
22
  export declare const createPasteEvent: ({ types, files, }: {
23
23
  types?: {
24
+ "text/plain"?: string | File | undefined;
25
+ "text/html"?: string | File | undefined;
24
26
  "image/svg+xml"?: string | File | undefined;
25
27
  "image/png"?: string | File | undefined;
26
28
  "image/jpeg"?: string | File | undefined;
@@ -30,8 +32,6 @@ export declare const createPasteEvent: ({ types, files, }: {
30
32
  "image/x-icon"?: string | File | undefined;
31
33
  "image/avif"?: string | File | undefined;
32
34
  "image/jfif"?: string | File | undefined;
33
- "text/plain"?: string | File | undefined;
34
- "text/html"?: string | File | undefined;
35
35
  } | undefined;
36
36
  files?: File[] | undefined;
37
37
  }) => ClipboardEvent;
@@ -45,6 +45,8 @@ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawEl
45
45
  * Will prompt user for permission if not granted.
46
46
  */
47
47
  export declare const readSystemClipboard: () => Promise<{
48
+ "text/plain"?: string | File | undefined;
49
+ "text/html"?: string | File | undefined;
48
50
  "image/svg+xml"?: string | File | undefined;
49
51
  "image/png"?: string | File | undefined;
50
52
  "image/jpeg"?: string | File | undefined;
@@ -54,8 +56,6 @@ export declare const readSystemClipboard: () => Promise<{
54
56
  "image/x-icon"?: string | File | undefined;
55
57
  "image/avif"?: string | File | undefined;
56
58
  "image/jfif"?: string | File | undefined;
57
- "text/plain"?: string | File | undefined;
58
- "text/html"?: string | File | undefined;
59
59
  }>;
60
60
  /**
61
61
  * Attempts to parse clipboard event.
@@ -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 } 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, }: {
@@ -1,23 +1,26 @@
1
1
  import React from "react";
2
- import type { RoughCanvas } from "roughjs/bin/canvas";
2
+ import { type EXPORT_IMAGE_TYPES } from "@excalidraw/common";
3
+ import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
4
+ import { FlowChartCreator } from "@excalidraw/element/flowchart";
5
+ import Scene from "@excalidraw/element/Scene";
6
+ import type { ElementUpdate } from "@excalidraw/element/mutateElement";
7
+ import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
8
+ import type { Mutable } from "@excalidraw/common/utility-types";
3
9
  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";
10
+ import { AnimationFrameHandler } from "../animation-frame-handler";
9
11
  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
12
  import { Fonts } from "../fonts";
14
13
  import { Renderer } from "../scene/Renderer";
15
14
  import { Emitter } from "../emitter";
16
15
  import { Store } from "../store";
17
- import { AnimationFrameHandler } from "../animation-frame-handler";
18
- import { AnimatedTrail } from "../animated-trail";
19
16
  import { LaserTrails } from "../laser-trails";
20
- import { FlowChartCreator } from "../element/flowchart";
17
+ import { LassoTrail } from "../lasso";
18
+ import { EraserTrail } from "../eraser";
19
+ import type { ExportedElements } from "../data";
20
+ import type { FileSystemHandle } from "../data/filesystem";
21
+ import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
22
+ import type { RoughCanvas } from "roughjs/bin/canvas";
23
+ import type { ActionResult } from "../actions/types";
21
24
  export declare const ExcalidrawContainerContext: React.Context<{
22
25
  container: HTMLDivElement | null;
23
26
  id: string | null;
@@ -96,11 +99,13 @@ declare class App extends React.Component<AppProps, AppState> {
96
99
  };
97
100
  animationFrameHandler: AnimationFrameHandler;
98
101
  laserTrails: LaserTrails;
99
- eraserTrail: AnimatedTrail;
102
+ eraserTrail: EraserTrail;
103
+ lassoTrail: LassoTrail;
100
104
  onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
101
105
  onPointerDownEmitter: Emitter<[activeTool: {
102
106
  lastActiveTool: import("../types").ActiveTool | null;
103
107
  locked: boolean;
108
+ fromSelection: boolean;
104
109
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
105
110
  origin: Readonly<{
106
111
  x: number;
@@ -121,7 +126,7 @@ declare class App extends React.Component<AppProps, AppState> {
121
126
  };
122
127
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
123
128
  resize: {
124
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
129
+ handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
125
130
  isResizing: boolean;
126
131
  offset: {
127
132
  x: number;
@@ -147,6 +152,10 @@ declare class App extends React.Component<AppProps, AppState> {
147
152
  x: number;
148
153
  y: number;
149
154
  } | null;
155
+ origin: {
156
+ x: number;
157
+ y: number;
158
+ };
150
159
  };
151
160
  eventListeners: {
152
161
  onMove: {
@@ -165,6 +174,7 @@ declare class App extends React.Component<AppProps, AppState> {
165
174
  onPointerUpEmitter: Emitter<[activeTool: {
166
175
  lastActiveTool: import("../types").ActiveTool | null;
167
176
  locked: boolean;
177
+ fromSelection: boolean;
168
178
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
169
179
  origin: Readonly<{
170
180
  x: number;
@@ -185,7 +195,7 @@ declare class App extends React.Component<AppProps, AppState> {
185
195
  };
186
196
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
187
197
  resize: {
188
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
198
+ handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
189
199
  isResizing: boolean;
190
200
  offset: {
191
201
  x: number;
@@ -211,6 +221,10 @@ declare class App extends React.Component<AppProps, AppState> {
211
221
  x: number;
212
222
  y: number;
213
223
  } | null;
224
+ origin: {
225
+ x: number;
226
+ y: number;
227
+ };
214
228
  };
215
229
  eventListeners: {
216
230
  onMove: {
@@ -253,7 +267,7 @@ declare class App extends React.Component<AppProps, AppState> {
253
267
  private toggleOverscrollBehavior;
254
268
  render(): import("react/jsx-runtime").JSX.Element;
255
269
  focusContainer: AppClassProperties["focusContainer"];
256
- getSceneElementsIncludingDeleted: () => readonly import("../element/types").OrderedExcalidrawElement[];
270
+ getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
257
271
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
258
272
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
259
273
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -384,6 +398,7 @@ declare class App extends React.Component<AppProps, AppState> {
384
398
  */
385
399
  captureUpdate?: SceneData["captureUpdate"];
386
400
  }) => void;
401
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
387
402
  private triggerRender;
388
403
  /**
389
404
  * @returns whether the menu was toggled on or off
@@ -408,7 +423,8 @@ declare class App extends React.Component<AppProps, AppState> {
408
423
  customType: string;
409
424
  }) & {
410
425
  locked?: boolean;
411
- }) => void;
426
+ fromSelection?: boolean;
427
+ }, keepSelection?: boolean) => void;
412
428
  setOpenDialog: (dialogType: AppState["openDialog"]) => void;
413
429
  private setCursor;
414
430
  private resetCursor;
@@ -428,7 +444,7 @@ declare class App extends React.Component<AppProps, AppState> {
428
444
  private getTextElementAtPosition;
429
445
  private getElementAtPosition;
430
446
  private getElementsAtPosition;
431
- private getElementHitThreshold;
447
+ getElementHitThreshold(): number;
432
448
  private hitElement;
433
449
  private getTextBindableContainerAtPosition;
434
450
  private startTextEditing;
@@ -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;
@@ -1,8 +1,8 @@
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;