@zsviczian/excalidraw 0.17.6-18 → 0.17.6-19

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 (393) hide show
  1. package/dist/excalidraw.development.js +11493 -186
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  4. package/package.json +2 -2
  5. package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -629
  6. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  7. package/types/excalidraw/actions/actionBoundText.d.ts +456 -456
  8. package/types/excalidraw/actions/actionCanvas.d.ts +3070 -3070
  9. package/types/excalidraw/actions/actionClipboard.d.ts +1370 -1370
  10. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -222
  11. package/types/excalidraw/actions/actionDeleteSelected.d.ts +664 -664
  12. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  13. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  14. package/types/excalidraw/actions/actionElementLink.d.ts +244 -244
  15. package/types/excalidraw/actions/actionElementLock.d.ts +444 -444
  16. package/types/excalidraw/actions/actionExport.d.ts +1953 -1953
  17. package/types/excalidraw/actions/actionFinalize.d.ts +425 -425
  18. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  19. package/types/excalidraw/actions/actionFrame.d.ts +887 -887
  20. package/types/excalidraw/actions/actionGroup.d.ts +454 -454
  21. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  22. package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -223
  23. package/types/excalidraw/actions/actionLink.d.ts +223 -223
  24. package/types/excalidraw/actions/actionMenu.d.ts +649 -649
  25. package/types/excalidraw/actions/actionNavigate.d.ts +430 -430
  26. package/types/excalidraw/actions/actionProperties.d.ts +3276 -3276
  27. package/types/excalidraw/actions/actionSelectAll.d.ts +222 -222
  28. package/types/excalidraw/actions/actionStyles.d.ts +236 -236
  29. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  30. package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -225
  31. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -223
  32. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -420
  33. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
  34. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
  35. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
  36. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  37. package/types/excalidraw/actions/index.d.ts +27 -27
  38. package/types/excalidraw/actions/manager.d.ts +21 -21
  39. package/types/excalidraw/actions/register.d.ts +5 -5
  40. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  41. package/types/excalidraw/actions/types.d.ts +46 -46
  42. package/types/excalidraw/align.d.ts +6 -6
  43. package/types/excalidraw/analytics.d.ts +1 -1
  44. package/types/excalidraw/animated-trail.d.ts +33 -33
  45. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  46. package/types/excalidraw/appState.d.ts +89 -89
  47. package/types/excalidraw/binaryheap.d.ts +12 -12
  48. package/types/excalidraw/change.d.ts +191 -191
  49. package/types/excalidraw/charts.d.ts +27 -27
  50. package/types/excalidraw/clients.d.ts +14 -14
  51. package/types/excalidraw/clipboard.d.ts +44 -44
  52. package/types/excalidraw/colors.d.ts +61 -61
  53. package/types/excalidraw/components/Actions.d.ts +34 -34
  54. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  55. package/types/excalidraw/components/App.d.ts +550 -550
  56. package/types/excalidraw/components/Avatar.d.ts +11 -11
  57. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  58. package/types/excalidraw/components/Button.d.ts +17 -17
  59. package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
  60. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
  61. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
  62. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  63. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  64. package/types/excalidraw/components/Card.d.ts +6 -6
  65. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  66. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  67. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  68. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  69. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  70. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  71. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  72. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  73. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  74. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  75. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  76. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  77. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  78. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  79. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  80. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  81. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  82. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  83. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  84. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  85. package/types/excalidraw/components/Dialog.d.ts +13 -13
  86. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  87. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
  88. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  89. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  90. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  91. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  92. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  93. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  94. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  95. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  96. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  97. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  98. package/types/excalidraw/components/HandButton.d.ts +10 -10
  99. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  100. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  101. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  102. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  103. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  104. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  105. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  106. package/types/excalidraw/components/Island.d.ts +10 -10
  107. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  108. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  109. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  110. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  111. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  112. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  113. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  114. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  115. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  116. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  117. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  118. package/types/excalidraw/components/LockButton.d.ts +10 -10
  119. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  120. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  121. package/types/excalidraw/components/Modal.d.ts +14 -14
  122. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  124. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  125. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  126. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  127. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  128. package/types/excalidraw/components/Popover.d.ts +15 -15
  129. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  130. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  131. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  132. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  133. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  134. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  135. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  136. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  137. package/types/excalidraw/components/SearchSidebar.d.ts +1 -0
  138. package/types/excalidraw/components/Section.d.ts +6 -6
  139. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  140. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  141. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  142. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  143. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  144. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  145. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  146. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  147. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  148. package/types/excalidraw/components/Spinner.d.ts +8 -8
  149. package/types/excalidraw/components/Stack.d.ts +16 -16
  150. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  151. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  152. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  153. package/types/excalidraw/components/Stats/Collapsible.d.ts +8 -8
  154. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  155. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  156. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  157. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  158. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  159. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  160. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  161. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  162. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  163. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  164. package/types/excalidraw/components/Switch.d.ts +9 -9
  165. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +14 -14
  166. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  167. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  168. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  169. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  170. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  171. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  172. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  173. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  175. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  176. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  177. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  178. package/types/excalidraw/components/TextField.d.ts +21 -21
  179. package/types/excalidraw/components/Toast.d.ts +9 -9
  180. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  181. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  182. package/types/excalidraw/components/Trans.d.ts +9 -9
  183. package/types/excalidraw/components/UserList.d.ts +18 -18
  184. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  185. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  186. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  187. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  188. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  189. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
  196. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  197. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  198. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  199. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  200. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  201. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  202. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  203. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  204. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  205. package/types/excalidraw/components/icons.d.ts +214 -214
  206. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  207. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  208. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
  209. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  210. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  211. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  212. package/types/excalidraw/constants.d.ts +324 -324
  213. package/types/excalidraw/context/tunnels.d.ts +20 -20
  214. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  215. package/types/excalidraw/cursor.d.ts +6 -6
  216. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  217. package/types/excalidraw/data/ai/types.d.ts +242 -242
  218. package/types/excalidraw/data/blob.d.ts +52 -52
  219. package/types/excalidraw/data/encode.d.ts +55 -55
  220. package/types/excalidraw/data/encryption.d.ts +9 -9
  221. package/types/excalidraw/data/filesystem.d.ts +20 -20
  222. package/types/excalidraw/data/image.d.ts +15 -15
  223. package/types/excalidraw/data/index.d.ts +22 -22
  224. package/types/excalidraw/data/json.d.ts +16 -16
  225. package/types/excalidraw/data/library.d.ts +106 -106
  226. package/types/excalidraw/data/reconcile.d.ts +6 -6
  227. package/types/excalidraw/data/resave.d.ts +5 -5
  228. package/types/excalidraw/data/restore.d.ts +21 -21
  229. package/types/excalidraw/data/transform.d.ts +81 -81
  230. package/types/excalidraw/data/types.d.ts +45 -45
  231. package/types/excalidraw/data/url.d.ts +8 -8
  232. package/types/excalidraw/deburr.d.ts +1 -1
  233. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  234. package/types/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  235. package/types/excalidraw/distribute.d.ts +6 -6
  236. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  237. package/types/excalidraw/element/binding.d.ts +99 -99
  238. package/types/excalidraw/element/bounds.d.ts +76 -76
  239. package/types/excalidraw/element/collision.d.ts +17 -17
  240. package/types/excalidraw/element/containerCache.d.ts +11 -11
  241. package/types/excalidraw/element/cropElement.d.ts +14 -14
  242. package/types/excalidraw/element/dragElements.d.ts +32 -32
  243. package/types/excalidraw/element/elementLink.d.ts +13 -13
  244. package/types/excalidraw/element/embeddable.d.ts +229 -229
  245. package/types/excalidraw/element/flowchart.d.ts +25 -25
  246. package/types/excalidraw/element/heading.d.ts +12 -12
  247. package/types/excalidraw/element/image.d.ts +32 -32
  248. package/types/excalidraw/element/index.d.ts +26 -26
  249. package/types/excalidraw/element/linearElementEditor.d.ts +128 -128
  250. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  251. package/types/excalidraw/element/newElement.d.ts +106 -106
  252. package/types/excalidraw/element/resizeElements.d.ts +16 -16
  253. package/types/excalidraw/element/resizeTest.d.ts +15 -15
  254. package/types/excalidraw/element/routing.d.ts +12 -12
  255. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  256. package/types/excalidraw/element/sizeHelpers.d.ts +35 -35
  257. package/types/excalidraw/element/sortElements.d.ts +2 -2
  258. package/types/excalidraw/element/textElement.d.ts +83 -83
  259. package/types/excalidraw/element/textWrapping.d.ts +13 -13
  260. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  261. package/types/excalidraw/element/transformHandles.d.ts +55 -55
  262. package/types/excalidraw/element/typeChecks.d.ts +39 -39
  263. package/types/excalidraw/element/types.d.ts +263 -263
  264. package/types/excalidraw/emitter.d.ts +16 -16
  265. package/types/excalidraw/entry.d.ts +1 -1
  266. package/types/excalidraw/env.d.cts +1 -1
  267. package/types/excalidraw/env.d.ts +1 -1
  268. package/types/excalidraw/errors.d.ts +32 -32
  269. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  270. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  271. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  272. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +37 -0
  273. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  274. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  275. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -37
  276. package/types/excalidraw/fonts/Fonts.d.ts +117 -117
  277. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  278. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  279. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  280. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  281. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  282. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  283. package/types/excalidraw/fonts/index.d.ts +1 -1
  284. package/types/excalidraw/fonts/metadata.d.ts +35 -0
  285. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +45 -0
  286. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +5 -0
  287. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +2 -0
  288. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +31 -0
  289. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +6 -0
  290. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +2 -0
  291. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  292. package/types/excalidraw/frame.d.ts +63 -63
  293. package/types/excalidraw/ga.d.ts +63 -0
  294. package/types/excalidraw/gadirections.d.ts +8 -0
  295. package/types/excalidraw/galines.d.ts +22 -0
  296. package/types/excalidraw/gapoints.d.ts +7 -0
  297. package/types/excalidraw/gatransforms.d.ts +10 -0
  298. package/types/excalidraw/gesture.d.ts +6 -6
  299. package/types/excalidraw/groups.d.ts +33 -33
  300. package/types/excalidraw/history.d.ts +40 -40
  301. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  302. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  303. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  304. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  305. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  306. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  307. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  308. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  309. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  310. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  311. package/types/excalidraw/i18n.d.ts +24 -24
  312. package/types/excalidraw/index-node.d.ts +1 -1
  313. package/types/excalidraw/index.d.ts +63 -63
  314. package/types/excalidraw/jotai.d.ts +34 -34
  315. package/types/excalidraw/keys.d.ts +189 -189
  316. package/types/excalidraw/laser-trails.d.ts +20 -20
  317. package/types/excalidraw/main.d.ts +2 -2
  318. package/types/excalidraw/math.d.ts +79 -0
  319. package/types/excalidraw/mermaid.d.ts +2 -2
  320. package/types/excalidraw/obsidianUtils.d.ts +23 -23
  321. package/types/excalidraw/points.d.ts +7 -7
  322. package/types/excalidraw/polyfill.d.ts +2 -2
  323. package/types/excalidraw/publicPath.d.ts +1 -1
  324. package/types/excalidraw/queue.d.ts +9 -9
  325. package/types/excalidraw/random.d.ts +4 -4
  326. package/types/excalidraw/reactUtils.d.ts +14 -14
  327. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  328. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  329. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  330. package/types/excalidraw/renderer/renderElement.d.ts +28 -28
  331. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  332. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  333. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  334. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  335. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  336. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  337. package/types/excalidraw/scene/Scene.d.ts +79 -79
  338. package/types/excalidraw/scene/Shape.d.ts +17 -17
  339. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  340. package/types/excalidraw/scene/comparisons.d.ts +488 -488
  341. package/types/excalidraw/scene/export.d.ts +30 -30
  342. package/types/excalidraw/scene/index.d.ts +4 -4
  343. package/types/excalidraw/scene/normalize.d.ts +4 -4
  344. package/types/excalidraw/scene/scroll.d.ts +23 -23
  345. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  346. package/types/excalidraw/scene/selection.d.ts +32 -32
  347. package/types/excalidraw/scene/types.d.ts +119 -119
  348. package/types/excalidraw/scene/zoom.d.ts +12 -12
  349. package/types/excalidraw/shapes.d.ts +85 -85
  350. package/types/excalidraw/snapping.d.ts +112 -112
  351. package/types/excalidraw/store.d.ts +129 -129
  352. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  355. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  356. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  357. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  358. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  359. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  360. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  361. package/types/excalidraw/types.d.ts +741 -741
  362. package/types/excalidraw/utility-types.d.ts +31 -31
  363. package/types/excalidraw/utils.d.ts +249 -249
  364. package/types/excalidraw/visualdebug.d.ts +35 -35
  365. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  366. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  367. package/types/excalidraw/workers.d.ts +36 -36
  368. package/types/excalidraw/zindex.d.ts +6 -6
  369. package/types/math/angle.d.ts +17 -17
  370. package/types/math/arc.d.ts +6 -6
  371. package/types/math/curve.d.ts +32 -32
  372. package/types/math/ga/ga.d.ts +63 -63
  373. package/types/math/ga/gadirections.d.ts +8 -8
  374. package/types/math/ga/galines.d.ts +22 -22
  375. package/types/math/ga/gapoints.d.ts +7 -7
  376. package/types/math/ga/gatransforms.d.ts +10 -10
  377. package/types/math/index.d.ts +12 -12
  378. package/types/math/line.d.ts +26 -26
  379. package/types/math/point.d.ts +140 -140
  380. package/types/math/polygon.d.ts +5 -5
  381. package/types/math/range.d.ts +44 -44
  382. package/types/math/segment.d.ts +32 -32
  383. package/types/math/triangle.d.ts +11 -11
  384. package/types/math/types.d.ts +96 -96
  385. package/types/math/utils.d.ts +7 -7
  386. package/types/math/vector.d.ts +92 -92
  387. package/types/utils/bbox.d.ts +9 -9
  388. package/types/utils/collision.d.ts +9 -9
  389. package/types/utils/export.d.ts +46 -46
  390. package/types/utils/geometry/geometry.d.ts +89 -0
  391. package/types/utils/geometry/shape.d.ts +71 -71
  392. package/types/utils/index.d.ts +4 -4
  393. package/types/utils/withinBounds.d.ts +19 -19
