@zsviczian/excalidraw 0.18.0-4 → 0.18.0-5

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 (387) hide show
  1. package/dist/excalidraw.development.js +2068 -2266
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +46 -49
  4. package/dist/styles.production.css +7 -7
  5. package/package.json +14 -2
  6. package/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +12 -12
  7. package/types/{excalidraw → common/src}/colors.d.ts +62 -61
  8. package/types/{excalidraw → common/src}/constants.d.ts +334 -333
  9. package/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +46 -38
  10. package/types/common/src/index.d.ts +11 -0
  11. package/types/{excalidraw → common/src}/keys.d.ts +189 -189
  12. package/types/{excalidraw → common/src}/points.d.ts +9 -7
  13. package/types/common/src/promise-pool.d.ts +6 -0
  14. package/types/{excalidraw → common/src}/queue.d.ts +9 -9
  15. package/types/{excalidraw → common/src}/random.d.ts +4 -4
  16. package/types/{excalidraw/data → common/src}/url.d.ts +7 -7
  17. package/types/{excalidraw → common/src}/utility-types.d.ts +32 -32
  18. package/types/{excalidraw → common/src}/utils.d.ts +253 -256
  19. package/types/{excalidraw/scene → element/src}/Shape.d.ts +17 -17
  20. package/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +25 -25
  21. package/types/{excalidraw → element/src}/align.d.ts +7 -7
  22. package/types/{excalidraw/element → element/src}/binding.d.ts +101 -100
  23. package/types/{excalidraw/element → element/src}/bounds.d.ts +81 -76
  24. package/types/{excalidraw/element → element/src}/collision.d.ts +26 -26
  25. package/types/{excalidraw/scene → element/src}/comparisons.d.ts +8 -8
  26. package/types/{excalidraw/element → element/src}/containerCache.d.ts +11 -11
  27. package/types/{excalidraw/element → element/src}/cropElement.d.ts +19 -19
  28. package/types/{excalidraw/element → element/src}/distance.d.ts +3 -3
  29. package/types/{excalidraw → element/src}/distribute.d.ts +6 -6
  30. package/types/{excalidraw/element → element/src}/dragElements.d.ts +32 -32
  31. package/types/element/src/duplicate.d.ts +66 -0
  32. package/types/{excalidraw/renderer → element/src}/easingFunctions.d.ts +6 -6
  33. package/types/{excalidraw/element → element/src}/elbowArrow.d.ts +17 -17
  34. package/types/{excalidraw/element → element/src}/elementLink.d.ts +13 -13
  35. package/types/element/src/embeddable.d.ts +10 -0
  36. package/types/{excalidraw/element → element/src}/flowchart.d.ts +25 -25
  37. package/types/{excalidraw → element/src}/fractionalIndex.d.ts +51 -48
  38. package/types/{excalidraw → element/src}/frame.d.ts +69 -69
  39. package/types/{excalidraw → element/src}/groups.d.ts +33 -33
  40. package/types/{excalidraw/element → element/src}/heading.d.ts +15 -16
  41. package/types/{excalidraw/element → element/src}/image.d.ts +32 -32
  42. package/types/{excalidraw/element → element/src}/index.d.ts +16 -26
  43. package/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +129 -129
  44. package/types/{excalidraw/element → element/src}/mutateElement.d.ts +13 -13
  45. package/types/{excalidraw/element → element/src}/newElement.d.ts +62 -102
  46. package/types/{excalidraw/renderer → element/src}/renderElement.d.ts +28 -28
  47. package/types/{excalidraw/element → element/src}/resizeElements.d.ts +38 -38
  48. package/types/{excalidraw/element → element/src}/resizeTest.d.ts +15 -15
  49. package/types/{excalidraw/scene → element/src}/selection.d.ts +32 -32
  50. package/types/element/src/shapes.d.ts +23 -0
  51. package/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +3 -3
  52. package/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +35 -35
  53. package/types/{excalidraw/element → element/src}/sortElements.d.ts +2 -2
  54. package/types/{excalidraw/element → element/src}/textElement.d.ts +38 -39
  55. package/types/{excalidraw/element → element/src}/textMeasurements.d.ts +41 -41
  56. package/types/{excalidraw/element → element/src}/textWrapping.d.ts +13 -13
  57. package/types/{excalidraw/element → element/src}/transformHandles.d.ts +55 -55
  58. package/types/{excalidraw/element → element/src}/typeChecks.d.ts +39 -39
  59. package/types/{excalidraw/element → element/src}/types.d.ts +285 -285
  60. package/types/{excalidraw/element → element/src}/utils.d.ts +21 -21
  61. package/types/{excalidraw → element/src}/zindex.d.ts +7 -6
  62. package/types/excalidraw/actions/actionAddToLibrary.d.ts +632 -629
  63. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  64. package/types/excalidraw/actions/actionBoundText.d.ts +458 -456
  65. package/types/excalidraw/actions/actionCanvas.d.ts +3293 -3070
  66. package/types/excalidraw/actions/actionClipboard.d.ts +1380 -1374
  67. package/types/excalidraw/actions/actionCropEditor.d.ts +223 -222
  68. package/types/excalidraw/actions/actionDeleteSelected.d.ts +671 -668
  69. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  70. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -21
  71. package/types/excalidraw/actions/actionElementLink.d.ts +245 -244
  72. package/types/excalidraw/actions/actionElementLock.d.ts +445 -444
  73. package/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +220 -229
  74. package/types/excalidraw/actions/actionExport.d.ts +1962 -1953
  75. package/types/excalidraw/actions/actionFinalize.d.ts +427 -425
  76. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  77. package/types/excalidraw/actions/actionFrame.d.ts +1388 -1384
  78. package/types/excalidraw/actions/actionGroup.d.ts +456 -454
  79. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  80. package/types/excalidraw/actions/actionLinearEditor.d.ts +224 -223
  81. package/types/excalidraw/actions/actionLink.d.ts +224 -223
  82. package/types/excalidraw/actions/actionMenu.d.ts +652 -649
  83. package/types/excalidraw/actions/actionNavigate.d.ts +432 -430
  84. package/types/excalidraw/actions/actionProperties.d.ts +3291 -3276
  85. package/types/excalidraw/actions/actionSelectAll.d.ts +223 -222
  86. package/types/excalidraw/actions/actionStyles.d.ts +237 -236
  87. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  88. package/types/excalidraw/actions/actionToggleGridMode.d.ts +226 -225
  89. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +224 -223
  90. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +422 -420
  91. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
  92. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
  93. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
  94. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  95. package/types/excalidraw/actions/index.d.ts +28 -27
  96. package/types/excalidraw/actions/manager.d.ts +21 -21
  97. package/types/excalidraw/actions/register.d.ts +5 -5
  98. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  99. package/types/excalidraw/actions/types.d.ts +46 -46
  100. package/types/excalidraw/analytics.d.ts +1 -1
  101. package/types/excalidraw/animated-trail.d.ts +39 -33
  102. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  103. package/types/excalidraw/appState.d.ts +90 -89
  104. package/types/excalidraw/change.d.ts +191 -191
  105. package/types/excalidraw/charts.d.ts +27 -27
  106. package/types/excalidraw/clients.d.ts +14 -14
  107. package/types/excalidraw/clipboard.d.ts +66 -66
  108. package/types/excalidraw/components/Actions.d.ts +35 -35
  109. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  110. package/types/excalidraw/components/App.d.ts +551 -561
  111. package/types/excalidraw/components/Avatar.d.ts +11 -11
  112. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  113. package/types/excalidraw/components/Button.d.ts +17 -17
  114. package/types/excalidraw/components/ButtonIcon.d.ts +15 -15
  115. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  116. package/types/excalidraw/components/ButtonIconSelect.d.ts +20 -20
  117. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  118. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  119. package/types/excalidraw/components/Card.d.ts +6 -6
  120. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  121. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  122. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  123. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  124. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -8
  125. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  126. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  127. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  128. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  129. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  130. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  131. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  132. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  133. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  134. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  135. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  136. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  137. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  138. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  139. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  140. package/types/excalidraw/components/Dialog.d.ts +13 -13
  141. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  142. package/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +7 -7
  143. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
  144. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  145. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  146. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  147. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  148. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  149. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  150. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  151. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  152. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  153. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  154. package/types/excalidraw/components/HandButton.d.ts +10 -10
  155. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  156. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  157. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  158. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  159. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  160. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  161. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  162. package/types/excalidraw/components/Island.d.ts +10 -10
  163. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  164. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  165. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  166. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  167. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  168. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  169. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  170. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  171. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  172. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  173. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  174. package/types/excalidraw/components/LockButton.d.ts +10 -10
  175. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  176. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  177. package/types/excalidraw/components/Modal.d.ts +14 -14
  178. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  179. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  180. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  181. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  182. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  183. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  184. package/types/excalidraw/components/Popover.d.ts +15 -15
  185. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  186. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  187. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  188. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  189. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  190. package/types/excalidraw/components/Range.d.ts +8 -8
  191. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  192. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  193. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  194. package/types/excalidraw/components/Section.d.ts +6 -6
  195. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  196. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  197. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  198. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  199. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  200. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  201. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  202. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  203. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  204. package/types/excalidraw/components/Spinner.d.ts +8 -8
  205. package/types/excalidraw/components/Stack.d.ts +15 -15
  206. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  207. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  208. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  209. package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -9
  210. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  211. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  212. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  213. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  214. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  215. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  216. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  217. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  218. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  219. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  220. package/types/excalidraw/components/Switch.d.ts +9 -9
  221. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  222. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  223. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  224. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  225. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  226. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  227. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  228. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  229. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  230. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  231. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  232. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  233. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  234. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  235. package/types/excalidraw/components/TextField.d.ts +21 -21
  236. package/types/excalidraw/components/Toast.d.ts +9 -9
  237. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  238. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  239. package/types/excalidraw/components/Trans.d.ts +9 -9
  240. package/types/excalidraw/components/UserList.d.ts +18 -18
  241. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  242. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  243. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  244. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  245. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  246. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  247. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  255. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  256. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  257. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  258. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  259. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  260. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  261. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  262. package/types/excalidraw/components/icons.d.ts +224 -223
  263. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  264. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  265. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -80
  266. package/types/excalidraw/components/shapes.d.ts +62 -0
  267. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  268. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  269. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  270. package/types/excalidraw/context/tunnels.d.ts +21 -21
  271. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  272. package/types/excalidraw/cursor.d.ts +6 -6
  273. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  274. package/types/excalidraw/data/ai/types.d.ts +242 -242
  275. package/types/excalidraw/data/blob.d.ts +53 -53
  276. package/types/excalidraw/data/encode.d.ts +55 -55
  277. package/types/excalidraw/data/encryption.d.ts +9 -9
  278. package/types/excalidraw/data/filesystem.d.ts +21 -21
  279. package/types/excalidraw/data/image.d.ts +9 -9
  280. package/types/excalidraw/data/index.d.ts +22 -22
  281. package/types/excalidraw/data/json.d.ts +16 -16
  282. package/types/excalidraw/data/library.d.ts +112 -112
  283. package/types/excalidraw/data/reconcile.d.ts +6 -6
  284. package/types/excalidraw/data/resave.d.ts +5 -5
  285. package/types/excalidraw/data/restore.d.ts +21 -21
  286. package/types/excalidraw/data/transform.d.ts +81 -81
  287. package/types/excalidraw/data/types.d.ts +45 -45
  288. package/types/excalidraw/deburr.d.ts +1 -1
  289. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  290. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  291. package/types/excalidraw/editor-jotai.d.ts +56 -56
  292. package/types/excalidraw/emitter.d.ts +16 -16
  293. package/types/excalidraw/entry.d.ts +1 -1
  294. package/types/excalidraw/env.d.cts +1 -1
  295. package/types/excalidraw/env.d.ts +1 -1
  296. package/types/excalidraw/errors.d.ts +29 -32
  297. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  298. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  299. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  300. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  301. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  302. package/types/excalidraw/fonts/Fonts.d.ts +90 -100
  303. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  304. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  306. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  309. package/types/excalidraw/fonts/index.d.ts +1 -1
  310. package/types/excalidraw/gesture.d.ts +6 -6
  311. package/types/excalidraw/history.d.ts +40 -40
  312. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  313. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  314. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  315. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  316. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  317. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  318. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  319. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  320. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  321. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  322. package/types/excalidraw/i18n.d.ts +24 -24
  323. package/types/excalidraw/index-node.d.ts +1 -1
  324. package/types/excalidraw/index.d.ts +59 -65
  325. package/types/excalidraw/laser-trails.d.ts +20 -20
  326. package/types/excalidraw/lasso/index.d.ts +15 -0
  327. package/types/excalidraw/lasso/utils.d.ts +13 -0
  328. package/types/excalidraw/main.d.ts +2 -2
  329. package/types/excalidraw/mermaid.d.ts +2 -2
  330. package/types/excalidraw/obsidianUtils.d.ts +28 -28
  331. package/types/excalidraw/polyfill.d.ts +2 -2
  332. package/types/excalidraw/publicPath.d.ts +1 -1
  333. package/types/excalidraw/reactUtils.d.ts +14 -14
  334. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  335. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  336. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  337. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  338. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  339. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  340. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  341. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  342. package/types/excalidraw/scene/Scene.d.ts +79 -79
  343. package/types/excalidraw/scene/export.d.ts +37 -37
  344. package/types/excalidraw/scene/index.d.ts +4 -4
  345. package/types/excalidraw/scene/normalize.d.ts +4 -4
  346. package/types/excalidraw/scene/scroll.d.ts +23 -23
  347. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  348. package/types/excalidraw/scene/types.d.ts +120 -120
  349. package/types/excalidraw/scene/zoom.d.ts +12 -12
  350. package/types/excalidraw/snapping.d.ts +111 -112
  351. package/types/excalidraw/store.d.ts +129 -129
  352. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  355. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  356. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  357. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  358. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  359. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  360. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  361. package/types/excalidraw/types.d.ts +751 -753
  362. package/types/excalidraw/visualdebug.d.ts +41 -41
  363. package/types/excalidraw/webpack.dev.config.d.ts +114 -112
  364. package/types/excalidraw/webpack.prod.config.d.ts +128 -126
  365. package/types/excalidraw/workers.d.ts +36 -36
  366. package/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +22 -22
  367. package/types/math/{angle.d.ts → src/angle.d.ts} +17 -17
  368. package/types/math/{curve.d.ts → src/curve.d.ts} +40 -40
  369. package/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
  370. package/types/math/{index.d.ts → src/index.d.ts} +12 -12
  371. package/types/math/{line.d.ts → src/line.d.ts} +17 -17
  372. package/types/math/{point.d.ts → src/point.d.ts} +122 -122
  373. package/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
  374. package/types/math/{range.d.ts → src/range.d.ts} +44 -44
  375. package/types/math/{rectangle.d.ts → src/rectangle.d.ts} +3 -3
  376. package/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
  377. package/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
  378. package/types/math/{types.d.ts → src/types.d.ts} +105 -105
  379. package/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
  380. package/types/math/{vector.d.ts → src/vector.d.ts} +88 -88
  381. package/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
  382. package/types/utils/{collision.d.ts → src/collision.d.ts} +8 -9
  383. package/types/utils/{export.d.ts → src/export.d.ts} +35 -45
  384. package/types/utils/{index.d.ts → src/index.d.ts} +4 -4
  385. package/types/utils/{geometry → src}/shape.d.ts +58 -71
  386. package/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
  387. package/types/excalidraw/shapes.d.ts +0 -85
