@excalidraw/excalidraw 0.18.0-d92384b77-2 → 0.18.0-f0063e113

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 (426) hide show
  1. package/CHANGELOG.md +40 -14
  2. package/README.md +1 -1
  3. package/dist/dev/chunk-CBGOW5JB.js +5669 -0
  4. package/dist/dev/chunk-CBGOW5JB.js.map +7 -0
  5. package/dist/dev/chunk-CP5DND7P.js +7 -0
  6. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  7. package/dist/dev/chunk-FB2NA5UG.js +4132 -0
  8. package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
  9. package/dist/dev/{chunk-LMHBUWQS.js → chunk-QF5FRM6O.js} +16 -5
  10. package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
  11. package/dist/dev/data/{image-6FU7Z7FE.js → image-SURZSZNX.js} +3 -3
  12. package/dist/dev/index.css +2971 -2902
  13. package/dist/dev/index.css.map +3 -3
  14. package/dist/dev/index.js +29619 -23126
  15. package/dist/dev/index.js.map +4 -4
  16. package/dist/dev/locales/{en-OZCJJ2HN.js → en-SMAPCEOQ.js} +2 -2
  17. package/dist/dev/subset-shared.chunk.js +2 -2
  18. package/dist/dev/subset-worker.chunk.js +2 -2
  19. package/dist/prod/chunk-A66AFZZU.js +7 -0
  20. package/dist/prod/chunk-I4UNSFV6.js +12 -0
  21. package/dist/prod/chunk-IRHK23LL.js +4 -0
  22. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  23. package/dist/prod/data/image-HXEZYJPQ.js +1 -0
  24. package/dist/prod/index.css +1 -1
  25. package/dist/prod/index.js +27 -16
  26. package/dist/prod/locales/{en-B4ZKOASM.js → en-TYY6KWIJ.js} +1 -1
  27. package/dist/prod/subset-shared.chunk.js +1 -1
  28. package/dist/prod/subset-worker.chunk.js +1 -1
  29. package/dist/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +12 -12
  30. package/dist/types/{excalidraw → common/src}/colors.d.ts +62 -61
  31. package/dist/types/{excalidraw → common/src}/constants.d.ts +343 -323
  32. package/dist/types/{excalidraw → common/src}/emitter.d.ts +16 -16
  33. package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +48 -38
  34. package/dist/types/common/src/index.d.ts +12 -0
  35. package/dist/types/{excalidraw → common/src}/keys.d.ts +189 -189
  36. package/dist/types/{excalidraw → common/src}/points.d.ts +9 -7
  37. package/dist/types/common/src/promise-pool.d.ts +6 -0
  38. package/dist/types/{excalidraw → common/src}/queue.d.ts +9 -9
  39. package/dist/types/{excalidraw → common/src}/random.d.ts +3 -3
  40. package/dist/types/{excalidraw/data → common/src}/url.d.ts +7 -7
  41. package/dist/types/{excalidraw → common/src}/utility-types.d.ts +38 -33
  42. package/dist/types/{excalidraw → common/src}/utils.d.ts +267 -256
  43. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +76 -79
  44. package/dist/types/element/src/align.d.ts +7 -0
  45. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +110 -99
  46. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +89 -77
  47. package/dist/types/element/src/collision.d.ts +32 -0
  48. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +8 -8
  49. package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +11 -11
  50. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +19 -19
  51. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +216 -191
  52. package/dist/types/element/src/distance.d.ts +3 -0
  53. package/dist/types/{excalidraw → element/src}/distribute.d.ts +6 -6
  54. package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +33 -32
  55. package/dist/types/element/src/duplicate.d.ts +63 -0
  56. package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +17 -16
  57. package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +13 -13
  58. package/dist/types/element/src/embeddable.d.ts +10 -0
  59. package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +26 -25
  60. package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +57 -48
  61. package/dist/types/{excalidraw → element/src}/frame.d.ts +70 -69
  62. package/dist/types/{excalidraw → element/src}/groups.d.ts +33 -33
  63. package/dist/types/{excalidraw/element → element/src}/heading.d.ts +15 -16
  64. package/dist/types/{excalidraw/element → element/src}/image.d.ts +32 -32
  65. package/dist/types/element/src/index.d.ts +57 -0
  66. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +116 -130
  67. package/dist/types/element/src/mutateElement.d.ts +21 -0
  68. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +62 -101
  69. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +28 -28
  70. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +32 -31
  71. package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +15 -15
  72. package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +38 -32
  73. package/dist/types/element/src/shape.d.ts +42 -0
  74. package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +3 -3
  75. package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +35 -35
  76. package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +2 -2
  77. package/dist/types/element/src/store.d.ts +231 -0
  78. package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +40 -39
  79. package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +41 -41
  80. package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +13 -13
  81. package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +55 -55
  82. package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +57 -39
  83. package/dist/types/{excalidraw/element → element/src}/types.d.ts +295 -282
  84. package/dist/types/element/src/utils.d.ts +31 -0
  85. package/dist/types/{excalidraw → element/src}/zindex.d.ts +7 -6
  86. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +528 -534
  87. package/dist/types/excalidraw/actions/actionAlign.d.ts +110 -110
  88. package/dist/types/excalidraw/actions/actionBoundText.d.ts +389 -393
  89. package/dist/types/excalidraw/actions/actionCanvas.d.ts +2416 -2266
  90. package/dist/types/excalidraw/actions/actionClipboard.d.ts +1172 -1183
  91. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +189 -191
  92. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +568 -573
  93. package/dist/types/excalidraw/actions/actionDistribute.d.ts +35 -35
  94. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +18 -22
  95. package/dist/types/excalidraw/actions/actionElementLink.d.ts +211 -213
  96. package/dist/types/excalidraw/actions/actionElementLock.d.ts +375 -381
  97. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +186 -198
  98. package/dist/types/excalidraw/actions/actionExport.d.ts +1648 -1666
  99. package/dist/types/excalidraw/actions/actionFinalize.d.ts +398 -362
  100. package/dist/types/excalidraw/actions/actionFlip.d.ts +35 -35
  101. package/dist/types/excalidraw/actions/actionFrame.d.ts +1245 -1253
  102. package/dist/types/excalidraw/actions/actionGroup.d.ts +387 -391
  103. package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -7
  104. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +683 -192
  105. package/dist/types/excalidraw/actions/actionLink.d.ts +190 -192
  106. package/dist/types/excalidraw/actions/actionMenu.d.ts +548 -554
  107. package/dist/types/excalidraw/actions/actionNavigate.d.ts +363 -367
  108. package/dist/types/excalidraw/actions/actionProperties.d.ts +2774 -2796
  109. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +189 -191
  110. package/dist/types/excalidraw/actions/actionStyles.d.ts +203 -205
  111. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  112. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +192 -194
  113. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +190 -192
  114. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +183 -357
  115. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  116. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +189 -192
  117. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +190 -193
  118. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +190 -193
  119. package/dist/types/excalidraw/actions/actionZindex.d.ts +75 -75
  120. package/dist/types/excalidraw/actions/index.d.ts +28 -27
  121. package/dist/types/excalidraw/actions/manager.d.ts +21 -21
  122. package/dist/types/excalidraw/actions/register.d.ts +5 -5
  123. package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -4
  124. package/dist/types/excalidraw/actions/types.d.ts +47 -46
  125. package/dist/types/excalidraw/analytics.d.ts +1 -1
  126. package/dist/types/excalidraw/animated-trail.d.ts +39 -33
  127. package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -16
  128. package/dist/types/excalidraw/appState.d.ts +96 -86
  129. package/dist/types/excalidraw/charts.d.ts +27 -27
  130. package/dist/types/excalidraw/clients.d.ts +14 -14
  131. package/dist/types/excalidraw/clipboard.d.ts +66 -66
  132. package/dist/types/excalidraw/components/Actions.d.ts +34 -34
  133. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  134. package/dist/types/excalidraw/components/App.d.ts +559 -544
  135. package/dist/types/excalidraw/components/Avatar.d.ts +11 -11
  136. package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  137. package/dist/types/excalidraw/components/Button.d.ts +17 -17
  138. package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -15
  139. package/dist/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  140. package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  141. package/dist/types/excalidraw/components/Card.d.ts +7 -7
  142. package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  143. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -9
  144. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -19
  145. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  146. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -8
  147. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -18
  148. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -10
  149. package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  150. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  151. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  152. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  153. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +21 -21
  154. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  155. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  156. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +26 -26
  157. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  158. package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -16
  159. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  160. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  161. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +31 -31
  162. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  163. package/dist/types/excalidraw/components/Dialog.d.ts +13 -13
  164. package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  165. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +7 -7
  166. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -11
  167. package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  168. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +16 -16
  169. package/dist/types/excalidraw/components/EyeDropper.d.ts +28 -28
  170. package/dist/types/excalidraw/components/FilledButton.d.ts +18 -18
  171. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  172. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  173. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  174. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  175. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  176. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -14
  177. package/dist/types/excalidraw/components/HandButton.d.ts +10 -10
  178. package/dist/types/excalidraw/components/HelpButton.d.ts +7 -7
  179. package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -4
  180. package/dist/types/excalidraw/components/HintViewer.d.ts +10 -10
  181. package/dist/types/excalidraw/components/IconPicker.d.ts +15 -15
  182. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  183. package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -10
  184. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -3
  185. package/dist/types/excalidraw/components/Island.d.ts +10 -10
  186. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  187. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  188. package/dist/types/excalidraw/components/LayerUI.d.ts +31 -31
  189. package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  190. package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  191. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  192. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +18 -18
  193. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  194. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  195. package/dist/types/excalidraw/components/LibraryUnit.d.ts +15 -15
  196. package/dist/types/excalidraw/components/LoadingMessage.d.ts +6 -6
  197. package/dist/types/excalidraw/components/LockButton.d.ts +10 -10
  198. package/dist/types/excalidraw/components/MagicButton.d.ts +10 -10
  199. package/dist/types/excalidraw/components/MobileMenu.d.ts +25 -25
  200. package/dist/types/excalidraw/components/Modal.d.ts +12 -12
  201. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  202. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  203. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  204. package/dist/types/excalidraw/components/Paragraph.d.ts +4 -4
  205. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  206. package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -12
  207. package/dist/types/excalidraw/components/Popover.d.ts +15 -15
  208. package/dist/types/excalidraw/components/ProjectName.d.ts +10 -10
  209. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  210. package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  211. package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -9
  212. package/dist/types/excalidraw/components/RadioGroup.d.ts +14 -14
  213. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +20 -20
  214. package/dist/types/excalidraw/components/Range.d.ts +8 -8
  215. package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -7
  216. package/dist/types/excalidraw/components/ScrollableList.d.ts +9 -9
  217. package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -5
  218. package/dist/types/excalidraw/components/Section.d.ts +6 -6
  219. package/dist/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  220. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  221. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  222. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +9 -9
  223. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +10 -10
  224. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +7 -7
  225. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +7 -7
  226. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  227. package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  228. package/dist/types/excalidraw/components/Spinner.d.ts +8 -8
  229. package/dist/types/excalidraw/components/Stack.d.ts +15 -15
  230. package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  231. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +11 -11
  232. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +11 -10
  233. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  234. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +45 -35
  235. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  236. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  237. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  238. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  239. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  240. package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -12
  241. package/dist/types/excalidraw/components/Stats/index.d.ts +36 -36
  242. package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -26
  243. package/dist/types/excalidraw/components/Switch.d.ts +9 -9
  244. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -6
  245. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +30 -30
  246. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  247. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +8 -8
  248. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  249. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  250. package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  251. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +8 -8
  252. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +9 -9
  253. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +7 -7
  254. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  255. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  256. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +33 -33
  257. package/dist/types/excalidraw/components/TextField.d.ts +21 -21
  258. package/dist/types/excalidraw/components/Toast.d.ts +9 -9
  259. package/dist/types/excalidraw/components/ToolButton.d.ts +49 -49
  260. package/dist/types/excalidraw/components/Tooltip.d.ts +18 -18
  261. package/dist/types/excalidraw/components/Trans.d.ts +9 -9
  262. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  263. package/dist/types/excalidraw/components/UserList.d.ts +18 -18
  264. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -29
  265. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  266. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  267. package/dist/types/excalidraw/components/canvases/index.d.ts +3 -3
  268. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  269. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  270. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  271. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  272. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  273. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -18
  274. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  275. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  276. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  277. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -11
  278. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  279. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  280. package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -12
  281. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  282. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  283. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -18
  284. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -9
  285. package/dist/types/excalidraw/components/icons.d.ts +225 -221
  286. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  287. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  288. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -80
  289. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  290. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  291. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  292. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  293. package/dist/types/excalidraw/context/tunnels.d.ts +21 -21
  294. package/dist/types/excalidraw/context/ui-appState.d.ts +4 -4
  295. package/dist/types/excalidraw/cursor.d.ts +5 -5
  296. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  297. package/dist/types/excalidraw/data/ai/types.d.ts +242 -242
  298. package/dist/types/excalidraw/data/blob.d.ts +53 -53
  299. package/dist/types/excalidraw/data/encode.d.ts +55 -55
  300. package/dist/types/excalidraw/data/encryption.d.ts +9 -9
  301. package/dist/types/excalidraw/data/filesystem.d.ts +21 -21
  302. package/dist/types/excalidraw/data/image.d.ts +9 -9
  303. package/dist/types/excalidraw/data/index.d.ts +22 -22
  304. package/dist/types/excalidraw/data/json.d.ts +16 -16
  305. package/dist/types/excalidraw/data/library.d.ts +112 -112
  306. package/dist/types/excalidraw/data/reconcile.d.ts +6 -6
  307. package/dist/types/excalidraw/data/resave.d.ts +5 -5
  308. package/dist/types/excalidraw/data/restore.d.ts +21 -21
  309. package/dist/types/excalidraw/data/transform.d.ts +81 -81
  310. package/dist/types/excalidraw/data/types.d.ts +45 -45
  311. package/dist/types/excalidraw/deburr.d.ts +1 -1
  312. package/dist/types/excalidraw/editor-jotai.d.ts +56 -56
  313. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  314. package/dist/types/excalidraw/errors.d.ts +29 -32
  315. package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  316. package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  317. package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  318. package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -25
  319. package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  320. package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -89
  321. package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  322. package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  323. package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  324. package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  325. package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  326. package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  327. package/dist/types/excalidraw/fonts/index.d.ts +1 -1
  328. package/dist/types/excalidraw/gesture.d.ts +6 -6
  329. package/dist/types/excalidraw/history.d.ts +48 -40
  330. package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  331. package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  332. package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -4
  333. package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  334. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  335. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +20 -20
  336. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +2 -2
  337. package/dist/types/excalidraw/hooks/useStable.d.ts +1 -1
  338. package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  339. package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -2
  340. package/dist/types/excalidraw/i18n.d.ts +24 -24
  341. package/dist/types/excalidraw/index-node.d.ts +1 -1
  342. package/dist/types/excalidraw/index.d.ts +46 -45
  343. package/dist/types/excalidraw/laser-trails.d.ts +20 -20
  344. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  345. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  346. package/dist/types/excalidraw/mermaid.d.ts +2 -2
  347. package/dist/types/excalidraw/polyfill.d.ts +2 -2
  348. package/dist/types/excalidraw/reactUtils.d.ts +14 -14
  349. package/dist/types/excalidraw/renderer/helpers.d.ts +18 -13
  350. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  351. package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  352. package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  353. package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -11
  354. package/dist/types/excalidraw/renderer/staticScene.d.ts +11 -11
  355. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  356. package/dist/types/excalidraw/scene/Renderer.d.ts +27 -28
  357. package/dist/types/excalidraw/scene/export.d.ts +36 -36
  358. package/dist/types/excalidraw/scene/index.d.ts +4 -4
  359. package/dist/types/excalidraw/scene/normalize.d.ts +4 -4
  360. package/dist/types/excalidraw/scene/scroll.d.ts +23 -23
  361. package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -12
  362. package/dist/types/excalidraw/scene/types.d.ts +120 -118
  363. package/dist/types/excalidraw/scene/zoom.d.ts +12 -12
  364. package/dist/types/excalidraw/snapping.d.ts +111 -112
  365. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  366. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  367. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  368. package/dist/types/excalidraw/subset/subset-main.d.ts +12 -12
  369. package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  370. package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  371. package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  372. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  373. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  374. package/dist/types/excalidraw/types.d.ts +706 -687
  375. package/dist/types/excalidraw/workers.d.ts +36 -36
  376. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +24 -22
  377. package/dist/types/math/{angle.d.ts → src/angle.d.ts} +19 -17
  378. package/dist/types/math/src/constants.d.ts +3 -0
  379. package/dist/types/math/src/curve.d.ts +74 -0
  380. package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
  381. package/dist/types/math/{index.d.ts → src/index.d.ts} +13 -12
  382. package/dist/types/math/{line.d.ts → src/line.d.ts} +17 -17
  383. package/dist/types/math/{point.d.ts → src/point.d.ts} +122 -122
  384. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
  385. package/dist/types/math/{range.d.ts → src/range.d.ts} +44 -44
  386. package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +5 -3
  387. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
  388. package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
  389. package/dist/types/math/{types.d.ts → src/types.d.ts} +106 -105
  390. package/dist/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
  391. package/dist/types/math/{vector.d.ts → src/vector.d.ts} +94 -88
  392. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
  393. package/dist/types/utils/{export.d.ts → src/export.d.ts} +35 -35
  394. package/dist/types/utils/{index.d.ts → src/index.d.ts} +4 -4
  395. package/dist/types/utils/{geometry → src}/shape.d.ts +58 -71
  396. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
  397. package/history.ts +149 -110
  398. package/package.json +25 -10
  399. package/dist/dev/chunk-DVMEY4GX.js +0 -7
  400. package/dist/dev/chunk-DVMEY4GX.js.map +0 -7
  401. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  402. package/dist/dev/chunk-MNBVKM3L.js +0 -25634
  403. package/dist/dev/chunk-MNBVKM3L.js.map +0 -7
  404. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  405. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  406. package/dist/prod/chunk-6U3AYISY.js +0 -12
  407. package/dist/prod/chunk-AIZYGWGQ.js +0 -1
  408. package/dist/prod/chunk-EIO257PC.js +0 -86
  409. package/dist/prod/chunk-SP3IBIIJ.js +0 -34
  410. package/dist/prod/data/image-UOG3QKNC.js +0 -1
  411. package/dist/types/excalidraw/align.d.ts +0 -7
  412. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  413. package/dist/types/excalidraw/element/collision.d.ts +0 -26
  414. package/dist/types/excalidraw/element/distance.d.ts +0 -3
  415. package/dist/types/excalidraw/element/index.d.ts +0 -26
  416. package/dist/types/excalidraw/element/mutateElement.d.ts +0 -13
  417. package/dist/types/excalidraw/element/utils.d.ts +0 -21
  418. package/dist/types/excalidraw/scene/Shape.d.ts +0 -17
  419. package/dist/types/excalidraw/scene/ShapeCache.d.ts +0 -25
  420. package/dist/types/excalidraw/shapes.d.ts +0 -85
  421. package/dist/types/excalidraw/store.d.ts +0 -129
  422. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  423. package/dist/types/math/curve.d.ts +0 -40
  424. package/dist/types/utils/collision.d.ts +0 -9
  425. /package/dist/dev/data/{image-6FU7Z7FE.js.map → image-SURZSZNX.js.map} +0 -0
  426. /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-SMAPCEOQ.js.map} +0 -0
