@zsviczian/excalidraw 0.17.1-obsidian-38 → 0.17.1-obsidian-39

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 (336) hide show
  1. package/dist/excalidraw.development.js +89 -78
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +70 -83
  4. package/dist/styles.production.css +3 -2
  5. package/package.json +1 -1
  6. package/types/excalidraw/actions/actionAddToLibrary.d.ts +584 -584
  7. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  8. package/types/excalidraw/actions/actionBoundText.d.ts +426 -426
  9. package/types/excalidraw/actions/actionCanvas.d.ts +2844 -2844
  10. package/types/excalidraw/actions/actionClipboard.d.ts +1457 -1457
  11. package/types/excalidraw/actions/actionDeleteSelected.d.ts +618 -618
  12. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  13. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  14. package/types/excalidraw/actions/actionElementLock.d.ts +414 -414
  15. package/types/excalidraw/actions/actionExport.d.ts +1817 -1817
  16. package/types/excalidraw/actions/actionFinalize.d.ts +395 -395
  17. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  18. package/types/excalidraw/actions/actionFrame.d.ts +827 -827
  19. package/types/excalidraw/actions/actionGroup.d.ts +424 -424
  20. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  21. package/types/excalidraw/actions/actionLinearEditor.d.ts +208 -208
  22. package/types/excalidraw/actions/actionLink.d.ts +208 -208
  23. package/types/excalidraw/actions/actionMenu.d.ts +603 -603
  24. package/types/excalidraw/actions/actionNavigate.d.ts +400 -400
  25. package/types/excalidraw/actions/actionProperties.d.ts +3051 -3051
  26. package/types/excalidraw/actions/actionSelectAll.d.ts +207 -207
  27. package/types/excalidraw/actions/actionStyles.d.ts +221 -221
  28. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  29. package/types/excalidraw/actions/actionToggleGridMode.d.ts +210 -210
  30. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +208 -208
  31. package/types/excalidraw/actions/actionToggleStats.d.ts +208 -208
  32. package/types/excalidraw/actions/actionToggleViewMode.d.ts +209 -209
  33. package/types/excalidraw/actions/actionToggleZenMode.d.ts +209 -209
  34. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  35. package/types/excalidraw/actions/index.d.ts +25 -25
  36. package/types/excalidraw/actions/manager.d.ts +21 -21
  37. package/types/excalidraw/actions/register.d.ts +5 -5
  38. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  39. package/types/excalidraw/actions/types.d.ts +47 -47
  40. package/types/excalidraw/align.d.ts +6 -6
  41. package/types/excalidraw/analytics.d.ts +1 -1
  42. package/types/excalidraw/animated-trail.d.ts +33 -33
  43. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  44. package/types/excalidraw/appState.d.ts +83 -83
  45. package/types/excalidraw/binaryheap.d.ts +12 -12
  46. package/types/excalidraw/change.d.ts +191 -191
  47. package/types/excalidraw/charts.d.ts +27 -27
  48. package/types/excalidraw/clients.d.ts +14 -14
  49. package/types/excalidraw/clipboard.d.ts +44 -44
  50. package/types/excalidraw/colors.d.ts +61 -61
  51. package/types/excalidraw/components/Actions.d.ts +34 -34
  52. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  53. package/types/excalidraw/components/App.d.ts +521 -520
  54. package/types/excalidraw/components/Avatar.d.ts +11 -11
  55. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  56. package/types/excalidraw/components/Button.d.ts +17 -17
  57. package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
  58. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
  59. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
  60. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  61. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  62. package/types/excalidraw/components/Card.d.ts +6 -6
  63. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  64. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  65. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  66. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  67. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  68. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  69. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  70. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  71. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  72. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  73. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  74. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  75. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  76. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  77. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  78. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  79. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  80. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  81. package/types/excalidraw/components/DefaultSidebar.d.ts +29 -29
  82. package/types/excalidraw/components/Dialog.d.ts +13 -13
  83. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  84. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  85. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  86. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  87. package/types/excalidraw/components/FilledButton.d.ts +17 -17
  88. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  89. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  90. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  91. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  92. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  93. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  94. package/types/excalidraw/components/HandButton.d.ts +10 -10
  95. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  96. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  97. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  98. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  99. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  100. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  101. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  102. package/types/excalidraw/components/Island.d.ts +10 -10
  103. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  104. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  105. package/types/excalidraw/components/LayerUI.d.ts +34 -34
  106. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  107. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  108. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  109. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  110. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  111. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  112. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  113. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  114. package/types/excalidraw/components/LockButton.d.ts +10 -10
  115. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  116. package/types/excalidraw/components/MagicSettings.d.ts +8 -8
  117. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  118. package/types/excalidraw/components/Modal.d.ts +14 -14
  119. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  120. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  121. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  122. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  123. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  124. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  125. package/types/excalidraw/components/Popover.d.ts +15 -15
  126. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  127. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  128. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  129. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  130. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  131. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  132. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  133. package/types/excalidraw/components/Section.d.ts +6 -6
  134. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  135. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  136. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  137. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  138. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  139. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  140. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  141. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  142. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  143. package/types/excalidraw/components/Spinner.d.ts +7 -7
  144. package/types/excalidraw/components/Stack.d.ts +16 -16
  145. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  146. package/types/excalidraw/components/Stats/Collapsible.d.ts +8 -8
  147. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  148. package/types/excalidraw/components/Stats/DragInput.d.ts +31 -31
  149. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  150. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  151. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  152. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  153. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  154. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  155. package/types/excalidraw/components/Stats/index.d.ts +35 -15
  156. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  157. package/types/excalidraw/components/Stats.d.ts +11 -11
  158. package/types/excalidraw/components/Switch.d.ts +9 -9
  159. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +14 -14
  160. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  161. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  162. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  163. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  164. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  165. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  166. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  167. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  168. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  169. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +14 -14
  170. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  171. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  172. package/types/excalidraw/components/TextField.d.ts +19 -19
  173. package/types/excalidraw/components/Toast.d.ts +9 -9
  174. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  175. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  176. package/types/excalidraw/components/Trans.d.ts +9 -9
  177. package/types/excalidraw/components/UserList.d.ts +18 -18
  178. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  179. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  180. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  181. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +85 -85
  182. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  183. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  184. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  185. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  186. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  187. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  188. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +14 -14
  189. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  191. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  192. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  193. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  194. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  195. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  196. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  197. package/types/excalidraw/components/hyperlink/helpers.d.ts +7 -7
  198. package/types/excalidraw/components/icons.d.ts +211 -211
  199. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  200. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +58 -58
  201. package/types/excalidraw/components/main-menu/MainMenu.d.ts +79 -79
  202. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  203. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  204. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  205. package/types/excalidraw/constants.d.ts +312 -312
  206. package/types/excalidraw/context/tunnels.d.ts +20 -20
  207. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  208. package/types/excalidraw/cursor.d.ts +6 -6
  209. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  210. package/types/excalidraw/data/ai/types.d.ts +242 -242
  211. package/types/excalidraw/data/blob.d.ts +49 -49
  212. package/types/excalidraw/data/encode.d.ts +53 -53
  213. package/types/excalidraw/data/encryption.d.ts +9 -9
  214. package/types/excalidraw/data/filesystem.d.ts +20 -20
  215. package/types/excalidraw/data/image.d.ts +15 -15
  216. package/types/excalidraw/data/index.d.ts +22 -22
  217. package/types/excalidraw/data/json.d.ts +16 -16
  218. package/types/excalidraw/data/library.d.ts +106 -106
  219. package/types/excalidraw/data/magic.d.ts +23 -23
  220. package/types/excalidraw/data/reconcile.d.ts +6 -6
  221. package/types/excalidraw/data/resave.d.ts +5 -5
  222. package/types/excalidraw/data/restore.d.ts +21 -21
  223. package/types/excalidraw/data/transform.d.ts +81 -81
  224. package/types/excalidraw/data/types.d.ts +45 -45
  225. package/types/excalidraw/data/url.d.ts +8 -8
  226. package/types/excalidraw/deburr.d.ts +1 -1
  227. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  228. package/types/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  229. package/types/excalidraw/distribute.d.ts +6 -6
  230. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  231. package/types/excalidraw/element/Hyperlink.d.ts +220 -0
  232. package/types/excalidraw/element/binding.d.ts +97 -97
  233. package/types/excalidraw/element/bounds.d.ts +74 -74
  234. package/types/excalidraw/element/collision.d.ts +16 -16
  235. package/types/excalidraw/element/containerCache.d.ts +11 -11
  236. package/types/excalidraw/element/dragElements.d.ts +15 -15
  237. package/types/excalidraw/element/embeddable.d.ts +214 -214
  238. package/types/excalidraw/element/flowchart.d.ts +25 -25
  239. package/types/excalidraw/element/heading.d.ts +11 -11
  240. package/types/excalidraw/element/image.d.ts +32 -32
  241. package/types/excalidraw/element/index.d.ts +26 -26
  242. package/types/excalidraw/element/linearElementEditor.d.ts +347 -347
  243. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  244. package/types/excalidraw/element/newElement.d.ts +105 -105
  245. package/types/excalidraw/element/resizeElements.d.ts +17 -17
  246. package/types/excalidraw/element/resizeTest.d.ts +14 -14
  247. package/types/excalidraw/element/routing.d.ts +10 -10
  248. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  249. package/types/excalidraw/element/sizeHelpers.d.ts +40 -35
  250. package/types/excalidraw/element/sortElements.d.ts +2 -2
  251. package/types/excalidraw/element/textElement.d.ts +68 -68
  252. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  253. package/types/excalidraw/element/transformHandles.d.ts +54 -54
  254. package/types/excalidraw/element/typeChecks.d.ts +37 -37
  255. package/types/excalidraw/element/types.d.ts +244 -244
  256. package/types/excalidraw/emitter.d.ts +16 -16
  257. package/types/excalidraw/entry.d.ts +1 -1
  258. package/types/excalidraw/env.d.cts +1 -1
  259. package/types/excalidraw/env.d.ts +1 -1
  260. package/types/excalidraw/errors.d.ts +16 -16
  261. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +21 -21
  262. package/types/excalidraw/fonts/index.d.ts +83 -83
  263. package/types/excalidraw/fonts/metadata.d.ts +35 -35
  264. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  265. package/types/excalidraw/frame.d.ts +63 -63
  266. package/types/excalidraw/ga.d.ts +63 -63
  267. package/types/excalidraw/gadirections.d.ts +8 -8
  268. package/types/excalidraw/galines.d.ts +22 -22
  269. package/types/excalidraw/gapoints.d.ts +7 -7
  270. package/types/excalidraw/gatransforms.d.ts +10 -10
  271. package/types/excalidraw/gesture.d.ts +6 -6
  272. package/types/excalidraw/groups.d.ts +33 -33
  273. package/types/excalidraw/history.d.ts +40 -40
  274. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  275. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  276. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  277. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  278. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  279. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  280. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  281. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  282. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  283. package/types/excalidraw/i18n.d.ts +24 -24
  284. package/types/excalidraw/index-node.d.ts +1 -1
  285. package/types/excalidraw/index.d.ts +59 -58
  286. package/types/excalidraw/jotai.d.ts +34 -34
  287. package/types/excalidraw/keys.d.ts +82 -82
  288. package/types/excalidraw/laser-trails.d.ts +20 -20
  289. package/types/excalidraw/main.d.ts +2 -2
  290. package/types/excalidraw/math.d.ts +78 -78
  291. package/types/excalidraw/mermaid.d.ts +2 -2
  292. package/types/excalidraw/obsidianUtils.d.ts +16 -16
  293. package/types/excalidraw/points.d.ts +7 -7
  294. package/types/excalidraw/polyfill.d.ts +2 -2
  295. package/types/excalidraw/publicPath.d.ts +1 -1
  296. package/types/excalidraw/queue.d.ts +9 -9
  297. package/types/excalidraw/random.d.ts +4 -4
  298. package/types/excalidraw/reactUtils.d.ts +14 -14
  299. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  300. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  301. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  302. package/types/excalidraw/renderer/renderElement.d.ts +27 -27
  303. package/types/excalidraw/renderer/renderScene.d.ts +23 -0
  304. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  305. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  306. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  307. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  308. package/types/excalidraw/scene/Fonts.d.ts +21 -19
  309. package/types/excalidraw/scene/Renderer.d.ts +25 -25
  310. package/types/excalidraw/scene/Scene.d.ts +78 -78
  311. package/types/excalidraw/scene/Shape.d.ts +17 -17
  312. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  313. package/types/excalidraw/scene/comparisons.d.ts +11 -11
  314. package/types/excalidraw/scene/export.d.ts +29 -29
  315. package/types/excalidraw/scene/index.d.ts +4 -4
  316. package/types/excalidraw/scene/scroll.d.ts +17 -17
  317. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  318. package/types/excalidraw/scene/selection.d.ts +32 -32
  319. package/types/excalidraw/scene/types.d.ts +101 -101
  320. package/types/excalidraw/scene/zoom.d.ts +13 -13
  321. package/types/excalidraw/shapes.d.ts +70 -70
  322. package/types/excalidraw/snapping.d.ts +108 -108
  323. package/types/excalidraw/store.d.ts +129 -129
  324. package/types/excalidraw/types.d.ts +692 -692
  325. package/types/excalidraw/utility-types.d.ts +31 -31
  326. package/types/excalidraw/utils.d.ts +242 -242
  327. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  328. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  329. package/types/excalidraw/zindex.d.ts +6 -6
  330. package/types/utils/bbox.d.ts +11 -11
  331. package/types/utils/collision.d.ts +4 -4
  332. package/types/utils/export.d.ts +44 -44
  333. package/types/utils/geometry/geometry.d.ts +89 -72
  334. package/types/utils/geometry/shape.d.ts +56 -56
  335. package/types/utils/index.d.ts +4 -4
  336. package/types/utils/withinBounds.d.ts +19 -19