@@ -1,44 +1,44 @@
1
- import type { InclusiveRange } from "./types";
2
- /**
3
- * Create an inclusive range from the two numbers provided.
4
- *
5
- * @param start Start of the range
6
- * @param end End of the range
7
- * @returns
8
- */
9
- export declare function rangeInclusive(start: number, end: number): InclusiveRange;
10
- /**
11
- * Turn a number pair into an inclusive range.
12
- *
13
- * @param pair The number pair to convert to an inclusive range
14
- * @returns The new inclusive range
15
- */
16
- export declare function rangeInclusiveFromPair(pair: [start: number, end: number]): [number, number] & {
17
- _brand: "excalimath_degree";
18
- };
19
- /**
20
- * Given two ranges, return if the two ranges overlap with each other e.g.
21
- * [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5].
22
- *
23
- * @param param0 One of the ranges to compare
24
- * @param param1 The other range to compare against
25
- * @returns TRUE if the ranges overlap
26
- */
27
- export declare const rangesOverlap: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => boolean;
28
- /**
29
- * Given two ranges,return ther intersection of the two ranges if any e.g. the
30
- * intersection of [1, 3] and [2, 4] is [2, 3].
31
- *
32
- * @param param0 The first range to compare
33
- * @param param1 The second range to compare
34
- * @returns The inclusive range intersection or NULL if no intersection
35
- */
36
- export declare const rangeIntersection: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => InclusiveRange | null;
37
- /**
38
- * Determine if a value is inside a range.
39
- *
40
- * @param value The value to check
41
- * @param range The range
42
- * @returns
43
- */
44
- export declare const rangeIncludesValue: (value: number, [min, max]: InclusiveRange) => boolean;
1
+ import type { InclusiveRange } from "./types";
2
+ /**
3
+ * Create an inclusive range from the two numbers provided.
4
+ *
5
+ * @param start Start of the range
6
+ * @param end End of the range
7
+ * @returns
8
+ */
9
+ export declare function rangeInclusive(start: number, end: number): InclusiveRange;
10
+ /**
11
+ * Turn a number pair into an inclusive range.
12
+ *
13
+ * @param pair The number pair to convert to an inclusive range
14
+ * @returns The new inclusive range
15
+ */
16
+ export declare function rangeInclusiveFromPair(pair: [start: number, end: number]): [number, number] & {
17
+ _brand: "excalimath_degree";
18
+ };
19
+ /**
20
+ * Given two ranges, return if the two ranges overlap with each other e.g.
21
+ * [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5].
22
+ *
23
+ * @param param0 One of the ranges to compare
24
+ * @param param1 The other range to compare against
25
+ * @returns TRUE if the ranges overlap
26
+ */
27
+ export declare const rangesOverlap: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => boolean;
28
+ /**
29
+ * Given two ranges,return ther intersection of the two ranges if any e.g. the
30
+ * intersection of [1, 3] and [2, 4] is [2, 3].
31
+ *
32
+ * @param param0 The first range to compare
33
+ * @param param1 The second range to compare
34
+ * @returns The inclusive range intersection or NULL if no intersection
35
+ */
36
+ export declare const rangeIntersection: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => InclusiveRange | null;
37
+ /**
38
+ * Determine if a value is inside a range.
39
+ *
40
+ * @param value The value to check
41
+ * @param range The range
42
+ * @returns
43
+ */
44
+ export declare const rangeIncludesValue: (value: number, [min, max]: InclusiveRange) => boolean;
@@ -1,3 +1,3 @@
1
- import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
2
- export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
3
- export declare function rectangleIntersectLineSegment<Point extends LocalPoint | GlobalPoint>(r: Rectangle<Point>, l: LineSegment<Point>): Point[];
1
+ import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
2
+ export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
3
+ export declare function rectangleIntersectLineSegment<Point extends LocalPoint | GlobalPoint>(r: Rectangle<Point>, l: LineSegment<Point>): Point[];
@@ -1,39 +1,39 @@
1
- import type { GlobalPoint, LineSegment, LocalPoint, Radians } from "./types";
2
- /**
3
- * Create a line segment from two points.
4
- *
5
- * @param points The two points delimiting the line segment on each end
6
- * @returns The line segment delineated by the points
7
- */
8
- export declare function lineSegment<P extends GlobalPoint | LocalPoint>(a: P, b: P): LineSegment<P>;
9
- /**
10
- *
11
- * @param segment
12
- * @returns
13
- */
14
- export declare const isLineSegment: <Point extends GlobalPoint | LocalPoint>(segment: unknown) => segment is LineSegment<Point>;
15
- /**
16
- * Return the coordinates resulting from rotating the given line about an origin by an angle in radians
17
- * note that when the origin is not given, the midpoint of the given line is used as the origin.
18
- *
19
- * @param l
20
- * @param angle
21
- * @param origin
22
- * @returns
23
- */
24
- export declare const lineSegmentRotate: <Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, angle: Radians, origin?: Point | undefined) => LineSegment<Point>;
25
- /**
26
- * Calculates the point two line segments with a definite start and end point
27
- * intersect at.
28
- */
29
- export declare const segmentsIntersectAt: <Point extends GlobalPoint | LocalPoint>(a: Readonly<LineSegment<Point>>, b: Readonly<LineSegment<Point>>) => Point | null;
30
- export declare const pointOnLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>, threshold?: number) => boolean;
31
- export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>) => number;
32
- /**
33
- * Returns the intersection point of a segment and a line
34
- *
35
- * @param l
36
- * @param s
37
- * @returns
38
- */
39
- export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>): Point | null;
1
+ import type { GlobalPoint, LineSegment, LocalPoint, Radians } from "./types";
2
+ /**
3
+ * Create a line segment from two points.
4
+ *
5
+ * @param points The two points delimiting the line segment on each end
6
+ * @returns The line segment delineated by the points
7
+ */
8
+ export declare function lineSegment<P extends GlobalPoint | LocalPoint>(a: P, b: P): LineSegment<P>;
9
+ /**
10
+ *
11
+ * @param segment
12
+ * @returns
13
+ */
14
+ export declare const isLineSegment: <Point extends GlobalPoint | LocalPoint>(segment: unknown) => segment is LineSegment<Point>;
15
+ /**
16
+ * Return the coordinates resulting from rotating the given line about an origin by an angle in radians
17
+ * note that when the origin is not given, the midpoint of the given line is used as the origin.
18
+ *
19
+ * @param l
20
+ * @param angle
21
+ * @param origin
22
+ * @returns
23
+ */
24
+ export declare const lineSegmentRotate: <Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, angle: Radians, origin?: Point | undefined) => LineSegment<Point>;
25
+ /**
26
+ * Calculates the point two line segments with a definite start and end point
27
+ * intersect at.
28
+ */
29
+ export declare const segmentsIntersectAt: <Point extends GlobalPoint | LocalPoint>(a: Readonly<LineSegment<Point>>, b: Readonly<LineSegment<Point>>) => Point | null;
30
+ export declare const pointOnLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>, threshold?: number) => boolean;
31
+ export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>) => number;
32
+ /**
33
+ * Returns the intersection point of a segment and a line
34
+ *
35
+ * @param l
36
+ * @param s
37
+ * @returns
38
+ */
39
+ export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>, threshold?: number): Point | null;
@@ -1,11 +1,11 @@
1
- import type { GlobalPoint, LocalPoint, Triangle } from "./types";
2
- /**
3
- * Tests if a point lies inside a triangle. This function
4
- * will return FALSE if the point lies exactly on the sides
5
- * of the triangle.
6
- *
7
- * @param triangle The triangle to test the point for
8
- * @param p The point to test whether is in the triangle
9
- * @returns TRUE if the point is inside of the triangle
10
- */
11
- export declare function triangleIncludesPoint<P extends GlobalPoint | LocalPoint>([a, b, c]: Triangle<P>, p: P): boolean;
1
+ import type { GlobalPoint, LocalPoint, Triangle } from "./types";
2
+ /**
3
+ * Tests if a point lies inside a triangle. This function
4
+ * will return FALSE if the point lies exactly on the sides
5
+ * of the triangle.
6
+ *
7
+ * @param triangle The triangle to test the point for
8
+ * @param p The point to test whether is in the triangle
9
+ * @returns TRUE if the point is inside of the triangle
10
+ */
11
+ export declare function triangleIncludesPoint<P extends GlobalPoint | LocalPoint>([a, b, c]: Triangle<P>, p: P): boolean;
@@ -1,105 +1,105 @@
1
- /**
2
- * By definition one radian is the angle subtended at the centre
3
- * of a circle by an arc that is equal in length to the radius.
4
- */
5
- export type Radians = number & {
6
- _brand: "excalimath__radian";
7
- };
8
- /**
9
- * An angle measurement of a plane angle in which one full
10
- * rotation is 360 degrees.
11
- */
12
- export type Degrees = number & {
13
- _brand: "excalimath_degree";
14
- };
15
- /**
16
- * A number range which includes the start and end numbers in the range.
17
- */
18
- export type InclusiveRange = [number, number] & {
19
- _brand: "excalimath_degree";
20
- };
21
- /**
22
- * Represents a 2D position in world or canvas space. A
23
- * global coordinate.
24
- */
25
- export type GlobalPoint = [x: number, y: number] & {
26
- _brand: "excalimath__globalpoint";
27
- };
28
- /**
29
- * Represents a 2D position in whatever local space it's
30
- * needed. A local coordinate.
31
- */
32
- export type LocalPoint = [x: number, y: number] & {
33
- _brand: "excalimath__localpoint";
34
- };
35
- /**
36
- * A line is an infinitely long object with no width, depth, or curvature.
37
- */
38
- export type Line<P extends GlobalPoint | LocalPoint> = [p: P, q: P] & {
39
- _brand: "excalimath_line";
40
- };
41
- /**
42
- * In geometry, a line segment is a part of a straight
43
- * line that is bounded by two distinct end points, and
44
- * contains every point on the line that is between its endpoints.
45
- */
46
- export type LineSegment<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
47
- _brand: "excalimath_linesegment";
48
- };
49
- /**
50
- * Represents a 2D vector
51
- */
52
- export type Vector = [u: number, v: number] & {
53
- _brand: "excalimath__vector";
54
- };
55
- /**
56
- * A triangle represented by 3 points
57
- */
58
- export type Triangle<P extends GlobalPoint | LocalPoint> = [
59
- a: P,
60
- b: P,
61
- c: P
62
- ] & {
63
- _brand: "excalimath__triangle";
64
- };
65
- /**
66
- * A rectangular shape represented by 4 points at its corners
67
- */
68
- export type Rectangle<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
69
- _brand: "excalimath__rectangle";
70
- };
71
- /**
72
- * A polygon is a closed shape by connecting the given points
73
- * rectangles and diamonds are modelled by polygons
74
- */
75
- export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
76
- _brand: "excalimath_polygon";
77
- };
78
- /**
79
- * Cubic bezier curve with four control points
80
- */
81
- export type Curve<Point extends GlobalPoint | LocalPoint> = [
82
- Point,
83
- Point,
84
- Point,
85
- Point
86
- ] & {
87
- _brand: "excalimath_curve";
88
- };
89
- export type PolarCoords = [
90
- radius: number,
91
- /** angle in radians */
92
- angle: number
93
- ];
94
- /**
95
- An ellipse is specified by its center, angle, and its major and minor axes
96
- but for the sake of simplicity, we've used halfWidth and halfHeight instead
97
- in replace of semi major and semi minor axes
98
- */
99
- export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
100
- center: Point;
101
- halfWidth: number;
102
- halfHeight: number;
103
- } & {
104
- _brand: "excalimath_ellipse";
105
- };
1
+ /**
2
+ * By definition one radian is the angle subtended at the centre
3
+ * of a circle by an arc that is equal in length to the radius.
4
+ */
5
+ export type Radians = number & {
6
+ _brand: "excalimath__radian";
7
+ };
8
+ /**
9
+ * An angle measurement of a plane angle in which one full
10
+ * rotation is 360 degrees.
11
+ */
12
+ export type Degrees = number & {
13
+ _brand: "excalimath_degree";
14
+ };
15
+ /**
16
+ * A number range which includes the start and end numbers in the range.
17
+ */
18
+ export type InclusiveRange = [number, number] & {
19
+ _brand: "excalimath_degree";
20
+ };
21
+ /**
22
+ * Represents a 2D position in world or canvas space. A
23
+ * global coordinate.
24
+ */
25
+ export type GlobalPoint = [x: number, y: number] & {
26
+ _brand: "excalimath__globalpoint";
27
+ };
28
+ /**
29
+ * Represents a 2D position in whatever local space it's
30
+ * needed. A local coordinate.
31
+ */
32
+ export type LocalPoint = [x: number, y: number] & {
33
+ _brand: "excalimath__localpoint";
34
+ };
35
+ /**
36
+ * A line is an infinitely long object with no width, depth, or curvature.
37
+ */
38
+ export type Line<P extends GlobalPoint | LocalPoint> = [p: P, q: P] & {
39
+ _brand: "excalimath_line";
40
+ };
41
+ /**
42
+ * In geometry, a line segment is a part of a straight
43
+ * line that is bounded by two distinct end points, and
44
+ * contains every point on the line that is between its endpoints.
45
+ */
46
+ export type LineSegment<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
47
+ _brand: "excalimath_linesegment";
48
+ };
49
+ /**
50
+ * Represents a 2D vector
51
+ */
52
+ export type Vector = [u: number, v: number] & {
53
+ _brand: "excalimath__vector";
54
+ };
55
+ /**
56
+ * A triangle represented by 3 points
57
+ */
58
+ export type Triangle<P extends GlobalPoint | LocalPoint> = [
59
+ a: P,
60
+ b: P,
61
+ c: P
62
+ ] & {
63
+ _brand: "excalimath__triangle";
64
+ };
65
+ /**
66
+ * A rectangular shape represented by 4 points at its corners
67
+ */
68
+ export type Rectangle<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
69
+ _brand: "excalimath__rectangle";
70
+ };
71
+ /**
72
+ * A polygon is a closed shape by connecting the given points
73
+ * rectangles and diamonds are modelled by polygons
74
+ */
75
+ export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
76
+ _brand: "excalimath_polygon";
77
+ };
78
+ /**
79
+ * Cubic bezier curve with four control points
80
+ */
81
+ export type Curve<Point extends GlobalPoint | LocalPoint> = [
82
+ Point,
83
+ Point,
84
+ Point,
85
+ Point
86
+ ] & {
87
+ _brand: "excalimath_curve";
88
+ };
89
+ export type PolarCoords = [
90
+ radius: number,
91
+ /** angle in radians */
92
+ angle: number
93
+ ];
94
+ /**
95
+ An ellipse is specified by its center, angle, and its major and minor axes
96
+ but for the sake of simplicity, we've used halfWidth and halfHeight instead
97
+ in replace of semi major and semi minor axes
98
+ */
99
+ export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
100
+ center: Point;
101
+ halfWidth: number;
102
+ halfHeight: number;
103
+ } & {
104
+ _brand: "excalimath_ellipse";
105
+ };
@@ -1,7 +1,7 @@
1
- export declare const PRECISION = 0.0001;
2
- export declare const clamp: (value: number, min: number, max: number) => number;
3
- export declare const round: (value: number, precision: number, func?: "round" | "floor" | "ceil") => number;
4
- export declare const roundToStep: (value: number, step: number, func?: "round" | "floor" | "ceil") => number;
5
- export declare const average: (a: number, b: number) => number;
6
- export declare const isFiniteNumber: (value: any) => value is number;
7
- export declare const isCloseTo: (a: number, b: number, precision?: number) => boolean;
1
+ export declare const PRECISION = 0.0001;
2
+ export declare const clamp: (value: number, min: number, max: number) => number;
3
+ export declare const round: (value: number, precision: number, func?: "round" | "floor" | "ceil") => number;
4
+ export declare const roundToStep: (value: number, step: number, func?: "round" | "floor" | "ceil") => number;
5
+ export declare const average: (a: number, b: number) => number;
6
+ export declare const isFiniteNumber: (value: any) => value is number;
7
+ export declare const isCloseTo: (a: number, b: number, precision?: number) => boolean;
@@ -1,88 +1,88 @@
1
- import type { GlobalPoint, LocalPoint, Vector } from "./types";
2
- /**
3
- * Create a vector from the x and y coordiante elements.
4
- *
5
- * @param x The X aspect of the vector
6
- * @param y T Y aspect of the vector
7
- * @returns The constructed vector with X and Y as the coordinates
8
- */
9
- export declare function vector(x: number, y: number, originX?: number, originY?: number): Vector;
10
- /**
11
- * Turn a point into a vector with the origin point.
12
- *
13
- * @param p The point to turn into a vector
14
- * @param origin The origin point in a given coordiante system
15
- * @returns The created vector from the point and the origin
16
- */
17
- export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
18
- /**
19
- * Cross product is a binary operation on two vectors in 2D space.
20
- * It results in a vector that is perpendicular to both vectors.
21
- *
22
- * @param a One of the vectors to use for the directed area calculation
23
- * @param b The other vector to use for the directed area calculation
24
- * @returns The directed area value for the two vectos
25
- */
26
- export declare function vectorCross(a: Vector, b: Vector): number;
27
- /**
28
- * Dot product is defined as the sum of the products of the
29
- * two vectors.
30
- *
31
- * @param a One of the vectors for which the sum of products is calculated
32
- * @param b The other vector for which the sum of products is calculated
33
- * @returns The sum of products of the two vectors
34
- */
35
- export declare function vectorDot(a: Vector, b: Vector): number;
36
- /**
37
- * Determines if the value has the shape of a Vector.
38
- *
39
- * @param v The value to test
40
- * @returns TRUE if the value has the shape and components of a Vectors
41
- */
42
- export declare function isVector(v: unknown): v is Vector;
43
- /**
44
- * Add two vectors by adding their coordinates.
45
- *
46
- * @param a One of the vectors to add
47
- * @param b The other vector to add
48
- * @returns The sum vector of the two provided vectors
49
- */
50
- export declare function vectorAdd(a: Readonly<Vector>, b: Readonly<Vector>): Vector;
51
- /**
52
- * Add two vectors by adding their coordinates.
53
- *
54
- * @param start One of the vectors to add
55
- * @param end The other vector to add
56
- * @returns The sum vector of the two provided vectors
57
- */
58
- export declare function vectorSubtract(start: Readonly<Vector>, end: Readonly<Vector>): Vector;
59
- /**
60
- * Scale vector by a scalar.
61
- *
62
- * @param v The vector to scale
63
- * @param scalar The scalar to multiply the vector components with
64
- * @returns The new scaled vector
65
- */
66
- export declare function vectorScale(v: Vector, scalar: number): Vector;
67
- /**
68
- * Calculates the sqare magnitude of a vector. Use this if you compare
69
- * magnitudes as it saves you an SQRT.
70
- *
71
- * @param v The vector to measure
72
- * @returns The scalar squared magnitude of the vector
73
- */
74
- export declare function vectorMagnitudeSq(v: Vector): number;
75
- /**
76
- * Calculates the magnitude of a vector.
77
- *
78
- * @param v The vector to measure
79
- * @returns The scalar magnitude of the vector
80
- */
81
- export declare function vectorMagnitude(v: Vector): number;
82
- /**
83
- * Normalize the vector (i.e. make the vector magnitue equal 1).
84
- *
85
- * @param v The vector to normalize
86
- * @returns The new normalized vector
87
- */
88
- export declare const vectorNormalize: (v: Vector) => Vector;
1
+ import type { GlobalPoint, LocalPoint, Vector } from "./types";
2
+ /**
3
+ * Create a vector from the x and y coordiante elements.
4
+ *
5
+ * @param x The X aspect of the vector
6
+ * @param y T Y aspect of the vector
7
+ * @returns The constructed vector with X and Y as the coordinates
8
+ */
9
+ export declare function vector(x: number, y: number, originX?: number, originY?: number): Vector;
10
+ /**
11
+ * Turn a point into a vector with the origin point.
12
+ *
13
+ * @param p The point to turn into a vector
14
+ * @param origin The origin point in a given coordiante system
15
+ * @returns The created vector from the point and the origin
16
+ */
17
+ export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
18
+ /**
19
+ * Cross product is a binary operation on two vectors in 2D space.
20
+ * It results in a vector that is perpendicular to both vectors.
21
+ *
22
+ * @param a One of the vectors to use for the directed area calculation
23
+ * @param b The other vector to use for the directed area calculation
24
+ * @returns The directed area value for the two vectos
25
+ */
26
+ export declare function vectorCross(a: Vector, b: Vector): number;
27
+ /**
28
+ * Dot product is defined as the sum of the products of the
29
+ * two vectors.
30
+ *
31
+ * @param a One of the vectors for which the sum of products is calculated
32
+ * @param b The other vector for which the sum of products is calculated
33
+ * @returns The sum of products of the two vectors
34
+ */
35
+ export declare function vectorDot(a: Vector, b: Vector): number;
36
+ /**
37
+ * Determines if the value has the shape of a Vector.
38
+ *
39
+ * @param v The value to test
40
+ * @returns TRUE if the value has the shape and components of a Vectors
41
+ */
42
+ export declare function isVector(v: unknown): v is Vector;
43
+ /**
44
+ * Add two vectors by adding their coordinates.
45
+ *
46
+ * @param a One of the vectors to add
47
+ * @param b The other vector to add
48
+ * @returns The sum vector of the two provided vectors
49
+ */
50
+ export declare function vectorAdd(a: Readonly<Vector>, b: Readonly<Vector>): Vector;
51
+ /**
52
+ * Add two vectors by adding their coordinates.
53
+ *
54
+ * @param start One of the vectors to add
55
+ * @param end The other vector to add
56
+ * @returns The sum vector of the two provided vectors
57
+ */
58
+ export declare function vectorSubtract(start: Readonly<Vector>, end: Readonly<Vector>): Vector;
59
+ /**
60
+ * Scale vector by a scalar.
61
+ *
62
+ * @param v The vector to scale
63
+ * @param scalar The scalar to multiply the vector components with
64
+ * @returns The new scaled vector
65
+ */
66
+ export declare function vectorScale(v: Vector, scalar: number): Vector;
67
+ /**
68
+ * Calculates the sqare magnitude of a vector. Use this if you compare
69
+ * magnitudes as it saves you an SQRT.
70
+ *
71
+ * @param v The vector to measure
72
+ * @returns The scalar squared magnitude of the vector
73
+ */
74
+ export declare function vectorMagnitudeSq(v: Vector): number;
75
+ /**
76
+ * Calculates the magnitude of a vector.
77
+ *
78
+ * @param v The vector to measure
79
+ * @returns The scalar magnitude of the vector
80
+ */
81
+ export declare function vectorMagnitude(v: Vector): number;
82
+ /**
83
+ * Normalize the vector (i.e. make the vector magnitue equal 1).
84
+ *
85
+ * @param v The vector to normalize
86
+ * @returns The new normalized vector
87
+ */
88
+ export declare const vectorNormalize: (v: Vector) => Vector;
@@ -1,9 +1,9 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/excalidraw/element/bounds";
3
- export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
4
- export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
5
- export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
6
- export declare function isPointOnLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
7
- export declare function isPointRightOfLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
8
- export declare function isLineSegmentTouchingOrCrossingLine<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
9
- export declare function doLineSegmentsIntersect<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
1
+ import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { Bounds } from "@excalidraw/element/bounds";
3
+ export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
4
+ export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
5
+ export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
6
+ export declare function isPointOnLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
7
+ export declare function isPointRightOfLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
8
+ export declare function isLineSegmentTouchingOrCrossingLine<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
9
+ export declare function doLineSegmentsIntersect<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
@@ -1,9 +1,8 @@
1
- import { type GlobalPoint, type LocalPoint, type Polygon } from "@excalidraw/math";
2
- import type { Curve } from "@excalidraw/math";
3
- import { type GeometricShape } from "./geometry/shape";
4
- import type { Polyline } from "./geometry/shape";
5
- export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
6
- export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
7
- export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => boolean;
8
- export declare const pointOnCurve: <Point extends GlobalPoint | LocalPoint>(point: Point, curve: Curve<Point>, threshold: number) => boolean;
9
- export declare const pointOnPolyline: <Point extends GlobalPoint | LocalPoint>(point: Point, polyline: Polyline<Point>, threshold?: number) => boolean;
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";
4
+ export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
5
+ export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
6
+ export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => boolean;
7
+ export declare const pointOnCurve: <Point extends GlobalPoint | LocalPoint>(point: Point, curve: Curve<Point>, threshold: number) => boolean;
8
+ export declare const pointOnPolyline: <Point extends GlobalPoint | LocalPoint>(point: Point, polyline: Polyline<Point>, threshold?: number) => boolean;