@@ -1,46 +1,46 @@
1
- import type { AppState, BinaryFiles } from "../excalidraw/types";
2
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "../excalidraw/element/types";
3
- import { MIME_TYPES } from "../excalidraw/constants";
4
- export { MIME_TYPES };
5
- type ExportOpts = {
6
- elements: readonly NonDeleted<ExcalidrawElement>[];
7
- appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
8
- files: BinaryFiles | null;
9
- maxWidthOrHeight?: number;
10
- exportingFrame?: ExcalidrawFrameLikeElement | null;
11
- getDimensions?: (width: number, height: number) => {
12
- width: number;
13
- height: number;
14
- scale?: number;
15
- };
16
- };
17
- export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
18
- exportPadding?: number | undefined;
19
- }) => Promise<HTMLCanvasElement>;
20
- export declare const exportToBlob: (opts: ExportOpts & {
21
- mimeType?: string;
22
- quality?: number;
23
- exportPadding?: number;
24
- }) => Promise<Blob>;
25
- export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
26
- exportPadding?: number | undefined;
27
- renderEmbeddables?: boolean | undefined;
28
- skipInliningFonts?: true | undefined;
29
- reuseImages?: boolean | undefined;
30
- }) => Promise<SVGSVGElement>;
31
- export declare const exportToClipboard: (opts: ExportOpts & {
32
- mimeType?: string;
33
- quality?: number;
34
- type: "png" | "svg" | "json";
35
- }) => Promise<void>;
36
- export { getCommonBoundingBox } from "../excalidraw/element/bounds";
37
- export { getMaximumGroups } from "../excalidraw/groups";
38
- export { intersectElementWithLine } from "../excalidraw/element/binding";
39
- export { determineFocusDistance } from "../excalidraw/element/binding";
40
- export { measureText } from "../excalidraw/element/textElement";
41
- export { wrapText } from "../excalidraw/element/textWrapping";
42
- export { getLineHeight } from "../excalidraw/fonts/index";
43
- export { getFontString, getFontFamilyString } from "../excalidraw/utils";
44
- export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
45
- export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidraw";
46
- export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, } from "../excalidraw/obsidianUtils";
1
+ import type { AppState, BinaryFiles } from "../excalidraw/types";
2
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "../excalidraw/element/types";
3
+ import { MIME_TYPES } from "../excalidraw/constants";
4
+ export { MIME_TYPES };
5
+ type ExportOpts = {
6
+ elements: readonly NonDeleted<ExcalidrawElement>[];
7
+ appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
8
+ files: BinaryFiles | null;
9
+ maxWidthOrHeight?: number;
10
+ exportingFrame?: ExcalidrawFrameLikeElement | null;
11
+ getDimensions?: (width: number, height: number) => {
12
+ width: number;
13
+ height: number;
14
+ scale?: number;
15
+ };
16
+ };
17
+ export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
18
+ exportPadding?: number | undefined;
19
+ }) => Promise<HTMLCanvasElement>;
20
+ export declare const exportToBlob: (opts: ExportOpts & {
21
+ mimeType?: string;
22
+ quality?: number;
23
+ exportPadding?: number;
24
+ }) => Promise<Blob>;
25
+ export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
26
+ exportPadding?: number | undefined;
27
+ renderEmbeddables?: boolean | undefined;
28
+ skipInliningFonts?: true | undefined;
29
+ reuseImages?: boolean | undefined;
30
+ }) => Promise<SVGSVGElement>;
31
+ export declare const exportToClipboard: (opts: ExportOpts & {
32
+ mimeType?: string;
33
+ quality?: number;
34
+ type: "png" | "svg" | "json";
35
+ }) => Promise<void>;
36
+ export { getCommonBoundingBox } from "../excalidraw/element/bounds";
37
+ export { getMaximumGroups } from "../excalidraw/groups";
38
+ export { intersectElementWithLine } from "../excalidraw/element/binding";
39
+ export { determineFocusDistance } from "../excalidraw/element/binding";
40
+ export { measureText } from "../excalidraw/element/textElement";
41
+ export { wrapText } from "../excalidraw/element/textWrapping";
42
+ export { getLineHeight } from "../excalidraw/fonts/index";
43
+ export { getFontString, getFontFamilyString } from "../excalidraw/utils";
44
+ export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
45
+ export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidraw";
46
+ export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, } from "../excalidraw/obsidianUtils";
@@ -0,0 +1,89 @@
1
+ import type { ExcalidrawBindableElement } from "../../excalidraw/element/types";
2
+ import type { LineSegment } from "../bbox";
3
+ import type { Point, Line, Polygon, Curve, Ellipse, Polycurve, Polyline } from "./shape";
4
+ /**
5
+ * utils
6
+ */
7
+ export declare const cross: (a: readonly [number, number], b: readonly [number, number], o: readonly [number, number]) => number;
8
+ export declare const dot: (a: readonly [number, number], b: readonly [number, number], o: readonly [number, number]) => number;
9
+ export declare const isClosed: (polygon: Polygon) => boolean;
10
+ export declare const close: (polygon: Polygon) => Polygon;
11
+ /**
12
+ * angles
13
+ */
14
+ export declare const angleToDegrees: (angle: number) => number;
15
+ export declare const angleToRadians: (angle: number) => number;
16
+ export declare const angleReflect: (incidenceAngle: number, surfaceAngle: number) => number;
17
+ export declare const pointRotate: (point: Point, angle: number, origin?: Point) => Point;
18
+ export declare const pointTranslate: (point: Point, angle?: number, distance?: number) => Point;
19
+ export declare const pointInverse: (point: Point) => Point;
20
+ export declare const pointAdd: (pointA: Point, pointB: Point) => Point;
21
+ export declare const distanceToPoint: (p1: Point, p2: Point) => number;
22
+ /**
23
+ * lines
24
+ */
25
+ export declare const lineAngle: (line: Line) => number;
26
+ export declare const lineLength: (line: Line) => number;
27
+ export declare const lineMidpoint: (line: Line) => Point;
28
+ export declare const lineRotate: (line: Line, angle: number, origin?: Point) => Line;
29
+ export declare const lineTranslate: (line: Line, angle: number, distance: number) => Point[];
30
+ export declare const lineInterpolate: (line: Line, clamp?: boolean) => (t: number) => Point;
31
+ export declare const curveToBezier: (pointsIn: readonly Point[], curveTightness?: number) => Point[];
32
+ export declare const curveRotate: (curve: Curve, angle: number, origin: Point) => Point[];
33
+ export declare const cubicBezierPoint: (t: number, controlPoints: Curve) => Point;
34
+ export declare const cubicBezierDistance: (point: Point, controlPoints: Curve) => number;
35
+ /**
36
+ * polygons
37
+ */
38
+ export declare const polygonRotate: (polygon: Polygon, angle: number, origin: Point) => Point[];
39
+ export declare const polygonBounds: (polygon: Polygon) => [Point, Point];
40
+ export declare const polygonCentroid: (vertices: Point[]) => Point;
41
+ export declare const polygonScale: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
42
+ export declare const polygonScaleX: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
43
+ export declare const polygonScaleY: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
44
+ export declare const polygonReflectX: (polygon: Polygon, reflectFactor?: number) => Point[];
45
+ export declare const polygonReflectY: (polygon: Polygon, reflectFactor?: number) => Point[];
46
+ export declare const polygonTranslate: (polygon: Polygon, angle: number, distance: number) => Point[];
47
+ /**
48
+ * ellipses
49
+ */
50
+ export declare const ellipseAxes: (ellipse: Ellipse) => {
51
+ majorAxis: number;
52
+ minorAxis: number;
53
+ };
54
+ export declare const ellipseFocusToCenter: (ellipse: Ellipse) => number;
55
+ export declare const ellipseExtremes: (ellipse: Ellipse) => Point[];
56
+ export declare const pointRelativeToCenter: (point: Point, center: Point, angle: number) => Point;
57
+ export declare const pointLeftofLine: (point: Point, line: Line) => boolean;
58
+ export declare const pointRightofLine: (point: Point, line: Line) => boolean;
59
+ export declare const distanceToSegment: (point: Point, line: Line) => number;
60
+ export declare const pointOnLine: (point: Point, line: Line, threshold?: number) => boolean;
61
+ export declare const pointOnPolyline: (point: Point, polyline: Polyline, threshold?: number) => boolean;
62
+ export declare const lineIntersectsLine: (lineA: Line, lineB: Line) => boolean;
63
+ export declare const lineIntersectsPolygon: (line: Line, polygon: Polygon) => boolean;
64
+ export declare const pointInBezierEquation: (p0: Point, p1: Point, p2: Point, p3: Point, [mx, my]: Point, lineThreshold: number) => boolean;
65
+ export declare const cubicBezierEquation: (curve: Curve) => (t: number, idx: number) => number;
66
+ export declare const polyLineFromCurve: (curve: Curve, segments?: number) => Polyline;
67
+ export declare const pointOnCurve: (point: Point, curve: Curve, threshold?: number) => boolean;
68
+ export declare const pointOnPolycurve: (point: Point, polycurve: Polycurve, threshold?: number) => boolean;
69
+ export declare const pointInPolygon: (point: Point, polygon: Polygon) => boolean;
70
+ export declare const pointOnPolygon: (point: Point, polygon: Polygon, threshold?: number) => boolean;
71
+ export declare const polygonInPolygon: (polygonA: Polygon, polygonB: Polygon) => boolean;
72
+ export declare const polygonIntersectPolygon: (polygonA: Polygon, polygonB: Polygon) => boolean;
73
+ export declare const pointOnEllipse: (point: Point, ellipse: Ellipse, threshold?: number) => boolean;
74
+ export declare const pointInEllipse: (point: Point, ellipse: Ellipse) => boolean;
75
+ /**
76
+ * Calculates the point two line segments with a definite start and end point
77
+ * intersect at.
78
+ */
79
+ export declare const segmentsIntersectAt: (a: readonly [readonly [number, number], readonly [number, number]], b: readonly [readonly [number, number], readonly [number, number]]) => Point | null;
80
+ /**
81
+ * Determine intersection of a rectangular shaped element and a
82
+ * line segment.
83
+ *
84
+ * @param element The rectangular element to test against
85
+ * @param segment The segment intersecting the element
86
+ * @param gap Optional value to inflate the shape before testing
87
+ * @returns An array of intersections
88
+ */
89
+ export declare const segmentIntersectRectangleElement: (element: ExcalidrawBindableElement, segment: LineSegment, gap?: number) => Point[];
@@ -1,71 +1,71 @@
1
- /**
2
- * this file defines pure geometric shapes
3
- *
4
- * for instance, a cubic bezier curve is specified by its four control points and
5
- * an ellipse is defined by its center, angle, semi major axis and semi minor axis
6
- * (but in semi-width and semi-height so it's more relevant to Excalidraw)
7
- *
8
- * the idea with pure shapes is so that we can provide collision and other geoemtric methods not depending on
9
- * the specifics of roughjs or elements in Excalidraw; instead, we can focus on the pure shapes themselves
10
- *
11
- * also included in this file are methods for converting an Excalidraw element or a Drawable from roughjs
12
- * to pure shapes
13
- */
14
- import type { Curve, LineSegment, Polygon, Radians } from "../../math";
15
- import { type GlobalPoint, type LocalPoint } from "../../math";
16
- import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "../../excalidraw/element/types";
17
- import type { Drawable, Op } from "roughjs/bin/core";
18
- export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
19
- export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
20
- export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
21
- center: Point;
22
- angle: Radians;
23
- halfWidth: number;
24
- halfHeight: number;
25
- };
26
- export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
27
- type: "line";
28
- data: LineSegment<Point>;
29
- } | {
30
- type: "polygon";
31
- data: Polygon<Point>;
32
- } | {
33
- type: "curve";
34
- data: Curve<Point>;
35
- } | {
36
- type: "ellipse";
37
- data: Ellipse<Point>;
38
- } | {
39
- type: "polyline";
40
- data: Polyline<Point>;
41
- } | {
42
- type: "polycurve";
43
- data: Polycurve<Point>;
44
- };
45
- type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
46
- export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
47
- export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
48
- export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
49
- export declare const getCurvePathOps: (shape: Drawable) => Op[];
50
- export declare const getCurveShape: <Point extends GlobalPoint | LocalPoint>(roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
51
- export declare const getFreedrawShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawFreeDrawElement, center: Point, isClosed?: boolean) => GeometricShape<Point>;
52
- export declare const getClosedCurveShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
53
- /**
54
- * Determine intersection of a rectangular shaped element and a
55
- * line segment.
56
- *
57
- * @param element The rectangular element to test against
58
- * @param segment The segment intersecting the element
59
- * @param gap Optional value to inflate the shape before testing
60
- * @returns An array of intersections
61
- */
62
- export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
63
- export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
64
- export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
65
- export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
66
- majorAxis: number;
67
- minorAxis: number;
68
- };
69
- export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
70
- export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("../../math").Vector[];
71
- export {};
1
+ /**
2
+ * this file defines pure geometric shapes
3
+ *
4
+ * for instance, a cubic bezier curve is specified by its four control points and
5
+ * an ellipse is defined by its center, angle, semi major axis and semi minor axis
6
+ * (but in semi-width and semi-height so it's more relevant to Excalidraw)
7
+ *
8
+ * the idea with pure shapes is so that we can provide collision and other geoemtric methods not depending on
9
+ * the specifics of roughjs or elements in Excalidraw; instead, we can focus on the pure shapes themselves
10
+ *
11
+ * also included in this file are methods for converting an Excalidraw element or a Drawable from roughjs
12
+ * to pure shapes
13
+ */
14
+ import type { Curve, LineSegment, Polygon, Radians } from "../../math";
15
+ import { type GlobalPoint, type LocalPoint } from "../../math";
16
+ import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "../../excalidraw/element/types";
17
+ import type { Drawable, Op } from "roughjs/bin/core";
18
+ export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
19
+ export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
20
+ export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
21
+ center: Point;
22
+ angle: Radians;
23
+ halfWidth: number;
24
+ halfHeight: number;
25
+ };
26
+ export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
27
+ type: "line";
28
+ data: LineSegment<Point>;
29
+ } | {
30
+ type: "polygon";
31
+ data: Polygon<Point>;
32
+ } | {
33
+ type: "curve";
34
+ data: Curve<Point>;
35
+ } | {
36
+ type: "ellipse";
37
+ data: Ellipse<Point>;
38
+ } | {
39
+ type: "polyline";
40
+ data: Polyline<Point>;
41
+ } | {
42
+ type: "polycurve";
43
+ data: Polycurve<Point>;
44
+ };
45
+ type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
46
+ export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
47
+ export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
48
+ export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
49
+ export declare const getCurvePathOps: (shape: Drawable) => Op[];
50
+ export declare const getCurveShape: <Point extends GlobalPoint | LocalPoint>(roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
51
+ export declare const getFreedrawShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawFreeDrawElement, center: Point, isClosed?: boolean) => GeometricShape<Point>;
52
+ export declare const getClosedCurveShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
53
+ /**
54
+ * Determine intersection of a rectangular shaped element and a
55
+ * line segment.
56
+ *
57
+ * @param element The rectangular element to test against
58
+ * @param segment The segment intersecting the element
59
+ * @param gap Optional value to inflate the shape before testing
60
+ * @returns An array of intersections
61
+ */
62
+ export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
63
+ export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
64
+ export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
65
+ export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
66
+ majorAxis: number;
67
+ minorAxis: number;
68
+ };
69
+ export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
70
+ export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("../../math").Vector[];
71
+ export {};
@@ -1,4 +1,4 @@
1
- export * from "./export";
2
- export * from "./withinBounds";
3
- export * from "./bbox";
4
- export { getCommonBounds } from "../excalidraw/element/bounds";
1
+ export * from "./export";
2
+ export * from "./withinBounds";
3
+ export * from "./bbox";
4
+ export { getCommonBounds } from "../excalidraw/element/bounds";
@@ -1,19 +1,19 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "../excalidraw/element/types";
2
- import type { Bounds } from "../excalidraw/element/bounds";
3
- type Element = NonDeletedExcalidrawElement;
4
- type Elements = readonly NonDeletedExcalidrawElement[];
5
- export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
6
- export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
7
- export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
8
- elements: Elements;
9
- bounds: Bounds | ExcalidrawElement;
10
- /** safety offset. Defaults to 0. */
11
- errorMargin?: number | undefined;
12
- /**
13
- * - overlap: elements overlapping or inside bounds
14
- * - contain: elements inside bounds or bounds inside elements
15
- * - inside: elements inside bounds
16
- **/
17
- type: "overlap" | "contain" | "inside";
18
- }) => NonDeletedExcalidrawElement[];
19
- export {};
1
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "../excalidraw/element/types";
2
+ import type { Bounds } from "../excalidraw/element/bounds";
3
+ type Element = NonDeletedExcalidrawElement;
4
+ type Elements = readonly NonDeletedExcalidrawElement[];
5
+ export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
6
+ export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
7
+ export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
8
+ elements: Elements;
9
+ bounds: Bounds | ExcalidrawElement;
10
+ /** safety offset. Defaults to 0. */
11
+ errorMargin?: number | undefined;
12
+ /**
13
+ * - overlap: elements overlapping or inside bounds
14
+ * - contain: elements inside bounds or bounds inside elements
15
+ * - inside: elements inside bounds
16
+ **/
17
+ type: "overlap" | "contain" | "inside";
18
+ }) => NonDeletedExcalidrawElement[];
19
+ export {};