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

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 (268) 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-3SN6HYVK.js → chunk-GBJ7S76A.js} +15490 -22586
  5. package/dist/dev/chunk-GBJ7S76A.js.map +7 -0
  6. package/dist/dev/{chunk-53KHN5WM.js → chunk-GIMGG4AT.js} +2 -2
  7. package/dist/dev/{chunk-53KHN5WM.js.map → chunk-GIMGG4AT.js.map} +1 -1
  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-JN3Y4CVN.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 +30389 -22974
  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-G5N3DNGT.js → chunk-GKI4RZ6C.js} +1 -1
  19. package/dist/prod/{chunk-6U3AYISY.js → chunk-IUH5AXLB.js} +1 -1
  20. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  21. package/dist/prod/chunk-TVF64BAY.js +33 -0
  22. package/dist/prod/data/image-CZ2OEVDB.js +1 -0
  23. package/dist/prod/index.css +1 -1
  24. package/dist/prod/index.js +18 -15
  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 +10 -12
  36. package/dist/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
  37. package/dist/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
  38. package/dist/types/{excalidraw → element/src}/align.d.ts +2 -2
  39. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +8 -8
  40. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +7 -2
  41. package/dist/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
  42. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  43. package/dist/types/{excalidraw → element/src}/distribute.d.ts +1 -1
  44. package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +3 -3
  45. package/dist/types/element/src/duplicate.d.ts +63 -0
  46. package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
  47. package/dist/types/element/src/embeddable.d.ts +10 -0
  48. package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +1 -1
  49. package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +4 -1
  50. package/dist/types/{excalidraw → element/src}/frame.d.ts +7 -7
  51. package/dist/types/{excalidraw → element/src}/groups.d.ts +5 -5
  52. package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
  53. package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
  54. package/dist/types/{excalidraw/element → element/src}/index.d.ts +0 -10
  55. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +7 -7
  56. package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +1 -1
  57. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +3 -43
  58. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
  59. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +4 -4
  60. package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
  61. package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
  62. package/dist/types/element/src/shapes.d.ts +23 -0
  63. package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
  64. package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -1
  65. package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +5 -5
  66. package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
  67. package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +2 -2
  68. package/dist/types/{excalidraw/element → element/src}/types.d.ts +2 -2
  69. package/dist/types/{excalidraw → element/src}/zindex.d.ts +5 -4
  70. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +73 -70
  71. package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
  72. package/dist/types/excalidraw/actions/actionBoundText.d.ts +54 -52
  73. package/dist/types/excalidraw/actions/actionCanvas.d.ts +542 -353
  74. package/dist/types/excalidraw/actions/actionClipboard.d.ts +155 -149
  75. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +26 -25
  76. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +73 -70
  77. package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
  78. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
  79. package/dist/types/excalidraw/actions/actionElementLink.d.ts +30 -29
  80. package/dist/types/excalidraw/actions/actionElementLock.d.ts +53 -52
  81. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +26 -35
  82. package/dist/types/excalidraw/actions/actionExport.d.ts +300 -291
  83. package/dist/types/excalidraw/actions/actionFinalize.d.ts +41 -39
  84. package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
  85. package/dist/types/excalidraw/actions/actionFrame.d.ts +212 -208
  86. package/dist/types/excalidraw/actions/actionGroup.d.ts +51 -49
  87. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -1
  88. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +27 -26
  89. package/dist/types/excalidraw/actions/actionLink.d.ts +26 -25
  90. package/dist/types/excalidraw/actions/actionMenu.d.ts +73 -70
  91. package/dist/types/excalidraw/actions/actionNavigate.d.ts +48 -46
  92. package/dist/types/excalidraw/actions/actionProperties.d.ts +317 -302
  93. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +26 -25
  94. package/dist/types/excalidraw/actions/actionStyles.d.ts +28 -27
  95. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  96. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +26 -25
  97. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +26 -25
  98. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +50 -48
  99. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +25 -25
  100. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +26 -26
  101. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +26 -26
  102. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  103. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  104. package/dist/types/excalidraw/actions/manager.d.ts +2 -2
  105. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  106. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  107. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  108. package/dist/types/excalidraw/appState.d.ts +32 -31
  109. package/dist/types/excalidraw/change.d.ts +3 -3
  110. package/dist/types/excalidraw/charts.d.ts +1 -1
  111. package/dist/types/excalidraw/clipboard.d.ts +7 -7
  112. package/dist/types/excalidraw/components/Actions.d.ts +3 -3
  113. package/dist/types/excalidraw/components/App.d.ts +38 -19
  114. package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
  115. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -1
  116. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  117. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  118. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
  119. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  120. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  121. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
  122. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  123. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  124. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  125. package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
  126. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  127. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  128. package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  129. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  130. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +2 -2
  131. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  132. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  133. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  134. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  135. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  136. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
  137. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  138. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  139. package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
  140. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  141. package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
  142. package/dist/types/excalidraw/components/Island.d.ts +1 -1
  143. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  144. package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
  145. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  146. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  147. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
  148. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  149. package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  150. package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
  151. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
  152. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  153. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  154. package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  155. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  156. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  157. package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  158. package/dist/types/excalidraw/components/Stack.d.ts +1 -1
  159. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  160. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  161. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  162. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  163. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  164. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  165. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  166. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  167. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  168. package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
  169. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  170. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  171. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
  172. package/dist/types/excalidraw/components/TextField.d.ts +1 -1
  173. package/dist/types/excalidraw/components/Toast.d.ts +1 -1
  174. package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
  175. package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
  176. package/dist/types/excalidraw/components/UserList.d.ts +1 -1
  177. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -3
  178. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  179. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  180. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  181. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  182. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  183. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  184. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  185. package/dist/types/excalidraw/components/icons.d.ts +2 -1
  186. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  187. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  188. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  189. package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
  190. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  191. package/dist/types/excalidraw/data/blob.d.ts +4 -4
  192. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  193. package/dist/types/excalidraw/data/index.d.ts +2 -2
  194. package/dist/types/excalidraw/data/json.d.ts +1 -1
  195. package/dist/types/excalidraw/data/library.d.ts +3 -3
  196. package/dist/types/excalidraw/data/reconcile.d.ts +2 -2
  197. package/dist/types/excalidraw/data/resave.d.ts +1 -1
  198. package/dist/types/excalidraw/data/restore.d.ts +1 -1
  199. package/dist/types/excalidraw/data/transform.d.ts +4 -4
  200. package/dist/types/excalidraw/data/types.d.ts +3 -3
  201. package/dist/types/excalidraw/eraser/index.d.ts +14 -0
  202. package/dist/types/excalidraw/errors.d.ts +0 -3
  203. package/dist/types/excalidraw/fonts/Fonts.d.ts +2 -12
  204. package/dist/types/excalidraw/history.d.ts +2 -2
  205. package/dist/types/excalidraw/i18n.d.ts +1 -1
  206. package/dist/types/excalidraw/index.d.ts +15 -14
  207. package/dist/types/excalidraw/laser-trails.d.ts +1 -1
  208. package/dist/types/excalidraw/lasso/index.d.ts +15 -0
  209. package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
  210. package/dist/types/excalidraw/renderer/helpers.d.ts +2 -2
  211. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  212. package/dist/types/excalidraw/scene/Renderer.d.ts +3 -3
  213. package/dist/types/excalidraw/scene/Scene.d.ts +5 -5
  214. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  215. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  216. package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
  217. package/dist/types/excalidraw/scene/scrollbars.d.ts +1 -1
  218. package/dist/types/excalidraw/scene/types.d.ts +4 -4
  219. package/dist/types/excalidraw/snapping.d.ts +5 -6
  220. package/dist/types/excalidraw/store.d.ts +2 -2
  221. package/dist/types/excalidraw/types.d.ts +18 -15
  222. package/dist/types/excalidraw/visualdebug.d.ts +2 -2
  223. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +1 -1
  224. package/dist/types/math/{point.d.ts → src/point.d.ts} +2 -2
  225. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  226. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
  227. package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
  228. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  229. package/dist/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
  230. package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
  231. package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  232. package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
  233. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  234. package/history.ts +4 -2
  235. package/package.json +14 -2
  236. package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
  237. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  238. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  239. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  240. package/dist/prod/chunk-36CXSE6H.js +0 -34
  241. package/dist/prod/chunk-EIO257PC.js +0 -86
  242. package/dist/prod/data/image-N4WCURRR.js +0 -1
  243. package/dist/types/excalidraw/shapes.d.ts +0 -85
  244. package/dist/dev/data/{image-V26YBSDB.js.map → image-JN3Y4CVN.js.map} +0 -0
  245. package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-CKWC2GMK.js.map} +0 -0
  246. package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
  247. package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
  248. package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
  249. package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  250. package/dist/types/{excalidraw → common/src}/utility-types.d.ts +0 -0
  251. package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  252. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +0 -0
  253. package/dist/types/{excalidraw/element → element/src}/distance.d.ts +0 -0
  254. package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +0 -0
  255. package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  256. package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  257. package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  258. package/dist/types/{excalidraw/element → element/src}/utils.d.ts +1 -1
  259. /package/dist/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
  260. /package/dist/types/math/{curve.d.ts → src/curve.d.ts} +0 -0
  261. /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  262. /package/dist/types/math/{index.d.ts → src/index.d.ts} +0 -0
  263. /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
  264. /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
  265. /package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +0 -0
  266. /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  267. /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
  268. /package/dist/types/math/{vector.d.ts → src/vector.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
- import type { InclusiveRange } from "@excalidraw/math";
2
1
  import { type GlobalPoint } from "@excalidraw/math";
3
- import type { Bounds } from "./element/bounds";
4
- import type { MaybeTransformHandleType } from "./element/transformHandles";
5
- import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
6
- import type { AppClassProperties, AppState, KeyboardModifiersObject, NullableGridSize } from "./types";
2
+ import type { InclusiveRange } from "@excalidraw/math";
3
+ import type { Bounds } from "@excalidraw/element/bounds";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element/transformHandles";
5
+ import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
6
+ import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
7
7
  export declare const getSnapDistance: (zoomValue: number) => number;
8
8
  type Vector2D = {
9
9
  x: number;
@@ -108,5 +108,4 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
108
108
  snapLines: PointerSnapLine[];
109
109
  };
110
110
  export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
111
- export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) => [number, number];
112
111
  export {};
