@zsviczian/excalidraw 0.18.0-60 → 0.18.0-62

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 (397) hide show
  1. package/dist/excalidraw.development.js +113 -113
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +2 -2
  4. package/types/common/src/binary-heap.d.ts +12 -12
  5. package/types/common/src/colors.d.ts +62 -62
  6. package/types/common/src/commonObsidianUtils.d.ts +20 -20
  7. package/types/common/src/constants.d.ts +357 -360
  8. package/types/common/src/editorInterface.d.ts +35 -35
  9. package/types/common/src/emitter.d.ts +16 -16
  10. package/types/common/src/font-metadata.d.ts +46 -48
  11. package/types/common/src/index.d.ts +15 -15
  12. package/types/common/src/keys.d.ts +189 -189
  13. package/types/common/src/points.d.ts +9 -9
  14. package/types/common/src/promise-pool.d.ts +6 -6
  15. package/types/common/src/queue.d.ts +9 -9
  16. package/types/common/src/random.d.ts +4 -4
  17. package/types/common/src/url.d.ts +7 -7
  18. package/types/common/src/utility-types.d.ts +37 -37
  19. package/types/common/src/utils.d.ts +279 -273
  20. package/types/common/src/visualdebug.d.ts +41 -41
  21. package/types/element/src/Scene.d.ts +80 -80
  22. package/types/element/src/align.d.ts +8 -8
  23. package/types/element/src/binding.d.ts +123 -122
  24. package/types/element/src/bounds.d.ts +89 -89
  25. package/types/element/src/collision.d.ts +36 -36
  26. package/types/element/src/comparisons.d.ts +8 -8
  27. package/types/element/src/containerCache.d.ts +11 -11
  28. package/types/element/src/cropElement.d.ts +19 -19
  29. package/types/element/src/delta.d.ts +228 -228
  30. package/types/element/src/distance.d.ts +3 -3
  31. package/types/element/src/distribute.d.ts +7 -7
  32. package/types/element/src/dragElements.d.ts +33 -33
  33. package/types/element/src/duplicate.d.ts +63 -63
  34. package/types/element/src/easingFunctions.d.ts +6 -6
  35. package/types/element/src/elbowArrow.d.ts +17 -17
  36. package/types/element/src/elementLink.d.ts +13 -13
  37. package/types/element/src/embeddable.d.ts +10 -10
  38. package/types/element/src/flowchart.d.ts +26 -26
  39. package/types/element/src/fractionalIndex.d.ts +57 -57
  40. package/types/element/src/frame.d.ts +74 -70
  41. package/types/element/src/groups.d.ts +34 -34
  42. package/types/element/src/heading.d.ts +16 -15
  43. package/types/element/src/image.d.ts +22 -32
  44. package/types/element/src/index.d.ts +55 -55
  45. package/types/element/src/linearElementEditor.d.ts +113 -113
  46. package/types/element/src/mutateElement.d.ts +23 -21
  47. package/types/element/src/newElement.d.ts +64 -64
  48. package/types/element/src/positionElementsOnGrid.d.ts +2 -2
  49. package/types/element/src/renderElement.d.ts +31 -31
  50. package/types/element/src/resizeElements.d.ts +39 -39
  51. package/types/element/src/resizeTest.d.ts +16 -16
  52. package/types/element/src/selection.d.ts +34 -38
  53. package/types/element/src/shape.d.ts +42 -42
  54. package/types/element/src/showSelectedShapeActions.d.ts +3 -3
  55. package/types/element/src/sizeHelpers.d.ts +35 -35
  56. package/types/element/src/sortElements.d.ts +2 -2
  57. package/types/element/src/store.d.ts +237 -237
  58. package/types/element/src/textElement.d.ts +40 -40
  59. package/types/element/src/textMeasurements.d.ts +39 -41
  60. package/types/element/src/textWrapping.d.ts +13 -13
  61. package/types/element/src/transformHandles.d.ts +36 -56
  62. package/types/element/src/typeChecks.d.ts +56 -56
  63. package/types/element/src/types.d.ts +304 -304
  64. package/types/element/src/utils.d.ts +34 -32
  65. package/types/element/src/zindex.d.ts +13 -13
  66. package/types/excalidraw/actions/actionAddToLibrary.d.ts +599 -662
  67. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  68. package/types/excalidraw/actions/actionBoundText.d.ts +436 -478
  69. package/types/excalidraw/actions/actionCanvas.d.ts +2920 -3204
  70. package/types/excalidraw/actions/actionClipboard.d.ts +475 -517
  71. package/types/excalidraw/actions/actionCropEditor.d.ts +212 -233
  72. package/types/excalidraw/actions/actionDeleteSelected.d.ts +633 -700
  73. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  74. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -17
  75. package/types/excalidraw/actions/actionElementLink.d.ts +232 -253
  76. package/types/excalidraw/actions/actionElementLock.d.ts +422 -464
  77. package/types/excalidraw/actions/actionEmbeddable.d.ts +209 -230
  78. package/types/excalidraw/actions/actionExport.d.ts +835 -919
  79. package/types/excalidraw/actions/actionFinalize.d.ts +13 -13
  80. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  81. package/types/excalidraw/actions/actionFrame.d.ts +1315 -1435
  82. package/types/excalidraw/actions/actionGroup.d.ts +426 -476
  83. package/types/excalidraw/actions/actionHistory.d.ts +6 -6
  84. package/types/excalidraw/actions/actionLinearEditor.d.ts +709 -766
  85. package/types/excalidraw/actions/actionLink.d.ts +213 -234
  86. package/types/excalidraw/actions/actionMenu.d.ts +201 -222
  87. package/types/excalidraw/actions/actionNavigate.d.ts +20 -22
  88. package/types/excalidraw/actions/actionProperties.d.ts +695 -758
  89. package/types/excalidraw/actions/actionSelectAll.d.ts +208 -233
  90. package/types/excalidraw/actions/actionStyles.d.ts +226 -247
  91. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  92. package/types/excalidraw/actions/actionToggleGridMode.d.ts +215 -236
  93. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +213 -234
  94. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +204 -225
  95. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -19
  96. package/types/excalidraw/actions/actionToggleStats.d.ts +212 -233
  97. package/types/excalidraw/actions/actionToggleViewMode.d.ts +213 -234
  98. package/types/excalidraw/actions/actionToggleZenMode.d.ts +213 -234
  99. package/types/excalidraw/actions/actionTrayMenu.d.ts +208 -229
  100. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  101. package/types/excalidraw/actions/index.d.ts +30 -30
  102. package/types/excalidraw/actions/manager.d.ts +21 -21
  103. package/types/excalidraw/actions/register.d.ts +5 -5
  104. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  105. package/types/excalidraw/actions/types.d.ts +47 -47
  106. package/types/excalidraw/analytics.d.ts +1 -1
  107. package/types/excalidraw/animated-trail.d.ts +39 -39
  108. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  109. package/types/excalidraw/appState.d.ts +105 -105
  110. package/types/excalidraw/charts.d.ts +27 -27
  111. package/types/excalidraw/clients.d.ts +14 -14
  112. package/types/excalidraw/clipboard.d.ts +105 -129
  113. package/types/excalidraw/components/Actions.d.ts +48 -48
  114. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  115. package/types/excalidraw/components/App.d.ts +572 -581
  116. package/types/excalidraw/components/Avatar.d.ts +11 -11
  117. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  118. package/types/excalidraw/components/Button.d.ts +17 -17
  119. package/types/excalidraw/components/ButtonIcon.d.ts +16 -16
  120. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  121. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  122. package/types/excalidraw/components/Card.d.ts +6 -6
  123. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  124. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -10
  125. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -23
  126. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  127. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -7
  128. package/types/excalidraw/components/ColorPicker/Picker.d.ts +19 -19
  129. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  130. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  131. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +9 -9
  132. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  133. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  134. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  135. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +19 -19
  136. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  137. package/types/excalidraw/components/CommandPalette/types.d.ts +24 -24
  138. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  139. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  140. package/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -23
  141. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  142. package/types/excalidraw/components/DefaultSidebar.d.ts +27 -30
  143. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  144. package/types/excalidraw/components/Dialog.d.ts +13 -13
  145. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  146. package/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -7
  147. package/types/excalidraw/components/ElementLinkDialog.d.ts +12 -12
  148. package/types/excalidraw/components/Ellipsify.d.ts +3 -3
  149. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  150. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  151. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  152. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  153. package/types/excalidraw/components/FixedSideContainer.d.ts +10 -10
  154. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  155. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +22 -22
  156. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  157. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +8 -8
  158. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  159. package/types/excalidraw/components/HandButton.d.ts +10 -10
  160. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  161. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  162. package/types/excalidraw/components/HintViewer.d.ts +11 -11
  163. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  164. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  165. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  166. package/types/excalidraw/components/InlineIcon.d.ts +5 -5
  167. package/types/excalidraw/components/Island.d.ts +10 -10
  168. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  169. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  170. package/types/excalidraw/components/LayerUI.d.ts +32 -32
  171. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  172. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  173. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  174. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  175. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  176. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  177. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  178. package/types/excalidraw/components/LinkButton.d.ts +4 -4
  179. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  180. package/types/excalidraw/components/LockButton.d.ts +10 -10
  181. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  182. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  183. package/types/excalidraw/components/MobileToolBar.d.ts +10 -10
  184. package/types/excalidraw/components/Modal.d.ts +14 -14
  185. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  186. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  187. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  188. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  189. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  190. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  191. package/types/excalidraw/components/Popover.d.ts +16 -16
  192. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  193. package/types/excalidraw/components/PropertiesPopover.d.ts +16 -16
  194. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  195. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  196. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  197. package/types/excalidraw/components/RadioSelection.d.ts +20 -20
  198. package/types/excalidraw/components/Range.d.ts +8 -8
  199. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  200. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  201. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  202. package/types/excalidraw/components/Section.d.ts +7 -7
  203. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  204. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +70 -76
  205. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  206. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  207. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  208. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  209. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  210. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  211. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  212. package/types/excalidraw/components/Spinner.d.ts +8 -8
  213. package/types/excalidraw/components/Stack.d.ts +15 -15
  214. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  215. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  216. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  217. package/types/excalidraw/components/Stats/Collapsible.d.ts +10 -10
  218. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  219. package/types/excalidraw/components/Stats/DragInput.d.ts +44 -44
  220. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  221. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  222. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  223. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  224. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  225. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  226. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  227. package/types/excalidraw/components/Stats/utils.d.ts +19 -19
  228. package/types/excalidraw/components/Switch.d.ts +9 -9
  229. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  230. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  231. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  232. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  233. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  234. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  235. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  236. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  237. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  238. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  239. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  240. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  241. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  242. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  243. package/types/excalidraw/components/TextField.d.ts +22 -22
  244. package/types/excalidraw/components/Toast.d.ts +9 -9
  245. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  246. package/types/excalidraw/components/ToolPopover.d.ts +25 -25
  247. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  248. package/types/excalidraw/components/Trans.d.ts +9 -9
  249. package/types/excalidraw/components/TrayMenu.d.ts +26 -26
  250. package/types/excalidraw/components/UnlockPopup.d.ts +8 -8
  251. package/types/excalidraw/components/UserList.d.ts +18 -18
  252. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +33 -33
  253. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  254. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  255. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  256. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +84 -88
  257. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +16 -16
  258. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  259. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +38 -46
  260. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  261. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  262. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  263. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  264. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  265. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  266. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  267. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  268. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  269. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  270. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  271. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  272. package/types/excalidraw/components/hyperlink/helpers.d.ts +10 -10
  273. package/types/excalidraw/components/icons.d.ts +241 -241
  274. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +11 -22
  275. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  276. package/types/excalidraw/components/main-menu/MainMenu.d.ts +78 -80
  277. package/types/excalidraw/components/shapes.d.ts +172 -172
  278. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  279. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  280. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  281. package/types/excalidraw/context/tunnels.d.ts +21 -21
  282. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  283. package/types/excalidraw/cursor.d.ts +6 -6
  284. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  285. package/types/excalidraw/data/ai/types.d.ts +242 -242
  286. package/types/excalidraw/data/blob.d.ts +57 -49
  287. package/types/excalidraw/data/encode.d.ts +55 -55
  288. package/types/excalidraw/data/encryption.d.ts +9 -9
  289. package/types/excalidraw/data/filesystem.d.ts +21 -21
  290. package/types/excalidraw/data/image.d.ts +9 -9
  291. package/types/excalidraw/data/index.d.ts +22 -22
  292. package/types/excalidraw/data/json.d.ts +18 -16
  293. package/types/excalidraw/data/library.d.ts +127 -112
  294. package/types/excalidraw/data/reconcile.d.ts +7 -7
  295. package/types/excalidraw/data/resave.d.ts +5 -5
  296. package/types/excalidraw/data/restore.d.ts +35 -26
  297. package/types/excalidraw/data/transform.d.ts +81 -81
  298. package/types/excalidraw/data/types.d.ts +48 -48
  299. package/types/excalidraw/deburr.d.ts +1 -1
  300. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  301. package/types/excalidraw/dist/excalidraw.production.min.d.ts +2 -3
  302. package/types/excalidraw/editor-jotai.d.ts +56 -56
  303. package/types/excalidraw/entry.d.ts +1 -1
  304. package/types/excalidraw/env.d.cts +1 -1
  305. package/types/excalidraw/env.d.ts +1 -1
  306. package/types/excalidraw/eraser/index.d.ts +12 -12
  307. package/types/excalidraw/errors.d.ts +29 -29
  308. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  310. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  311. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  312. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  313. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  314. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  315. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  316. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  317. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  318. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  319. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  320. package/types/excalidraw/fonts/index.d.ts +1 -1
  321. package/types/excalidraw/gesture.d.ts +6 -6
  322. package/types/excalidraw/history.d.ts +48 -48
  323. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  324. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  325. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  326. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  327. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  328. package/types/excalidraw/hooks/useOutsideClick.d.ts +21 -21
  329. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  330. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  331. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  332. package/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -14
  333. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  334. package/types/excalidraw/i18n.d.ts +24 -24
  335. package/types/excalidraw/index-node.d.ts +1 -1
  336. package/types/excalidraw/index.d.ts +60 -60
  337. package/types/excalidraw/laser-trails.d.ts +20 -20
  338. package/types/excalidraw/lasso/index.d.ts +16 -16
  339. package/types/excalidraw/lasso/utils.d.ts +13 -13
  340. package/types/excalidraw/main.d.ts +2 -2
  341. package/types/excalidraw/mermaid.d.ts +2 -2
  342. package/types/excalidraw/obsidianUtils.d.ts +41 -41
  343. package/types/excalidraw/polyfill.d.ts +2 -2
  344. package/types/excalidraw/publicPath.d.ts +1 -1
  345. package/types/excalidraw/reactUtils.d.ts +14 -14
  346. package/types/excalidraw/renderer/animation.d.ts +12 -12
  347. package/types/excalidraw/renderer/helpers.d.ts +16 -14
  348. package/types/excalidraw/renderer/interactiveScene.d.ts +14 -12
  349. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  350. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  351. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  352. package/types/excalidraw/renderer/staticScene.d.ts +14 -14
  353. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  354. package/types/excalidraw/scene/Renderer.d.ts +29 -27
  355. package/types/excalidraw/scene/export.d.ts +37 -37
  356. package/types/excalidraw/scene/index.d.ts +4 -4
  357. package/types/excalidraw/scene/normalize.d.ts +4 -4
  358. package/types/excalidraw/scene/scroll.d.ts +18 -23
  359. package/types/excalidraw/scene/scrollbars.d.ts +11 -11
  360. package/types/excalidraw/scene/types.d.ts +134 -134
  361. package/types/excalidraw/scene/zoom.d.ts +12 -12
  362. package/types/excalidraw/shortcut.d.ts +1 -1
  363. package/types/excalidraw/snapping.d.ts +111 -111
  364. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  365. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  366. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  367. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  368. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  369. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  370. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  371. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  372. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  373. package/types/excalidraw/types.d.ts +801 -801
  374. package/types/excalidraw/webpack.dev.config.d.ts +116 -116
  375. package/types/excalidraw/webpack.prod.config.d.ts +130 -130
  376. package/types/excalidraw/workers.d.ts +36 -36
  377. package/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -24
  378. package/types/math/src/angle.d.ts +19 -19
  379. package/types/math/src/constants.d.ts +3 -3
  380. package/types/math/src/curve.d.ts +74 -74
  381. package/types/math/src/ellipse.d.ts +44 -44
  382. package/types/math/src/index.d.ts +13 -13
  383. package/types/math/src/line.d.ts +17 -17
  384. package/types/math/src/point.d.ts +122 -122
  385. package/types/math/src/polygon.d.ts +6 -6
  386. package/types/math/src/range.d.ts +44 -44
  387. package/types/math/src/rectangle.d.ts +5 -5
  388. package/types/math/src/segment.d.ts +40 -40
  389. package/types/math/src/triangle.d.ts +11 -11
  390. package/types/math/src/types.d.ts +106 -106
  391. package/types/math/src/utils.d.ts +7 -7
  392. package/types/math/src/vector.d.ts +94 -94
  393. package/types/utils/src/bbox.d.ts +9 -9
  394. package/types/utils/src/export.d.ts +35 -35
  395. package/types/utils/src/index.d.ts +4 -4
  396. package/types/utils/src/shape.d.ts +58 -58
  397. package/types/utils/src/withinBounds.d.ts +19 -19
