@zsviczian/excalidraw 0.18.0-14 → 0.18.0-15

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