@zsviczian/excalidraw 0.17.1-obsidian-43 → 0.17.1-obsidian-44

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 (343) hide show
  1. package/dist/excalidraw.development.js +87 -76
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/excalidraw.production.min.js.LICENSE.txt +2 -0
  4. package/dist/styles.development.css +72 -9
  5. package/dist/styles.production.css +4 -4
  6. package/package.json +1 -1
  7. package/types/excalidraw/actions/actionAddToLibrary.d.ts +575 -575
  8. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  9. package/types/excalidraw/actions/actionBoundText.d.ts +420 -420
  10. package/types/excalidraw/actions/actionCanvas.d.ts +2802 -2802
  11. package/types/excalidraw/actions/actionClipboard.d.ts +1436 -1436
  12. package/types/excalidraw/actions/actionDeleteSelected.d.ts +609 -609
  13. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  14. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  15. package/types/excalidraw/actions/actionElementLock.d.ts +408 -408
  16. package/types/excalidraw/actions/actionExport.d.ts +1794 -1794
  17. package/types/excalidraw/actions/actionFinalize.d.ts +389 -389
  18. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  19. package/types/excalidraw/actions/actionFrame.d.ts +815 -815
  20. package/types/excalidraw/actions/actionGroup.d.ts +418 -418
  21. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  22. package/types/excalidraw/actions/actionLinearEditor.d.ts +205 -205
  23. package/types/excalidraw/actions/actionLink.d.ts +205 -205
  24. package/types/excalidraw/actions/actionMenu.d.ts +598 -598
  25. package/types/excalidraw/actions/actionNavigate.d.ts +394 -394
  26. package/types/excalidraw/actions/actionProperties.d.ts +3006 -3006
  27. package/types/excalidraw/actions/actionSelectAll.d.ts +204 -204
  28. package/types/excalidraw/actions/actionStyles.d.ts +218 -218
  29. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  30. package/types/excalidraw/actions/actionToggleGridMode.d.ts +207 -207
  31. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +205 -205
  32. package/types/excalidraw/actions/actionToggleStats.d.ts +205 -205
  33. package/types/excalidraw/actions/actionToggleViewMode.d.ts +206 -206
  34. package/types/excalidraw/actions/actionToggleZenMode.d.ts +206 -206
  35. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  36. package/types/excalidraw/actions/index.d.ts +25 -25
  37. package/types/excalidraw/actions/manager.d.ts +21 -21
  38. package/types/excalidraw/actions/register.d.ts +5 -5
  39. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  40. package/types/excalidraw/actions/types.d.ts +47 -47
  41. package/types/excalidraw/align.d.ts +6 -6
  42. package/types/excalidraw/analytics.d.ts +1 -1
  43. package/types/excalidraw/animated-trail.d.ts +33 -33
  44. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  45. package/types/excalidraw/appState.d.ts +89 -89
  46. package/types/excalidraw/binaryheap.d.ts +12 -12
  47. package/types/excalidraw/change.d.ts +191 -191
  48. package/types/excalidraw/charts.d.ts +27 -27
  49. package/types/excalidraw/clients.d.ts +14 -14
  50. package/types/excalidraw/clipboard.d.ts +44 -44
  51. package/types/excalidraw/colors.d.ts +61 -61
  52. package/types/excalidraw/components/Actions.d.ts +34 -34
  53. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  54. package/types/excalidraw/components/App.d.ts +527 -527
  55. package/types/excalidraw/components/Avatar.d.ts +11 -11
  56. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  57. package/types/excalidraw/components/Button.d.ts +17 -17
  58. package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
  59. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
  60. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
  61. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  62. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  63. package/types/excalidraw/components/Card.d.ts +6 -6
  64. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  65. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  66. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  67. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  68. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  69. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  70. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  71. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  72. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  73. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  74. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  75. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  76. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  77. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  78. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  79. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  80. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  81. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  82. package/types/excalidraw/components/DefaultSidebar.d.ts +29 -29
  83. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  84. package/types/excalidraw/components/Dialog.d.ts +13 -13
  85. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  86. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  87. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  88. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  89. package/types/excalidraw/components/FilledButton.d.ts +18 -17
  90. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  91. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  92. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  93. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  94. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  95. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  96. package/types/excalidraw/components/HandButton.d.ts +10 -10
  97. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  98. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  99. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  100. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  101. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  102. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  103. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  104. package/types/excalidraw/components/Island.d.ts +10 -10
  105. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  106. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  107. package/types/excalidraw/components/LayerUI.d.ts +30 -30
  108. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  109. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  110. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  111. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  112. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  113. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  114. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  115. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  116. package/types/excalidraw/components/LockButton.d.ts +10 -10
  117. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  118. package/types/excalidraw/components/MagicSettings.d.ts +8 -0
  119. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  120. package/types/excalidraw/components/Modal.d.ts +14 -14
  121. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  122. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  124. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  125. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  126. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  127. package/types/excalidraw/components/Popover.d.ts +15 -15
  128. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  129. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  130. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  131. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  132. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  133. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  134. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  135. package/types/excalidraw/components/Section.d.ts +6 -6
  136. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  137. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  138. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  139. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  140. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  141. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  142. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  143. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  144. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  145. package/types/excalidraw/components/Spinner.d.ts +8 -7
  146. package/types/excalidraw/components/Stack.d.ts +16 -16
  147. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  148. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  149. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  150. package/types/excalidraw/components/Stats/Collapsible.d.ts +8 -8
  151. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  152. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  153. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  154. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  155. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  156. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  157. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  158. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  159. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  160. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  161. package/types/excalidraw/components/Stats.d.ts +11 -0
  162. package/types/excalidraw/components/Switch.d.ts +9 -9
  163. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +14 -14
  164. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  165. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  166. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  167. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  168. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  169. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  170. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  171. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  172. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  173. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  175. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  176. package/types/excalidraw/components/TextField.d.ts +19 -19
  177. package/types/excalidraw/components/Toast.d.ts +9 -9
  178. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  179. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  180. package/types/excalidraw/components/Trans.d.ts +9 -9
  181. package/types/excalidraw/components/UserList.d.ts +18 -18
  182. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  183. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  184. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  185. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  186. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  187. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  188. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  189. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  196. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  197. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  198. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  199. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  200. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  201. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  202. package/types/excalidraw/components/hyperlink/helpers.d.ts +7 -7
  203. package/types/excalidraw/components/icons.d.ts +211 -211
  204. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  205. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +58 -58
  206. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
  207. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  208. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  209. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  210. package/types/excalidraw/constants.d.ts +314 -313
  211. package/types/excalidraw/context/tunnels.d.ts +20 -20
  212. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  213. package/types/excalidraw/cursor.d.ts +6 -6
  214. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  215. package/types/excalidraw/data/ai/types.d.ts +242 -242
  216. package/types/excalidraw/data/blob.d.ts +49 -49
  217. package/types/excalidraw/data/encode.d.ts +53 -53
  218. package/types/excalidraw/data/encryption.d.ts +9 -9
  219. package/types/excalidraw/data/filesystem.d.ts +20 -20
  220. package/types/excalidraw/data/image.d.ts +15 -15
  221. package/types/excalidraw/data/index.d.ts +22 -22
  222. package/types/excalidraw/data/json.d.ts +16 -16
  223. package/types/excalidraw/data/library.d.ts +106 -106
  224. package/types/excalidraw/data/magic.d.ts +23 -0
  225. package/types/excalidraw/data/reconcile.d.ts +6 -6
  226. package/types/excalidraw/data/resave.d.ts +5 -5
  227. package/types/excalidraw/data/restore.d.ts +21 -21
  228. package/types/excalidraw/data/transform.d.ts +81 -81
  229. package/types/excalidraw/data/types.d.ts +45 -45
  230. package/types/excalidraw/data/url.d.ts +8 -8
  231. package/types/excalidraw/deburr.d.ts +1 -1
  232. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  233. package/types/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  234. package/types/excalidraw/distribute.d.ts +6 -6
  235. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  236. package/types/excalidraw/element/binding.d.ts +97 -97
  237. package/types/excalidraw/element/bounds.d.ts +74 -74
  238. package/types/excalidraw/element/collision.d.ts +16 -16
  239. package/types/excalidraw/element/containerCache.d.ts +11 -11
  240. package/types/excalidraw/element/dragElements.d.ts +32 -32
  241. package/types/excalidraw/element/embeddable.d.ts +211 -211
  242. package/types/excalidraw/element/flowchart.d.ts +25 -25
  243. package/types/excalidraw/element/heading.d.ts +11 -11
  244. package/types/excalidraw/element/image.d.ts +32 -32
  245. package/types/excalidraw/element/index.d.ts +26 -26
  246. package/types/excalidraw/element/linearElementEditor.d.ts +344 -344
  247. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  248. package/types/excalidraw/element/newElement.d.ts +106 -106
  249. package/types/excalidraw/element/resizeElements.d.ts +17 -17
  250. package/types/excalidraw/element/resizeTest.d.ts +14 -14
  251. package/types/excalidraw/element/routing.d.ts +10 -10
  252. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  253. package/types/excalidraw/element/sizeHelpers.d.ts +40 -40
  254. package/types/excalidraw/element/sortElements.d.ts +2 -2
  255. package/types/excalidraw/element/textElement.d.ts +70 -70
  256. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  257. package/types/excalidraw/element/transformHandles.d.ts +54 -54
  258. package/types/excalidraw/element/typeChecks.d.ts +42 -37
  259. package/types/excalidraw/element/types.d.ts +253 -253
  260. package/types/excalidraw/emitter.d.ts +16 -16
  261. package/types/excalidraw/entry.d.ts +1 -1
  262. package/types/excalidraw/env.d.cts +1 -1
  263. package/types/excalidraw/env.d.ts +1 -1
  264. package/types/excalidraw/errors.d.ts +16 -16
  265. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +21 -21
  266. package/types/excalidraw/fonts/index.d.ts +83 -83
  267. package/types/excalidraw/fonts/metadata.d.ts +35 -35
  268. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  269. package/types/excalidraw/frame.d.ts +63 -63
  270. package/types/excalidraw/ga.d.ts +63 -63
  271. package/types/excalidraw/gadirections.d.ts +8 -8
  272. package/types/excalidraw/galines.d.ts +22 -22
  273. package/types/excalidraw/gapoints.d.ts +7 -7
  274. package/types/excalidraw/gatransforms.d.ts +10 -10
  275. package/types/excalidraw/gesture.d.ts +6 -6
  276. package/types/excalidraw/groups.d.ts +33 -33
  277. package/types/excalidraw/history.d.ts +40 -40
  278. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  279. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
  280. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  281. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  282. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  283. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  284. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  285. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  286. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  287. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  288. package/types/excalidraw/i18n.d.ts +24 -24
  289. package/types/excalidraw/index-node.d.ts +1 -1
  290. package/types/excalidraw/index.d.ts +61 -61
  291. package/types/excalidraw/jotai.d.ts +34 -34
  292. package/types/excalidraw/keys.d.ts +82 -82
  293. package/types/excalidraw/laser-trails.d.ts +20 -20
  294. package/types/excalidraw/main.d.ts +2 -2
  295. package/types/excalidraw/math.d.ts +79 -79
  296. package/types/excalidraw/mermaid.d.ts +2 -2
  297. package/types/excalidraw/obsidianUtils.d.ts +17 -17
  298. package/types/excalidraw/points.d.ts +7 -7
  299. package/types/excalidraw/polyfill.d.ts +2 -2
  300. package/types/excalidraw/publicPath.d.ts +1 -1
  301. package/types/excalidraw/queue.d.ts +9 -9
  302. package/types/excalidraw/random.d.ts +4 -4
  303. package/types/excalidraw/reactUtils.d.ts +14 -14
  304. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  305. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  306. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  307. package/types/excalidraw/renderer/renderElement.d.ts +27 -27
  308. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  309. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  310. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  311. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  312. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  313. package/types/excalidraw/scene/Fonts.d.ts +19 -0
  314. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  315. package/types/excalidraw/scene/Scene.d.ts +78 -78
  316. package/types/excalidraw/scene/Shape.d.ts +17 -17
  317. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  318. package/types/excalidraw/scene/comparisons.d.ts +11 -11
  319. package/types/excalidraw/scene/export.d.ts +29 -29
  320. package/types/excalidraw/scene/index.d.ts +4 -4
  321. package/types/excalidraw/scene/normalize.d.ts +4 -4
  322. package/types/excalidraw/scene/scroll.d.ts +17 -17
  323. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  324. package/types/excalidraw/scene/selection.d.ts +32 -32
  325. package/types/excalidraw/scene/types.d.ts +112 -112
  326. package/types/excalidraw/scene/zoom.d.ts +12 -12
  327. package/types/excalidraw/shapes.d.ts +70 -70
  328. package/types/excalidraw/snapping.d.ts +109 -109
  329. package/types/excalidraw/store.d.ts +129 -129
  330. package/types/excalidraw/types.d.ts +700 -700
  331. package/types/excalidraw/utility-types.d.ts +31 -31
  332. package/types/excalidraw/utils.d.ts +243 -243
  333. package/types/excalidraw/visualdebug.d.ts +34 -0
  334. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  335. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  336. package/types/excalidraw/zindex.d.ts +6 -6
  337. package/types/utils/bbox.d.ts +11 -11
  338. package/types/utils/collision.d.ts +4 -4
  339. package/types/utils/export.d.ts +44 -44
  340. package/types/utils/geometry/geometry.d.ts +89 -89
  341. package/types/utils/geometry/shape.d.ts +56 -56
  342. package/types/utils/index.d.ts +4 -4
  343. package/types/utils/withinBounds.d.ts +19 -19
