@zsviczian/excalidraw 0.18.0-13 → 0.18.0-14

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