@@ -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;
@@ -1,74 +1,74 @@
1
- import type { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, ExcalidrawFreeDrawElement, NonDeleted, ElementsMap } from "./types";
2
- import type { Drawable, Op } from "roughjs/bin/core";
3
- import type { AppState, Point } from "../types";
4
- export type RectangleBox = {
5
- x: number;
6
- y: number;
7
- width: number;
8
- height: number;
9
- angle: number;
10
- };
11
- /**
12
- * x and y position of top left corner, x and y position of bottom right corner
13
- */
14
- export type Bounds = readonly [
15
- minX: number,
16
- minY: number,
17
- maxX: number,
18
- maxY: number
19
- ];
20
- export type SceneBounds = readonly [
21
- sceneX: number,
22
- sceneY: number,
23
- sceneX2: number,
24
- sceneY2: number
25
- ];
26
- export declare class ElementBounds {
27
- private static boundsCache;
28
- static getBounds(element: ExcalidrawElement, elementsMap: ElementsMap): Bounds;
29
- private static calculateBounds;
30
- }
31
- export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, elementsMap: ElementsMap, includeBoundText?: boolean) => [number, number, number, number, number, number];
32
- export declare const getElementLineSegments: (element: ExcalidrawElement, elementsMap: ElementsMap) => [Point, Point][];
33
- /**
34
- * Scene -> Scene coords, but in x1,x2,y1,y2 format.
35
- *
36
- * Rectangle here means any rectangular frame, not an excalidraw element.
37
- */
38
- export declare const getRectangleBoxAbsoluteCoords: (boxSceneCoords: RectangleBox) => number[];
39
- export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
40
- export declare const getCurvePathOps: (shape: Drawable) => Op[];
41
- export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => Bounds;
42
- export declare const getBoundsFromPoints: (points: ExcalidrawFreeDrawElement["points"]) => Bounds;
43
- /** @returns number in pixels */
44
- export declare const getArrowheadSize: (arrowhead: Arrowhead) => number;
45
- /** @returns number in degrees */
46
- export declare const getArrowheadAngle: (arrowhead: Arrowhead) => number;
47
- export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
48
- export declare const getElementBounds: (element: ExcalidrawElement, elementsMap: ElementsMap) => Bounds;
49
- export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => Bounds;
50
- export declare const getDraggedElementsBounds: (elements: ExcalidrawElement[], dragOffset: {
51
- x: number;
52
- y: number;
53
- }) => number[];
54
- export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => Bounds;
55
- export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => Bounds;
56
- export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
57
- x: number;
58
- y: number;
59
- }) => Bounds;
60
- export interface BoundingBox {
61
- minX: number;
62
- minY: number;
63
- maxX: number;
64
- maxY: number;
65
- midX: number;
66
- midY: number;
67
- width: number;
68
- height: number;
69
- }
70
- export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => BoundingBox;
71
- /**
72
- * returns scene coords of user's editor viewport (visible canvas area) bounds
73
- */
74
- export declare const getVisibleSceneBounds: ({ scrollX, scrollY, width, height, zoom, }: AppState) => SceneBounds;
1
+ import type { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, ExcalidrawFreeDrawElement, NonDeleted, ElementsMap } from "./types";
2
+ import type { Drawable, Op } from "roughjs/bin/core";
3
+ import type { AppState, Point } from "../types";
4
+ export type RectangleBox = {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ angle: number;
10
+ };
11
+ /**
12
+ * x and y position of top left corner, x and y position of bottom right corner
13
+ */
14
+ export type Bounds = readonly [
15
+ minX: number,
16
+ minY: number,
17
+ maxX: number,
18
+ maxY: number
19
+ ];
20
+ export type SceneBounds = readonly [
21
+ sceneX: number,
22
+ sceneY: number,
23
+ sceneX2: number,
24
+ sceneY2: number
25
+ ];
26
+ export declare class ElementBounds {
27
+ private static boundsCache;
28
+ static getBounds(element: ExcalidrawElement, elementsMap: ElementsMap): Bounds;
29
+ private static calculateBounds;
30
+ }
31
+ export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, elementsMap: ElementsMap, includeBoundText?: boolean) => [number, number, number, number, number, number];
32
+ export declare const getElementLineSegments: (element: ExcalidrawElement, elementsMap: ElementsMap) => [Point, Point][];
33
+ /**
34
+ * Scene -> Scene coords, but in x1,x2,y1,y2 format.
35
+ *
36
+ * Rectangle here means any rectangular frame, not an excalidraw element.
37
+ */
38
+ export declare const getRectangleBoxAbsoluteCoords: (boxSceneCoords: RectangleBox) => number[];
39
+ export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
40
+ export declare const getCurvePathOps: (shape: Drawable) => Op[];
41
+ export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => Bounds;
42
+ export declare const getBoundsFromPoints: (points: ExcalidrawFreeDrawElement["points"]) => Bounds;
43
+ /** @returns number in pixels */
44
+ export declare const getArrowheadSize: (arrowhead: Arrowhead) => number;
45
+ /** @returns number in degrees */
46
+ export declare const getArrowheadAngle: (arrowhead: Arrowhead) => number;
47
+ export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
48
+ export declare const getElementBounds: (element: ExcalidrawElement, elementsMap: ElementsMap) => Bounds;
49
+ export declare const getCommonBounds: (elements: readonly ExcalidrawElement[], elementsMap?: ElementsMap) => Bounds;
50
+ export declare const getDraggedElementsBounds: (elements: ExcalidrawElement[], dragOffset: {
51
+ x: number;
52
+ y: number;
53
+ }) => number[];
54
+ export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => Bounds;
55
+ export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => Bounds;
56
+ export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
57
+ x: number;
58
+ y: number;
59
+ }) => Bounds;
60
+ export interface BoundingBox {
61
+ minX: number;
62
+ minY: number;
63
+ maxX: number;
64
+ maxY: number;
65
+ midX: number;
66
+ midY: number;
67
+ width: number;
68
+ height: number;
69
+ }
70
+ export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => BoundingBox;
71
+ /**
72
+ * returns scene coords of user's editor viewport (visible canvas area) bounds
73
+ */
74
+ export declare const getVisibleSceneBounds: ({ scrollX, scrollY, width, height, zoom, }: AppState) => SceneBounds;
@@ -1,16 +1,16 @@
1
- import type { ElementsMap, ExcalidrawElement } from "./types";
2
- import type { FrameNameBounds } from "../types";
3
- import type { GeometricShape } from "../../utils/geometry/shape";
4
- export declare const shouldTestInside: (element: ExcalidrawElement) => boolean;
5
- export type HitTestArgs = {
6
- x: number;
7
- y: number;
8
- element: ExcalidrawElement;
9
- shape: GeometricShape;
10
- threshold?: number;
11
- frameNameBound?: FrameNameBounds | null;
12
- };
13
- export declare const hitElementItself: ({ x, y, element, shape, threshold, frameNameBound, }: HitTestArgs) => boolean;
14
- export declare const hitElementBoundingBox: (x: number, y: number, element: ExcalidrawElement, elementsMap: ElementsMap, tolerance?: number) => boolean;
15
- export declare const hitElementBoundingBoxOnly: (hitArgs: HitTestArgs, elementsMap: ElementsMap) => boolean;
16
- export declare const hitElementBoundText: (x: number, y: number, textShape: GeometricShape | null) => boolean;
1
+ import type { ElementsMap, ExcalidrawElement } from "./types";
2
+ import type { FrameNameBounds } from "../types";
3
+ import type { GeometricShape } from "../../utils/geometry/shape";
4
+ export declare const shouldTestInside: (element: ExcalidrawElement) => boolean;
5
+ export type HitTestArgs = {
6
+ x: number;
7
+ y: number;
8
+ element: ExcalidrawElement;
9
+ shape: GeometricShape;
10
+ threshold?: number;
11
+ frameNameBound?: FrameNameBounds | null;
12
+ };
13
+ export declare const hitElementItself: ({ x, y, element, shape, threshold, frameNameBound, }: HitTestArgs) => boolean;
14
+ export declare const hitElementBoundingBox: (x: number, y: number, element: ExcalidrawElement, elementsMap: ElementsMap, tolerance?: number) => boolean;
15
+ export declare const hitElementBoundingBoxOnly: (hitArgs: HitTestArgs, elementsMap: ElementsMap) => boolean;
16
+ export declare const hitElementBoundText: (x: number, y: number, textShape: GeometricShape | null) => boolean;
@@ -1,11 +1,11 @@
1
- import type { ExcalidrawTextContainer } from "./types";
2
- export declare const originalContainerCache: {
3
- [id: ExcalidrawTextContainer["id"]]: {
4
- height: ExcalidrawTextContainer["height"];
5
- } | undefined;
6
- };
7
- export declare const updateOriginalContainerCache: (id: ExcalidrawTextContainer["id"], height: ExcalidrawTextContainer["height"]) => {
8
- height: ExcalidrawTextContainer["height"];
9
- };
10
- export declare const resetOriginalContainerCache: (id: ExcalidrawTextContainer["id"]) => void;
11
- export declare const getOriginalContainerHeightFromCache: (id: ExcalidrawTextContainer["id"]) => number | null;
1
+ import type { ExcalidrawTextContainer } from "./types";
2
+ export declare const originalContainerCache: {
3
+ [id: ExcalidrawTextContainer["id"]]: {
4
+ height: ExcalidrawTextContainer["height"];
5
+ } | undefined;
6
+ };
7
+ export declare const updateOriginalContainerCache: (id: ExcalidrawTextContainer["id"], height: ExcalidrawTextContainer["height"]) => {
8
+ height: ExcalidrawTextContainer["height"];
9
+ };
10
+ export declare const resetOriginalContainerCache: (id: ExcalidrawTextContainer["id"]) => void;
11
+ export declare const getOriginalContainerHeightFromCache: (id: ExcalidrawTextContainer["id"]) => number | null;
@@ -1,15 +1,15 @@
1
- import type { NonDeletedExcalidrawElement } from "./types";
2
- import type { AppState, NormalizedZoomValue, PointerDownState } from "../types";
3
- import type Scene from "../scene/Scene";
4
- export declare const dragSelectedElements: (pointerDownState: PointerDownState, _selectedElements: NonDeletedExcalidrawElement[], offset: {
5
- x: number;
6
- y: number;
7
- }, scene: Scene, snapOffset: {
8
- x: number;
9
- y: number;
10
- }, gridSize: AppState["gridSize"]) => void;
11
- export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
12
- export declare const dragNewElement: (newElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, zoom: NormalizedZoomValue, widthAspectRatio?: number | null, originOffset?: {
13
- x: number;
14
- y: number;
15
- } | null) => void;
1
+ import type { NonDeletedExcalidrawElement } from "./types";
2
+ import type { AppState, NormalizedZoomValue, PointerDownState } from "../types";
3
+ import type Scene from "../scene/Scene";
4
+ export declare const dragSelectedElements: (pointerDownState: PointerDownState, _selectedElements: NonDeletedExcalidrawElement[], offset: {
5
+ x: number;
6
+ y: number;
7
+ }, scene: Scene, snapOffset: {
8
+ x: number;
9
+ y: number;
10
+ }, gridSize: AppState["gridSize"]) => void;
11
+ export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
12
+ export declare const dragNewElement: (newElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, zoom: NormalizedZoomValue, widthAspectRatio?: number | null, originOffset?: {
13
+ x: number;
14
+ y: number;
15
+ } | null) => void;