@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,25 +1,23 @@
1
- import type { JSX } from "react";
2
- import type React from "react";
3
- import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, FileId, ExcalidrawImageElement, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "./element/types";
1
+ import type { IMAGE_MIME_TYPES, UserIdleState, throttleRAF, MIME_TYPES } from "@excalidraw/common";
2
+ import type { SuggestedBinding } from "@excalidraw/element";
3
+ import type { LinearElementEditor } from "@excalidraw/element";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element";
5
+ import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, FileId, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "@excalidraw/element/types";
6
+ import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
7
+ import type { CaptureUpdateActionType, DurableIncrement, EphemeralIncrement } from "@excalidraw/element";
4
8
  import type { Action } from "./actions/types";
5
- import type { LinearElementEditor } from "./element/linearElementEditor";
6
- import type { SuggestedBinding } from "./element/binding";
7
- import type { ImportedDataState } from "./data/types";
8
- import type App from "./components/App";
9
- import type { throttleRAF } from "./utils";
10
9
  import type { Spreadsheet } from "./charts";
11
- import type { Language } from "./i18n";
12
10
  import type { ClipboardData } from "./clipboard";
13
- import type { isOverScrollBars } from "./scene/scrollbars";
14
- import type { MaybeTransformHandleType } from "./element/transformHandles";
11
+ import type App from "./components/App";
15
12
  import type Library from "./data/library";
16
13
  import type { FileSystemHandle } from "./data/filesystem";
17
- import type { IMAGE_MIME_TYPES, MIME_TYPES } from "./constants";
18
14
  import type { ContextMenuItems } from "./components/ContextMenu";
19
15
  import type { SnapLine } from "./snapping";
20
- import type { Merge, MaybePromise, ValueOf, MakeBrand } from "./utility-types";
21
- import type { CaptureUpdateActionType } from "./store";
22
- import type { UserIdleState } from "./constants";
16
+ import type { ImportedDataState } from "./data/types";
17
+ import type { Language } from "./i18n";
18
+ import type { isOverScrollBars } from "./scene/scrollbars";
19
+ import type React from "react";
20
+ import type { JSX } from "react";
23
21
  export type SocketId = string & {
24
22
  _brand: "SocketId";
25
23
  };
@@ -86,7 +84,7 @@ export type BinaryFileData = {
86
84
  };
87
85
  export type BinaryFileMetadata = Omit<BinaryFileData, "dataURL">;
88
86
  export type BinaryFiles = Record<ExcalidrawElement["id"], BinaryFileData>;
89
- export type ToolType = "selection" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
87
+ export type ToolType = "selection" | "lasso" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
90
88
  export type ElementOrToolType = ExcalidrawElementType | ToolType | "custom";
91
89
  export type ActiveTool = {
92
90
  type: ToolType;
@@ -115,7 +113,6 @@ type _CommonCanvasAppState = {
115
113
  offsetLeft: AppState["offsetLeft"];
116
114
  offsetTop: AppState["offsetTop"];
117
115
  theme: AppState["theme"];
118
- pendingImageElementId: AppState["pendingImageElementId"];
119
116
  };
120
117
  export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
121
118
  shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
@@ -132,7 +129,6 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
132
129
  }>;
133
130
  export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
134
131
  activeEmbeddable: AppState["activeEmbeddable"];
135
- editingLinearElement: AppState["editingLinearElement"];
136
132
  selectionElement: AppState["selectionElement"];
137
133
  selectedGroupIds: AppState["selectedGroupIds"];
138
134
  selectedLinearElement: AppState["selectedLinearElement"];
@@ -148,6 +144,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
148
144
  isCropping: AppState["isCropping"];
149
145
  croppingElementId: AppState["croppingElementId"];
150
146
  searchMatches: AppState["searchMatches"];
147
+ activeLockedId: AppState["activeLockedId"];
151
148
  }>;
152
149
  export type ObservedAppState = ObservedStandaloneAppState & ObservedElementsAppState;
