@zsviczian/excalidraw 0.18.0-4 → 0.18.0-6

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 (388) hide show
  1. package/dist/excalidraw.development.js +2079 -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 +336 -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 +254 -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 +39 -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 +559 -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/eraser/index.d.ts +14 -0
  297. package/types/excalidraw/errors.d.ts +29 -32
  298. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  299. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  300. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  301. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  302. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  303. package/types/excalidraw/fonts/Fonts.d.ts +90 -100
  304. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  306. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  310. package/types/excalidraw/fonts/index.d.ts +1 -1
  311. package/types/excalidraw/gesture.d.ts +6 -6
  312. package/types/excalidraw/history.d.ts +40 -40
  313. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  314. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  315. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  316. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  317. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  318. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  319. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  320. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  321. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  322. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  323. package/types/excalidraw/i18n.d.ts +24 -24
  324. package/types/excalidraw/index-node.d.ts +1 -1
  325. package/types/excalidraw/index.d.ts +59 -65
  326. package/types/excalidraw/laser-trails.d.ts +20 -20
  327. package/types/excalidraw/lasso/index.d.ts +15 -0
  328. package/types/excalidraw/lasso/utils.d.ts +12 -0
  329. package/types/excalidraw/main.d.ts +2 -2
  330. package/types/excalidraw/mermaid.d.ts +2 -2
  331. package/types/excalidraw/obsidianUtils.d.ts +28 -28
  332. package/types/excalidraw/polyfill.d.ts +2 -2
  333. package/types/excalidraw/publicPath.d.ts +1 -1
  334. package/types/excalidraw/reactUtils.d.ts +14 -14
  335. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  336. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  337. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  338. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  339. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  340. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  341. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  342. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  343. package/types/excalidraw/scene/Scene.d.ts +79 -79
  344. package/types/excalidraw/scene/export.d.ts +37 -37
  345. package/types/excalidraw/scene/index.d.ts +4 -4
  346. package/types/excalidraw/scene/normalize.d.ts +4 -4
  347. package/types/excalidraw/scene/scroll.d.ts +23 -23
  348. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  349. package/types/excalidraw/scene/types.d.ts +120 -120
  350. package/types/excalidraw/scene/zoom.d.ts +12 -12
  351. package/types/excalidraw/snapping.d.ts +111 -112
  352. package/types/excalidraw/store.d.ts +129 -129
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  356. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  357. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  358. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  359. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  360. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  361. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  362. package/types/excalidraw/types.d.ts +751 -753
  363. package/types/excalidraw/visualdebug.d.ts +41 -41
  364. package/types/excalidraw/webpack.dev.config.d.ts +114 -112
  365. package/types/excalidraw/webpack.prod.config.d.ts +128 -126
  366. package/types/excalidraw/workers.d.ts +36 -36
  367. package/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +22 -22
  368. package/types/math/{angle.d.ts → src/angle.d.ts} +17 -17
  369. package/types/math/{curve.d.ts → src/curve.d.ts} +40 -40
  370. package/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
  371. package/types/math/{index.d.ts → src/index.d.ts} +12 -12
  372. package/types/math/{line.d.ts → src/line.d.ts} +17 -17
  373. package/types/math/{point.d.ts → src/point.d.ts} +122 -122
  374. package/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
  375. package/types/math/{range.d.ts → src/range.d.ts} +44 -44
  376. package/types/math/{rectangle.d.ts → src/rectangle.d.ts} +3 -3
  377. package/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
  378. package/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
  379. package/types/math/{types.d.ts → src/types.d.ts} +106 -105
  380. package/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
  381. package/types/math/{vector.d.ts → src/vector.d.ts} +88 -88
  382. package/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
  383. package/types/utils/{collision.d.ts → src/collision.d.ts} +8 -9
  384. package/types/utils/{export.d.ts → src/export.d.ts} +35 -45
  385. package/types/utils/{index.d.ts → src/index.d.ts} +4 -4
  386. package/types/utils/{geometry → src}/shape.d.ts +58 -71
  387. package/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
  388. package/types/excalidraw/shapes.d.ts +0 -85
