@zsviczian/excalidraw 0.18.0-17 → 0.18.0-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/dist/excalidraw.development.js +105 -105
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +5 -2
  4. package/types/common/src/binary-heap.d.ts +12 -12
  5. package/types/common/src/colors.d.ts +62 -62
  6. package/types/common/src/constants.d.ts +344 -344
  7. package/types/common/src/emitter.d.ts +16 -16
  8. package/types/common/src/font-metadata.d.ts +48 -48
  9. package/types/common/src/index.d.ts +12 -12
  10. package/types/common/src/keys.d.ts +189 -189
  11. package/types/common/src/points.d.ts +9 -9
  12. package/types/common/src/promise-pool.d.ts +6 -6
  13. package/types/common/src/queue.d.ts +9 -9
  14. package/types/common/src/random.d.ts +4 -4
  15. package/types/common/src/url.d.ts +7 -7
  16. package/types/common/src/utility-types.d.ts +37 -37
  17. package/types/common/src/utils.d.ts +269 -269
  18. package/types/element/src/Scene.d.ts +76 -76
  19. package/types/element/src/Shape.d.ts +17 -17
  20. package/types/element/src/ShapeCache.d.ts +25 -25
  21. package/types/element/src/align.d.ts +7 -7
  22. package/types/element/src/binding.d.ts +108 -108
  23. package/types/element/src/bounds.d.ts +81 -81
  24. package/types/element/src/collision.d.ts +26 -26
  25. package/types/element/src/comparisons.d.ts +8 -8
  26. package/types/element/src/containerCache.d.ts +11 -11
  27. package/types/element/src/cropElement.d.ts +19 -19
  28. package/types/element/src/delta.d.ts +196 -196
  29. package/types/element/src/distance.d.ts +3 -3
  30. package/types/element/src/distribute.d.ts +6 -6
  31. package/types/element/src/dragElements.d.ts +33 -33
  32. package/types/element/src/duplicate.d.ts +63 -63
  33. package/types/element/src/easingFunctions.d.ts +6 -6
  34. package/types/element/src/elbowArrow.d.ts +17 -17
  35. package/types/element/src/elementLink.d.ts +13 -13
  36. package/types/element/src/embeddable.d.ts +10 -10
  37. package/types/element/src/flowchart.d.ts +26 -26
  38. package/types/element/src/fractionalIndex.d.ts +51 -51
  39. package/types/element/src/frame.d.ts +70 -70
  40. package/types/element/src/groups.d.ts +33 -33
  41. package/types/element/src/heading.d.ts +15 -15
  42. package/types/element/src/image.d.ts +32 -32
  43. package/types/element/src/index.d.ts +59 -59
  44. package/types/element/src/linearElementEditor.d.ts +117 -117
  45. package/types/element/src/mutateElement.d.ts +21 -21
  46. package/types/element/src/newElement.d.ts +63 -63
  47. package/types/element/src/renderElement.d.ts +28 -28
  48. package/types/element/src/resizeElements.d.ts +38 -38
  49. package/types/element/src/resizeTest.d.ts +15 -15
  50. package/types/element/src/selection.d.ts +38 -38
  51. package/types/element/src/shapes.d.ts +27 -27
  52. package/types/element/src/showSelectedShapeActions.d.ts +3 -3
  53. package/types/element/src/sizeHelpers.d.ts +35 -34
  54. package/types/element/src/sortElements.d.ts +2 -2
  55. package/types/element/src/store.d.ts +227 -227
  56. package/types/element/src/textElement.d.ts +40 -40
  57. package/types/element/src/textMeasurements.d.ts +41 -41
  58. package/types/element/src/textWrapping.d.ts +13 -13
  59. package/types/element/src/transformHandles.d.ts +55 -55
  60. package/types/element/src/typeChecks.d.ts +53 -45
  61. package/types/element/src/types.d.ts +298 -298
  62. package/types/element/src/utils.d.ts +21 -21
  63. package/types/element/src/zindex.d.ts +7 -7
  64. package/types/excalidraw/actions/actionAddToLibrary.d.ts +638 -638
  65. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  66. package/types/excalidraw/actions/actionBoundText.d.ts +462 -462
  67. package/types/excalidraw/actions/actionCanvas.d.ts +3323 -3323
  68. package/types/excalidraw/actions/actionClipboard.d.ts +1392 -1392
  69. package/types/excalidraw/actions/actionCropEditor.d.ts +225 -225
  70. package/types/excalidraw/actions/actionDeleteSelected.d.ts +677 -677
  71. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  72. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -17
  73. package/types/excalidraw/actions/actionElementLink.d.ts +247 -247
  74. package/types/excalidraw/actions/actionElementLock.d.ts +448 -448
  75. package/types/excalidraw/actions/actionEmbeddable.d.ts +222 -222
  76. package/types/excalidraw/actions/actionExport.d.ts +1980 -1980
  77. package/types/excalidraw/actions/actionFinalize.d.ts +674 -431
  78. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  79. package/types/excalidraw/actions/actionFrame.d.ts +1396 -1396
  80. package/types/excalidraw/actions/actionGroup.d.ts +460 -460
  81. package/types/excalidraw/actions/actionHistory.d.ts +6 -6
  82. package/types/excalidraw/actions/actionLinearEditor.d.ts +722 -722
  83. package/types/excalidraw/actions/actionLink.d.ts +226 -226
  84. package/types/excalidraw/actions/actionMenu.d.ts +658 -658
  85. package/types/excalidraw/actions/actionNavigate.d.ts +436 -436
  86. package/types/excalidraw/actions/actionProperties.d.ts +3329 -3329
  87. package/types/excalidraw/actions/actionSelectAll.d.ts +225 -225
  88. package/types/excalidraw/actions/actionStyles.d.ts +239 -239
  89. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  90. package/types/excalidraw/actions/actionToggleGridMode.d.ts +228 -228
  91. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +226 -226
  92. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +219 -219
  93. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -19
  94. package/types/excalidraw/actions/actionToggleStats.d.ts +225 -225
  95. package/types/excalidraw/actions/actionToggleViewMode.d.ts +226 -226
  96. package/types/excalidraw/actions/actionToggleZenMode.d.ts +226 -226
  97. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  98. package/types/excalidraw/actions/index.d.ts +28 -28
  99. package/types/excalidraw/actions/manager.d.ts +21 -21
  100. package/types/excalidraw/actions/register.d.ts +5 -5
  101. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  102. package/types/excalidraw/actions/types.d.ts +47 -47
  103. package/types/excalidraw/analytics.d.ts +1 -1
  104. package/types/excalidraw/animated-trail.d.ts +39 -39
  105. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  106. package/types/excalidraw/appState.d.ts +99 -99
  107. package/types/excalidraw/charts.d.ts +27 -27
  108. package/types/excalidraw/clients.d.ts +14 -14
  109. package/types/excalidraw/clipboard.d.ts +66 -66
  110. package/types/excalidraw/components/Actions.d.ts +35 -35
  111. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  112. package/types/excalidraw/components/App.d.ts +566 -566
  113. package/types/excalidraw/components/Avatar.d.ts +11 -11
  114. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  115. package/types/excalidraw/components/Button.d.ts +17 -17
  116. package/types/excalidraw/components/ButtonIcon.d.ts +16 -16
  117. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  118. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  119. package/types/excalidraw/components/Card.d.ts +6 -6
  120. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  121. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -10
  122. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -23
  123. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  124. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -7
  125. package/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -17
  126. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -9
  127. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  128. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  129. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  130. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  131. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  132. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  133. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  134. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  135. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  136. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  137. package/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -23
  138. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  139. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  140. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  141. package/types/excalidraw/components/Dialog.d.ts +13 -13
  142. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  143. package/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -7
  144. package/types/excalidraw/components/ElementLinkDialog.d.ts +12 -12
  145. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  146. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  147. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  148. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  149. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  150. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  151. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  152. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  153. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  154. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  155. package/types/excalidraw/components/HandButton.d.ts +10 -10
  156. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  157. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  158. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  159. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  160. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  161. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  162. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  163. package/types/excalidraw/components/Island.d.ts +10 -10
  164. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  165. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  166. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  167. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  168. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  169. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  170. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  171. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  172. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  173. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  174. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  175. package/types/excalidraw/components/LockButton.d.ts +10 -10
  176. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  177. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  178. package/types/excalidraw/components/Modal.d.ts +14 -14
  179. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  180. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  181. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  182. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  183. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  184. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  185. package/types/excalidraw/components/Popover.d.ts +15 -15
  186. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  187. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  188. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  189. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  190. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  191. package/types/excalidraw/components/RadioSelection.d.ts +20 -20
  192. package/types/excalidraw/components/Range.d.ts +8 -8
  193. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  194. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  195. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  196. package/types/excalidraw/components/Section.d.ts +6 -6
  197. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  198. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  199. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  200. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  201. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  202. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  203. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  204. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  205. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  206. package/types/excalidraw/components/Spinner.d.ts +8 -8
  207. package/types/excalidraw/components/Stack.d.ts +15 -15
  208. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  209. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  210. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  211. package/types/excalidraw/components/Stats/Collapsible.d.ts +10 -10
  212. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  213. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  214. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  215. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  216. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  217. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  218. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  219. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  220. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  221. package/types/excalidraw/components/Stats/utils.d.ts +19 -19
  222. package/types/excalidraw/components/Switch.d.ts +9 -9
  223. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  224. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  225. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  226. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  227. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  228. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  229. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  230. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  231. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  232. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  233. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  234. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  235. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  236. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  237. package/types/excalidraw/components/TextField.d.ts +21 -21
  238. package/types/excalidraw/components/Toast.d.ts +9 -9
  239. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  240. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  241. package/types/excalidraw/components/Trans.d.ts +9 -9
  242. package/types/excalidraw/components/UnlockPopup.d.ts +8 -8
  243. package/types/excalidraw/components/UserList.d.ts +18 -18
  244. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -30
  245. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  246. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  247. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  255. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  256. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  257. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  258. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  259. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  260. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  261. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  262. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  263. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  264. package/types/excalidraw/components/hyperlink/helpers.d.ts +10 -10
  265. package/types/excalidraw/components/icons.d.ts +227 -227
  266. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  267. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  268. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -83
  269. package/types/excalidraw/components/shapes.d.ts +62 -62
  270. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  271. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  272. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  273. package/types/excalidraw/context/tunnels.d.ts +21 -21
  274. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  275. package/types/excalidraw/cursor.d.ts +6 -6
  276. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  277. package/types/excalidraw/data/ai/types.d.ts +242 -242
  278. package/types/excalidraw/data/blob.d.ts +53 -53
  279. package/types/excalidraw/data/encode.d.ts +55 -55
  280. package/types/excalidraw/data/encryption.d.ts +9 -9
  281. package/types/excalidraw/data/filesystem.d.ts +21 -21
  282. package/types/excalidraw/data/image.d.ts +9 -9
  283. package/types/excalidraw/data/index.d.ts +22 -22
  284. package/types/excalidraw/data/json.d.ts +16 -16
  285. package/types/excalidraw/data/library.d.ts +112 -112
  286. package/types/excalidraw/data/reconcile.d.ts +6 -6
  287. package/types/excalidraw/data/resave.d.ts +5 -5
  288. package/types/excalidraw/data/restore.d.ts +21 -21
  289. package/types/excalidraw/data/transform.d.ts +81 -81
  290. package/types/excalidraw/data/types.d.ts +45 -45
  291. package/types/excalidraw/deburr.d.ts +1 -1
  292. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  293. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  294. package/types/excalidraw/editor-jotai.d.ts +56 -56
  295. package/types/excalidraw/entry.d.ts +1 -1
  296. package/types/excalidraw/env.d.cts +1 -1
  297. package/types/excalidraw/env.d.ts +1 -1
  298. package/types/excalidraw/eraser/index.d.ts +14 -14
  299. package/types/excalidraw/errors.d.ts +29 -29
  300. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  301. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  302. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  303. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  304. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  306. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  310. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  311. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  312. package/types/excalidraw/fonts/index.d.ts +1 -1
  313. package/types/excalidraw/gesture.d.ts +6 -6
  314. package/types/excalidraw/history.d.ts +32 -32
  315. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  316. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  317. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  318. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  319. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  320. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  321. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  322. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  323. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  324. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  325. package/types/excalidraw/i18n.d.ts +24 -24
  326. package/types/excalidraw/index-node.d.ts +1 -1
  327. package/types/excalidraw/index.d.ts +59 -59
  328. package/types/excalidraw/laser-trails.d.ts +20 -20
  329. package/types/excalidraw/lasso/index.d.ts +16 -16
  330. package/types/excalidraw/lasso/utils.d.ts +12 -12
  331. package/types/excalidraw/main.d.ts +2 -2
  332. package/types/excalidraw/mermaid.d.ts +2 -2
  333. package/types/excalidraw/obsidianUtils.d.ts +37 -37
  334. package/types/excalidraw/polyfill.d.ts +2 -2
  335. package/types/excalidraw/publicPath.d.ts +1 -1
  336. package/types/excalidraw/reactUtils.d.ts +14 -14
  337. package/types/excalidraw/renderer/helpers.d.ts +18 -18
  338. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  339. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  340. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  341. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  342. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  343. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  344. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  345. package/types/excalidraw/scene/export.d.ts +37 -37
  346. package/types/excalidraw/scene/index.d.ts +4 -4
  347. package/types/excalidraw/scene/normalize.d.ts +4 -4
  348. package/types/excalidraw/scene/scroll.d.ts +23 -23
  349. package/types/excalidraw/scene/scrollbars.d.ts +11 -11
  350. package/types/excalidraw/scene/types.d.ts +122 -122
  351. package/types/excalidraw/scene/zoom.d.ts +12 -12
  352. package/types/excalidraw/snapping.d.ts +111 -111
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  356. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  357. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  358. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  359. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  360. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  361. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  362. package/types/excalidraw/types.d.ts +780 -780
  363. package/types/excalidraw/visualdebug.d.ts +41 -41
  364. package/types/excalidraw/webpack.dev.config.d.ts +114 -114
  365. package/types/excalidraw/webpack.prod.config.d.ts +128 -128
  366. package/types/excalidraw/workers.d.ts +36 -36
  367. package/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -24
  368. package/types/math/src/angle.d.ts +17 -17
  369. package/types/math/src/curve.d.ts +42 -42
  370. package/types/math/src/ellipse.d.ts +44 -44
  371. package/types/math/src/index.d.ts +12 -12
  372. package/types/math/src/line.d.ts +17 -17
  373. package/types/math/src/point.d.ts +122 -122
  374. package/types/math/src/polygon.d.ts +6 -6
  375. package/types/math/src/range.d.ts +44 -44
  376. package/types/math/src/rectangle.d.ts +3 -3
  377. package/types/math/src/segment.d.ts +39 -39
  378. package/types/math/src/triangle.d.ts +11 -11
  379. package/types/math/src/types.d.ts +106 -106
  380. package/types/math/src/utils.d.ts +7 -7
  381. package/types/math/src/vector.d.ts +92 -92
  382. package/types/utils/src/bbox.d.ts +9 -9
  383. package/types/utils/src/collision.d.ts +8 -8
  384. package/types/utils/src/export.d.ts +35 -35
  385. package/types/utils/src/index.d.ts +4 -4
  386. package/types/utils/src/shape.d.ts +58 -58
  387. package/types/utils/src/withinBounds.d.ts +19 -19