@@ -1,5 +1,5 @@
1
- import type { ExcalidrawElement } from "../element/types";
2
- import type { AppState, BinaryFiles } from "../types";
3
- export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
- fileHandle: import("browser-fs-access").FileSystemHandle;
5
- }>;
1
+ import type { ExcalidrawElement } from "../element/types";
2
+ import type { AppState, BinaryFiles } from "../types";
3
+ export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
+ fileHandle: import("browser-fs-access").FileSystemHandle;
5
+ }>;
@@ -1,21 +1,21 @@
1
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
2
- import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
- import type { ImportedDataState } from "./types";
4
- type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
5
- export declare const AllowedExcalidrawActiveTools: Record<AppState["activeTool"]["type"], boolean>;
6
- export type RestoredDataState = {
7
- elements: OrderedExcalidrawElement[];
8
- appState: RestoredAppState;
9
- files: BinaryFiles;
10
- };
11
- export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
- refreshDimensions?: boolean;
13
- repairBindings?: boolean;
14
- } | undefined) => OrderedExcalidrawElement[];
15
- export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
- export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
- refreshDimensions?: boolean;
18
- repairBindings?: boolean;
19
- }) => RestoredDataState;
20
- export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
- export {};
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
2
+ import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
+ import type { ImportedDataState } from "./types";
4
+ type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
5
+ export declare const AllowedExcalidrawActiveTools: Record<AppState["activeTool"]["type"], boolean>;
6
+ export type RestoredDataState = {
7
+ elements: OrderedExcalidrawElement[];
8
+ appState: RestoredAppState;
9
+ files: BinaryFiles;
10
+ };
11
+ export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
+ refreshDimensions?: boolean;
13
+ repairBindings?: boolean;
14
+ } | undefined) => OrderedExcalidrawElement[];
15
+ export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
+ export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
+ refreshDimensions?: boolean;
18
+ repairBindings?: boolean;
19
+ }) => RestoredDataState;
20
+ export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
+ export {};
@@ -1,81 +1,81 @@
1
- import type { ElementConstructorOpts } from "../element/newElement";
2
- import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "../element/types";
3
- import type { MarkOptional } from "../utility-types";
4
- export type ValidLinearElement = {
5
- type: "arrow" | "line";
6
- x: number;
7
- y: number;
8
- label?: {
9
- text: string;
10
- fontSize?: number;
11
- fontFamily?: FontFamilyValues;
12
- textAlign?: TextAlign;
13
- verticalAlign?: VerticalAlign;
14
- } & MarkOptional<ElementConstructorOpts, "x" | "y">;
15
- end?: (({
16
- type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
17
- id?: ExcalidrawGenericElement["id"];
18
- } | {
19
- id: ExcalidrawGenericElement["id"];
20
- type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
21
- }) | (({
22
- type: "text";
23
- text: string;
24
- } | {
25
- type?: "text";
26
- id: ExcalidrawTextElement["id"];
27
- text: string;
28
- }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
29
- start?: (({
30
- type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
31
- id?: ExcalidrawGenericElement["id"];
32
- } | {
33
- id: ExcalidrawGenericElement["id"];
34
- type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
35
- }) | (({
36
- type: "text";
37
- text: string;
38
- } | {
39
- type?: "text";
40
- id: ExcalidrawTextElement["id"];
41
- text: string;
42
- }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
43
- } & Partial<ExcalidrawLinearElement>;
44
- export type ValidContainer = {
45
- type: Exclude<ExcalidrawGenericElement["type"], "selection">;
46
- id?: ExcalidrawGenericElement["id"];
47
- label?: {
48
- text: string;
49
- fontSize?: number;
50
- fontFamily?: FontFamilyValues;
51
- textAlign?: TextAlign;
52
- verticalAlign?: VerticalAlign;
53
- } & MarkOptional<ElementConstructorOpts, "x" | "y">;
54
- } & ElementConstructorOpts;
55
- export type ExcalidrawElementSkeleton = Extract<Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, ExcalidrawIframeLikeElement | ExcalidrawFreeDrawElement> | ({
56
- type: Extract<ExcalidrawLinearElement["type"], "line">;
57
- x: number;
58
- y: number;
59
- } & Partial<ExcalidrawLinearElement>) | ValidContainer | ValidLinearElement | ({
60
- type: "text";
61
- text: string;
62
- x: number;
63
- y: number;
64
- id?: ExcalidrawTextElement["id"];
65
- } & Partial<ExcalidrawTextElement>) | ({
66
- type: Extract<ExcalidrawImageElement["type"], "image">;
67
- x: number;
68
- y: number;
69
- fileId: FileId;
70
- } & Partial<ExcalidrawImageElement>) | ({
71
- type: "frame";
72
- children: readonly ExcalidrawElement["id"][];
73
- name?: string;
74
- } & Partial<ExcalidrawFrameElement>) | ({
75
- type: "magicframe";
76
- children: readonly ExcalidrawElement["id"][];
77
- name?: string;
78
- } & Partial<ExcalidrawMagicFrameElement>);
79
- export declare const convertToExcalidrawElements: (elementsSkeleton: ExcalidrawElementSkeleton[] | null, opts?: {
80
- regenerateIds: boolean;
81
- }) => import("../element/types").OrderedExcalidrawElement[];
1
+ import type { ElementConstructorOpts } from "../element/newElement";
2
+ import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "../element/types";
3
+ import type { MarkOptional } from "../utility-types";
4
+ export type ValidLinearElement = {
5
+ type: "arrow" | "line";
6
+ x: number;
7
+ y: number;
8
+ label?: {
9
+ text: string;
10
+ fontSize?: number;
11
+ fontFamily?: FontFamilyValues;
12
+ textAlign?: TextAlign;
13
+ verticalAlign?: VerticalAlign;
14
+ } & MarkOptional<ElementConstructorOpts, "x" | "y">;
15
+ end?: (({
16
+ type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
17
+ id?: ExcalidrawGenericElement["id"];
18
+ } | {
19
+ id: ExcalidrawGenericElement["id"];
20
+ type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
21
+ }) | (({
22
+ type: "text";
23
+ text: string;
24
+ } | {
25
+ type?: "text";
26
+ id: ExcalidrawTextElement["id"];
27
+ text: string;
28
+ }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
29
+ start?: (({
30
+ type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
31
+ id?: ExcalidrawGenericElement["id"];
32
+ } | {
33
+ id: ExcalidrawGenericElement["id"];
34
+ type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
35
+ }) | (({
36
+ type: "text";
37
+ text: string;
38
+ } | {
39
+ type?: "text";
40
+ id: ExcalidrawTextElement["id"];
41
+ text: string;
42
+ }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
43
+ } & Partial<ExcalidrawLinearElement>;
44
+ export type ValidContainer = {
45
+ type: Exclude<ExcalidrawGenericElement["type"], "selection">;
46
+ id?: ExcalidrawGenericElement["id"];
47
+ label?: {
48
+ text: string;
49
+ fontSize?: number;
50
+ fontFamily?: FontFamilyValues;
51
+ textAlign?: TextAlign;
52
+ verticalAlign?: VerticalAlign;
53
+ } & MarkOptional<ElementConstructorOpts, "x" | "y">;
54
+ } & ElementConstructorOpts;
55
+ export type ExcalidrawElementSkeleton = Extract<Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, ExcalidrawIframeLikeElement | ExcalidrawFreeDrawElement> | ({
56
+ type: Extract<ExcalidrawLinearElement["type"], "line">;
57
+ x: number;
58
+ y: number;
59
+ } & Partial<ExcalidrawLinearElement>) | ValidContainer | ValidLinearElement | ({
60
+ type: "text";
61
+ text: string;
62
+ x: number;
63
+ y: number;
64
+ id?: ExcalidrawTextElement["id"];
65
+ } & Partial<ExcalidrawTextElement>) | ({
66
+ type: Extract<ExcalidrawImageElement["type"], "image">;
67
+ x: number;
68
+ y: number;
69
+ fileId: FileId;
70
+ } & Partial<ExcalidrawImageElement>) | ({
71
+ type: "frame";
72
+ children: readonly ExcalidrawElement["id"][];
73
+ name?: string;
74
+ } & Partial<ExcalidrawFrameElement>) | ({
75
+ type: "magicframe";
76
+ children: readonly ExcalidrawElement["id"][];
77
+ name?: string;
78
+ } & Partial<ExcalidrawMagicFrameElement>);
79
+ export declare const convertToExcalidrawElements: (elementsSkeleton: ExcalidrawElementSkeleton[] | null, opts?: {
80
+ regenerateIds: boolean;
81
+ }) => import("../element/types").OrderedExcalidrawElement[];
@@ -1,45 +1,45 @@
1
- import type { ExcalidrawElement } from "../element/types";
2
- import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
3
- import type { cleanAppStateForExport } from "../appState";
4
- import type { VERSIONS } from "../constants";
5
- export interface ExportedDataState {
6
- type: string;
7
- version: number;
8
- source: string;
9
- elements: readonly ExcalidrawElement[];
10
- appState: ReturnType<typeof cleanAppStateForExport>;
11
- files: BinaryFiles | undefined;
12
- }
13
- /**
14
- * Map of legacy AppState keys, with values of:
15
- * [<legacy type>, <new AppState proeprty>]
16
- *
17
- * This is a helper type used in downstream abstractions.
18
- * Don't consume on its own.
19
- */
20
- export type LegacyAppState = {
21
- /** @deprecated #6213 TODO remove 23-06-01 */
22
- isSidebarDocked: [boolean, "defaultSidebarDockedPreference"];
23
- };
24
- export interface ImportedDataState {
25
- type?: string;
26
- version?: number;
27
- source?: string;
28
- elements?: readonly ExcalidrawElement[] | null;
29
- appState?: Readonly<Partial<AppState & {
30
- [T in keyof LegacyAppState]: LegacyAppState[T][0];
31
- }>> | null;
32
- scrollToContent?: boolean;
33
- libraryItems?: LibraryItems_anyVersion;
34
- files?: BinaryFiles;
35
- }
36
- export interface ExportedLibraryData {
37
- type: string;
38
- version: typeof VERSIONS.excalidrawLibrary;
39
- source: string;
40
- libraryItems: LibraryItems;
41
- }
42
- export interface ImportedLibraryData extends Partial<ExportedLibraryData> {
43
- /** @deprecated v1 */
44
- library?: LibraryItems;
45
- }
1
+ import type { ExcalidrawElement } from "../element/types";
2
+ import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
3
+ import type { cleanAppStateForExport } from "../appState";
4
+ import type { VERSIONS } from "../constants";
5
+ export interface ExportedDataState {
6
+ type: string;
7
+ version: number;
8
+ source: string;
9
+ elements: readonly ExcalidrawElement[];
10
+ appState: ReturnType<typeof cleanAppStateForExport>;
11
+ files: BinaryFiles | undefined;
12
+ }
13
+ /**
14
+ * Map of legacy AppState keys, with values of:
15
+ * [<legacy type>, <new AppState proeprty>]
16
+ *
17
+ * This is a helper type used in downstream abstractions.
18
+ * Don't consume on its own.
19
+ */
20
+ export type LegacyAppState = {
21
+ /** @deprecated #6213 TODO remove 23-06-01 */
22
+ isSidebarDocked: [boolean, "defaultSidebarDockedPreference"];
23
+ };
24
+ export interface ImportedDataState {
25
+ type?: string;
26
+ version?: number;
27
+ source?: string;
28
+ elements?: readonly ExcalidrawElement[] | null;
29
+ appState?: Readonly<Partial<AppState & {
30
+ [T in keyof LegacyAppState]: LegacyAppState[T][0];
31
+ }>> | null;
32
+ scrollToContent?: boolean;
33
+ libraryItems?: LibraryItems_anyVersion;
34
+ files?: BinaryFiles;
35
+ }
36
+ export interface ExportedLibraryData {
37
+ type: string;
38
+ version: typeof VERSIONS.excalidrawLibrary;
39
+ source: string;
40
+ libraryItems: LibraryItems;
41
+ }
42
+ export interface ImportedLibraryData extends Partial<ExportedLibraryData> {
43
+ /** @deprecated v1 */
44
+ library?: LibraryItems;
45
+ }
@@ -1,8 +1,8 @@
1
- export declare const sanitizeHTMLAttribute: (html: string) => string;
2
- export declare const normalizeLink: (link: string) => string;
3
- export declare const isLocalLink: (link: string | null) => boolean;
4
- /**
5
- * Returns URL sanitized and safe for usage in places such as
6
- * iframe's src attribute or <a> href attributes.
7
- */
8
- export declare const toValidURL: (link: string) => string;
1
+ export declare const sanitizeHTMLAttribute: (html: string) => string;
2
+ export declare const normalizeLink: (link: string) => string;
3
+ export declare const isLocalLink: (link: string | null) => boolean;
4
+ /**
5
+ * Returns URL sanitized and safe for usage in places such as
6
+ * iframe's src attribute or <a> href attributes.
7
+ */
8
+ export declare const toValidURL: (link: string) => string;
@@ -1 +1 @@
1
- export declare const deburr: (str: string) => string;
1
+ export declare const deburr: (str: string) => string;
@@ -1,2 +1,2 @@
1
- export = __WEBPACK_EXTERNAL_MODULE_react_dom__;
2
- export = __WEBPACK_EXTERNAL_MODULE_react_dom__;
1
+ export = __WEBPACK_EXTERNAL_MODULE_react_dom__;
2
+ export = __WEBPACK_EXTERNAL_MODULE_react_dom__;
@@ -1 +1 @@
1
- export const ExcalidrawLib: {};
1
+ export const ExcalidrawLib: {};
@@ -1,6 +1,6 @@
1
- import type { ElementsMap, ExcalidrawElement } from "./element/types";
2
- export interface Distribution {
3
- space: "between";
4
- axis: "x" | "y";
5
- }
6
- export declare const distributeElements: (selectedElements: ExcalidrawElement[], elementsMap: ElementsMap, distribution: Distribution) => ExcalidrawElement[];
1
+ import type { ElementsMap, ExcalidrawElement } from "./element/types";
2
+ export interface Distribution {
3
+ space: "between";
4
+ axis: "x" | "y";
5
+ }
6
+ export declare const distributeElements: (selectedElements: ExcalidrawElement[], elementsMap: ElementsMap, distribution: Distribution) => ExcalidrawElement[];
@@ -1,7 +1,7 @@
1
- import type { ElementsMap, NonDeletedExcalidrawElement } from "./types";
2
- import "./ElementCanvasButtons.scss";
3
- export declare const ElementCanvasButtons: ({ children, element, elementsMap, }: {
4
- children: React.ReactNode;
5
- element: NonDeletedExcalidrawElement;
6
- elementsMap: ElementsMap;
7
- }) => JSX.Element | null;
1
+ import type { ElementsMap, NonDeletedExcalidrawElement } from "./types";
2
+ import "./ElementCanvasButtons.scss";
3
+ export declare const ElementCanvasButtons: ({ children, element, elementsMap, }: {
4
+ children: React.ReactNode;
5
+ element: NonDeletedExcalidrawElement;
6
+ elementsMap: ElementsMap;
7
+ }) => JSX.Element | null;
@@ -1,97 +1,97 @@
1
- import type { ExcalidrawBindableElement, ExcalidrawElement, NonDeleted, ExcalidrawLinearElement, NonDeletedExcalidrawElement, ElementsMap, NonDeletedSceneElementsMap, OrderedExcalidrawElement, ExcalidrawElbowArrowElement, FixedPoint, SceneElementsMap } from "./types";
2
- import type { Bounds } from "./bounds";
3
- import type { AppState, Point } from "../types";
4
- import type { ElementUpdate } from "./mutateElement";
5
- import type Scene from "../scene/Scene";
6
- import { type Heading } from "./heading";
7
- export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
8
- export type SuggestedPointBinding = [
9
- NonDeleted<ExcalidrawLinearElement>,
10
- "start" | "end" | "both",
11
- NonDeleted<ExcalidrawBindableElement>
12
- ];
13
- export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
14
- export declare const isBindingEnabled: (appState: AppState) => boolean;
15
- export declare const FIXED_BINDING_DISTANCE = 5;
16
- export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep", elementsMap: NonDeletedSceneElementsMap, scene: Scene) => void;
17
- export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[], elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[], scene: Scene, isBindingEnabled: boolean, draggingPoints: readonly number[] | null) => void;
18
- export declare const getSuggestedBindingsForArrows: (selectedElements: NonDeleted<ExcalidrawElement>[], elementsMap: NonDeletedSceneElementsMap) => SuggestedBinding[];
19
- export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, pointerCoords: {
20
- x: number;
21
- y: number;
22
- }, elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[]) => void;
23
- export declare const bindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: NonDeletedSceneElementsMap) => void;
24
- export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
25
- export declare const getHoveredElementForBinding: (pointerCoords: {
26
- x: number;
27
- y: number;
28
- }, elements: readonly NonDeletedExcalidrawElement[], elementsMap: NonDeletedSceneElementsMap, fullShape?: boolean) => NonDeleted<ExcalidrawBindableElement> | null;
29
- export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, elementsMap: NonDeletedSceneElementsMap | SceneElementsMap, options?: {
30
- simultaneouslyUpdated?: readonly ExcalidrawElement[];
31
- oldSize?: {
32
- width: number;
33
- height: number;
34
- };
35
- changedElements?: Map<string, OrderedExcalidrawElement>;
36
- }) => void;
37
- export declare const getHeadingForElbowArrowSnap: (point: readonly [number, number], otherPoint: readonly [number, number], bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, elementsMap: ElementsMap, origPoint: readonly [number, number]) => Heading;
38
- export declare const bindPointToSnapToElementOutline: (point: readonly [number, number], otherPoint: readonly [number, number], bindableElement: ExcalidrawBindableElement | undefined, elementsMap: ElementsMap) => readonly [number, number];
39
- export declare const avoidRectangularCorner: (element: ExcalidrawBindableElement, p: readonly [number, number]) => readonly [number, number];
40
- export declare const snapToMid: (element: ExcalidrawBindableElement, p: readonly [number, number], tolerance?: number) => readonly [number, number];
41
- export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap) => {
42
- fixedPoint: FixedPoint;
43
- };
44
- export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
45
- export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
46
- export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
47
- x: number;
48
- y: number;
49
- }, elementsMap: NonDeletedSceneElementsMap, fullShape?: boolean) => boolean;
50
- export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
51
- export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number], elementsMap: ElementsMap) => number;
52
- export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], elementsMap: ElementsMap) => number;
53
- export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap: number | undefined, elementsMap: ElementsMap) => Point[];
54
- export declare const bindingProperties: Set<BindableProp | BindingProp>;
55
- export type BindableProp = "boundElements";
56
- export type BindingProp = "frameId" | "containerId" | "startBinding" | "endBinding";
57
- /**
58
- * Bound element containing bindings to `frameId`, `containerId`, `startBinding` or `endBinding`.
59
- */
60
- export declare class BoundElement {
61
- /**
62
- * Unbind the affected non deleted bindable elements (removing element from `boundElements`).
63
- * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
64
- * - prepares updates to unbind each bindable element's `boundElements` from the current element
65
- */
66
- static unbindAffected(elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
67
- /**
68
- * Rebind the next affected non deleted bindable elements (adding element to `boundElements`).
69
- * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
70
- * - prepares updates to rebind each bindable element's `boundElements` to the current element
71
- *
72
- * NOTE: rebind expects that affected elements were previously unbound with `BoundElement.unbindAffected`
73
- */
74
- static rebindAffected: (elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
75
- }
76
- /**
77
- * Bindable element containing bindings to `boundElements`.
78
- */
79
- export declare class BindableElement {
80
- /**
81
- * Unbind the affected non deleted bound elements (resetting `containerId`, `startBinding`, `endBinding` to `null`).
82
- * - iterates through non deleted `boundElements` of the current element
83
- * - prepares updates to unbind each bound element from the current element
84
- */
85
- static unbindAffected(elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
86
- /**
87
- * Rebind the affected non deleted bound elements (for now setting only `containerId`, as we cannot rebind arrows atm).
88
- * - iterates through non deleted `boundElements` of the current element
89
- * - prepares updates to rebind each bound element to the current element or unbind it from `boundElements` in case of conflicts
90
- *
91
- * NOTE: rebind expects that affected elements were previously unbound with `BindaleElement.unbindAffected`
92
- */
93
- static rebindAffected: (elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
94
- }
95
- export declare const getGlobalFixedPointForBindableElement: (fixedPointRatio: [number, number], element: ExcalidrawBindableElement) => [number, number];
96
- export declare const getArrowLocalFixedPoints: (arrow: ExcalidrawElbowArrowElement, elementsMap: ElementsMap) => (readonly [number, number])[];
97
- export declare const normalizeFixedPoint: <T extends FixedPoint | null>(fixedPoint: T) => T extends null ? null : FixedPoint;
1
+ import type { ExcalidrawBindableElement, ExcalidrawElement, NonDeleted, ExcalidrawLinearElement, NonDeletedExcalidrawElement, ElementsMap, NonDeletedSceneElementsMap, OrderedExcalidrawElement, ExcalidrawElbowArrowElement, FixedPoint, SceneElementsMap } from "./types";
2
+ import type { Bounds } from "./bounds";
3
+ import type { AppState, Point } from "../types";
4
+ import type { ElementUpdate } from "./mutateElement";
5
+ import type Scene from "../scene/Scene";
6
+ import { type Heading } from "./heading";
7
+ export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
8
+ export type SuggestedPointBinding = [
9
+ NonDeleted<ExcalidrawLinearElement>,
10
+ "start" | "end" | "both",
11
+ NonDeleted<ExcalidrawBindableElement>
12
+ ];
13
+ export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
14
+ export declare const isBindingEnabled: (appState: AppState) => boolean;
15
+ export declare const FIXED_BINDING_DISTANCE = 5;
16
+ export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep", elementsMap: NonDeletedSceneElementsMap, scene: Scene) => void;
17
+ export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[], elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[], scene: Scene, isBindingEnabled: boolean, draggingPoints: readonly number[] | null) => void;
18
+ export declare const getSuggestedBindingsForArrows: (selectedElements: NonDeleted<ExcalidrawElement>[], elementsMap: NonDeletedSceneElementsMap) => SuggestedBinding[];
19
+ export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, pointerCoords: {
20
+ x: number;
21
+ y: number;
22
+ }, elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[]) => void;
23
+ export declare const bindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: NonDeletedSceneElementsMap) => void;
24
+ export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
25
+ export declare const getHoveredElementForBinding: (pointerCoords: {
26
+ x: number;
27
+ y: number;
28
+ }, elements: readonly NonDeletedExcalidrawElement[], elementsMap: NonDeletedSceneElementsMap, fullShape?: boolean) => NonDeleted<ExcalidrawBindableElement> | null;
29
+ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, elementsMap: NonDeletedSceneElementsMap | SceneElementsMap, options?: {
30
+ simultaneouslyUpdated?: readonly ExcalidrawElement[];
31
+ oldSize?: {
32
+ width: number;
33
+ height: number;
34
+ };
35
+ changedElements?: Map<string, OrderedExcalidrawElement>;
36
+ }) => void;
37
+ export declare const getHeadingForElbowArrowSnap: (point: readonly [number, number], otherPoint: readonly [number, number], bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, elementsMap: ElementsMap, origPoint: readonly [number, number]) => Heading;
38
+ export declare const bindPointToSnapToElementOutline: (point: readonly [number, number], otherPoint: readonly [number, number], bindableElement: ExcalidrawBindableElement | undefined, elementsMap: ElementsMap) => readonly [number, number];
39
+ export declare const avoidRectangularCorner: (element: ExcalidrawBindableElement, p: readonly [number, number]) => readonly [number, number];
40
+ export declare const snapToMid: (element: ExcalidrawBindableElement, p: readonly [number, number], tolerance?: number) => readonly [number, number];
41
+ export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap) => {
42
+ fixedPoint: FixedPoint;
43
+ };
44
+ export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
45
+ export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
46
+ export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
47
+ x: number;
48
+ y: number;
49
+ }, elementsMap: NonDeletedSceneElementsMap, fullShape?: boolean) => boolean;
50
+ export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
51
+ export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number], elementsMap: ElementsMap) => number;
52
+ export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], elementsMap: ElementsMap) => number;
53
+ export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap: number | undefined, elementsMap: ElementsMap) => Point[];
54
+ export declare const bindingProperties: Set<BindableProp | BindingProp>;
55
+ export type BindableProp = "boundElements";
56
+ export type BindingProp = "frameId" | "containerId" | "startBinding" | "endBinding";
57
+ /**
58
+ * Bound element containing bindings to `frameId`, `containerId`, `startBinding` or `endBinding`.
59
+ */
60
+ export declare class BoundElement {
61
+ /**
62
+ * Unbind the affected non deleted bindable elements (removing element from `boundElements`).
63
+ * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
64
+ * - prepares updates to unbind each bindable element's `boundElements` from the current element
65
+ */
66
+ static unbindAffected(elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
67
+ /**
68
+ * Rebind the next affected non deleted bindable elements (adding element to `boundElements`).
69
+ * - iterates non deleted bindable elements (`containerId` | `startBinding.elementId` | `endBinding.elementId`) of the current element
70
+ * - prepares updates to rebind each bindable element's `boundElements` to the current element
71
+ *
72
+ * NOTE: rebind expects that affected elements were previously unbound with `BoundElement.unbindAffected`
73
+ */
74
+ static rebindAffected: (elements: ElementsMap, boundElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
75
+ }
76
+ /**
77
+ * Bindable element containing bindings to `boundElements`.
78
+ */
79
+ export declare class BindableElement {
80
+ /**
81
+ * Unbind the affected non deleted bound elements (resetting `containerId`, `startBinding`, `endBinding` to `null`).
82
+ * - iterates through non deleted `boundElements` of the current element
83
+ * - prepares updates to unbind each bound element from the current element
84
+ */
85
+ static unbindAffected(elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void): void;
86
+ /**
87
+ * Rebind the affected non deleted bound elements (for now setting only `containerId`, as we cannot rebind arrows atm).
88
+ * - iterates through non deleted `boundElements` of the current element
89
+ * - prepares updates to rebind each bound element to the current element or unbind it from `boundElements` in case of conflicts
90
+ *
91
+ * NOTE: rebind expects that affected elements were previously unbound with `BindaleElement.unbindAffected`
92
+ */
93
+ static rebindAffected: (elements: ElementsMap, bindableElement: ExcalidrawElement | undefined, updateElementWith: (affected: ExcalidrawElement, updates: ElementUpdate<ExcalidrawElement>) => void) => void;
94
+ }
95
+ export declare const getGlobalFixedPointForBindableElement: (fixedPointRatio: [number, number], element: ExcalidrawBindableElement) => [number, number];
96
+ export declare const getArrowLocalFixedPoints: (arrow: ExcalidrawElbowArrowElement, elementsMap: ElementsMap) => (readonly [number, number])[];
97
+ export declare const normalizeFixedPoint: <T extends FixedPoint | null>(fixedPoint: T) => T extends null ? null : FixedPoint;