153
150
  export type ObservedStandaloneAppState = {
@@ -158,9 +155,13 @@ export type ObservedElementsAppState = {
158
155
  editingGroupId: AppState["editingGroupId"];
159
156
  selectedElementIds: AppState["selectedElementIds"];
160
157
  selectedGroupIds: AppState["selectedGroupIds"];
161
- editingLinearElementId: LinearElementEditor["elementId"] | null;
162
- selectedLinearElementId: LinearElementEditor["elementId"] | null;
158
+ selectedLinearElement: {
159
+ elementId: LinearElementEditor["elementId"];
160
+ isEditing: boolean;
161
+ } | null;
163
162
  croppingElementId: AppState["croppingElementId"];
163
+ lockedMultiSelections: AppState["lockedMultiSelections"];
164
+ activeLockedId: AppState["activeLockedId"];
164
165
  };
165
166
  export interface AppState {
166
167
  contextMenu: {
@@ -211,7 +212,6 @@ export interface AppState {
211
212
  * set when a new text is created or when an existing text is being edited
212
213
  */
213
214
  editingTextElement: NonDeletedExcalidrawElement | null;
214
- editingLinearElement: LinearElementEditor | null;
215
215
  activeTool: {
216
216
  /**
217
217
  * indicates a previous tool we should revert back to if we deselect the
@@ -219,6 +219,7 @@ export interface AppState {
219
219
  */
220
220
  lastActiveTool: ActiveTool | null;
221
221
  locked: boolean;
222
+ fromSelection: boolean;
222
223
  } & ActiveTool;
223
224
  penMode: boolean;
224
225
  penDetected: boolean;
@@ -251,7 +252,7 @@ export interface AppState {
251
252
  isRotating: boolean;
252
253
  zoom: Zoom;
253
254
  openMenu: "canvas" | "shape" | null;
254
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | null;
255
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
255
256
  openSidebar: {
256
257
  name: SidebarName;
257
258
  tab?: SidebarTabName;
@@ -325,8 +326,6 @@ export interface AppState {
325
326
  shown: true;
326
327
  data: Spreadsheet;
327
328
  };
328
- /** imageElement waiting to be placed on canvas */
329
- pendingImageElementId: ExcalidrawImageElement["id"] | null;
330
329
  showHyperlinkPopup: false | "info" | "editor";
331
330
  selectedLinearElement: LinearElementEditor | null;
332
331
  snapLines: readonly SnapLine[];
@@ -342,9 +341,20 @@ export interface AppState {
342
341
  /** image cropping */
343
342
  isCropping: boolean;
344
343
  croppingElementId: ExcalidrawElement["id"] | null;
345
- searchMatches: readonly SearchMatch[];
344
+ /** null if no search matches found / search closed */
345
+ searchMatches: Readonly<{
346
+ focusedId: ExcalidrawElement["id"] | null;
347
+ matches: readonly SearchMatch[];
348
+ }> | null;
349
+ /** the locked element/group that's active and shows unlock popup */
350
+ activeLockedId: string | null;
351
+ lockedMultiSelections: {
352
+ [groupId: string]: true;
353
+ };
354
+ /** properties sidebar mode - determines whether to show compact or complete sidebar */
355
+ stylesPanelMode: "compact" | "full";
346
356
  }
347
- type SearchMatch = {
357
+ export type SearchMatch = {
348
358
  id: string;
349
359
  focus: boolean;
350
360
  matchedLines: {
@@ -352,6 +362,7 @@ type SearchMatch = {
352
362
  offsetY: number;
353
363
  width: number;
354
364
  height: number;
365
+ showOnCanvas: boolean;
355
366
  }[];
356
367
  };
357
368
  export type UIAppState = Omit<AppState, "suggestedBindings" | "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
@@ -404,6 +415,7 @@ export type OnUserFollowedPayload = {
404
415
  };
405
416
  export interface ExcalidrawProps {
406
417
  onChange?: (elements: readonly OrderedExcalidrawElement[], appState: AppState, files: BinaryFiles) => void;
418
+ onIncrement?: (event: DurableIncrement | EphemeralIncrement) => void;
407
419
  initialData?: (() => MaybePromise<ExcalidrawInitialDataState | null>) | MaybePromise<ExcalidrawInitialDataState | null>;
408
420
  excalidrawAPI?: (api: ExcalidrawImperativeAPI) => void;
409
421
  isCollaborating?: boolean;
@@ -460,6 +472,7 @@ export interface ExcalidrawProps {
460
472
  renderEmbeddable?: (element: NonDeleted<ExcalidrawEmbeddableElement>, appState: AppState) => JSX.Element | null;
461
473
  aiEnabled?: boolean;
462
474
  showDeprecatedFonts?: boolean;
475
+ renderScrollbars?: boolean;
463
476
  }
464
477
  export type SceneData = {
465
478
  elements?: ImportedDataState["elements"];
@@ -545,6 +558,8 @@ export type AppClassProperties = {
545
558
  visibleElements: App["visibleElements"];
546
559
  excalidrawContainerValue: App["excalidrawContainerValue"];
547
560
  onPointerUpEmitter: App["onPointerUpEmitter"];
561
+ updateEditorAtom: App["updateEditorAtom"];
562
+ defaultSelectionTool: "selection" | "lasso";
548
563
  };
549
564
  export type PointerDownState = Readonly<{
550
565
  origin: Readonly<{
@@ -588,6 +603,11 @@ export type PointerDownState = Readonly<{
588
603
  x: number;
589
604
  y: number;
590
605
  } | null;
606
+ origin: {
607
+ x: number;
608
+ y: number;
609
+ };
610
+ blockDragging: boolean;
591
611
  };
592
612
  eventListeners: {
593
613
  onMove: null | ReturnType<typeof throttleRAF>;
@@ -602,9 +622,12 @@ export type PointerDownState = Readonly<{
602
622
  export type UnsubscribeCallback = () => void;
603
623
  export interface ExcalidrawImperativeAPI {
604
624
  updateScene: InstanceType<typeof App>["updateScene"];
625
+ applyDeltas: InstanceType<typeof App>["applyDeltas"];
626
+ mutateElement: InstanceType<typeof App>["mutateElement"];
605
627
  updateLibrary: InstanceType<typeof Library>["updateLibrary"];
606
628
  resetScene: InstanceType<typeof App>["resetScene"];
607
629
  getSceneElementsIncludingDeleted: InstanceType<typeof App>["getSceneElementsIncludingDeleted"];
630
+ getSceneElementsMapIncludingDeleted: InstanceType<typeof App>["getSceneElementsMapIncludingDeleted"];
608
631
  history: {
609
632
  clear: InstanceType<typeof App>["resetHistory"];
610
633
  };
@@ -629,6 +652,7 @@ export interface ExcalidrawImperativeAPI {
629
652
  */
630
653
  updateFrameRendering: InstanceType<typeof App>["updateFrameRendering"];
631
654
  onChange: (callback: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles) => void) => UnsubscribeCallback;
655
+ onIncrement: (callback: (event: DurableIncrement | EphemeralIncrement) => void) => UnsubscribeCallback;
632
656
  onPointerDown: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: React.PointerEvent<HTMLElement>) => void) => UnsubscribeCallback;
633
657
  onPointerUp: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: PointerEvent) => void) => UnsubscribeCallback;
634
658
  onScrollChange: (callback: (scrollX: number, scrollY: number, zoom: Zoom) => void) => UnsubscribeCallback;
@@ -1,5 +1,6 @@
1
- import type { ExcalidrawElement, ExcalidrawTextElement } from "./types";
1
+ import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
2
2
  import type App from "../components/App";
3
+ type SubmitHandler = () => void;
3
4
  export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
5
  id: ExcalidrawElement["id"];
5
6
  /**
@@ -19,4 +20,5 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
19
20
  excalidrawContainer: HTMLDivElement | null;
20
21
  app: App;
21
22
  autoSelect?: boolean | undefined;
22
- }) => void;
23
+ }) => SubmitHandler;
24
+ export {};
@@ -15,3 +15,5 @@ export declare function radiansToDegrees(degrees: Radians): Degrees;
15
15
  * @returns TRUE if the provided angle is a right angle
16
16
  */
17
17
  export declare function isRightAngleRads(rads: Radians): boolean;
18
+ export declare function radiansBetweenAngles(a: Radians, min: Radians, max: Radians): boolean;
19
+ export declare function radiansDifference(a: Radians, b: Radians): Radians;
@@ -0,0 +1,3 @@
1
+ export declare const PRECISION = 0.0001;
2
+ export declare const LegendreGaussN24TValues: number[];
3
+ export declare const LegendreGaussN24CValues: number[];
@@ -0,0 +1,74 @@
1
+ import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
2
+ /**
3
+ *
4
+ * @param a
5
+ * @param b
6
+ * @param c
7
+ * @param d
8
+ * @returns
9
+ */
10
+ export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
11
+ export declare const bezierEquation: <Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, t: number) => Point;
12
+ /**
13
+ * Computes the intersection between a cubic spline and a line segment.
14
+ */
15
+ export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
16
+ /**
17
+ * Finds the closest point on the Bezier curve from another point
18
+ *
19
+ * @param x
20
+ * @param y
21
+ * @param P0
22
+ * @param P1
23
+ * @param P2
24
+ * @param P3
25
+ * @param tolerance
26
+ * @param maxLevel
27
+ * @returns
28
+ */
29
+ export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
30
+ /**
31
+ * Determines the distance between a point and the closest point on the
32
+ * Bezier curve.
33
+ *
34
+ * @param c The curve to test
35
+ * @param p The point to measure from
36
+ */
37
+ export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
38
+ /**
39
+ * Determines if the parameter is a Curve
40
+ */
41
+ export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
42
+ export declare function curveTangent<Point extends GlobalPoint | LocalPoint>([p0, p1, p2, p3]: Curve<Point>, t: number): import("./types").Vector;
43
+ export declare function curveCatmullRomQuadraticApproxPoints(points: GlobalPoint[], tension?: number): [GlobalPoint, GlobalPoint][] | undefined;
44
+ export declare function curveCatmullRomCubicApproxPoints<Point extends GlobalPoint | LocalPoint>(points: Point[], tension?: number): Curve<Point>[] | undefined;
45
+ export declare function curveOffsetPoints([p0, p1, p2, p3]: Curve<GlobalPoint>, offset: number, steps?: number): GlobalPoint[];
46
+ export declare function offsetPointsForQuadraticBezier(p0: GlobalPoint, p1: GlobalPoint, p2: GlobalPoint, offsetDist: number, steps?: number): GlobalPoint[];
47
+ /**
48
+ * Implementation based on Legendre-Gauss quadrature for more accurate arc
49
+ * length calculation.
50
+ *
51
+ * Reference: https://pomax.github.io/bezierinfo/#arclength
52
+ *
53
+ * @param c The curve to calculate the length of
54
+ * @returns The approximated length of the curve
55
+ */
56
+ export declare function curveLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>): number;
57
+ /**
58
+ * Calculates the curve length from t=0 to t=parameter using the same
59
+ * Legendre-Gauss quadrature method used in curveLength
60
+ *
61
+ * @param c The curve to calculate the partial length for
62
+ * @param t The parameter value (0 to 1) to calculate length up to
63
+ * @returns The length of the curve from beginning to parameter t
64
+ */
65
+ export declare function curveLengthAtParameter<P extends GlobalPoint | LocalPoint>(c: Curve<P>, t: number): number;
66
+ /**
67
+ * Calculates the point at a specific percentage of a curve's total length
68
+ * using binary search for improved efficiency and accuracy.
69
+ *
70
+ * @param c The curve to calculate point on
71
+ * @param percent A value between 0 and 1 representing the percentage of the curve's length
72
+ * @returns The point at the specified percentage of curve length
73
+ */
74
+ export declare function curvePointAtLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>, percent: number): P;
@@ -1,5 +1,6 @@
1
1
  export * from "./angle";
2
2
  export * from "./curve";
3
+ export * from "./ellipse";
3
4
  export * from "./line";
4
5
  export * from "./point";
5
6
  export * from "./polygon";
@@ -43,9 +43,9 @@ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
43
43
  * @param b Point The second point to compare
44
44
  * @returns TRUE if the points are sufficiently close to each other
45
45
  */
46
- export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
46
+ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, tolerance?: number): boolean;
47
47
  /**
48
- * Roate a point by [angle] radians.
48
+ * Rotate a point by [angle] radians.
49
49
  *
50
50
  * @param point The point to rotate
51
51
  * @param center The point to rotate around, the center point
@@ -54,7 +54,7 @@ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: P
54
54
  */
55
55
  export declare function pointRotateRads<Point extends GlobalPoint | LocalPoint>([x, y]: Point, [cx, cy]: Point, angle: Radians): Point;
56
56
  /**
57
- * Roate a point by [angle] degree.
57
+ * Rotate a point by [angle] degree.
58
58
  *
59
59
  * @param point The point to rotate
60
60
  * @param center The point to rotate around, the center point
@@ -2,4 +2,5 @@ import type { GlobalPoint, LocalPoint, Polygon } from "./types";
2
2
  export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
3
3
  export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
4
4
  export declare const polygonIncludesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
5
+ export declare const polygonIncludesPointNonZero: <Point extends [number, number]>(point: Point, polygon: Point[]) => boolean;
5
6
  export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
@@ -1,3 +1,5 @@
1
1
  import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
2
2
  export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
3
+ export declare function rectangleFromNumberSequence<Point extends LocalPoint | GlobalPoint>(minX: number, minY: number, maxX: number, maxY: number): Rectangle<Point>;
3
4
  export declare function rectangleIntersectLineSegment<Point extends LocalPoint | GlobalPoint>(r: Rectangle<Point>, l: LineSegment<Point>): Point[];
5
+ export declare function rectangleIntersectRectangle<Point extends LocalPoint | GlobalPoint>(rectangle1: Rectangle<Point>, rectangle2: Rectangle<Point>): boolean;
@@ -36,4 +36,5 @@ export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPo
36
36
  * @param s
37
37
  * @returns
38
38
  */
39
- export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>): Point | null;
39
+ export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>, threshold?: number): Point | null;
40
+ export declare function lineSegmentsDistance<Point extends GlobalPoint | LocalPoint>(s1: LineSegment<Point>, s2: LineSegment<Point>): number;
@@ -103,3 +103,4 @@ export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
103
103
  } & {
104
104
  _brand: "excalimath_ellipse";
105
105
  };
106
+ export type ElementsSegmentsMap = Map<string, LineSegment<GlobalPoint>[]>;
@@ -12,9 +12,11 @@ export declare function vector(x: number, y: number, originX?: number, originY?:
12
12
  *
13
13
  * @param p The point to turn into a vector
14
14
  * @param origin The origin point in a given coordiante system
15
- * @returns The created vector from the point and the origin
15
+ * @param threshold The threshold to consider the vector as 'undefined'
16
+ * @param defaultValue The default value to return if the vector is 'undefined'
17
+ * @returns The created vector from the point and the origin or default
16
18
  */
17
- export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
19
+ export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point, threshold?: number, defaultValue?: Vector): Vector;
18
20
  /**
19
21
  * Cross product is a binary operation on two vectors in 2D space.
20
22
  * It results in a vector that is perpendicular to both vectors.
@@ -86,3 +88,7 @@ export declare function vectorMagnitude(v: Vector): number;
86
88
  * @returns The new normalized vector
87
89
  */
88
90
  export declare const vectorNormalize: (v: Vector) => Vector;
91
+ /**
92
+ * Calculate the right-hand normal of the vector.
93
+ */
94
+ export declare const vectorNormal: (v: Vector) => Vector;
@@ -1,5 +1,5 @@
1
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/excalidraw/element/bounds";
2
+ import type { Bounds } from "@excalidraw/element";
3
3
  export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
4
4
  export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
5
5
  export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
@@ -1,6 +1,6 @@
1
+ import { MIME_TYPES } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
1
3
  import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
2
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/excalidraw/element/types";
3
- import { MIME_TYPES } from "@excalidraw/excalidraw/constants";
4
4
  export { MIME_TYPES };
5
5
  type ExportOpts = {
6
6
  elements: readonly NonDeleted<ExcalidrawElement>[];
@@ -1,4 +1,4 @@
1
1
  export * from "./export";
2
2
  export * from "./withinBounds";
3
3
  export * from "./bbox";
4
- export { getCommonBounds } from "@excalidraw/excalidraw/element/bounds";
4
+ export { getCommonBounds } from "@excalidraw/element";
@@ -1,19 +1,6 @@
1
- /**
2
- * this file defines pure geometric shapes
3
- *
4
- * for instance, a cubic bezier curve is specified by its four control points and
5
- * an ellipse is defined by its center, angle, semi major axis and semi minor axis
6
- * (but in semi-width and semi-height so it's more relevant to Excalidraw)
7
- *
8
- * the idea with pure shapes is so that we can provide collision and other geoemtric methods not depending on
9
- * the specifics of roughjs or elements in Excalidraw; instead, we can focus on the pure shapes themselves
10
- *
11
- * also included in this file are methods for converting an Excalidraw element or a Drawable from roughjs
12
- * to pure shapes
13
- */
14
- import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
15
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
16
- import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/excalidraw/element/types";
2
+ import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/element/types";
3
+ import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
17
4
  import type { Drawable, Op } from "roughjs/bin/core";
18
5
  export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
19
6
  export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
@@ -1,5 +1,5 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/excalidraw/element/types";
2
- import type { Bounds } from "@excalidraw/excalidraw/element/bounds";
1
+ import type { Bounds } from "@excalidraw/element";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  type Element = NonDeletedExcalidrawElement;
4
4
  type Elements = readonly NonDeletedExcalidrawElement[];
5
5
  export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;