@@ -1,59 +1,59 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ElementsMapOrArray } from "./types";
2
- /**
3
- * @deprecated unsafe, use hashElementsVersion instead
4
- */
5
- export declare const getSceneVersion: (elements: readonly ExcalidrawElement[]) => number;
6
- /**
7
- * Hashes elements' versionNonce (using djb2 algo). Order of elements matters.
8
- */
9
- export declare const hashElementsVersion: (elements: ElementsMapOrArray) => number;
10
- export declare const hashString: (s: string) => number;
11
- export declare const getVisibleElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
12
- export declare const getNonDeletedElements: <T extends ExcalidrawElement>(elements: readonly T[]) => readonly NonDeleted<T>[];
13
- export declare const isNonDeletedElement: <T extends ExcalidrawElement>(element: T) => element is NonDeleted<T>;
14
- export declare const clearElementsForDatabase: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
15
- export declare const clearElementsForExport: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
16
- export declare const clearElementsForLocalStorage: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
17
- export * from "./align";
18
- export * from "./binding";
19
- export * from "./bounds";
20
- export * from "./collision";
21
- export * from "./comparisons";
22
- export * from "./containerCache";
23
- export * from "./cropElement";
24
- export * from "./delta";
25
- export * from "./distance";
26
- export * from "./distribute";
27
- export * from "./dragElements";
28
- export * from "./duplicate";
29
- export * from "./elbowArrow";
30
- export * from "./elementLink";
31
- export * from "./embeddable";
32
- export * from "./flowchart";
33
- export * from "./fractionalIndex";
34
- export * from "./frame";
35
- export * from "./groups";
36
- export * from "./heading";
37
- export * from "./image";
38
- export * from "./linearElementEditor";
39
- export * from "./mutateElement";
40
- export * from "./newElement";
41
- export * from "./renderElement";
42
- export * from "./resizeElements";
43
- export * from "./resizeTest";
44
- export * from "./Scene";
45
- export * from "./selection";
46
- export * from "./Shape";
47
- export * from "./ShapeCache";
48
- export * from "./shapes";
49
- export * from "./showSelectedShapeActions";
50
- export * from "./sizeHelpers";
51
- export * from "./sortElements";
52
- export * from "./store";
53
- export * from "./textElement";
54
- export * from "./textMeasurements";
55
- export * from "./textWrapping";
56
- export * from "./transformHandles";
57
- export * from "./typeChecks";
58
- export * from "./utils";
59
- export * from "./zindex";
1
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ElementsMapOrArray } from "./types";
2
+ /**
3
+ * @deprecated unsafe, use hashElementsVersion instead
4
+ */
5
+ export declare const getSceneVersion: (elements: readonly ExcalidrawElement[]) => number;
6
+ /**
7
+ * Hashes elements' versionNonce (using djb2 algo). Order of elements matters.
8
+ */
9
+ export declare const hashElementsVersion: (elements: ElementsMapOrArray) => number;
10
+ export declare const hashString: (s: string) => number;
11
+ export declare const getVisibleElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
12
+ export declare const getNonDeletedElements: <T extends ExcalidrawElement>(elements: readonly T[]) => readonly NonDeleted<T>[];
13
+ export declare const isNonDeletedElement: <T extends ExcalidrawElement>(element: T) => element is NonDeleted<T>;
14
+ export declare const clearElementsForDatabase: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
15
+ export declare const clearElementsForExport: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
16
+ export declare const clearElementsForLocalStorage: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
17
+ export * from "./align";
18
+ export * from "./binding";
19
+ export * from "./bounds";
20
+ export * from "./collision";
21
+ export * from "./comparisons";
22
+ export * from "./containerCache";
23
+ export * from "./cropElement";
24
+ export * from "./delta";
25
+ export * from "./distance";
26
+ export * from "./distribute";
27
+ export * from "./dragElements";
28
+ export * from "./duplicate";
29
+ export * from "./elbowArrow";
30
+ export * from "./elementLink";
31
+ export * from "./embeddable";
32
+ export * from "./flowchart";
33
+ export * from "./fractionalIndex";
34
+ export * from "./frame";
35
+ export * from "./groups";
36
+ export * from "./heading";
37
+ export * from "./image";
38
+ export * from "./linearElementEditor";
39
+ export * from "./mutateElement";
40
+ export * from "./newElement";
41
+ export * from "./renderElement";
42
+ export * from "./resizeElements";
43
+ export * from "./resizeTest";
44
+ export * from "./Scene";
45
+ export * from "./selection";
46
+ export * from "./Shape";
47
+ export * from "./ShapeCache";
48
+ export * from "./shapes";
49
+ export * from "./showSelectedShapeActions";
50
+ export * from "./sizeHelpers";
51
+ export * from "./sortElements";
52
+ export * from "./store";
53
+ export * from "./textElement";
54
+ export * from "./textMeasurements";
55
+ export * from "./textWrapping";
56
+ export * from "./transformHandles";
57
+ export * from "./typeChecks";
58
+ export * from "./utils";
59
+ export * from "./zindex";
@@ -1,117 +1,117 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Store } from "@excalidraw/element";
3
- import type { AppState, PointerCoords, InteractiveCanvasAppState, AppClassProperties, NullableGridSize, Zoom } from "@excalidraw/excalidraw/types";
4
- import type { Scene } from "./Scene";
5
- import type { Bounds } from "./bounds";
6
- import type { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer, ElementsMap, NonDeletedSceneElementsMap, ExcalidrawElbowArrowElement, PointsPositionUpdates } from "./types";
7
- export declare class LinearElementEditor {
8
- readonly elementId: ExcalidrawElement["id"] & {
9
- _brand: "excalidrawLinearElementId";
10
- };
11
- /** indices */
12
- readonly selectedPointsIndices: readonly number[] | null;
13
- readonly pointerDownState: Readonly<{
14
- prevSelectedPointsIndices: readonly number[] | null;
15
- /** index */
16
- lastClickedPoint: number;
17
- lastClickedIsEndPoint: boolean;
18
- origin: Readonly<{
19
- x: number;
20
- y: number;
21
- }> | null;
22
- segmentMidpoint: {
23
- value: GlobalPoint | null;
24
- index: number | null;
25
- added: boolean;
26
- };
27
- }>;
28
- /** whether you're dragging a point */
29
- readonly isDragging: boolean;
30
- readonly lastUncommittedPoint: LocalPoint | null;
31
- readonly pointerOffset: Readonly<{
32
- x: number;
33
- y: number;
34
- }>;
35
- readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
36
- readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
37
- readonly hoverPointIndex: number;
38
- readonly segmentMidPointHoveredCoords: GlobalPoint | null;
39
- readonly elbowed: boolean;
40
- constructor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap);
41
- static POINT_HANDLE_SIZE: number;
42
- /**
43
- * @param id the `elementId` from the instance of this class (so that we can
44
- * statically guarantee this method returns an ExcalidrawLinearElement)
45
- */
46
- static getElement<T extends ExcalidrawLinearElement>(id: InstanceType<typeof LinearElementEditor>["elementId"], elementsMap: ElementsMap): T | null;
47
- static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"], elementsMap: NonDeletedSceneElementsMap): false | undefined;
48
- /**
49
- * @returns whether point was dragged
50
- */
51
- static handlePointDragging(event: PointerEvent, app: AppClassProperties, scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
52
- x: number;
53
- y: number;
54
- }[]) => void, linearElementEditor: LinearElementEditor, scene: Scene): LinearElementEditor | null;
55
- static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState, scene: Scene): LinearElementEditor;
56
- static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, appState: InteractiveCanvasAppState) => (GlobalPoint | null)[];
57
- static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
58
- x: number;
59
- y: number;
60
- }, appState: AppState, elementsMap: ElementsMap) => GlobalPoint | null;
61
- static isSegmentTooShort<P extends GlobalPoint | LocalPoint>(element: NonDeleted<ExcalidrawLinearElement>, startPoint: P, endPoint: P, index: number, zoom: Zoom): boolean;
62
- static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: GlobalPoint, endPoint: GlobalPoint, endPointIndex: number, elementsMap: ElementsMap): GlobalPoint;
63
- static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: GlobalPoint, elementsMap: ElementsMap): number;
64
- static handlePointerDown(event: React.PointerEvent<HTMLElement>, app: AppClassProperties, store: Store, scenePointer: {
65
- x: number;
66
- y: number;
67
- }, linearElementEditor: LinearElementEditor, scene: Scene): {
68
- didAddPoint: boolean;
69
- hitElement: NonDeleted<ExcalidrawElement> | null;
70
- linearElementEditor: LinearElementEditor | null;
71
- };
72
- static arePointsEqual<Point extends LocalPoint | GlobalPoint>(point1: Point | null, point2: Point | null): boolean;
73
- static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, app: AppClassProperties): LinearElementEditor | null;
74
- /** scene coords */
75
- static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, p: LocalPoint, elementsMap: ElementsMap): GlobalPoint;
76
- /** scene coords */
77
- static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap): GlobalPoint[];
78
- static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number, // -1 for last element
79
- elementsMap: ElementsMap): GlobalPoint;
80
- static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: GlobalPoint, elementsMap: ElementsMap): LocalPoint;
81
- static getPointIndexUnderCursor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, zoom: AppState["zoom"], x: number, y: number): number;
82
- static createPointAt(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, scenePointerX: number, scenePointerY: number, gridSize: NullableGridSize): LocalPoint;
83
- /**
84
- * Normalizes line points so that the start point is at [0,0]. This is
85
- * expected in various parts of the codebase.
86
- *
87
- * Also returns normalized x and y coords to account for the normalization
88
- * of the points.
89
- */
90
- static getNormalizeElementPointsAndCoords(element: ExcalidrawLinearElement): {
91
- points: LocalPoint[];
92
- x: number;
93
- y: number;
94
- };
95
- static duplicateSelectedPoints(appState: AppState, scene: Scene): AppState;
96
- static deletePoints(element: NonDeleted<ExcalidrawLinearElement>, app: AppClassProperties, pointIndices: readonly number[]): void;
97
- static addPoints(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene, addedPoints: LocalPoint[]): void;
98
- static movePoints(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene, pointUpdates: PointsPositionUpdates, otherUpdates?: {
99
- startBinding?: PointBinding | null;
100
- endBinding?: PointBinding | null;
101
- }): void;
102
- static shouldAddMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, appState: AppState, elementsMap: ElementsMap): boolean;
103
- static addMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, app: AppClassProperties, snapToGrid: boolean, scene: Scene): {
104
- pointerDownState: LinearElementEditor["pointerDownState"];
105
- selectedPointsIndices: LinearElementEditor["selectedPointsIndices"];
106
- } | undefined;
107
- private static _updatePoints;
108
- private static _getShiftLockedDelta;
109
- static getBoundTextElementPosition: (element: ExcalidrawLinearElement, boundTextElement: ExcalidrawTextElementWithContainer, elementsMap: ElementsMap) => {
110
- x: number;
111
- y: number;
112
- };
113
- static getMinMaxXYWithBoundText: (element: ExcalidrawLinearElement, elementsMap: ElementsMap, elementBounds: Bounds, boundTextElement: ExcalidrawTextElementWithContainer) => [number, number, number, number, number, number];
114
- static getElementAbsoluteCoords: (element: ExcalidrawLinearElement, elementsMap: ElementsMap, includeBoundText?: boolean) => [number, number, number, number, number, number];
115
- static moveFixedSegment(linearElement: LinearElementEditor, index: number, x: number, y: number, scene: Scene): LinearElementEditor;
116
- static deleteFixedSegment(element: ExcalidrawElbowArrowElement, scene: Scene, index: number): void;
117
- }
1
+ import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { Store } from "@excalidraw/element";
3
+ import type { AppState, PointerCoords, InteractiveCanvasAppState, AppClassProperties, NullableGridSize, Zoom } from "@excalidraw/excalidraw/types";
4
+ import type { Scene } from "./Scene";
5
+ import type { Bounds } from "./bounds";
6
+ import type { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer, ElementsMap, NonDeletedSceneElementsMap, ExcalidrawElbowArrowElement, PointsPositionUpdates } from "./types";
7
+ export declare class LinearElementEditor {
8
+ readonly elementId: ExcalidrawElement["id"] & {
9
+ _brand: "excalidrawLinearElementId";
10
+ };
11
+ /** indices */
12
+ readonly selectedPointsIndices: readonly number[] | null;
13
+ readonly pointerDownState: Readonly<{
14
+ prevSelectedPointsIndices: readonly number[] | null;
15
+ /** index */
16
+ lastClickedPoint: number;
17
+ lastClickedIsEndPoint: boolean;
18
+ origin: Readonly<{
19
+ x: number;
20
+ y: number;
21
+ }> | null;
22
+ segmentMidpoint: {
23
+ value: GlobalPoint | null;
24
+ index: number | null;
25
+ added: boolean;
26
+ };
27
+ }>;
28
+ /** whether you're dragging a point */
29
+ readonly isDragging: boolean;
30
+ readonly lastUncommittedPoint: LocalPoint | null;
31
+ readonly pointerOffset: Readonly<{
32
+ x: number;
33
+ y: number;
34
+ }>;
35
+ readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
36
+ readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
37
+ readonly hoverPointIndex: number;
38
+ readonly segmentMidPointHoveredCoords: GlobalPoint | null;
39
+ readonly elbowed: boolean;
40
+ constructor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap);
41
+ static POINT_HANDLE_SIZE: number;
42
+ /**
43
+ * @param id the `elementId` from the instance of this class (so that we can
44
+ * statically guarantee this method returns an ExcalidrawLinearElement)
45
+ */
46
+ static getElement<T extends ExcalidrawLinearElement>(id: InstanceType<typeof LinearElementEditor>["elementId"], elementsMap: ElementsMap): T | null;
47
+ static handleBoxSelection(event: PointerEvent, appState: AppState, setState: React.Component<any, AppState>["setState"], elementsMap: NonDeletedSceneElementsMap): false | undefined;
48
+ /**
49
+ * @returns whether point was dragged
50
+ */
51
+ static handlePointDragging(event: PointerEvent, app: AppClassProperties, scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
52
+ x: number;
53
+ y: number;
54
+ }[]) => void, linearElementEditor: LinearElementEditor, scene: Scene): LinearElementEditor | null;
55
+ static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState, scene: Scene): LinearElementEditor;
56
+ static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, appState: InteractiveCanvasAppState) => (GlobalPoint | null)[];
57
+ static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
58
+ x: number;
59
+ y: number;
60
+ }, appState: AppState, elementsMap: ElementsMap) => GlobalPoint | null;
61
+ static isSegmentTooShort<P extends GlobalPoint | LocalPoint>(element: NonDeleted<ExcalidrawLinearElement>, startPoint: P, endPoint: P, index: number, zoom: Zoom): boolean;
62
+ static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: GlobalPoint, endPoint: GlobalPoint, endPointIndex: number, elementsMap: ElementsMap): GlobalPoint;
63
+ static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: GlobalPoint, elementsMap: ElementsMap): number;
64
+ static handlePointerDown(event: React.PointerEvent<HTMLElement>, app: AppClassProperties, store: Store, scenePointer: {
65
+ x: number;
66
+ y: number;
67
+ }, linearElementEditor: LinearElementEditor, scene: Scene): {
68
+ didAddPoint: boolean;
69
+ hitElement: NonDeleted<ExcalidrawElement> | null;
70
+ linearElementEditor: LinearElementEditor | null;
71
+ };
72
+ static arePointsEqual<Point extends LocalPoint | GlobalPoint>(point1: Point | null, point2: Point | null): boolean;
73
+ static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, app: AppClassProperties): LinearElementEditor | null;
74
+ /** scene coords */
75
+ static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, p: LocalPoint, elementsMap: ElementsMap): GlobalPoint;
76
+ /** scene coords */
77
+ static getPointsGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap): GlobalPoint[];
78
+ static getPointAtIndexGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, indexMaybeFromEnd: number, // -1 for last element
79
+ elementsMap: ElementsMap): GlobalPoint;
80
+ static pointFromAbsoluteCoords(element: NonDeleted<ExcalidrawLinearElement>, absoluteCoords: GlobalPoint, elementsMap: ElementsMap): LocalPoint;
81
+ static getPointIndexUnderCursor(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, zoom: AppState["zoom"], x: number, y: number): number;
82
+ static createPointAt(element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, scenePointerX: number, scenePointerY: number, gridSize: NullableGridSize): LocalPoint;
83
+ /**
84
+ * Normalizes line points so that the start point is at [0,0]. This is
85
+ * expected in various parts of the codebase.
86
+ *
87
+ * Also returns normalized x and y coords to account for the normalization
88
+ * of the points.
89
+ */
90
+ static getNormalizeElementPointsAndCoords(element: ExcalidrawLinearElement): {
91
+ points: LocalPoint[];
92
+ x: number;
93
+ y: number;
94
+ };
95
+ static duplicateSelectedPoints(appState: AppState, scene: Scene): AppState;
96
+ static deletePoints(element: NonDeleted<ExcalidrawLinearElement>, app: AppClassProperties, pointIndices: readonly number[]): void;
97
+ static addPoints(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene, addedPoints: LocalPoint[]): void;
98
+ static movePoints(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene, pointUpdates: PointsPositionUpdates, otherUpdates?: {
99
+ startBinding?: PointBinding | null;
100
+ endBinding?: PointBinding | null;
101
+ }): void;
102
+ static shouldAddMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, appState: AppState, elementsMap: ElementsMap): boolean;
103
+ static addMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, app: AppClassProperties, snapToGrid: boolean, scene: Scene): {
104
+ pointerDownState: LinearElementEditor["pointerDownState"];
105
+ selectedPointsIndices: LinearElementEditor["selectedPointsIndices"];
106
+ } | undefined;
107
+ private static _updatePoints;
108
+ private static _getShiftLockedDelta;
109
+ static getBoundTextElementPosition: (element: ExcalidrawLinearElement, boundTextElement: ExcalidrawTextElementWithContainer, elementsMap: ElementsMap) => {
110
+ x: number;
111
+ y: number;
112
+ };
113
+ static getMinMaxXYWithBoundText: (element: ExcalidrawLinearElement, elementsMap: ElementsMap, elementBounds: Bounds, boundTextElement: ExcalidrawTextElementWithContainer) => [number, number, number, number, number, number];
114
+ static getElementAbsoluteCoords: (element: ExcalidrawLinearElement, elementsMap: ElementsMap, includeBoundText?: boolean) => [number, number, number, number, number, number];
115
+ static moveFixedSegment(linearElement: LinearElementEditor, index: number, x: number, y: number, scene: Scene): LinearElementEditor;
116
+ static deleteFixedSegment(element: ExcalidrawElbowArrowElement, scene: Scene, index: number): void;
117
+ }
@@ -1,21 +1,21 @@
1
- import type { Mutable } from "@excalidraw/common/utility-types";
2
- import type { ElementsMap, ExcalidrawElement } from "./types";
3
- export type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce" | "updated">;
4
- /**
5
- * This function tracks updates of text elements for the purposes for collaboration.
6
- * The version is used to compare updates when more than one user is working in
7
- * the same drawing.
8
- *
9
- * WARNING: this won't trigger the component to update, so if you need to trigger component update,
10
- * use `scene.mutateElement` or `ExcalidrawImperativeAPI.mutateElement` instead.
11
- */
12
- export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, elementsMap: ElementsMap, updates: ElementUpdate<TElement>, options?: {
13
- isDragging?: boolean;
14
- }) => TElement;
15
- export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>, force?: boolean) => TElement;
16
- /**
17
- * Mutates element, bumping `version`, `versionNonce`, and `updated`.
18
- *
19
- * NOTE: does not trigger re-render.
20
- */
21
- export declare const bumpVersion: <T extends Mutable<ExcalidrawElement>>(element: T, version?: ExcalidrawElement["version"]) => T;
1
+ import type { Mutable } from "@excalidraw/common/utility-types";
2
+ import type { ElementsMap, ExcalidrawElement } from "./types";
3
+ export type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce" | "updated">;
4
+ /**
5
+ * This function tracks updates of text elements for the purposes for collaboration.
6
+ * The version is used to compare updates when more than one user is working in
7
+ * the same drawing.
8
+ *
9
+ * WARNING: this won't trigger the component to update, so if you need to trigger component update,
10
+ * use `scene.mutateElement` or `ExcalidrawImperativeAPI.mutateElement` instead.
11
+ */
12
+ export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, elementsMap: ElementsMap, updates: ElementUpdate<TElement>, options?: {
13
+ isDragging?: boolean;
14
+ }) => TElement;
15
+ export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>, force?: boolean) => TElement;
16
+ /**
17
+ * Mutates element, bumping `version`, `versionNonce`, and `updated`.
18
+ *
19
+ * NOTE: does not trigger re-render.
20
+ */
21
+ export declare const bumpVersion: <T extends Mutable<ExcalidrawElement>>(element: T, version?: ExcalidrawElement["version"]) => T;
@@ -1,63 +1,63 @@
1
- import type { MarkOptional } from "@excalidraw/common/utility-types";
2
- import type { ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues, ExcalidrawTextContainer, ExcalidrawFrameElement, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawIframeElement, ElementsMap, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, ExcalidrawLineElement } from "./types";
3
- export type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "frameId" | "index" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "strokeStyle" | "fillStyle" | "strokeColor" | "backgroundColor" | "roughness" | "strokeWidth" | "roundness" | "locked" | "opacity" | "customData">;
4
- export declare const newElement: (opts: {
5
- type: ExcalidrawGenericElement["type"];
6
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawGenericElement>;
7
- export declare const newEmbeddableElement: (opts: {
8
- type: "embeddable";
9
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawEmbeddableElement>;
10
- export declare const newIframeElement: (opts: {
11
- type: "iframe";
12
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawIframeElement>;
13
- export declare const newFrameElement: (opts: {
14
- name?: string;
15
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawFrameElement>;
16
- export declare const newMagicFrameElement: (opts: {
17
- name?: string;
18
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawMagicFrameElement>;
19
- export declare const newTextElement: (opts: {
20
- text: string;
21
- rawText: string;
22
- originalText?: string;
23
- fontSize?: number;
24
- fontFamily?: FontFamilyValues;
25
- textAlign?: TextAlign;
26
- verticalAlign?: VerticalAlign;
27
- containerId?: ExcalidrawTextContainer["id"] | null;
28
- lineHeight?: ExcalidrawTextElement["lineHeight"];
29
- autoResize?: ExcalidrawTextElement["autoResize"];
30
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawTextElement>;
31
- export declare const refreshTextDimensions: (textElement: ExcalidrawTextElement, container: ExcalidrawTextContainer | null, elementsMap: ElementsMap, text?: string) => {
32
- x: number;
33
- y: number;
34
- width: number;
35
- height: number;
36
- text: string;
37
- } | undefined;
38
- export declare const newFreeDrawElement: (opts: {
39
- type: "freedraw";
40
- points?: ExcalidrawFreeDrawElement["points"];
41
- simulatePressure: boolean;
42
- pressures?: ExcalidrawFreeDrawElement["pressures"];
43
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawFreeDrawElement>;
44
- export declare const newLinearElement: (opts: {
45
- type: ExcalidrawLinearElement["type"];
46
- points?: ExcalidrawLinearElement["points"];
47
- polygon?: ExcalidrawLineElement["polygon"];
48
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawLinearElement>;
49
- export declare const newArrowElement: <T extends boolean>(opts: {
50
- type: ExcalidrawArrowElement["type"];
51
- startArrowhead?: Arrowhead | null | undefined;
52
- endArrowhead?: Arrowhead | null | undefined;
53
- points?: readonly import("@excalidraw/math").LocalPoint[] | undefined;
54
- elbowed?: T | undefined;
55
- fixedSegments?: readonly import("./types").FixedSegment[] | null | undefined;
56
- } & Omit<Omit<ExcalidrawGenericElement, "id" | "isDeleted" | "updated" | "type">, "link" | "strokeColor" | "backgroundColor" | "fillStyle" | "strokeWidth" | "strokeStyle" | "roundness" | "roughness" | "opacity" | "width" | "height" | "angle" | "seed" | "version" | "versionNonce" | "index" | "groupIds" | "frameId" | "boundElements" | "locked" | "customData"> & Partial<Pick<Omit<ExcalidrawGenericElement, "id" | "isDeleted" | "updated" | "type">, "link" | "strokeColor" | "backgroundColor" | "fillStyle" | "strokeWidth" | "strokeStyle" | "roundness" | "roughness" | "opacity" | "width" | "height" | "angle" | "seed" | "version" | "versionNonce" | "index" | "groupIds" | "frameId" | "boundElements" | "locked" | "customData">>) => T extends true ? NonDeleted<ExcalidrawElbowArrowElement> : NonDeleted<ExcalidrawArrowElement>;
57
- export declare const newImageElement: (opts: {
58
- type: ExcalidrawImageElement["type"];
59
- status?: ExcalidrawImageElement["status"];
60
- fileId?: ExcalidrawImageElement["fileId"];
61
- scale?: ExcalidrawImageElement["scale"];
62
- crop?: ExcalidrawImageElement["crop"];
63
- } & ElementConstructorOpts) => NonDeleted<ExcalidrawImageElement>;
1
+ import type { MarkOptional } from "@excalidraw/common/utility-types";
2
+ import type { ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues, ExcalidrawTextContainer, ExcalidrawFrameElement, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawIframeElement, ElementsMap, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, ExcalidrawLineElement } from "./types";
3
+ export type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "frameId" | "index" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "strokeStyle" | "fillStyle" | "strokeColor" | "backgroundColor" | "roughness" | "strokeWidth" | "roundness" | "locked" | "opacity" | "customData">;
4
+ export declare const newElement: (opts: {
5
+ type: ExcalidrawGenericElement["type"];
6
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawGenericElement>;
7
+ export declare const newEmbeddableElement: (opts: {
8
+ type: "embeddable";
9
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawEmbeddableElement>;
10
+ export declare const newIframeElement: (opts: {
11
+ type: "iframe";
12
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawIframeElement>;
13
+ export declare const newFrameElement: (opts: {
14
+ name?: string;
15
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawFrameElement>;
16
+ export declare const newMagicFrameElement: (opts: {
17
+ name?: string;
18
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawMagicFrameElement>;
19
+ export declare const newTextElement: (opts: {
20
+ text: string;
21
+ rawText: string;
22
+ originalText?: string;
23
+ fontSize?: number;
24
+ fontFamily?: FontFamilyValues;
25
+ textAlign?: TextAlign;
26
+ verticalAlign?: VerticalAlign;
27
+ containerId?: ExcalidrawTextContainer["id"] | null;
28
+ lineHeight?: ExcalidrawTextElement["lineHeight"];
29
+ autoResize?: ExcalidrawTextElement["autoResize"];
30
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawTextElement>;
31
+ export declare const refreshTextDimensions: (textElement: ExcalidrawTextElement, container: ExcalidrawTextContainer | null, elementsMap: ElementsMap, text?: string) => {
32
+ x: number;
33
+ y: number;
34
+ width: number;
35
+ height: number;
36
+ text: string;
37
+ } | undefined;
38
+ export declare const newFreeDrawElement: (opts: {
39
+ type: "freedraw";
40
+ points?: ExcalidrawFreeDrawElement["points"];
41
+ simulatePressure: boolean;
42
+ pressures?: ExcalidrawFreeDrawElement["pressures"];
43
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawFreeDrawElement>;
44
+ export declare const newLinearElement: (opts: {
45
+ type: ExcalidrawLinearElement["type"];
46
+ points?: ExcalidrawLinearElement["points"];
47
+ polygon?: ExcalidrawLineElement["polygon"];
48
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawLinearElement>;
49
+ export declare const newArrowElement: <T extends boolean>(opts: {
50
+ type: ExcalidrawArrowElement["type"];
51
+ startArrowhead?: Arrowhead | null | undefined;
52
+ endArrowhead?: Arrowhead | null | undefined;
53
+ points?: readonly import("@excalidraw/math").LocalPoint[] | undefined;
54
+ elbowed?: T | undefined;
55
+ fixedSegments?: readonly import("./types").FixedSegment[] | null | undefined;
56
+ } & Omit<Omit<ExcalidrawGenericElement, "id" | "isDeleted" | "updated" | "type">, "link" | "strokeColor" | "backgroundColor" | "fillStyle" | "strokeWidth" | "strokeStyle" | "roundness" | "roughness" | "opacity" | "width" | "height" | "angle" | "seed" | "version" | "versionNonce" | "index" | "groupIds" | "frameId" | "boundElements" | "locked" | "customData"> & Partial<Pick<Omit<ExcalidrawGenericElement, "id" | "isDeleted" | "updated" | "type">, "link" | "strokeColor" | "backgroundColor" | "fillStyle" | "strokeWidth" | "strokeStyle" | "roundness" | "roughness" | "opacity" | "width" | "height" | "angle" | "seed" | "version" | "versionNonce" | "index" | "groupIds" | "frameId" | "boundElements" | "locked" | "customData">>) => T extends true ? NonDeleted<ExcalidrawElbowArrowElement> : NonDeleted<ExcalidrawArrowElement>;
57
+ export declare const newImageElement: (opts: {
58
+ type: ExcalidrawImageElement["type"];
59
+ status?: ExcalidrawImageElement["status"];
60
+ fileId?: ExcalidrawImageElement["fileId"];
61
+ scale?: ExcalidrawImageElement["scale"];
62
+ crop?: ExcalidrawImageElement["crop"];
63
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawImageElement>;
@@ -1,28 +1,28 @@
1
- import type { AppState, StaticCanvasAppState, InteractiveCanvasAppState, ElementsPendingErasure, PendingExcalidrawElements } from "@excalidraw/excalidraw/types";
2
- import type { StaticCanvasRenderConfig, RenderableElementsMap, InteractiveCanvasRenderConfig } from "@excalidraw/excalidraw/scene/types";
3
- import type { ExcalidrawElement, ExcalidrawTextElement, NonDeletedExcalidrawElement, ExcalidrawFreeDrawElement, ExcalidrawImageElement, ExcalidrawFrameLikeElement, NonDeletedSceneElementsMap } from "./types";
4
- import type { RoughCanvas } from "roughjs/bin/canvas";
5
- export declare const IMAGE_INVERT_FILTER = "invert(100%) hue-rotate(180deg) saturate(1.25)";
6
- export declare const getRenderOpacity: (element: ExcalidrawElement, containingFrame: ExcalidrawFrameLikeElement | null, elementsPendingErasure: ElementsPendingErasure, pendingNodes: Readonly<PendingExcalidrawElements> | null, globalAlpha?: number) => number;
7
- export interface ExcalidrawElementWithCanvas {
8
- element: ExcalidrawElement | ExcalidrawTextElement;
9
- canvas: HTMLCanvasElement;
10
- theme: AppState["theme"];
11
- scale: number;
12
- angle: number;
13
- zoomValue: AppState["zoom"]["value"];
14
- canvasOffsetX: number;
15
- canvasOffsetY: number;
16
- boundTextElementVersion: number | null;
17
- imageCrop: ExcalidrawImageElement["crop"] | null;
18
- containingFrameOpacity: number;
19
- boundTextCanvas: HTMLCanvasElement;
20
- }
21
- export declare const DEFAULT_LINK_SIZE = 14;
22
- export declare const elementWithCanvasCache: WeakMap<ExcalidrawElement, ExcalidrawElementWithCanvas>;
23
- export declare const renderSelectionElement: (element: NonDeletedExcalidrawElement, context: CanvasRenderingContext2D, appState: InteractiveCanvasAppState, selectionColor: InteractiveCanvasRenderConfig["selectionColor"]) => void;
24
- export declare const renderElement: (element: NonDeletedExcalidrawElement, elementsMap: RenderableElementsMap, allElementsMap: NonDeletedSceneElementsMap, rc: RoughCanvas, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
25
- export declare const pathsCache: WeakMap<ExcalidrawFreeDrawElement, Path2D>;
26
- export declare function generateFreeDrawShape(element: ExcalidrawFreeDrawElement): Path2D;
27
- export declare function getFreeDrawPath2D(element: ExcalidrawFreeDrawElement): Path2D | undefined;
28
- export declare function getFreeDrawSvgPath(element: ExcalidrawFreeDrawElement): string;
1
+ import type { AppState, StaticCanvasAppState, InteractiveCanvasAppState, ElementsPendingErasure, PendingExcalidrawElements } from "@excalidraw/excalidraw/types";
2
+ import type { StaticCanvasRenderConfig, RenderableElementsMap, InteractiveCanvasRenderConfig } from "@excalidraw/excalidraw/scene/types";
3
+ import type { ExcalidrawElement, ExcalidrawTextElement, NonDeletedExcalidrawElement, ExcalidrawFreeDrawElement, ExcalidrawImageElement, ExcalidrawFrameLikeElement, NonDeletedSceneElementsMap } from "./types";
4
+ import type { RoughCanvas } from "roughjs/bin/canvas";
5
+ export declare const IMAGE_INVERT_FILTER = "invert(100%) hue-rotate(180deg) saturate(1.25)";
6
+ export declare const getRenderOpacity: (element: ExcalidrawElement, containingFrame: ExcalidrawFrameLikeElement | null, elementsPendingErasure: ElementsPendingErasure, pendingNodes: Readonly<PendingExcalidrawElements> | null, globalAlpha?: number) => number;
7
+ export interface ExcalidrawElementWithCanvas {
8
+ element: ExcalidrawElement | ExcalidrawTextElement;
9
+ canvas: HTMLCanvasElement;
10
+ theme: AppState["theme"];
11
+ scale: number;
12
+ angle: number;
13
+ zoomValue: AppState["zoom"]["value"];
14
+ canvasOffsetX: number;
15
+ canvasOffsetY: number;
16
+ boundTextElementVersion: number | null;
17
+ imageCrop: ExcalidrawImageElement["crop"] | null;
18
+ containingFrameOpacity: number;
19
+ boundTextCanvas: HTMLCanvasElement;
20
+ }
21
+ export declare const DEFAULT_LINK_SIZE = 14;
22
+ export declare const elementWithCanvasCache: WeakMap<ExcalidrawElement, ExcalidrawElementWithCanvas>;
23
+ export declare const renderSelectionElement: (element: NonDeletedExcalidrawElement, context: CanvasRenderingContext2D, appState: InteractiveCanvasAppState, selectionColor: InteractiveCanvasRenderConfig["selectionColor"]) => void;
24
+ export declare const renderElement: (element: NonDeletedExcalidrawElement, elementsMap: RenderableElementsMap, allElementsMap: NonDeletedSceneElementsMap, rc: RoughCanvas, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
25
+ export declare const pathsCache: WeakMap<ExcalidrawFreeDrawElement, Path2D>;
26
+ export declare function generateFreeDrawShape(element: ExcalidrawFreeDrawElement): Path2D;
27
+ export declare function getFreeDrawPath2D(element: ExcalidrawFreeDrawElement): Path2D | undefined;
28
+ export declare function getFreeDrawSvgPath(element: ExcalidrawFreeDrawElement): string;