@@ -1,41 +1,41 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Curve } from "@excalidraw/math";
3
- import type { LineSegment } from "@excalidraw/utils";
4
- import type { Bounds } from "@excalidraw/element";
5
- declare global {
6
- interface Window {
7
- visualDebug?: {
8
- data: DebugElement[][];
9
- currentFrame?: number;
10
- };
11
- }
12
- }
13
- export type DebugElement = {
14
- color: string;
15
- data: LineSegment<GlobalPoint> | Curve<GlobalPoint>;
16
- permanent: boolean;
17
- };
18
- export declare const debugDrawCubicBezier: (c: Curve<GlobalPoint>, opts?: {
19
- color?: string;
20
- permanent?: boolean;
21
- }) => void;
22
- export declare const debugDrawLine: (segment: LineSegment<GlobalPoint> | LineSegment<GlobalPoint>[], opts?: {
23
- color?: string;
24
- permanent?: boolean;
25
- }) => void;
26
- export declare const debugDrawPoint: (p: GlobalPoint, opts?: {
27
- color?: string;
28
- permanent?: boolean;
29
- fuzzy?: boolean;
30
- }) => void;
31
- export declare const debugDrawBounds: (box: Bounds | Bounds[], opts?: {
32
- color?: string;
33
- permanent?: boolean;
34
- }) => void;
35
- export declare const debugDrawPoints: ({ x, y, points, }: {
36
- x: number;
37
- y: number;
38
- points: readonly LocalPoint[];
39
- }, options?: any) => void;
40
- export declare const debugCloseFrame: () => void;
41
- export declare const debugClear: () => void;
1
+ import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { Curve } from "@excalidraw/math";
3
+ import type { LineSegment } from "@excalidraw/utils";
4
+ import type { Bounds } from "@excalidraw/element";
5
+ declare global {
6
+ interface Window {
7
+ visualDebug?: {
8
+ data: DebugElement[][];
9
+ currentFrame?: number;
10
+ };
11
+ }
12
+ }
13
+ export type DebugElement = {
14
+ color: string;
15
+ data: LineSegment<GlobalPoint> | Curve<GlobalPoint>;
16
+ permanent: boolean;
17
+ };
18
+ export declare const debugDrawCubicBezier: (c: Curve<GlobalPoint>, opts?: {
19
+ color?: string;
20
+ permanent?: boolean;
21
+ }) => void;
22
+ export declare const debugDrawLine: (segment: LineSegment<GlobalPoint> | LineSegment<GlobalPoint>[], opts?: {
23
+ color?: string;
24
+ permanent?: boolean;
25
+ }) => void;
26
+ export declare const debugDrawPoint: (p: GlobalPoint, opts?: {
27
+ color?: string;
28
+ permanent?: boolean;
29
+ fuzzy?: boolean;
30
+ }) => void;
31
+ export declare const debugDrawBounds: (box: Bounds | Bounds[], opts?: {
32
+ color?: string;
33
+ permanent?: boolean;
34
+ }) => void;
35
+ export declare const debugDrawPoints: ({ x, y, points, }: {
36
+ x: number;
37
+ y: number;
38
+ points: readonly LocalPoint[];
39
+ }, options?: any) => void;
40
+ export declare const debugCloseFrame: () => void;
41
+ export declare const debugClear: () => void;
@@ -1,80 +1,80 @@
1
- import { type ElementUpdate } from "@excalidraw/element";
2
- import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameLikeElement, ElementsMapOrArray, OrderedExcalidrawElement, Ordered } from "@excalidraw/element/types";
3
- import type { Mutable } from "@excalidraw/common/utility-types";
4
- import type { AppState } from "../../excalidraw/types";
5
- type SceneStateCallback = () => void;
6
- type SceneStateCallbackRemover = () => void;
7
- export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
8
- export declare class Scene {
9
- private callbacks;
10
- private nonDeletedElements;
11
- private nonDeletedElementsMap;
12
- private elements;
13
- private nonDeletedFramesLikes;
14
- private frames;
15
- private elementsMap;
16
- private selectedElementsCache;
17
- /**
18
- * Random integer regenerated each scene update.
19
- *
20
- * Does not relate to elements versions, it's only a renderer
21
- * cache-invalidation nonce at the moment.
22
- */
23
- private sceneNonce;
24
- getSceneNonce(): number | undefined;
25
- getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedSceneElementsMap">;
26
- getElementsIncludingDeleted(): readonly OrderedExcalidrawElement[];
27
- getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
28
- getNonDeletedElements(): readonly Ordered<NonDeletedExcalidrawElement>[];
29
- getFramesIncludingDeleted(): readonly ExcalidrawFrameLikeElement[];
30
- constructor(elements?: ElementsMapOrArray | null, options?: {
31
- skipValidation?: true;
32
- });
33
- getSelectedElements(opts: {
34
- selectedElementIds: AppState["selectedElementIds"];
35
- /**
36
- * for specific cases where you need to use elements not from current
37
- * scene state. This in effect will likely result in cache-miss, and
38
- * the cache won't be updated in this case.
39
- */
40
- elements?: ElementsMapOrArray;
41
- includeBoundTextElement?: boolean;
42
- includeElementsInFrames?: boolean;
43
- }): NonDeleted<ExcalidrawElement>[];
44
- getNonDeletedFramesLikes(): readonly NonDeleted<ExcalidrawFrameLikeElement>[];
45
- getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
46
- getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
47
- /**
48
- * A utility method to help with updating all scene elements, with the added
49
- * performance optimization of not renewing the array if no change is made.
50
- *
51
- * Maps all current excalidraw elements, invoking the callback for each
52
- * element. The callback should either return a new mapped element, or the
53
- * original element if no changes are made. If no changes are made to any
54
- * element, this results in a no-op. Otherwise, the newly mapped elements
55
- * are set as the next scene's elements.
56
- *
57
- * @returns whether a change was made
58
- */
59
- mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
60
- replaceAllElements(nextElements: ElementsMapOrArray, options?: {
61
- skipValidation?: true;
62
- }): void;
63
- triggerUpdate(): void;
64
- onUpdate(cb: SceneStateCallback): SceneStateCallbackRemover;
65
- destroy(): void;
66
- insertElementAtIndex(element: ExcalidrawElement, index: number): void;
67
- insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
68
- insertElement: (element: ExcalidrawElement, idx?: number) => void;
69
- insertElements: (elements: ExcalidrawElement[]) => void;
70
- getElementIndex(elementId: string): number;
71
- getContainerElement: (element: (ExcalidrawElement & {
72
- containerId: ExcalidrawElement["id"] | null;
73
- }) | null) => import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
74
- getElementsFromId: (id: string) => ExcalidrawElement[];
75
- mutateElement<TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, options?: {
76
- informMutation: boolean;
77
- isDragging: boolean;
78
- }): TElement;
79
- }
80
- export {};
1
+ import { type ElementUpdate } from "@excalidraw/element";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameLikeElement, ElementsMapOrArray, OrderedExcalidrawElement, Ordered } from "@excalidraw/element/types";
3
+ import type { Mutable } from "@excalidraw/common/utility-types";
4
+ import type { AppState } from "../../excalidraw/types";
5
+ type SceneStateCallback = () => void;
6
+ type SceneStateCallbackRemover = () => void;
7
+ export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
8
+ export declare class Scene {
9
+ private callbacks;
10
+ private nonDeletedElements;
11
+ private nonDeletedElementsMap;
12
+ private elements;
13
+ private nonDeletedFramesLikes;
14
+ private frames;
15
+ private elementsMap;
16
+ private selectedElementsCache;
17
+ /**
18
+ * Random integer regenerated each scene update.
19
+ *
20
+ * Does not relate to elements versions, it's only a renderer
21
+ * cache-invalidation nonce at the moment.
22
+ */
23
+ private sceneNonce;
24
+ getSceneNonce(): number | undefined;
25
+ getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedSceneElementsMap">;
26
+ getElementsIncludingDeleted(): readonly OrderedExcalidrawElement[];
27
+ getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
28
+ getNonDeletedElements(): readonly Ordered<NonDeletedExcalidrawElement>[];
29
+ getFramesIncludingDeleted(): readonly ExcalidrawFrameLikeElement[];
30
+ constructor(elements?: ElementsMapOrArray | null, options?: {
31
+ skipValidation?: true;
32
+ });
33
+ getSelectedElements(opts: {
34
+ selectedElementIds: AppState["selectedElementIds"];
35
+ /**
36
+ * for specific cases where you need to use elements not from current
37
+ * scene state. This in effect will likely result in cache-miss, and
38
+ * the cache won't be updated in this case.
39
+ */
40
+ elements?: ElementsMapOrArray;
41
+ includeBoundTextElement?: boolean;
42
+ includeElementsInFrames?: boolean;
43
+ }): NonDeleted<ExcalidrawElement>[];
44
+ getNonDeletedFramesLikes(): readonly NonDeleted<ExcalidrawFrameLikeElement>[];
45
+ getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
46
+ getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
47
+ /**
48
+ * A utility method to help with updating all scene elements, with the added
49
+ * performance optimization of not renewing the array if no change is made.
50
+ *
51
+ * Maps all current excalidraw elements, invoking the callback for each
52
+ * element. The callback should either return a new mapped element, or the
53
+ * original element if no changes are made. If no changes are made to any
54
+ * element, this results in a no-op. Otherwise, the newly mapped elements
55
+ * are set as the next scene's elements.
56
+ *
57
+ * @returns whether a change was made
58
+ */
59
+ mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
60
+ replaceAllElements(nextElements: ElementsMapOrArray, options?: {
61
+ skipValidation?: true;
62
+ }): void;
63
+ triggerUpdate(): void;
64
+ onUpdate(cb: SceneStateCallback): SceneStateCallbackRemover;
65
+ destroy(): void;
66
+ insertElementAtIndex(element: ExcalidrawElement, index: number): void;
67
+ insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
68
+ insertElement: (element: ExcalidrawElement, idx?: number) => void;
69
+ insertElements: (elements: ExcalidrawElement[]) => void;
70
+ getElementIndex(elementId: string): number;
71
+ getContainerElement: (element: (ExcalidrawElement & {
72
+ containerId: ExcalidrawElement["id"] | null;
73
+ }) | null) => import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
74
+ getElementsFromId: (id: string) => ExcalidrawElement[];
75
+ mutateElement<TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, options?: {
76
+ informMutation: boolean;
77
+ isDragging: boolean;
78
+ }): TElement;
79
+ }
80
+ export {};
@@ -1,8 +1,8 @@
1
- import type { AppState } from "@excalidraw/excalidraw/types";
2
- import type { Scene } from "./Scene";
3
- import type { ExcalidrawElement } from "./types";
4
- export interface Alignment {
5
- position: "start" | "center" | "end";
6
- axis: "x" | "y";
7
- }
8
- export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment, scene: Scene, appState: Readonly<AppState>) => ExcalidrawElement[];
1
+ import type { AppState } from "@excalidraw/excalidraw/types";
2
+ import type { Scene } from "./Scene";
3
+ import type { ExcalidrawElement } from "./types";
4
+ export interface Alignment {
5
+ position: "start" | "center" | "end";
6
+ axis: "x" | "y";
7
+ }
8
+ export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment, scene: Scene, appState: Readonly<AppState>) => ExcalidrawElement[];
@@ -1,122 +1,123 @@
1
- import { type GlobalPoint } from "@excalidraw/math";
2
- import type { LineSegment, LocalPoint } from "@excalidraw/math";
3
- import type { AppState } from "@excalidraw/excalidraw/types";
4
- import { type Heading } from "./heading";
5
- import type { Scene } from "./Scene";
6
- import type { Bounds } from "./bounds";
7
- import type { ElementUpdate } from "./mutateElement";
8
- import type { BindMode, ElementsMap, ExcalidrawArrowElement, ExcalidrawBindableElement, ExcalidrawElbowArrowElement, ExcalidrawElement, FixedPoint, FixedPointBinding, NonDeleted, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap, Ordered, PointsPositionUpdates } from "./types";
9
- export type BindingStrategy = {
10
- mode: BindMode;
11
- element: NonDeleted<ExcalidrawBindableElement>;
12
- focusPoint: GlobalPoint;
13
- } | {
14
- mode: null;
15
- element?: undefined;
16
- focusPoint?: undefined;
17
- } | {
18
- mode: undefined;
19
- element?: undefined;
20
- focusPoint?: undefined;
21
- };
22
- /**
23
- * gaps exclude element strokeWidth
24
- *
25
- * IMPORTANT: currently must be > 0 (this also applies to the computed gap)
26
- */
27
- export declare const BASE_BINDING_GAP = 10;
28
- export declare const BASE_BINDING_GAP_ELBOW = 5;
29
- export declare const getBindingGap: (bindTarget: ExcalidrawBindableElement, opts: Pick<ExcalidrawArrowElement, "elbowed">) => number;
30
- export declare const maxBindingDistance_simple: (zoom?: AppState["zoom"]) => number;
31
- export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
32
- export declare const isBindingEnabled: (appState: AppState) => boolean;
33
- export declare const bindOrUnbindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, draggingPoints: PointsPositionUpdates, scene: Scene, appState: AppState, opts?: {
34
- newArrow?: boolean;
35
- altKey?: boolean;
36
- initialBinding?: boolean;
37
- }) => {
38
- start: BindingStrategy;
39
- end: BindingStrategy;
40
- };
41
- export declare const getBindingStrategyForDraggingBindingElementEndpoints: (arrow: NonDeleted<ExcalidrawArrowElement>, draggingPoints: PointsPositionUpdates, elementsMap: NonDeletedSceneElementsMap, elements: readonly Ordered<NonDeletedExcalidrawElement>[], appState: AppState, opts?: {
42
- newArrow?: boolean;
43
- shiftKey?: boolean;
44
- altKey?: boolean;
45
- finalize?: boolean;
46
- initialBinding?: boolean;
47
- zoom?: AppState["zoom"];
48
- }) => {
49
- start: BindingStrategy;
50
- end: BindingStrategy;
51
- };
52
- export declare const bindOrUnbindBindingElements: (selectedArrows: NonDeleted<ExcalidrawArrowElement>[], scene: Scene, appState: AppState) => void;
53
- export declare const bindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, hoveredElement: ExcalidrawBindableElement, mode: BindMode, startOrEnd: "start" | "end", scene: Scene, focusPoint?: GlobalPoint) => void;
54
- export declare const unbindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, startOrEnd: "start" | "end", scene: Scene) => ExcalidrawBindableElement["id"] | null;
55
- export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, scene: Scene, options?: {
56
- simultaneouslyUpdated?: readonly ExcalidrawElement[];
57
- changedElements?: Map<string, ExcalidrawElement>;
58
- }) => void;
59
- export declare const updateBindings: (latestElement: ExcalidrawElement, scene: Scene, appState: AppState, options?: {
60
- simultaneouslyUpdated?: readonly ExcalidrawElement[];
61
- newSize?: {
62
- width: number;
63
- height: number;
64
- };
65
- }) => void;
66
- export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, origPoint: GlobalPoint, elementsMap: ElementsMap, zoom?: AppState["zoom"]) => Heading;
67
- export declare const bindPointToSnapToElementOutline: (arrowElement: ExcalidrawArrowElement, bindableElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap, customIntersector?: LineSegment<GlobalPoint>) => GlobalPoint;
68
- export declare const avoidRectangularCorner: (arrowElement: ExcalidrawArrowElement, bindTarget: ExcalidrawBindableElement, elementsMap: ElementsMap, p: GlobalPoint) => GlobalPoint;
69
- export declare const updateBoundPoint: (arrow: NonDeleted<ExcalidrawArrowElement>, startOrEnd: "startBinding" | "endBinding", binding: FixedPointBinding | null | undefined, bindableElement: ExcalidrawBindableElement, elementsMap: ElementsMap, customIntersector?: LineSegment<GlobalPoint>) => LocalPoint | null;
70
- export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap) => {
71
- fixedPoint: FixedPoint;
72
- };
73
- export declare const calculateFixedPointForNonElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap, focusPoint?: GlobalPoint) => {
74
- fixedPoint: FixedPoint;
75
- };
76
- export declare const fixDuplicatedBindingsAfterDuplication: (duplicatedElements: ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicateElementsMap: NonDeletedSceneElementsMap) => void;
77
- export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
78
- export declare const bindingProperties: Set<BindableProp | BindingProp>;
79
- export type BindableProp = "boundElements";
80
- export type BindingProp = "frameId" | "containerId" | "startBinding" | "endBinding";
81
- /**
82
- * Bound element containing bindings to `frameId`, `containerId`, `startBinding` or `endBinding`.
83
- */
84
- export declare class BoundElement {
85
- /**
86
- * Unbind the affected non deleted bindable elements (removing element from `boundElements`).
87
- * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
88
- * - prepares updates to unbind each bindable element's `boundElements` from the current element
89
- */
90
- static unbindAffected(elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
91
- /**
92
- * Rebind the next affected non deleted bindable elements (adding element to `boundElements`).
93
- * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
94
- * - prepares updates to rebind each bindable element's `boundElements` to the current element
95
- *
96
- * NOTE: rebind expects that affected elements were previously unbound with `BoundElement.unbindAffected`
97
- */
98
- static rebindAffected: (elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
99
- }
100
- /**
101
- * Bindable element containing bindings to `boundElements`.
102
- */
103
- export declare class BindableElement {
104
- /**
105
- * Unbind the affected non deleted bound elements (resetting `containerId`, `startBinding`, `endBinding` to `null`).
106
- * - iterates through non deleted `boundElements` of the current element
107
- * - prepares updates to unbind each bound element from the current element
108
- */
109
- static unbindAffected(elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
110
- /**
111
- * Rebind the affected non deleted bound elements (for now setting only `containerId`, as we cannot rebind arrows atm).
112
- * - iterates through non deleted `boundElements` of the current element
113
- * - prepares updates to rebind each bound element to the current element or unbind it from `boundElements` in case of conflicts
114
- *
115
- * NOTE: rebind expects that affected elements were previously unbound with `BindaleElement.unbindAffected`
116
- */
117
- static rebindAffected: (elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
118
- }
119
- export declare const getGlobalFixedPointForBindableElement: (fixedPointRatio: FixedPoint, element: ExcalidrawBindableElement, elementsMap: ElementsMap) => GlobalPoint;
120
- export declare const getGlobalFixedPoints: (arrow: ExcalidrawArrowElement, elementsMap: ElementsMap) => [GlobalPoint, GlobalPoint];
121
- export declare const getArrowLocalFixedPoints: (arrow: ExcalidrawElbowArrowElement, elementsMap: ElementsMap) => LocalPoint[];
122
- export declare const normalizeFixedPoint: <T extends FixedPoint | null>(fixedPoint: T) => T extends null ? null : FixedPoint;
1
+ import { type GlobalPoint } from "@excalidraw/math";
2
+ import type { LineSegment, LocalPoint } from "@excalidraw/math";
3
+ import type { AppState } from "@excalidraw/excalidraw/types";
4
+ import { type Heading } from "./heading";
5
+ import type { Scene } from "./Scene";
6
+ import type { Bounds } from "./bounds";
7
+ import type { ElementUpdate } from "./mutateElement";
8
+ import type { BindMode, ElementsMap, ExcalidrawArrowElement, ExcalidrawBindableElement, ExcalidrawElbowArrowElement, ExcalidrawElement, FixedPoint, FixedPointBinding, NonDeleted, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap, Ordered, PointsPositionUpdates } from "./types";
9
+ export type BindingStrategy = {
10
+ mode: BindMode;
11
+ element: NonDeleted<ExcalidrawBindableElement>;
12
+ focusPoint: GlobalPoint;
13
+ } | {
14
+ mode: null;
15
+ element?: undefined;
16
+ focusPoint?: undefined;
17
+ } | {
18
+ mode: undefined;
19
+ element?: undefined;
20
+ focusPoint?: undefined;
21
+ };
22
+ /**
23
+ * gaps exclude element strokeWidth
24
+ *
25
+ * IMPORTANT: currently must be > 0 (this also applies to the computed gap)
26
+ */
27
+ export declare const BASE_BINDING_GAP = 10;
28
+ export declare const BASE_BINDING_GAP_ELBOW = 5;
29
+ export declare const getBindingGap: (bindTarget: ExcalidrawBindableElement, opts: Pick<ExcalidrawArrowElement, "elbowed">) => number;
30
+ export declare const maxBindingDistance_simple: (zoom?: AppState["zoom"]) => number;
31
+ export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
32
+ export declare const isBindingEnabled: (appState: AppState) => boolean;
33
+ export declare const bindOrUnbindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, draggingPoints: PointsPositionUpdates, scenePointerX: number, scenePointerY: number, scene: Scene, appState: AppState, opts?: {
34
+ newArrow?: boolean;
35
+ altKey?: boolean;
36
+ angleLocked?: boolean;
37
+ initialBinding?: boolean;
38
+ }) => {
39
+ start: BindingStrategy;
40
+ end: BindingStrategy;
41
+ };
42
+ export declare const getBindingStrategyForDraggingBindingElementEndpoints: (arrow: NonDeleted<ExcalidrawArrowElement>, draggingPoints: PointsPositionUpdates, screenPointerX: number, screenPointerY: number, elementsMap: NonDeletedSceneElementsMap, elements: readonly Ordered<NonDeletedExcalidrawElement>[], appState: AppState, opts?: {
43
+ newArrow?: boolean;
44
+ angleLocked?: boolean;
45
+ altKey?: boolean;
46
+ finalize?: boolean;
47
+ initialBinding?: boolean;
48
+ zoom?: AppState["zoom"];
49
+ }) => {
50
+ start: BindingStrategy;
51
+ end: BindingStrategy;
52
+ };
53
+ export declare const bindOrUnbindBindingElements: (selectedArrows: NonDeleted<ExcalidrawArrowElement>[], scene: Scene, appState: AppState) => void;
54
+ export declare const bindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, hoveredElement: ExcalidrawBindableElement, mode: BindMode, startOrEnd: "start" | "end", scene: Scene, focusPoint?: GlobalPoint) => void;
55
+ export declare const unbindBindingElement: (arrow: NonDeleted<ExcalidrawArrowElement>, startOrEnd: "start" | "end", scene: Scene) => ExcalidrawBindableElement["id"] | null;
56
+ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, scene: Scene, options?: {
57
+ simultaneouslyUpdated?: readonly ExcalidrawElement[];
58
+ changedElements?: Map<string, ExcalidrawElement>;
59
+ }) => void;
60
+ export declare const updateBindings: (latestElement: ExcalidrawElement, scene: Scene, appState: AppState, options?: {
61
+ simultaneouslyUpdated?: readonly ExcalidrawElement[];
62
+ newSize?: {
63
+ width: number;
64
+ height: number;
65
+ };
66
+ }) => void;
67
+ export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, origPoint: GlobalPoint, elementsMap: ElementsMap, zoom?: AppState["zoom"]) => Heading;
68
+ export declare const bindPointToSnapToElementOutline: (arrowElement: ExcalidrawArrowElement, bindableElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap, customIntersector?: LineSegment<GlobalPoint>) => GlobalPoint;
69
+ export declare const avoidRectangularCorner: (arrowElement: ExcalidrawArrowElement, bindTarget: ExcalidrawBindableElement, elementsMap: ElementsMap, p: GlobalPoint) => GlobalPoint;
70
+ export declare const updateBoundPoint: (arrow: NonDeleted<ExcalidrawArrowElement>, startOrEnd: "startBinding" | "endBinding", binding: FixedPointBinding | null | undefined, bindableElement: ExcalidrawBindableElement, elementsMap: ElementsMap, customIntersector?: LineSegment<GlobalPoint>) => LocalPoint | null;
71
+ export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap) => {
72
+ fixedPoint: FixedPoint;
73
+ };
74
+ export declare const calculateFixedPointForNonElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap, focusPoint?: GlobalPoint) => {
75
+ fixedPoint: FixedPoint;
76
+ };
77
+ export declare const fixDuplicatedBindingsAfterDuplication: (duplicatedElements: ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicateElementsMap: NonDeletedSceneElementsMap) => void;
78
+ export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
79
+ export declare const bindingProperties: Set<BindableProp | BindingProp>;
80
+ export type BindableProp = "boundElements";
81
+ export type BindingProp = "frameId" | "containerId" | "startBinding" | "endBinding";
82
+ /**
83
+ * Bound element containing bindings to `frameId`, `containerId`, `startBinding` or `endBinding`.
84
+ */
85
+ export declare class BoundElement {
86
+ /**
87
+ * Unbind the affected non deleted bindable elements (removing element from `boundElements`).
88
+ * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
89
+ * - prepares updates to unbind each bindable element's `boundElements` from the current element
90
+ */
91
+ static unbindAffected(elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
92
+ /**
93
+ * Rebind the next affected non deleted bindable elements (adding element to `boundElements`).
94
+ * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
95
+ * - prepares updates to rebind each bindable element's `boundElements` to the current element
96
+ *
97
+ * NOTE: rebind expects that affected elements were previously unbound with `BoundElement.unbindAffected`
98
+ */
99
+ static rebindAffected: (elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
100
+ }
101
+ /**
102
+ * Bindable element containing bindings to `boundElements`.
103
+ */
104
+ export declare class BindableElement {
105
+ /**
106
+ * Unbind the affected non deleted bound elements (resetting `containerId`, `startBinding`, `endBinding` to `null`).
107
+ * - iterates through non deleted `boundElements` of the current element
108
+ * - prepares updates to unbind each bound element from the current element
109
+ */
110
+ static unbindAffected(elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
111
+ /**
112
+ * Rebind the affected non deleted bound elements (for now setting only `containerId`, as we cannot rebind arrows atm).
113
+ * - iterates through non deleted `boundElements` of the current element
114
+ * - prepares updates to rebind each bound element to the current element or unbind it from `boundElements` in case of conflicts
115
+ *
116
+ * NOTE: rebind expects that affected elements were previously unbound with `BindaleElement.unbindAffected`
117
+ */
118
+ static rebindAffected: (elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
119
+ }
120
+ export declare const getGlobalFixedPointForBindableElement: (fixedPointRatio: FixedPoint, element: ExcalidrawBindableElement, elementsMap: ElementsMap) => GlobalPoint;
121
+ export declare const getGlobalFixedPoints: (arrow: ExcalidrawArrowElement, elementsMap: ElementsMap) => [GlobalPoint, GlobalPoint];
122
+ export declare const getArrowLocalFixedPoints: (arrow: ExcalidrawElbowArrowElement, elementsMap: ElementsMap) => LocalPoint[];
123
+ export declare const normalizeFixedPoint: <T extends FixedPoint | null>(fixedPoint: T) => T extends null ? null : FixedPoint;