@@ -1,8 +1,8 @@
1
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
1
3
  import { AppStateChange, ElementsChange } from "./change";
2
- import type { OrderedExcalidrawElement } from "./element/types";
3
4
  import { Emitter } from "./emitter";
4
5
  import type { AppState, ObservedAppState } from "./types";
5
- import type { ValueOf } from "./utility-types";
6
6
  export declare const getObservedAppState: (appState: AppState) => ObservedAppState;
7
7
  export declare const CaptureUpdateAction: {
8
8
  /**
@@ -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/binding";
3
+ import type { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element/transformHandles";
5
+ 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 "@excalidraw/element/types";
6
+ import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
4
7
  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
8
  import type { Spreadsheet } from "./charts";
11
- import type { Language } from "./i18n";
12
9
  import type { ClipboardData } from "./clipboard";
13
- import type { isOverScrollBars } from "./scene/scrollbars";
14
- import type { MaybeTransformHandleType } from "./element/transformHandles";
10
+ import type App from "./components/App";
15
11
  import type Library from "./data/library";
16
12
  import type { FileSystemHandle } from "./data/filesystem";
17
- import type { IMAGE_MIME_TYPES, MIME_TYPES } from "./constants";
18
13
  import type { ContextMenuItems } from "./components/ContextMenu";
19
14
  import type { SnapLine } from "./snapping";
20
- import type { Merge, MaybePromise, ValueOf, MakeBrand } from "./utility-types";
21
15
  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;
@@ -219,6 +217,7 @@ export interface AppState {
219
217
  */
220
218
  lastActiveTool: ActiveTool | null;
221
219
  locked: boolean;
220
+ fromSelection: boolean;
222
221
  } & ActiveTool;