@@ -1,36 +1,36 @@
1
- /**
2
- * Pool of idle short-lived workers.
3
- *
4
- * IMPORTANT: for simplicity it does not limit the number of newly created workers, leaving it up to the caller to manage the pool size.
5
- */
6
- export declare class WorkerPool<T, R> {
7
- private idleWorkers;
8
- private readonly workerUrl;
9
- private readonly workerTTL;
10
- private constructor();
11
- /**
12
- * Create a new worker pool.
13
- *
14
- * @param workerUrl - The URL of the worker file.
15
- * @param options - The options for the worker pool.
16
- * @throws If the worker is bundled into the main chunk.
17
- * @returns A new worker pool instance.
18
- */
19
- static create<T, R>(workerUrl: URL | undefined, options?: {
20
- ttl?: number;
21
- }): WorkerPool<T, R>;
22
- /**
23
- * Take idle worker from the pool or create a new one and post a message to it.
24
- */
25
- postMessage(data: T, options: StructuredSerializeOptions): Promise<R>;
26
- /**
27
- * Terminate the idle workers in the pool.
28
- */
29
- clear(): Promise<void>;
30
- /**
31
- * Used to get a worker from the pool or create a new one if there is no idle available.
32
- */
33
- private createWorker;
34
- private onMessageHandler;
35
- private onErrorHandler;
36
- }
1
+ /**
2
+ * Pool of idle short-lived workers.
3
+ *
4
+ * IMPORTANT: for simplicity it does not limit the number of newly created workers, leaving it up to the caller to manage the pool size.
5
+ */
6
+ export declare class WorkerPool<T, R> {
7
+ private idleWorkers;
8
+ private readonly workerUrl;
9
+ private readonly workerTTL;
10
+ private constructor();
11
+ /**
12
+ * Create a new worker pool.
13
+ *
14
+ * @param workerUrl - The URL of the worker file.
15
+ * @param options - The options for the worker pool.
16
+ * @throws If the worker is bundled into the main chunk.
17
+ * @returns A new worker pool instance.
18
+ */
19
+ static create<T, R>(workerUrl: URL | undefined, options?: {
20
+ ttl?: number;
21
+ }): WorkerPool<T, R>;
22
+ /**
23
+ * Take idle worker from the pool or create a new one and post a message to it.
24
+ */
25
+ postMessage(data: T, options: StructuredSerializeOptions): Promise<R>;
26
+ /**
27
+ * Terminate the idle workers in the pool.
28
+ */
29
+ clear(): Promise<void>;
30
+ /**
31
+ * Used to get a worker from the pool or create a new one if there is no idle available.
32
+ */
33
+ private createWorker;
34
+ private onMessageHandler;
35
+ private onErrorHandler;
36
+ }
@@ -1,22 +1,24 @@
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
+ type SubmitHandler = () => void;
4
+ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
5
+ id: ExcalidrawElement["id"];
6
+ /**
7
+ * textWysiwyg only deals with `originalText`
8
+ *
9
+ * Note: `text`, which can be wrapped and therefore different from `originalText`,
10
+ * is derived from `originalText`
11
+ */
12
+ onChange?: ((nextOriginalText: string) => void) | undefined;
13
+ onSubmit: (data: {
14
+ viaKeyboard: boolean;
15
+ nextOriginalText: string;
16
+ }) => void;
17
+ getViewportCoords: (x: number, y: number) => [number, number];
18
+ element: ExcalidrawTextElement;
19
+ canvas: HTMLCanvasElement;
20
+ excalidrawContainer: HTMLDivElement | null;
21
+ app: App;
22
+ autoSelect?: boolean | undefined;
23
+ }) => SubmitHandler;
24
+ export {};
@@ -1,17 +1,19 @@
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;
18
+ export declare function radiansBetweenAngles(a: Radians, min: Radians, max: Radians): boolean;
19
+ export declare function radiansDifference(a: Radians, b: Radians): Radians;
@@ -0,0 +1,3 @@
1
+ export declare const PRECISION = 0.0001;
2
+ export declare const LegendreGaussN24TValues: number[];
3
+ export declare const LegendreGaussN24CValues: number[];
@@ -0,0 +1,74 @@
1
+ import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
2
+ /**
3
+ *
4
+ * @param a
5
+ * @param b
6
+ * @param c
7
+ * @param d
8
+ * @returns
9
+ */
10
+ export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
11
+ export declare const bezierEquation: <Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, t: number) => Point;
12
+ /**
13
+ * Computes the intersection between a cubic spline and a line segment.
14
+ */
15
+ export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
16
+ /**
17
+ * Finds the closest point on the Bezier curve from another point
18
+ *
19
+ * @param x
20
+ * @param y
21
+ * @param P0
22
+ * @param P1
23
+ * @param P2
24
+ * @param P3
25
+ * @param tolerance
26
+ * @param maxLevel
27
+ * @returns
28
+ */
29
+ export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
30
+ /**
31
+ * Determines the distance between a point and the closest point on the
32
+ * Bezier curve.
33
+ *
34
+ * @param c The curve to test
35
+ * @param p The point to measure from
36
+ */
37
+ export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
38
+ /**
39
+ * Determines if the parameter is a Curve
40
+ */
41
+ export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
42
+ export declare function curveTangent<Point extends GlobalPoint | LocalPoint>([p0, p1, p2, p3]: Curve<Point>, t: number): import("./types").Vector;
43
+ export declare function curveCatmullRomQuadraticApproxPoints(points: GlobalPoint[], tension?: number): [GlobalPoint, GlobalPoint][] | undefined;
44
+ export declare function curveCatmullRomCubicApproxPoints<Point extends GlobalPoint | LocalPoint>(points: Point[], tension?: number): Curve<Point>[] | undefined;
45
+ export declare function curveOffsetPoints([p0, p1, p2, p3]: Curve<GlobalPoint>, offset: number, steps?: number): GlobalPoint[];
46
+ export declare function offsetPointsForQuadraticBezier(p0: GlobalPoint, p1: GlobalPoint, p2: GlobalPoint, offsetDist: number, steps?: number): GlobalPoint[];
47
+ /**
48
+ * Implementation based on Legendre-Gauss quadrature for more accurate arc
49
+ * length calculation.
50
+ *
51
+ * Reference: https://pomax.github.io/bezierinfo/#arclength
52
+ *
53
+ * @param c The curve to calculate the length of
54
+ * @returns The approximated length of the curve
55
+ */
56
+ export declare function curveLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>): number;
57
+ /**
58
+ * Calculates the curve length from t=0 to t=parameter using the same
59
+ * Legendre-Gauss quadrature method used in curveLength
60
+ *
61
+ * @param c The curve to calculate the partial length for
62
+ * @param t The parameter value (0 to 1) to calculate length up to
63
+ * @returns The length of the curve from beginning to parameter t
64
+ */
65
+ export declare function curveLengthAtParameter<P extends GlobalPoint | LocalPoint>(c: Curve<P>, t: number): number;
66
+ /**
67
+ * Calculates the point at a specific percentage of a curve's total length
68
+ * using binary search for improved efficiency and accuracy.
69
+ *
70
+ * @param c The curve to calculate point on
71
+ * @param percent A value between 0 and 1 representing the percentage of the curve's length
72
+ * @returns The point at the specified percentage of curve length
73
+ */
74
+ export declare function curvePointAtLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>, percent: number): P;
@@ -1,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,13 @@
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 "./ellipse";
4
+ export * from "./line";
5
+ export * from "./point";
6
+ export * from "./polygon";
7
+ export * from "./range";
8
+ export * from "./rectangle";
9
+ export * from "./segment";
10
+ export * from "./triangle";
11
+ export * from "./types";
12
+ export * from "./vector";
13
+ 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, tolerance?: number): 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;