@@ -1,22 +1,22 @@
1
- import type { ExcalidrawElement, ExcalidrawTextElement } from "./types";
2
- import type App from "../components/App";
3
- export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
- id: ExcalidrawElement["id"];
5
- /**
6
- * textWysiwyg only deals with `originalText`
7
- *
8
- * Note: `text`, which can be wrapped and therefore different from `originalText`,
9
- * is derived from `originalText`
10
- */
11
- onChange?: ((nextOriginalText: string) => void) | undefined;
12
- onSubmit: (data: {
13
- viaKeyboard: boolean;
14
- nextOriginalText: string;
15
- }) => void;
16
- getViewportCoords: (x: number, y: number) => [number, number];
17
- element: ExcalidrawTextElement;
18
- canvas: HTMLCanvasElement;
19
- excalidrawContainer: HTMLDivElement | null;
20
- app: App;
21
- autoSelect?: boolean | undefined;
22
- }) => void;
1
+ import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
2
+ import type App from "../components/App";
3
+ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
+ id: ExcalidrawElement["id"];
5
+ /**
6
+ * textWysiwyg only deals with `originalText`
7
+ *
8
+ * Note: `text`, which can be wrapped and therefore different from `originalText`,
9
+ * is derived from `originalText`
10
+ */
11
+ onChange?: ((nextOriginalText: string) => void) | undefined;
12
+ onSubmit: (data: {
13
+ viaKeyboard: boolean;
14
+ nextOriginalText: string;
15
+ }) => void;
16
+ getViewportCoords: (x: number, y: number) => [number, number];
17
+ element: ExcalidrawTextElement;
18
+ canvas: HTMLCanvasElement;
19
+ excalidrawContainer: HTMLDivElement | null;
20
+ app: App;
21
+ autoSelect?: boolean | undefined;
22
+ }) => void;
@@ -1,17 +1,17 @@
1
- import type { Degrees, GlobalPoint, LocalPoint, PolarCoords, Radians } from "./types";
2
- export declare const normalizeRadians: (angle: Radians) => Radians;
3
- /**
4
- * Return the polar coordinates for the given cartesian point represented by
5
- * (x, y) for the center point 0,0 where the first number returned is the radius,
6
- * the second is the angle in radians.
7
- */
8
- export declare const cartesian2Polar: <P extends GlobalPoint | LocalPoint>([x, y,]: P) => PolarCoords;
9
- export declare function degreesToRadians(degrees: Degrees): Radians;
10
- export declare function radiansToDegrees(degrees: Radians): Degrees;
11
- /**
12
- * Determines if the provided angle is a right angle.
13
- *
14
- * @param rads The angle to measure
15
- * @returns TRUE if the provided angle is a right angle
16
- */
17
- export declare function isRightAngleRads(rads: Radians): boolean;
1
+ import type { Degrees, GlobalPoint, LocalPoint, PolarCoords, Radians } from "./types";
2
+ export declare const normalizeRadians: (angle: Radians) => Radians;
3
+ /**
4
+ * Return the polar coordinates for the given cartesian point represented by
5
+ * (x, y) for the center point 0,0 where the first number returned is the radius,
6
+ * the second is the angle in radians.
7
+ */
8
+ export declare const cartesian2Polar: <P extends GlobalPoint | LocalPoint>([x, y,]: P) => PolarCoords;
9
+ export declare function degreesToRadians(degrees: Degrees): Radians;
10
+ export declare function radiansToDegrees(degrees: Radians): Degrees;
11
+ /**
12
+ * Determines if the provided angle is a right angle.
13
+ *
14
+ * @param rads The angle to measure
15
+ * @returns TRUE if the provided angle is a right angle
16
+ */
17
+ export declare function isRightAngleRads(rads: Radians): boolean;
@@ -1,40 +1,40 @@
1
- import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
2
- /**
3
- *
4
- * @param a
5
- * @param b
6
- * @param c
7
- * @param d
8
- * @returns
9
- */
10
- export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
11
- /**
12
- * Computes the intersection between a cubic spline and a line segment.
13
- */
14
- export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
15
- /**
16
- * Finds the closest point on the Bezier curve from another point
17
- *
18
- * @param x
19
- * @param y
20
- * @param P0
21
- * @param P1
22
- * @param P2
23
- * @param P3
24
- * @param tolerance
25
- * @param maxLevel
26
- * @returns
27
- */
28
- export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
29
- /**
30
- * Determines the distance between a point and the closest point on the
31
- * Bezier curve.
32
- *
33
- * @param c The curve to test
34
- * @param p The point to measure from
35
- */
36
- export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
37
- /**
38
- * Determines if the parameter is a Curve
39
- */
40
- export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
1
+ import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
2
+ /**
3
+ *
4
+ * @param a
5
+ * @param b
6
+ * @param c
7
+ * @param d
8
+ * @returns
9
+ */
10
+ export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
11
+ /**
12
+ * Computes the intersection between a cubic spline and a line segment.
13
+ */
14
+ export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
15
+ /**
16
+ * Finds the closest point on the Bezier curve from another point
17
+ *
18
+ * @param x
19
+ * @param y
20
+ * @param P0
21
+ * @param P1
22
+ * @param P2
23
+ * @param P3
24
+ * @param tolerance
25
+ * @param maxLevel
26
+ * @returns
27
+ */
28
+ export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
29
+ /**
30
+ * Determines the distance between a point and the closest point on the
31
+ * Bezier curve.
32
+ *
33
+ * @param c The curve to test
34
+ * @param p The point to measure from
35
+ */
36
+ export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
37
+ /**
38
+ * Determines if the parameter is a Curve
39
+ */
40
+ export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
@@ -1,44 +1,44 @@
1
- import type { Ellipse, GlobalPoint, Line, LineSegment, LocalPoint } from "./types";
2
- /**
3
- * Construct an Ellipse object from the parameters
4
- *
5
- * @param center The center of the ellipse
6
- * @param angle The slanting of the ellipse in radians
7
- * @param halfWidth Half of the width of a non-slanted version of the ellipse
8
- * @param halfHeight Half of the height of a non-slanted version of the ellipse
9
- * @returns The constructed Ellipse object
10
- */
11
- export declare function ellipse<Point extends GlobalPoint | LocalPoint>(center: Point, halfWidth: number, halfHeight: number): Ellipse<Point>;
12
- /**
13
- * Determines if a point is inside or on the ellipse outline
14
- *
15
- * @param p The point to test
16
- * @param ellipse The ellipse to compare against
17
- * @returns TRUE if the point is inside or on the outline of the ellipse
18
- */
19
- export declare const ellipseIncludesPoint: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
20
- /**
21
- * Tests whether a point lies on the outline of the ellipse within a given
22
- * tolerance
23
- *
24
- * @param point The point to test
25
- * @param ellipse The ellipse to compare against
26
- * @param threshold The distance to consider a point close enough to be "on" the outline
27
- * @returns TRUE if the point is on the ellise outline
28
- */
29
- export declare const ellipseTouchesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
30
- /**
31
- * Determine the shortest euclidean distance from a point to the
32
- * outline of the ellipse
33
- *
34
- * @param p The point to consider
35
- * @param ellipse The ellipse to calculate the distance to
36
- * @returns The eucledian distance
37
- */
38
- export declare const ellipseDistanceFromPoint: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => number;
39
- /**
40
- * Calculate a maximum of two intercept points for a line going throug an
41
- * ellipse.
42
- */
43
- export declare function ellipseSegmentInterceptPoints<Point extends GlobalPoint | LocalPoint>(e: Readonly<Ellipse<Point>>, s: Readonly<LineSegment<Point>>): Point[];
44
- export declare function ellipseLineIntersectionPoints<Point extends GlobalPoint | LocalPoint>({ center, halfWidth, halfHeight }: Ellipse<Point>, [g, h]: Line<Point>): Point[];
1
+ import type { Ellipse, GlobalPoint, Line, LineSegment, LocalPoint } from "./types";
2
+ /**
3
+ * Construct an Ellipse object from the parameters
4
+ *
5
+ * @param center The center of the ellipse
6
+ * @param angle The slanting of the ellipse in radians
7
+ * @param halfWidth Half of the width of a non-slanted version of the ellipse
8
+ * @param halfHeight Half of the height of a non-slanted version of the ellipse
9
+ * @returns The constructed Ellipse object
10
+ */
11
+ export declare function ellipse<Point extends GlobalPoint | LocalPoint>(center: Point, halfWidth: number, halfHeight: number): Ellipse<Point>;
12
+ /**
13
+ * Determines if a point is inside or on the ellipse outline
14
+ *
15
+ * @param p The point to test
16
+ * @param ellipse The ellipse to compare against
17
+ * @returns TRUE if the point is inside or on the outline of the ellipse
18
+ */
19
+ export declare const ellipseIncludesPoint: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
20
+ /**
21
+ * Tests whether a point lies on the outline of the ellipse within a given
22
+ * tolerance
23
+ *
24
+ * @param point The point to test
25
+ * @param ellipse The ellipse to compare against
26
+ * @param threshold The distance to consider a point close enough to be "on" the outline
27
+ * @returns TRUE if the point is on the ellise outline
28
+ */
29
+ export declare const ellipseTouchesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
30
+ /**
31
+ * Determine the shortest euclidean distance from a point to the
32
+ * outline of the ellipse
33
+ *
34
+ * @param p The point to consider
35
+ * @param ellipse The ellipse to calculate the distance to
36
+ * @returns The eucledian distance
37
+ */
38
+ export declare const ellipseDistanceFromPoint: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => number;
39
+ /**
40
+ * Calculate a maximum of two intercept points for a line going throug an
41
+ * ellipse.
42
+ */
43
+ export declare function ellipseSegmentInterceptPoints<Point extends GlobalPoint | LocalPoint>(e: Readonly<Ellipse<Point>>, s: Readonly<LineSegment<Point>>): Point[];
44
+ export declare function ellipseLineIntersectionPoints<Point extends GlobalPoint | LocalPoint>({ center, halfWidth, halfHeight }: Ellipse<Point>, [g, h]: Line<Point>): Point[];
@@ -1,12 +1,12 @@
1
- export * from "./angle";
2
- export * from "./curve";
3
- export * from "./line";
4
- export * from "./point";
5
- export * from "./polygon";
6
- export * from "./range";
7
- export * from "./rectangle";
8
- export * from "./segment";
9
- export * from "./triangle";
10
- export * from "./types";
11
- export * from "./vector";
12
- export * from "./utils";
1
+ export * from "./angle";
2
+ export * from "./curve";
3
+ export * from "./line";
4
+ export * from "./point";
5
+ export * from "./polygon";
6
+ export * from "./range";
7
+ export * from "./rectangle";
8
+ export * from "./segment";
9
+ export * from "./triangle";
10
+ export * from "./types";
11
+ export * from "./vector";
12
+ export * from "./utils";
@@ -1,17 +1,17 @@
1
- import type { GlobalPoint, Line, LocalPoint } from "./types";
2
- /**
3
- * Create a line from two points.
4
- *
5
- * @param points The two points lying on the line
6
- * @returns The line on which the points lie
7
- */
8
- export declare function line<P extends GlobalPoint | LocalPoint>(a: P, b: P): Line<P>;
9
- /**
10
- * Determines the intersection point (unless the lines are parallel) of two
11
- * lines
12
- *
13
- * @param a
14
- * @param b
15
- * @returns
16
- */
17
- export declare function linesIntersectAt<Point extends GlobalPoint | LocalPoint>(a: Line<Point>, b: Line<Point>): Point | null;
1
+ import type { GlobalPoint, Line, LocalPoint } from "./types";
2
+ /**
3
+ * Create a line from two points.
4
+ *
5
+ * @param points The two points lying on the line
6
+ * @returns The line on which the points lie
7
+ */
8
+ export declare function line<P extends GlobalPoint | LocalPoint>(a: P, b: P): Line<P>;
9
+ /**
10
+ * Determines the intersection point (unless the lines are parallel) of two
11
+ * lines
12
+ *
13
+ * @param a
14
+ * @param b
15
+ * @returns
16
+ */
17
+ export declare function linesIntersectAt<Point extends GlobalPoint | LocalPoint>(a: Line<Point>, b: Line<Point>): Point | null;
@@ -1,122 +1,122 @@
1
- import type { LocalPoint, GlobalPoint, Radians, Degrees, Vector } from "./types";
2
- /**
3
- * Create a properly typed Point instance from the X and Y coordinates.
4
- *
5
- * @param x The X coordinate
6
- * @param y The Y coordinate
7
- * @returns The branded and created point
8
- */
9
- export declare function pointFrom<Point extends GlobalPoint | LocalPoint>(x: number, y: number): Point;
10
- /**
11
- * Converts and remaps an array containing a pair of numbers to Point.
12
- *
13
- * @param numberArray The number array to check and to convert to Point
14
- * @returns The point instance
15
- */
16
- export declare function pointFromArray<Point extends GlobalPoint | LocalPoint>(numberArray: number[]): Point | undefined;
17
- /**
18
- * Converts and remaps a pair of numbers to Point.
19
- *
20
- * @param pair A number pair to convert to Point
21
- * @returns The point instance
22
- */
23
- export declare function pointFromPair<Point extends GlobalPoint | LocalPoint>(pair: [number, number]): Point;
24
- /**
25
- * Convert a vector to a point.
26
- *
27
- * @param v The vector to convert
28
- * @returns The point the vector points at with origin 0,0
29
- */
30
- export declare function pointFromVector<P extends GlobalPoint | LocalPoint>(v: Vector, offset?: P): P;
31
- /**
32
- * Checks if the provided value has the shape of a Point.
33
- *
34
- * @param p The value to attempt verification on
35
- * @returns TRUE if the provided value has the shape of a local or global point
36
- */
37
- export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
38
- /**
39
- * Compare two points coordinate-by-coordinate and if
40
- * they are closer than INVERSE_PRECISION it returns TRUE.
41
- *
42
- * @param a Point The first point to compare
43
- * @param b Point The second point to compare
44
- * @returns TRUE if the points are sufficiently close to each other
45
- */
46
- export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
47
- /**
48
- * Roate a point by [angle] radians.
49
- *
50
- * @param point The point to rotate
51
- * @param center The point to rotate around, the center point
52
- * @param angle The radians to rotate the point by
53
- * @returns The rotated point
54
- */
55
- export declare function pointRotateRads<Point extends GlobalPoint | LocalPoint>([x, y]: Point, [cx, cy]: Point, angle: Radians): Point;
56
- /**
57
- * Roate a point by [angle] degree.
58
- *
59
- * @param point The point to rotate
60
- * @param center The point to rotate around, the center point
61
- * @param angle The degree to rotate the point by
62
- * @returns The rotated point
63
- */
64
- export declare function pointRotateDegs<Point extends GlobalPoint | LocalPoint>(point: Point, center: Point, angle: Degrees): Point;
65
- /**
66
- * Translate a point by a vector.
67
- *
68
- * WARNING: This is not for translating Excalidraw element points!
69
- * You need to account for rotation on base coordinates
70
- * on your own.
71
- * CONSIDER USING AN APPROPRIATE ELEMENT-AWARE TRANSLATE!
72
- *
73
- * @param p The point to apply the translation on
74
- * @param v The vector to translate by
75
- * @returns
76
- */
77
- export declare function pointTranslate<From extends GlobalPoint | LocalPoint, To extends GlobalPoint | LocalPoint>(p: From, v?: Vector): To;
78
- /**
79
- * Find the center point at equal distance from both points.
80
- *
81
- * @param a One of the points to create the middle point for
82
- * @param b The other point to create the middle point for
83
- * @returns The middle point
84
- */
85
- export declare function pointCenter<P extends LocalPoint | GlobalPoint>(a: P, b: P): P;
86
- /**
87
- * Calculate the distance between two points.
88
- *
89
- * @param a First point
90
- * @param b Second point
91
- * @returns The euclidean distance between the two points.
92
- */
93
- export declare function pointDistance<P extends LocalPoint | GlobalPoint>(a: P, b: P): number;
94
- /**
95
- * Calculate the squared distance between two points.
96
- *
97
- * Note: Use this if you only compare distances, it saves a square root.
98
- *
99
- * @param a First point
100
- * @param b Second point
101
- * @returns The euclidean distance between the two points.
102
- */
103
- export declare function pointDistanceSq<P extends LocalPoint | GlobalPoint>(a: P, b: P): number;
104
- /**
105
- * Scale a point from a given origin by the multiplier.
106
- *
107
- * @param p The point to scale
108
- * @param mid The origin to scale from
109
- * @param multiplier The scaling factor
110
- * @returns
111
- */
112
- export declare const pointScaleFromOrigin: <P extends GlobalPoint | LocalPoint>(p: P, mid: P, multiplier: number) => GlobalPoint | LocalPoint;
113
- /**
114
- * Returns whether `q` lies inside the segment/rectangle defined by `p` and `r`.
115
- * This is an approximation to "does `q` lie on a segment `pr`" check.
116
- *
117
- * @param p The first point to compare against
118
- * @param q The actual point this function checks whether is in between
119
- * @param r The other point to compare against
120
- * @returns TRUE if q is indeed between p and r
121
- */
122
- export declare const isPointWithinBounds: <P extends GlobalPoint | LocalPoint>(p: P, q: P, r: P) => boolean;
1
+ import type { LocalPoint, GlobalPoint, Radians, Degrees, Vector } from "./types";
2
+ /**
3
+ * Create a properly typed Point instance from the X and Y coordinates.
4
+ *
5
+ * @param x The X coordinate
6
+ * @param y The Y coordinate
7
+ * @returns The branded and created point
8
+ */
9
+ export declare function pointFrom<Point extends GlobalPoint | LocalPoint>(x: number, y: number): Point;
10
+ /**
11
+ * Converts and remaps an array containing a pair of numbers to Point.
12
+ *
13
+ * @param numberArray The number array to check and to convert to Point
14
+ * @returns The point instance
15
+ */
16
+ export declare function pointFromArray<Point extends GlobalPoint | LocalPoint>(numberArray: number[]): Point | undefined;
17
+ /**
18
+ * Converts and remaps a pair of numbers to Point.
19
+ *
20
+ * @param pair A number pair to convert to Point
21
+ * @returns The point instance
22
+ */
23
+ export declare function pointFromPair<Point extends GlobalPoint | LocalPoint>(pair: [number, number]): Point;
24
+ /**
25
+ * Convert a vector to a point.
26
+ *
27
+ * @param v The vector to convert
28
+ * @returns The point the vector points at with origin 0,0
29
+ */
30
+ export declare function pointFromVector<P extends GlobalPoint | LocalPoint>(v: Vector, offset?: P): P;
31
+ /**
32
+ * Checks if the provided value has the shape of a Point.
33
+ *
34
+ * @param p The value to attempt verification on
35
+ * @returns TRUE if the provided value has the shape of a local or global point
36
+ */
37
+ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
38
+ /**
39
+ * Compare two points coordinate-by-coordinate and if
40
+ * they are closer than INVERSE_PRECISION it returns TRUE.
41
+ *
42
+ * @param a Point The first point to compare
43
+ * @param b Point The second point to compare
44
+ * @returns TRUE if the points are sufficiently close to each other
45
+ */
46
+ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
47
+ /**
48
+ * Rotate a point by [angle] radians.
49
+ *
50
+ * @param point The point to rotate
51
+ * @param center The point to rotate around, the center point
52
+ * @param angle The radians to rotate the point by
53
+ * @returns The rotated point
54
+ */
55
+ export declare function pointRotateRads<Point extends GlobalPoint | LocalPoint>([x, y]: Point, [cx, cy]: Point, angle: Radians): Point;
56
+ /**
57
+ * Rotate a point by [angle] degree.
58
+ *
59
+ * @param point The point to rotate
60
+ * @param center The point to rotate around, the center point
61
+ * @param angle The degree to rotate the point by
62
+ * @returns The rotated point
63
+ */
64
+ export declare function pointRotateDegs<Point extends GlobalPoint | LocalPoint>(point: Point, center: Point, angle: Degrees): Point;
65
+ /**
66
+ * Translate a point by a vector.
67
+ *
68
+ * WARNING: This is not for translating Excalidraw element points!
69
+ * You need to account for rotation on base coordinates
70
+ * on your own.
71
+ * CONSIDER USING AN APPROPRIATE ELEMENT-AWARE TRANSLATE!
72
+ *
73
+ * @param p The point to apply the translation on
74
+ * @param v The vector to translate by
75
+ * @returns
76
+ */
77
+ export declare function pointTranslate<From extends GlobalPoint | LocalPoint, To extends GlobalPoint | LocalPoint>(p: From, v?: Vector): To;
78
+ /**
79
+ * Find the center point at equal distance from both points.
80
+ *
81
+ * @param a One of the points to create the middle point for
82
+ * @param b The other point to create the middle point for
83
+ * @returns The middle point
84
+ */
85
+ export declare function pointCenter<P extends LocalPoint | GlobalPoint>(a: P, b: P): P;
86
+ /**
87
+ * Calculate the distance between two points.
88
+ *
89
+ * @param a First point
90
+ * @param b Second point
91
+ * @returns The euclidean distance between the two points.
92
+ */
93
+ export declare function pointDistance<P extends LocalPoint | GlobalPoint>(a: P, b: P): number;
94
+ /**
95
+ * Calculate the squared distance between two points.
96
+ *
97
+ * Note: Use this if you only compare distances, it saves a square root.
98
+ *
99
+ * @param a First point
100
+ * @param b Second point
101
+ * @returns The euclidean distance between the two points.
102
+ */
103
+ export declare function pointDistanceSq<P extends LocalPoint | GlobalPoint>(a: P, b: P): number;
104
+ /**
105
+ * Scale a point from a given origin by the multiplier.
106
+ *
107
+ * @param p The point to scale
108
+ * @param mid The origin to scale from
109
+ * @param multiplier The scaling factor
110
+ * @returns
111
+ */
112
+ export declare const pointScaleFromOrigin: <P extends GlobalPoint | LocalPoint>(p: P, mid: P, multiplier: number) => GlobalPoint | LocalPoint;
113
+ /**
114
+ * Returns whether `q` lies inside the segment/rectangle defined by `p` and `r`.
115
+ * This is an approximation to "does `q` lie on a segment `pr`" check.
116
+ *
117
+ * @param p The first point to compare against
118
+ * @param q The actual point this function checks whether is in between
119
+ * @param r The other point to compare against
120
+ * @returns TRUE if q is indeed between p and r
121
+ */
122
+ export declare const isPointWithinBounds: <P extends GlobalPoint | LocalPoint>(p: P, q: P, r: P) => boolean;
@@ -1,5 +1,6 @@
1
- import type { GlobalPoint, LocalPoint, Polygon } from "./types";
2
- export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
3
- export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
4
- export declare const polygonIncludesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
5
- export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
1
+ import type { GlobalPoint, LocalPoint, Polygon } from "./types";
2
+ export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
3
+ export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
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;
6
+ export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;