223
222
  penMode: boolean;
224
223
  penDetected: boolean;
@@ -588,6 +587,10 @@ export type PointerDownState = Readonly<{
588
587
  x: number;
589
588
  y: number;
590
589
  } | null;
590
+ origin: {
591
+ x: number;
592
+ y: number;
593
+ };
591
594
  };
592
595
  eventListeners: {
593
596
  onMove: null | ReturnType<typeof throttleRAF>;
@@ -1,7 +1,7 @@
1
- import type { Curve } from "@excalidraw/math";
2
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { Curve } from "@excalidraw/math";
3
3
  import type { LineSegment } from "@excalidraw/utils";
4
- import type { Bounds } from "./element/bounds";
4
+ import type { Bounds } from "@excalidraw/element/bounds";
5
5
  declare global {
6
6
  interface Window {
7
7
  visualDebug?: {
@@ -1,4 +1,4 @@
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
3
  export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
4
  id: ExcalidrawElement["id"];
@@ -45,7 +45,7 @@ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
45
45
  */
46
46
  export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): 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;
@@ -36,4 +36,4 @@ 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;
@@ -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>[]>;
@@ -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/bounds";
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,7 +1,6 @@
1
- import type { Polyline } from "./geometry/shape";
2
- import { type GeometricShape } from "./geometry/shape";
3
- import type { Curve } from "@excalidraw/math";
4
1
  import { type GlobalPoint, type LocalPoint, type Polygon } from "@excalidraw/math";
2
+ import type { Curve } from "@excalidraw/math";
3
+ import type { Polyline, GeometricShape } from "./shape";
5
4
  export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
6
5
  export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
7
6
  export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => 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/bounds";
@@ -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/bounds";
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;
package/history.ts CHANGED
@@ -1,6 +1,8 @@
1
- import type { AppStateChange, ElementsChange } from "./change";
2
- import type { SceneElementsMap } from "./element/types";
1
+ import type { SceneElementsMap } from "@excalidraw/element/types";
2
+
3
3
  import { Emitter } from "./emitter";
4
+
5
+ import type { AppStateChange, ElementsChange } from "./change";
4
6
  import type { Snapshot } from "./store";
5
7
  import type { AppState } from "./types";
6
8
 
package/package.json CHANGED
@@ -1,11 +1,23 @@
1
1
  {
2
2
  "name": "@excalidraw/excalidraw",
3
- "version": "0.18.0-817d8c5",
3
+ "version": "0.18.0-a5d6939",
4
4
  "type": "module",
5
5
  "types": "./dist/types/excalidraw/index.d.ts",
6
6
  "main": "./dist/prod/index.js",
7
7
  "module": "./dist/prod/index.js",
8
8
  "exports": {
9
+ "./common/*": {
10
+ "types": "./dist/types/common/src/*.d.ts"
11
+ },
12
+ "./element/*": {
13
+ "types": "./dist/types/element/src/*.d.ts"
14
+ },
15
+ "./math/*": {
16
+ "types": "./dist/types/math/src/*.d.ts"
17
+ },
18
+ "./utils/*": {
19
+ "types": "./dist/types/utils/src/*.d.ts"
20
+ },
9
21
  "./*": {
10
22
  "types": "./dist/types/excalidraw/*.d.ts"
11
23
  },
@@ -64,7 +76,7 @@
64
76
  "@excalidraw/mermaid-to-excalidraw": "1.1.2",
65
77
  "@excalidraw/random-username": "1.1.0",
66
78
  "@radix-ui/react-popover": "1.1.6",
67
- "@radix-ui/react-tabs": "1.0.2",
79
+ "@radix-ui/react-tabs": "1.1.3",
68
80
  "browser-fs-access": "0.29.1",
69
81
  "canvas-roundrect-polyfill": "0.0.1",
70
82
  "clsx": "1.1.1",