@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
@@ -1,9 +1,9 @@
1
+ import type { UserIdleState } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
3
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
4
+ import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
1
5
  import type { RoughCanvas } from "roughjs/bin/canvas";
2
6
  import type { Drawable } from "roughjs/bin/core";
3
- import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../element/types";
4
- import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
5
- import type { MakeBrand } from "../utility-types";
6
- import type { UserIdleState } from "../constants";
7
7
  export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
8
8
  export type StaticCanvasRenderConfig = {
9
9
  canvasBackgroundColor: AppState["viewBackgroundColor"];
@@ -93,12 +93,14 @@ export type ScrollBars = {
93
93
  y: number;
94
94
  width: number;
95
95
  height: number;
96
+ deltaMultiplier: number;
96
97
  } | null;
97
98
  vertical: {
98
99
  x: number;
99
100
  y: number;
100
101
  width: number;
101
102
  height: number;
103
+ deltaMultiplier: number;
102
104
  } | null;
103
105
  };
104
106
  export type ElementShape = Drawable | Drawable[] | null;
@@ -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;
@@ -460,6 +459,7 @@ export interface ExcalidrawProps {
460
459
  renderEmbeddable?: (element: NonDeleted<ExcalidrawEmbeddableElement>, appState: AppState) => JSX.Element | null;
461
460
  aiEnabled?: boolean;
462
461
  showDeprecatedFonts?: boolean;
462
+ renderScrollbars?: boolean;
463
463
  }
464
464
  export type SceneData = {
465
465
  elements?: ImportedDataState["elements"];
@@ -588,6 +588,10 @@ export type PointerDownState = Readonly<{
588
588
  x: number;
589
589
  y: number;
590
590
  } | null;
591
+ origin: {
592
+ x: number;
593
+ y: number;
594
+ };
591
595
  };
592
596
  eventListeners: {
593
597
  onMove: null | ReturnType<typeof throttleRAF>;
@@ -602,6 +606,7 @@ export type PointerDownState = Readonly<{
602
606
  export type UnsubscribeCallback = () => void;
603
607
  export interface ExcalidrawImperativeAPI {
604
608
  updateScene: InstanceType<typeof App>["updateScene"];
609
+ mutateElement: InstanceType<typeof App>["mutateElement"];
605
610
  updateLibrary: InstanceType<typeof Library>["updateLibrary"];
606
611
  resetScene: InstanceType<typeof App>["resetScene"];
607
612
  getSceneElementsIncludingDeleted: InstanceType<typeof App>["getSceneElementsIncludingDeleted"];
@@ -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-a18b139",
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",