@excalidraw/math 0.18.0-a8acc82 → 0.18.0-ab0255f

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 (330) hide show
  1. package/dist/dev/index.js +305 -102
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/appEventBus.d.ts +27 -0
  6. package/dist/types/common/src/bounds.d.ts +10 -0
  7. package/dist/types/common/src/colors.d.ts +75 -39
  8. package/dist/types/common/src/constants.d.ts +35 -34
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +3 -1
  13. package/dist/types/common/src/points.d.ts +1 -1
  14. package/dist/types/common/src/utility-types.d.ts +0 -1
  15. package/dist/types/common/src/utils.d.ts +47 -78
  16. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  17. package/dist/types/element/src/Scene.d.ts +11 -7
  18. package/dist/types/element/src/align.d.ts +2 -2
  19. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  20. package/dist/types/element/src/arrowheads.d.ts +3 -0
  21. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  22. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  23. package/dist/types/element/src/binding.d.ts +79 -51
  24. package/dist/types/element/src/bounds.d.ts +25 -18
  25. package/dist/types/element/src/bucketFill.d.ts +110 -0
  26. package/dist/types/element/src/collision.d.ts +7 -2
  27. package/dist/types/element/src/comparisons.d.ts +8 -7
  28. package/dist/types/element/src/convertToShape.d.ts +23 -0
  29. package/dist/types/element/src/distribute.d.ts +3 -2
  30. package/dist/types/element/src/dragElements.d.ts +30 -3
  31. package/dist/types/element/src/duplicate.d.ts +7 -6
  32. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  33. package/dist/types/element/src/embeddable.d.ts +2 -2
  34. package/dist/types/element/src/flowchart.d.ts +7 -7
  35. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  36. package/dist/types/element/src/frame.d.ts +14 -9
  37. package/dist/types/element/src/groups.d.ts +9 -9
  38. package/dist/types/element/src/heading.d.ts +2 -1
  39. package/dist/types/element/src/image.d.ts +1 -11
  40. package/dist/types/element/src/index.d.ts +8 -4
  41. package/dist/types/element/src/linearElementEditor.d.ts +38 -30
  42. package/dist/types/element/src/mutateElement.d.ts +5 -1
  43. package/dist/types/element/src/newElement.d.ts +20 -6
  44. package/dist/types/element/src/renderElement.d.ts +1 -10
  45. package/dist/types/element/src/resizeElements.d.ts +12 -12
  46. package/dist/types/element/src/resizeTest.d.ts +6 -5
  47. package/dist/types/element/src/selection.d.ts +14 -14
  48. package/dist/types/element/src/shape.d.ts +21 -8
  49. package/dist/types/element/src/textElement.d.ts +13 -10
  50. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  51. package/dist/types/element/src/textWrapping.d.ts +26 -0
  52. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  53. package/dist/types/element/src/transformHandles.d.ts +8 -27
  54. package/dist/types/element/src/typeChecks.d.ts +29 -31
  55. package/dist/types/element/src/types.d.ts +20 -14
  56. package/dist/types/element/src/utils.d.ts +9 -4
  57. package/dist/types/element/src/zindex.d.ts +7 -1
  58. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +191 -216
  59. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  60. package/dist/types/excalidraw/actions/actionBoundText.d.ts +112 -129
  61. package/dist/types/excalidraw/actions/actionCanvas.d.ts +412 -1564
  62. package/dist/types/excalidraw/actions/actionClipboard.d.ts +139 -901
  63. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +54 -63
  64. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +177 -205
  65. package/dist/types/excalidraw/actions/actionDeselect.d.ts +162 -0
  66. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  67. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  68. package/dist/types/excalidraw/actions/actionElementLink.d.ts +61 -76
  69. package/dist/types/excalidraw/actions/actionElementLock.d.ts +111 -128
  70. package/dist/types/excalidraw/actions/actionExport.d.ts +190 -1419
  71. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -396
  72. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  73. package/dist/types/excalidraw/actions/actionFrame.d.ts +253 -502
  74. package/dist/types/excalidraw/actions/actionGroup.d.ts +122 -147
  75. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +150 -195
  76. package/dist/types/excalidraw/actions/actionLink.d.ts +67 -76
  77. package/dist/types/excalidraw/actions/actionMenu.d.ts +56 -439
  78. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
  79. package/dist/types/excalidraw/actions/actionProperties.d.ts +197 -2554
  80. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +61 -74
  81. package/dist/types/excalidraw/actions/actionStyles.d.ts +54 -62
  82. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  83. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +178 -0
  84. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +69 -79
  85. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +178 -0
  86. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +68 -77
  87. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +57 -73
  88. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  89. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +67 -76
  90. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +68 -77
  91. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +68 -77
  92. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  93. package/dist/types/excalidraw/actions/index.d.ts +5 -3
  94. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  95. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  96. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  97. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  98. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  99. package/dist/types/excalidraw/appState.d.ts +34 -26
  100. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  101. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  102. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  103. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  104. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  105. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  106. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  107. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  108. package/dist/types/excalidraw/clipboard.d.ts +13 -38
  109. package/dist/types/excalidraw/components/Actions.d.ts +26 -11
  110. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  111. package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
  112. package/dist/types/excalidraw/components/App.bucketFill.d.ts +34 -0
  113. package/dist/types/excalidraw/components/App.cursor.d.ts +31 -0
  114. package/dist/types/excalidraw/components/App.d.ts +447 -118
  115. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  116. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  117. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  118. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  119. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  120. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  121. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -5
  122. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -0
  123. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +7 -1
  124. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  125. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  126. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  127. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  128. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  129. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  130. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  131. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  132. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  133. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  134. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  135. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  136. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  137. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  138. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  139. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
  140. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  141. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  142. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  143. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  144. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  145. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  146. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  147. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  148. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  149. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  150. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  151. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  152. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  153. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  154. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  155. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  156. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  157. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  158. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  159. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  160. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  161. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  162. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  163. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  164. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  165. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  166. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  167. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  168. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  169. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  170. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  171. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  172. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  173. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  174. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  175. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  176. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  177. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  178. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  179. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  180. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  181. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  182. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  183. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  184. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  185. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  186. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  187. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  188. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  189. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  190. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  191. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  192. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  193. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  194. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  195. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  196. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  197. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  198. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  199. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  200. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  201. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  202. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  203. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  204. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  205. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  206. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  207. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  208. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  209. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  210. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  211. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  212. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  213. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  214. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  215. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  216. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  217. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  218. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  219. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  220. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  221. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  222. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  223. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  224. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  225. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  226. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  227. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  228. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  229. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  230. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  231. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  232. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  233. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  234. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  235. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  236. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  237. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  238. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  239. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  240. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  241. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  242. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  243. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  244. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  245. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  246. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  247. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  248. package/dist/types/excalidraw/components/icons.d.ts +47 -23
  249. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  250. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  251. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  252. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  253. package/dist/types/excalidraw/data/blob.d.ts +338 -7
  254. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  255. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  256. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  257. package/dist/types/excalidraw/data/index.d.ts +8 -9
  258. package/dist/types/excalidraw/data/json.d.ts +175 -3
  259. package/dist/types/excalidraw/data/library.d.ts +25 -10
  260. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  261. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  262. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  263. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  264. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  265. package/dist/types/excalidraw/errors.d.ts +14 -0
  266. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  267. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  268. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  269. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  270. package/dist/types/excalidraw/i18n.d.ts +2 -2
  271. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  272. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  273. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  274. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  275. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  276. package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
  277. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  278. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  279. package/dist/types/excalidraw/scene/types.d.ts +26 -8
  280. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  281. package/dist/types/excalidraw/snapping.d.ts +12 -12
  282. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  283. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  284. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  285. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  286. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  287. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  288. package/dist/types/excalidraw/types.d.ts +485 -52
  289. package/dist/types/excalidraw/viewport.d.ts +272 -0
  290. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  291. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  292. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  293. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  294. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  295. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  296. package/dist/types/math/src/constants.d.ts +0 -1
  297. package/dist/types/math/src/curve.d.ts +4 -1
  298. package/dist/types/math/src/index.d.ts +1 -0
  299. package/dist/types/math/src/pca.d.ts +79 -0
  300. package/dist/types/math/src/point.d.ts +8 -2
  301. package/dist/types/math/src/polygon.d.ts +26 -2
  302. package/dist/types/math/src/range.d.ts +1 -3
  303. package/dist/types/math/src/segment.d.ts +3 -3
  304. package/dist/types/math/src/types.d.ts +25 -1
  305. package/dist/types/utils/src/export.d.ts +8 -8
  306. package/dist/types/utils/src/index.d.ts +1 -2
  307. package/dist/types/utils/src/shape.d.ts +6 -6
  308. package/package.json +2 -2
  309. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -186
  310. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  311. package/dist/types/excalidraw/charts.d.ts +0 -27
  312. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  313. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  314. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  315. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  316. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  317. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  318. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  319. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  320. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  321. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  322. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  323. package/dist/types/excalidraw/cursor.d.ts +0 -5
  324. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  325. package/dist/types/excalidraw/index.d.ts +0 -47
  326. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  327. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  328. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  329. package/dist/types/utils/src/bbox.d.ts +0 -9
  330. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,19 +1,6 @@
1
- /// <reference types="react" />
2
- import { type SceneBounds } from "@excalidraw/element";
3
- import type { ExcalidrawElement } from "@excalidraw/element/types";
4
- import type { AppState, Offsets } from "../types";
5
- export declare const actionChangeViewBackgroundColor: {
6
- name: "changeViewBackgroundColor";
7
- label: string;
8
- trackEvent: false;
9
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
10
- perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
11
- appState: any;
12
- captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
13
- };
14
- PanelComponent: ({ elements, appState, updateData, appProps, data }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
15
- } & {
16
- keyTest?: undefined;
1
+ import type { AppState } from "../types";
2
+ export declare const actionChangeViewBackgroundColor: import("./types").Action<Partial<AppState>> & {
3
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
17
4
  };
18
5
  export declare const actionClearCanvas: {
19
6
  name: "clearCanvas";
@@ -22,8 +9,8 @@ export declare const actionClearCanvas: {
22
9
  trackEvent: {
23
10
  category: "canvas";
24
11
  };
25
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
26
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
12
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
13
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
27
14
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
28
15
  appState: {
29
16
  files: {};
@@ -39,13 +26,6 @@ export declare const actionClearCanvas: {
39
26
  open: boolean;
40
27
  panels: number;
41
28
  };
42
- pasteDialog: {
43
- shown: false;
44
- data: null;
45
- } | {
46
- shown: true;
47
- data: import("../charts").Spreadsheet;
48
- };
49
29
  activeTool: {
50
30
  lastActiveTool: import("../types").ActiveTool | null;
51
31
  locked: boolean;
@@ -59,31 +39,35 @@ export declare const actionClearCanvas: {
59
39
  clip: boolean;
60
40
  };
61
41
  name: string | null;
62
- zoom: Readonly<{
63
- value: import("../types").NormalizedZoomValue;
64
- }>;
42
+ zoom: import("../types").Zoom;
65
43
  scrollX: number;
66
44
  scrollY: number;
67
45
  viewModeEnabled: boolean;
68
- openDialog: {
46
+ openDialog: null | {
69
47
  name: "imageExport" | "help" | "jsonExport";
70
48
  } | {
71
49
  name: "ttd";
72
- tab: "mermaid" | "text-to-diagram";
50
+ tab: "text-to-diagram" | "mermaid";
73
51
  } | {
74
52
  name: "commandPalette";
53
+ } | {
54
+ name: "settings";
75
55
  } | {
76
56
  name: "elementLinkSelector";
77
- sourceElementId: string;
78
- } | null;
79
- editingGroupId: string | null;
57
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
58
+ } | {
59
+ name: "charts";
60
+ data: import("../charts").Spreadsheet;
61
+ rawText: string;
62
+ };
63
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
80
64
  selectedElementIds: Readonly<{
81
65
  [id: string]: true;
82
66
  }>;
83
67
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
84
68
  activeEmbeddable: {
85
69
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
86
- state: "active" | "hover";
70
+ state: "hover" | "active";
87
71
  } | null;
88
72
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
89
73
  selectedGroupIds: {
@@ -91,40 +75,37 @@ export declare const actionClearCanvas: {
91
75
  };
92
76
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
93
77
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
78
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
94
79
  isBindingEnabled: boolean;
95
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
80
+ isMidpointSnappingEnabled: boolean;
81
+ suggestedBinding: {
82
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
83
+ midPoint?: import("@excalidraw/math").GlobalPoint;
84
+ } | null;
85
+ hoveredArrowTextAnchor: {
86
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
87
+ anchor: "start" | "end" | "label";
88
+ } | null;
96
89
  isRotating: boolean;
97
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
98
- collaborators: Map<import("../types").SocketId, Readonly<{
99
- pointer?: import("../types").CollaboratorPointer | undefined;
100
- button?: "up" | "down" | undefined;
101
- selectedElementIds?: Readonly<{
102
- [id: string]: true;
103
- }> | undefined;
104
- username?: string | null | undefined;
105
- userState?: import("@excalidraw/common").UserIdleState | undefined;
106
- color?: {
107
- background: string;
108
- stroke: string;
109
- } | undefined;
110
- avatarUrl?: string | undefined;
111
- id?: string | undefined;
112
- socketId?: import("../types").SocketId | undefined;
113
- isCurrentUser?: boolean | undefined;
114
- isInCall?: boolean | undefined;
115
- isSpeaking?: boolean | undefined;
116
- isMuted?: boolean | undefined;
117
- }>>;
90
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
91
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
118
92
  snapLines: readonly import("../snapping").SnapLine[];
119
93
  zenModeEnabled: boolean;
120
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
94
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
121
95
  isCropping: boolean;
122
- croppingElementId: string | null;
96
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
123
97
  searchMatches: Readonly<{
124
- focusedId: string | null;
98
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
125
99
  matches: readonly import("../types").SearchMatch[];
126
100
  }> | null;
127
101
  activeLockedId: string | null;
102
+ hoveredElementIds: Readonly<{
103
+ [id: string]: true;
104
+ }>;
105
+ shouldCacheIgnoreZoom: boolean;
106
+ exportScale: number;
107
+ currentItemArrowType: "sharp" | "round" | "elbow";
108
+ bindMode: import("@excalidraw/element/types").BindMode;
128
109
  contextMenu: {
129
110
  items: import("../components/ContextMenu").ContextMenuItems;
130
111
  top: number;
@@ -132,55 +113,54 @@ export declare const actionClearCanvas: {
132
113
  } | null;
133
114
  showWelcomeScreen: boolean;
134
115
  isLoading: boolean;
135
- errorMessage: import("react").ReactNode;
136
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
116
+ errorMessage: React.ReactNode;
137
117
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
138
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
139
- editingFrame: string | null;
118
+ boxSelectionMode: import("../types").BoxSelectionMode;
119
+ bindingPreference: "enabled" | "disabled";
120
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
121
+ preferredSelectionTool: {
122
+ type: "selection" | "lasso";
123
+ initialized: boolean;
124
+ };
140
125
  exportWithDarkMode: boolean;
141
- exportScale: number;
142
126
  currentItemStrokeColor: string;
143
127
  currentItemBackgroundColor: string;
144
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
145
- currentItemStrokeWidth: number;
146
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
128
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
129
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
130
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
147
131
  currentItemRoughness: number;
132
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
148
133
  currentItemOpacity: number;
149
- currentItemFontFamily: number;
134
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
150
135
  currentItemFontSize: number;
151
- currentItemTextAlign: string;
136
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
152
137
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
153
138
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
154
- currentHoveredFontFamily: number | null;
139
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
155
140
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
156
- currentItemArrowType: "round" | "sharp" | "elbow";
141
+ scrollConstraints: import("../types").ScrollConstraints | null;
157
142
  cursorButton: "up" | "down";
158
143
  scrolledOutside: boolean;
159
144
  isResizing: boolean;
160
- openMenu: "canvas" | "shape" | null;
161
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
145
+ openMenu: "canvas" | null;
146
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
162
147
  openSidebar: {
163
- name: string;
164
- tab?: string | undefined;
148
+ name: import("../types").SidebarName;
149
+ tab?: import("../types").SidebarTabName;
165
150
  } | null;
166
151
  defaultSidebarDockedPreference: boolean;
167
152
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
168
- hoveredElementIds: Readonly<{
169
- [id: string]: true;
170
- }>;
171
153
  previousSelectedElementIds: {
172
154
  [id: string]: true;
173
155
  };
174
156
  selectedElementsAreBeingDragged: boolean;
175
- shouldCacheIgnoreZoom: boolean;
176
157
  toast: {
177
- message: string;
178
- closable?: boolean | undefined;
179
- duration?: number | undefined;
158
+ message: React.ReactNode;
159
+ closable?: boolean;
160
+ duration?: number;
180
161
  } | null;
181
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
182
- currentChartType: import("@excalidraw/element/types").ChartType;
183
- showHyperlinkPopup: false | "editor" | "info";
162
+ fileHandle: FileSystemFileHandle | null;
163
+ showHyperlinkPopup: false | "info" | "editor";
184
164
  originSnapOffset: {
185
165
  x: number;
186
166
  y: number;
@@ -191,7 +171,6 @@ export declare const actionClearCanvas: {
191
171
  lockedMultiSelections: {
192
172
  [groupId: string]: true;
193
173
  };
194
- stylesPanelMode: "compact" | "full";
195
174
  };
196
175
  captureUpdate: "IMMEDIATELY";
197
176
  };
@@ -202,18 +181,18 @@ export declare const actionZoomIn: {
202
181
  name: "zoomIn";
203
182
  label: string;
204
183
  viewMode: true;
184
+ navigation: true;
205
185
  icon: import("react/jsx-runtime").JSX.Element;
206
186
  trackEvent: {
207
187
  category: "canvas";
208
188
  };
209
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
189
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
190
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
210
191
  appState: {
211
192
  userToFollow: null;
193
+ zoom: import("../types").Zoom;
212
194
  scrollX: number;
213
195
  scrollY: number;
214
- zoom: {
215
- value: import("../types").NormalizedZoomValue;
216
- };
217
196
  contextMenu: {
218
197
  items: import("../components/ContextMenu").ContextMenuItems;
219
198
  top: number;
@@ -221,18 +200,27 @@ export declare const actionZoomIn: {
221
200
  } | null;
222
201
  showWelcomeScreen: boolean;
223
202
  isLoading: boolean;
224
- errorMessage: import("react").ReactNode;
203
+ errorMessage: React.ReactNode;
225
204
  activeEmbeddable: {
226
205
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
227
- state: "active" | "hover";
206
+ state: "hover" | "active";
228
207
  } | null;
229
208
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
230
209
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
231
210
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
232
211
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
233
212
  isBindingEnabled: boolean;
234
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
235
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
213
+ boxSelectionMode: import("../types").BoxSelectionMode;
214
+ bindingPreference: "enabled" | "disabled";
215
+ isMidpointSnappingEnabled: boolean;
216
+ suggestedBinding: {
217
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
218
+ midPoint?: import("@excalidraw/math").GlobalPoint;
219
+ } | null;
220
+ hoveredArrowTextAnchor: {
221
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
222
+ anchor: "start" | "end" | "label";
223
+ } | null;
236
224
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
237
225
  frameRendering: {
238
226
  enabled: boolean;
@@ -240,14 +228,18 @@ export declare const actionZoomIn: {
240
228
  outline: boolean;
241
229
  clip: boolean;
242
230
  };
243
- editingFrame: string | null;
244
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
245
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
231
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
232
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
233
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
246
234
  activeTool: {
247
235
  lastActiveTool: import("../types").ActiveTool | null;
248
236
  locked: boolean;
249
237
  fromSelection: boolean;
250
238
  } & import("../types").ActiveTool;
239
+ preferredSelectionTool: {
240
+ type: "selection" | "lasso";
241
+ initialized: boolean;
242
+ };
251
243
  penMode: boolean;
252
244
  penDetected: boolean;
253
245
  exportBackground: boolean;
@@ -256,42 +248,50 @@ export declare const actionZoomIn: {
256
248
  exportScale: number;
257
249
  currentItemStrokeColor: string;
258
250
  currentItemBackgroundColor: string;
259
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
260
- currentItemStrokeWidth: number;
261
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
251
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
252
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
253
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
262
254
  currentItemRoughness: number;
255
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
263
256
  currentItemOpacity: number;
264
- currentItemFontFamily: number;
257
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
265
258
  currentItemFontSize: number;
266
- currentItemTextAlign: string;
259
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
267
260
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
268
261
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
269
- currentHoveredFontFamily: number | null;
262
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
270
263
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
271
- currentItemArrowType: "round" | "sharp" | "elbow";
264
+ currentItemArrowType: "sharp" | "round" | "elbow";
272
265
  viewBackgroundColor: string;
266
+ scrollConstraints: import("../types").ScrollConstraints | null;
273
267
  cursorButton: "up" | "down";
274
268
  scrolledOutside: boolean;
275
269
  name: string | null;
276
270
  isResizing: boolean;
277
271
  isRotating: boolean;
278
- openMenu: "canvas" | "shape" | null;
279
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
272
+ openMenu: "canvas" | null;
273
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
280
274
  openSidebar: {
281
- name: string;
282
- tab?: string | undefined;
275
+ name: import("../types").SidebarName;
276
+ tab?: import("../types").SidebarTabName;
283
277
  } | null;
284
- openDialog: {
278
+ openDialog: null | {
285
279
  name: "imageExport" | "help" | "jsonExport";
286
280
  } | {
287
281
  name: "ttd";
288
- tab: "mermaid" | "text-to-diagram";
282
+ tab: "text-to-diagram" | "mermaid";
289
283
  } | {
290
284
  name: "commandPalette";
285
+ } | {
286
+ name: "settings";
291
287
  } | {
292
288
  name: "elementLinkSelector";
293
- sourceElementId: string;
294
- } | null;
289
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
290
+ } | {
291
+ name: "charts";
292
+ data: import("../charts").Spreadsheet;
293
+ rawText: string;
294
+ };
295
295
  defaultSidebarDockedPreference: boolean;
296
296
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
297
297
  selectedElementIds: Readonly<{
@@ -306,9 +306,9 @@ export declare const actionZoomIn: {
306
306
  selectedElementsAreBeingDragged: boolean;
307
307
  shouldCacheIgnoreZoom: boolean;
308
308
  toast: {
309
- message: string;
310
- closable?: boolean | undefined;
311
- duration?: number | undefined;
309
+ message: React.ReactNode;
310
+ closable?: boolean;
311
+ duration?: number;
312
312
  } | null;
313
313
  zenModeEnabled: boolean;
314
314
  theme: import("@excalidraw/element/types").Theme;
@@ -319,45 +319,18 @@ export declare const actionZoomIn: {
319
319
  selectedGroupIds: {
320
320
  [groupId: string]: boolean;
321
321
  };
322
- editingGroupId: string | null;
322
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
323
323
  width: number;
324
324
  height: number;
325
325
  offsetTop: number;
326
326
  offsetLeft: number;
327
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
328
- collaborators: Map<import("../types").SocketId, Readonly<{
329
- pointer?: import("../types").CollaboratorPointer | undefined;
330
- button?: "up" | "down" | undefined;
331
- selectedElementIds?: Readonly<{
332
- [id: string]: true;
333
- }> | undefined;
334
- username?: string | null | undefined;
335
- userState?: import("@excalidraw/common").UserIdleState | undefined;
336
- color?: {
337
- background: string;
338
- stroke: string;
339
- } | undefined;
340
- avatarUrl?: string | undefined;
341
- id?: string | undefined;
342
- socketId?: import("../types").SocketId | undefined;
343
- isCurrentUser?: boolean | undefined;
344
- isInCall?: boolean | undefined;
345
- isSpeaking?: boolean | undefined;
346
- isMuted?: boolean | undefined;
347
- }>>;
327
+ fileHandle: FileSystemFileHandle | null;
328
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
348
329
  stats: {
349
330
  open: boolean;
350
331
  panels: number;
351
332
  };
352
- currentChartType: import("@excalidraw/element/types").ChartType;
353
- pasteDialog: {
354
- shown: false;
355
- data: null;
356
- } | {
357
- shown: true;
358
- data: import("../charts").Spreadsheet;
359
- };
360
- showHyperlinkPopup: false | "editor" | "info";
333
+ showHyperlinkPopup: false | "info" | "editor";
361
334
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
362
335
  snapLines: readonly import("../snapping").SnapLine[];
363
336
  originSnapOffset: {
@@ -367,20 +340,20 @@ export declare const actionZoomIn: {
367
340
  objectsSnapModeEnabled: boolean;
368
341
  followedBy: Set<import("../types").SocketId>;
369
342
  isCropping: boolean;
370
- croppingElementId: string | null;
343
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
371
344
  searchMatches: Readonly<{
372
- focusedId: string | null;
345
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
373
346
  matches: readonly import("../types").SearchMatch[];
374
347
  }> | null;
375
348
  activeLockedId: string | null;
376
349
  lockedMultiSelections: {
377
350
  [groupId: string]: true;
378
351
  };
379
- stylesPanelMode: "compact" | "full";
352
+ bindMode: import("@excalidraw/element/types").BindMode;
380
353
  };
381
354
  captureUpdate: "EVENTUALLY";
382
355
  };
383
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
356
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
384
357
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
385
358
  } & {
386
359
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -390,17 +363,17 @@ export declare const actionZoomOut: {
390
363
  label: string;
391
364
  icon: import("react/jsx-runtime").JSX.Element;
392
365
  viewMode: true;
366
+ navigation: true;
393
367
  trackEvent: {
394
368
  category: "canvas";
395
369
  };
396
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
370
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
371
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
397
372
  appState: {
398
373
  userToFollow: null;
374
+ zoom: import("../types").Zoom;
399
375
  scrollX: number;
400
376
  scrollY: number;
401
- zoom: {
402
- value: import("../types").NormalizedZoomValue;
403
- };
404
377
  contextMenu: {
405
378
  items: import("../components/ContextMenu").ContextMenuItems;
406
379
  top: number;
@@ -408,18 +381,27 @@ export declare const actionZoomOut: {
408
381
  } | null;
409
382
  showWelcomeScreen: boolean;
410
383
  isLoading: boolean;
411
- errorMessage: import("react").ReactNode;
384
+ errorMessage: React.ReactNode;
412
385
  activeEmbeddable: {
413
386
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
414
- state: "active" | "hover";
387
+ state: "hover" | "active";
415
388
  } | null;
416
389
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
417
390
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
418
391
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
419
392
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
420
393
  isBindingEnabled: boolean;
421
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
422
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
394
+ boxSelectionMode: import("../types").BoxSelectionMode;
395
+ bindingPreference: "enabled" | "disabled";
396
+ isMidpointSnappingEnabled: boolean;
397
+ suggestedBinding: {
398
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
399
+ midPoint?: import("@excalidraw/math").GlobalPoint;
400
+ } | null;
401
+ hoveredArrowTextAnchor: {
402
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
403
+ anchor: "start" | "end" | "label";
404
+ } | null;
423
405
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
424
406
  frameRendering: {
425
407
  enabled: boolean;
@@ -427,14 +409,18 @@ export declare const actionZoomOut: {
427
409
  outline: boolean;
428
410
  clip: boolean;
429
411
  };
430
- editingFrame: string | null;
431
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
432
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
412
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
413
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
414
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
433
415
  activeTool: {
434
416
  lastActiveTool: import("../types").ActiveTool | null;
435
417
  locked: boolean;
436
418
  fromSelection: boolean;
437
419
  } & import("../types").ActiveTool;
420
+ preferredSelectionTool: {
421
+ type: "selection" | "lasso";
422
+ initialized: boolean;
423
+ };
438
424
  penMode: boolean;
439
425
  penDetected: boolean;
440
426
  exportBackground: boolean;
@@ -443,42 +429,50 @@ export declare const actionZoomOut: {
443
429
  exportScale: number;
444
430
  currentItemStrokeColor: string;
445
431
  currentItemBackgroundColor: string;
446
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
447
- currentItemStrokeWidth: number;
448
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
432
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
433
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
434
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
449
435
  currentItemRoughness: number;
436
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
450
437
  currentItemOpacity: number;
451
- currentItemFontFamily: number;
438
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
452
439
  currentItemFontSize: number;
453
- currentItemTextAlign: string;
440
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
454
441
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
455
442
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
456
- currentHoveredFontFamily: number | null;
443
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
457
444
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
458
- currentItemArrowType: "round" | "sharp" | "elbow";
445
+ currentItemArrowType: "sharp" | "round" | "elbow";
459
446
  viewBackgroundColor: string;
447
+ scrollConstraints: import("../types").ScrollConstraints | null;
460
448
  cursorButton: "up" | "down";
461
449
  scrolledOutside: boolean;
462
450
  name: string | null;
463
451
  isResizing: boolean;
464
452
  isRotating: boolean;
465
- openMenu: "canvas" | "shape" | null;
466
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
453
+ openMenu: "canvas" | null;
454
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
467
455
  openSidebar: {
468
- name: string;
469
- tab?: string | undefined;
456
+ name: import("../types").SidebarName;
457
+ tab?: import("../types").SidebarTabName;
470
458
  } | null;
471
- openDialog: {
459
+ openDialog: null | {
472
460
  name: "imageExport" | "help" | "jsonExport";
473
461
  } | {
474
462
  name: "ttd";
475
- tab: "mermaid" | "text-to-diagram";
463
+ tab: "text-to-diagram" | "mermaid";
476
464
  } | {
477
465
  name: "commandPalette";
466
+ } | {
467
+ name: "settings";
478
468
  } | {
479
469
  name: "elementLinkSelector";
480
- sourceElementId: string;
481
- } | null;
470
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
471
+ } | {
472
+ name: "charts";
473
+ data: import("../charts").Spreadsheet;
474
+ rawText: string;
475
+ };
482
476
  defaultSidebarDockedPreference: boolean;
483
477
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
484
478
  selectedElementIds: Readonly<{
@@ -493,9 +487,9 @@ export declare const actionZoomOut: {
493
487
  selectedElementsAreBeingDragged: boolean;
494
488
  shouldCacheIgnoreZoom: boolean;
495
489
  toast: {
496
- message: string;
497
- closable?: boolean | undefined;
498
- duration?: number | undefined;
490
+ message: React.ReactNode;
491
+ closable?: boolean;
492
+ duration?: number;
499
493
  } | null;
500
494
  zenModeEnabled: boolean;
501
495
  theme: import("@excalidraw/element/types").Theme;
@@ -506,45 +500,18 @@ export declare const actionZoomOut: {
506
500
  selectedGroupIds: {
507
501
  [groupId: string]: boolean;
508
502
  };
509
- editingGroupId: string | null;
503
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
510
504
  width: number;
511
505
  height: number;
512
506
  offsetTop: number;
513
507
  offsetLeft: number;
514
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
515
- collaborators: Map<import("../types").SocketId, Readonly<{
516
- pointer?: import("../types").CollaboratorPointer | undefined;
517
- button?: "up" | "down" | undefined;
518
- selectedElementIds?: Readonly<{
519
- [id: string]: true;
520
- }> | undefined;
521
- username?: string | null | undefined;
522
- userState?: import("@excalidraw/common").UserIdleState | undefined;
523
- color?: {
524
- background: string;
525
- stroke: string;
526
- } | undefined;
527
- avatarUrl?: string | undefined;
528
- id?: string | undefined;
529
- socketId?: import("../types").SocketId | undefined;
530
- isCurrentUser?: boolean | undefined;
531
- isInCall?: boolean | undefined;
532
- isSpeaking?: boolean | undefined;
533
- isMuted?: boolean | undefined;
534
- }>>;
508
+ fileHandle: FileSystemFileHandle | null;
509
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
535
510
  stats: {
536
511
  open: boolean;
537
512
  panels: number;
538
513
  };
539
- currentChartType: import("@excalidraw/element/types").ChartType;
540
- pasteDialog: {
541
- shown: false;
542
- data: null;
543
- } | {
544
- shown: true;
545
- data: import("../charts").Spreadsheet;
546
- };
547
- showHyperlinkPopup: false | "editor" | "info";
514
+ showHyperlinkPopup: false | "info" | "editor";
548
515
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
549
516
  snapLines: readonly import("../snapping").SnapLine[];
550
517
  originSnapOffset: {
@@ -554,20 +521,20 @@ export declare const actionZoomOut: {
554
521
  objectsSnapModeEnabled: boolean;
555
522
  followedBy: Set<import("../types").SocketId>;
556
523
  isCropping: boolean;
557
- croppingElementId: string | null;
524
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
558
525
  searchMatches: Readonly<{
559
- focusedId: string | null;
526
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
560
527
  matches: readonly import("../types").SearchMatch[];
561
528
  }> | null;
562
529
  activeLockedId: string | null;
563
530
  lockedMultiSelections: {
564
531
  [groupId: string]: true;
565
532
  };
566
- stylesPanelMode: "compact" | "full";
533
+ bindMode: import("@excalidraw/element/types").BindMode;
567
534
  };
568
535
  captureUpdate: "EVENTUALLY";
569
536
  };
570
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
537
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
571
538
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
572
539
  } & {
573
540
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -577,17 +544,17 @@ export declare const actionResetZoom: {
577
544
  label: string;
578
545
  icon: import("react/jsx-runtime").JSX.Element;
579
546
  viewMode: true;
547
+ navigation: true;
580
548
  trackEvent: {
581
549
  category: "canvas";
582
550
  };
583
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
551
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
552
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
584
553
  appState: {
585
554
  userToFollow: null;
555
+ zoom: import("../types").Zoom;
586
556
  scrollX: number;
587
557
  scrollY: number;
588
- zoom: {
589
- value: import("../types").NormalizedZoomValue;
590
- };
591
558
  contextMenu: {
592
559
  items: import("../components/ContextMenu").ContextMenuItems;
593
560
  top: number;
@@ -595,18 +562,27 @@ export declare const actionResetZoom: {
595
562
  } | null;
596
563
  showWelcomeScreen: boolean;
597
564
  isLoading: boolean;
598
- errorMessage: import("react").ReactNode;
565
+ errorMessage: React.ReactNode;
599
566
  activeEmbeddable: {
600
567
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
601
- state: "active" | "hover";
568
+ state: "hover" | "active";
602
569
  } | null;
603
570
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
604
571
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
605
572
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
606
573
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
607
574
  isBindingEnabled: boolean;
608
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
609
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
575
+ boxSelectionMode: import("../types").BoxSelectionMode;
576
+ bindingPreference: "enabled" | "disabled";
577
+ isMidpointSnappingEnabled: boolean;
578
+ suggestedBinding: {
579
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
580
+ midPoint?: import("@excalidraw/math").GlobalPoint;
581
+ } | null;
582
+ hoveredArrowTextAnchor: {
583
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
584
+ anchor: "start" | "end" | "label";
585
+ } | null;
610
586
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
611
587
  frameRendering: {
612
588
  enabled: boolean;
@@ -614,14 +590,18 @@ export declare const actionResetZoom: {
614
590
  outline: boolean;
615
591
  clip: boolean;
616
592
  };
617
- editingFrame: string | null;
618
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
619
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
593
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
594
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
595
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
620
596
  activeTool: {
621
597
  lastActiveTool: import("../types").ActiveTool | null;
622
598
  locked: boolean;
623
599
  fromSelection: boolean;
624
600
  } & import("../types").ActiveTool;
601
+ preferredSelectionTool: {
602
+ type: "selection" | "lasso";
603
+ initialized: boolean;
604
+ };
625
605
  penMode: boolean;
626
606
  penDetected: boolean;
627
607
  exportBackground: boolean;
@@ -630,42 +610,50 @@ export declare const actionResetZoom: {
630
610
  exportScale: number;
631
611
  currentItemStrokeColor: string;
632
612
  currentItemBackgroundColor: string;
633
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
634
- currentItemStrokeWidth: number;
635
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
613
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
614
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
615
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
636
616
  currentItemRoughness: number;
617
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
637
618
  currentItemOpacity: number;
638
- currentItemFontFamily: number;
619
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
639
620
  currentItemFontSize: number;
640
- currentItemTextAlign: string;
621
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
641
622
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
642
623
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
643
- currentHoveredFontFamily: number | null;
624
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
644
625
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
645
- currentItemArrowType: "round" | "sharp" | "elbow";
626
+ currentItemArrowType: "sharp" | "round" | "elbow";
646
627
  viewBackgroundColor: string;
628
+ scrollConstraints: import("../types").ScrollConstraints | null;
647
629
  cursorButton: "up" | "down";
648
630
  scrolledOutside: boolean;
649
631
  name: string | null;
650
632
  isResizing: boolean;
651
633
  isRotating: boolean;
652
- openMenu: "canvas" | "shape" | null;
653
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
634
+ openMenu: "canvas" | null;
635
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
654
636
  openSidebar: {
655
- name: string;
656
- tab?: string | undefined;
637
+ name: import("../types").SidebarName;
638
+ tab?: import("../types").SidebarTabName;
657
639
  } | null;
658
- openDialog: {
640
+ openDialog: null | {
659
641
  name: "imageExport" | "help" | "jsonExport";
660
642
  } | {
661
643
  name: "ttd";
662
- tab: "mermaid" | "text-to-diagram";
644
+ tab: "text-to-diagram" | "mermaid";
663
645
  } | {
664
646
  name: "commandPalette";
647
+ } | {
648
+ name: "settings";
665
649
  } | {
666
650
  name: "elementLinkSelector";
667
- sourceElementId: string;
668
- } | null;
651
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
652
+ } | {
653
+ name: "charts";
654
+ data: import("../charts").Spreadsheet;
655
+ rawText: string;
656
+ };
669
657
  defaultSidebarDockedPreference: boolean;
670
658
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
671
659
  selectedElementIds: Readonly<{
@@ -680,9 +668,9 @@ export declare const actionResetZoom: {
680
668
  selectedElementsAreBeingDragged: boolean;
681
669
  shouldCacheIgnoreZoom: boolean;
682
670
  toast: {
683
- message: string;
684
- closable?: boolean | undefined;
685
- duration?: number | undefined;
671
+ message: React.ReactNode;
672
+ closable?: boolean;
673
+ duration?: number;
686
674
  } | null;
687
675
  zenModeEnabled: boolean;
688
676
  theme: import("@excalidraw/element/types").Theme;
@@ -693,45 +681,18 @@ export declare const actionResetZoom: {
693
681
  selectedGroupIds: {
694
682
  [groupId: string]: boolean;
695
683
  };
696
- editingGroupId: string | null;
684
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
697
685
  width: number;
698
686
  height: number;
699
687
  offsetTop: number;
700
688
  offsetLeft: number;
701
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
702
- collaborators: Map<import("../types").SocketId, Readonly<{
703
- pointer?: import("../types").CollaboratorPointer | undefined;
704
- button?: "up" | "down" | undefined;
705
- selectedElementIds?: Readonly<{
706
- [id: string]: true;
707
- }> | undefined;
708
- username?: string | null | undefined;
709
- userState?: import("@excalidraw/common").UserIdleState | undefined;
710
- color?: {
711
- background: string;
712
- stroke: string;
713
- } | undefined;
714
- avatarUrl?: string | undefined;
715
- id?: string | undefined;
716
- socketId?: import("../types").SocketId | undefined;
717
- isCurrentUser?: boolean | undefined;
718
- isInCall?: boolean | undefined;
719
- isSpeaking?: boolean | undefined;
720
- isMuted?: boolean | undefined;
721
- }>>;
689
+ fileHandle: FileSystemFileHandle | null;
690
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
722
691
  stats: {
723
692
  open: boolean;
724
693
  panels: number;
725
694
  };
726
- currentChartType: import("@excalidraw/element/types").ChartType;
727
- pasteDialog: {
728
- shown: false;
729
- data: null;
730
- } | {
731
- shown: true;
732
- data: import("../charts").Spreadsheet;
733
- };
734
- showHyperlinkPopup: false | "editor" | "info";
695
+ showHyperlinkPopup: false | "info" | "editor";
735
696
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
736
697
  snapLines: readonly import("../snapping").SnapLine[];
737
698
  originSnapOffset: {
@@ -741,416 +702,39 @@ export declare const actionResetZoom: {
741
702
  objectsSnapModeEnabled: boolean;
742
703
  followedBy: Set<import("../types").SocketId>;
743
704
  isCropping: boolean;
744
- croppingElementId: string | null;
705
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
745
706
  searchMatches: Readonly<{
746
- focusedId: string | null;
707
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
747
708
  matches: readonly import("../types").SearchMatch[];
748
709
  }> | null;
749
710
  activeLockedId: string | null;
750
711
  lockedMultiSelections: {
751
712
  [groupId: string]: true;
752
713
  };
753
- stylesPanelMode: "compact" | "full";
714
+ bindMode: import("@excalidraw/element/types").BindMode;
754
715
  };
755
716
  captureUpdate: "EVENTUALLY";
756
717
  };
757
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
718
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
758
719
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
759
720
  } & {
760
721
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
761
722
  };
762
- export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
763
- bounds: SceneBounds;
764
- canvasOffsets?: Partial<{
765
- top: number;
766
- right: number;
767
- bottom: number;
768
- left: number;
769
- }> | undefined;
770
- appState: Readonly<AppState>;
771
- /** whether to fit content to viewport (beyond >100%) */
772
- fitToViewport: boolean;
773
- /** zoom content to cover X of the viewport, when fitToViewport=true */
774
- viewportZoomFactor?: number | undefined;
775
- minZoom?: number | undefined;
776
- maxZoom?: number | undefined;
777
- }) => {
778
- appState: {
779
- scrollX: number;
780
- scrollY: number;
781
- zoom: {
782
- value: import("../types").NormalizedZoomValue;
783
- };
784
- contextMenu: {
785
- items: import("../components/ContextMenu").ContextMenuItems;
786
- top: number;
787
- left: number;
788
- } | null;
789
- showWelcomeScreen: boolean;
790
- isLoading: boolean;
791
- errorMessage: import("react").ReactNode;
792
- activeEmbeddable: {
793
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
794
- state: "active" | "hover";
795
- } | null;
796
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
797
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
798
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
799
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
800
- isBindingEnabled: boolean;
801
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
802
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
803
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
804
- frameRendering: {
805
- enabled: boolean;
806
- name: boolean;
807
- outline: boolean;
808
- clip: boolean;
809
- };
810
- editingFrame: string | null;
811
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
812
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
813
- activeTool: {
814
- lastActiveTool: import("../types").ActiveTool | null;
815
- locked: boolean;
816
- fromSelection: boolean;
817
- } & import("../types").ActiveTool;
818
- penMode: boolean;
819
- penDetected: boolean;
820
- exportBackground: boolean;
821
- exportEmbedScene: boolean;
822
- exportWithDarkMode: boolean;
823
- exportScale: number;
824
- currentItemStrokeColor: string;
825
- currentItemBackgroundColor: string;
826
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
827
- currentItemStrokeWidth: number;
828
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
829
- currentItemRoughness: number;
830
- currentItemOpacity: number;
831
- currentItemFontFamily: number;
832
- currentItemFontSize: number;
833
- currentItemTextAlign: string;
834
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
835
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
836
- currentHoveredFontFamily: number | null;
837
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
838
- currentItemArrowType: "round" | "sharp" | "elbow";
839
- viewBackgroundColor: string;
840
- cursorButton: "up" | "down";
841
- scrolledOutside: boolean;
842
- name: string | null;
843
- isResizing: boolean;
844
- isRotating: boolean;
845
- openMenu: "canvas" | "shape" | null;
846
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
847
- openSidebar: {
848
- name: string;
849
- tab?: string | undefined;
850
- } | null;
851
- openDialog: {
852
- name: "imageExport" | "help" | "jsonExport";
853
- } | {
854
- name: "ttd";
855
- tab: "mermaid" | "text-to-diagram";
856
- } | {
857
- name: "commandPalette";
858
- } | {
859
- name: "elementLinkSelector";
860
- sourceElementId: string;
861
- } | null;
862
- defaultSidebarDockedPreference: boolean;
863
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
864
- selectedElementIds: Readonly<{
865
- [id: string]: true;
866
- }>;
867
- hoveredElementIds: Readonly<{
868
- [id: string]: true;
869
- }>;
870
- previousSelectedElementIds: {
871
- [id: string]: true;
872
- };
873
- selectedElementsAreBeingDragged: boolean;
874
- shouldCacheIgnoreZoom: boolean;
875
- toast: {
876
- message: string;
877
- closable?: boolean | undefined;
878
- duration?: number | undefined;
879
- } | null;
880
- zenModeEnabled: boolean;
881
- theme: import("@excalidraw/element/types").Theme;
882
- gridSize: number;
883
- gridStep: number;
884
- gridModeEnabled: boolean;
885
- viewModeEnabled: boolean;
886
- selectedGroupIds: {
887
- [groupId: string]: boolean;
888
- };
889
- editingGroupId: string | null;
890
- width: number;
891
- height: number;
892
- offsetTop: number;
893
- offsetLeft: number;
894
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
895
- collaborators: Map<import("../types").SocketId, Readonly<{
896
- pointer?: import("../types").CollaboratorPointer | undefined;
897
- button?: "up" | "down" | undefined;
898
- selectedElementIds?: Readonly<{
899
- [id: string]: true;
900
- }> | undefined;
901
- username?: string | null | undefined;
902
- userState?: import("@excalidraw/common").UserIdleState | undefined;
903
- color?: {
904
- background: string;
905
- stroke: string;
906
- } | undefined;
907
- avatarUrl?: string | undefined;
908
- id?: string | undefined;
909
- socketId?: import("../types").SocketId | undefined;
910
- isCurrentUser?: boolean | undefined;
911
- isInCall?: boolean | undefined;
912
- isSpeaking?: boolean | undefined;
913
- isMuted?: boolean | undefined;
914
- }>>;
915
- stats: {
916
- open: boolean;
917
- panels: number;
918
- };
919
- currentChartType: import("@excalidraw/element/types").ChartType;
920
- pasteDialog: {
921
- shown: false;
922
- data: null;
923
- } | {
924
- shown: true;
925
- data: import("../charts").Spreadsheet;
926
- };
927
- showHyperlinkPopup: false | "editor" | "info";
928
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
929
- snapLines: readonly import("../snapping").SnapLine[];
930
- originSnapOffset: {
931
- x: number;
932
- y: number;
933
- } | null;
934
- objectsSnapModeEnabled: boolean;
935
- userToFollow: import("../types").UserToFollow | null;
936
- followedBy: Set<import("../types").SocketId>;
937
- isCropping: boolean;
938
- croppingElementId: string | null;
939
- searchMatches: Readonly<{
940
- focusedId: string | null;
941
- matches: readonly import("../types").SearchMatch[];
942
- }> | null;
943
- activeLockedId: string | null;
944
- lockedMultiSelections: {
945
- [groupId: string]: true;
946
- };
947
- stylesPanelMode: "compact" | "full";
948
- };
949
- captureUpdate: "EVENTUALLY";
950
- };
951
- export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
952
- canvasOffsets?: Partial<{
953
- top: number;
954
- right: number;
955
- bottom: number;
956
- left: number;
957
- }> | undefined;
958
- targetElements: readonly ExcalidrawElement[];
959
- appState: Readonly<AppState>;
960
- /** whether to fit content to viewport (beyond >100%) */
961
- fitToViewport: boolean;
962
- /** zoom content to cover X of the viewport, when fitToViewport=true */
963
- viewportZoomFactor?: number | undefined;
964
- minZoom?: number | undefined;
965
- maxZoom?: number | undefined;
966
- }) => {
967
- appState: {
968
- scrollX: number;
969
- scrollY: number;
970
- zoom: {
971
- value: import("../types").NormalizedZoomValue;
972
- };
973
- contextMenu: {
974
- items: import("../components/ContextMenu").ContextMenuItems;
975
- top: number;
976
- left: number;
977
- } | null;
978
- showWelcomeScreen: boolean;
979
- isLoading: boolean;
980
- errorMessage: import("react").ReactNode;
981
- activeEmbeddable: {
982
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
983
- state: "active" | "hover";
984
- } | null;
985
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
986
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
987
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
988
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
989
- isBindingEnabled: boolean;
990
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
991
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
992
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
993
- frameRendering: {
994
- enabled: boolean;
995
- name: boolean;
996
- outline: boolean;
997
- clip: boolean;
998
- };
999
- editingFrame: string | null;
1000
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1001
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1002
- activeTool: {
1003
- lastActiveTool: import("../types").ActiveTool | null;
1004
- locked: boolean;
1005
- fromSelection: boolean;
1006
- } & import("../types").ActiveTool;
1007
- penMode: boolean;
1008
- penDetected: boolean;
1009
- exportBackground: boolean;
1010
- exportEmbedScene: boolean;
1011
- exportWithDarkMode: boolean;
1012
- exportScale: number;
1013
- currentItemStrokeColor: string;
1014
- currentItemBackgroundColor: string;
1015
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1016
- currentItemStrokeWidth: number;
1017
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1018
- currentItemRoughness: number;
1019
- currentItemOpacity: number;
1020
- currentItemFontFamily: number;
1021
- currentItemFontSize: number;
1022
- currentItemTextAlign: string;
1023
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1024
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1025
- currentHoveredFontFamily: number | null;
1026
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1027
- currentItemArrowType: "round" | "sharp" | "elbow";
1028
- viewBackgroundColor: string;
1029
- cursorButton: "up" | "down";
1030
- scrolledOutside: boolean;
1031
- name: string | null;
1032
- isResizing: boolean;
1033
- isRotating: boolean;
1034
- openMenu: "canvas" | "shape" | null;
1035
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1036
- openSidebar: {
1037
- name: string;
1038
- tab?: string | undefined;
1039
- } | null;
1040
- openDialog: {
1041
- name: "imageExport" | "help" | "jsonExport";
1042
- } | {
1043
- name: "ttd";
1044
- tab: "mermaid" | "text-to-diagram";
1045
- } | {
1046
- name: "commandPalette";
1047
- } | {
1048
- name: "elementLinkSelector";
1049
- sourceElementId: string;
1050
- } | null;
1051
- defaultSidebarDockedPreference: boolean;
1052
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1053
- selectedElementIds: Readonly<{
1054
- [id: string]: true;
1055
- }>;
1056
- hoveredElementIds: Readonly<{
1057
- [id: string]: true;
1058
- }>;
1059
- previousSelectedElementIds: {
1060
- [id: string]: true;
1061
- };
1062
- selectedElementsAreBeingDragged: boolean;
1063
- shouldCacheIgnoreZoom: boolean;
1064
- toast: {
1065
- message: string;
1066
- closable?: boolean | undefined;
1067
- duration?: number | undefined;
1068
- } | null;
1069
- zenModeEnabled: boolean;
1070
- theme: import("@excalidraw/element/types").Theme;
1071
- gridSize: number;
1072
- gridStep: number;
1073
- gridModeEnabled: boolean;
1074
- viewModeEnabled: boolean;
1075
- selectedGroupIds: {
1076
- [groupId: string]: boolean;
1077
- };
1078
- editingGroupId: string | null;
1079
- width: number;
1080
- height: number;
1081
- offsetTop: number;
1082
- offsetLeft: number;
1083
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1084
- collaborators: Map<import("../types").SocketId, Readonly<{
1085
- pointer?: import("../types").CollaboratorPointer | undefined;
1086
- button?: "up" | "down" | undefined;
1087
- selectedElementIds?: Readonly<{
1088
- [id: string]: true;
1089
- }> | undefined;
1090
- username?: string | null | undefined;
1091
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1092
- color?: {
1093
- background: string;
1094
- stroke: string;
1095
- } | undefined;
1096
- avatarUrl?: string | undefined;
1097
- id?: string | undefined;
1098
- socketId?: import("../types").SocketId | undefined;
1099
- isCurrentUser?: boolean | undefined;
1100
- isInCall?: boolean | undefined;
1101
- isSpeaking?: boolean | undefined;
1102
- isMuted?: boolean | undefined;
1103
- }>>;
1104
- stats: {
1105
- open: boolean;
1106
- panels: number;
1107
- };
1108
- currentChartType: import("@excalidraw/element/types").ChartType;
1109
- pasteDialog: {
1110
- shown: false;
1111
- data: null;
1112
- } | {
1113
- shown: true;
1114
- data: import("../charts").Spreadsheet;
1115
- };
1116
- showHyperlinkPopup: false | "editor" | "info";
1117
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1118
- snapLines: readonly import("../snapping").SnapLine[];
1119
- originSnapOffset: {
1120
- x: number;
1121
- y: number;
1122
- } | null;
1123
- objectsSnapModeEnabled: boolean;
1124
- userToFollow: import("../types").UserToFollow | null;
1125
- followedBy: Set<import("../types").SocketId>;
1126
- isCropping: boolean;
1127
- croppingElementId: string | null;
1128
- searchMatches: Readonly<{
1129
- focusedId: string | null;
1130
- matches: readonly import("../types").SearchMatch[];
1131
- }> | null;
1132
- activeLockedId: string | null;
1133
- lockedMultiSelections: {
1134
- [groupId: string]: true;
1135
- };
1136
- stylesPanelMode: "compact" | "full";
1137
- };
1138
- captureUpdate: "EVENTUALLY";
1139
- };
1140
723
  export declare const actionZoomToFitSelectionInViewport: {
1141
724
  name: "zoomToFitSelectionInViewport";
1142
725
  label: string;
1143
726
  icon: import("react/jsx-runtime").JSX.Element;
727
+ viewMode: true;
728
+ navigation: true;
1144
729
  trackEvent: {
1145
730
  category: "canvas";
1146
731
  };
1147
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
732
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
733
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1148
734
  appState: {
735
+ zoom: import("../types").Zoom;
1149
736
  scrollX: number;
1150
737
  scrollY: number;
1151
- zoom: {
1152
- value: import("../types").NormalizedZoomValue;
1153
- };
1154
738
  contextMenu: {
1155
739
  items: import("../components/ContextMenu").ContextMenuItems;
1156
740
  top: number;
@@ -1158,18 +742,27 @@ export declare const actionZoomToFitSelectionInViewport: {
1158
742
  } | null;
1159
743
  showWelcomeScreen: boolean;
1160
744
  isLoading: boolean;
1161
- errorMessage: import("react").ReactNode;
745
+ errorMessage: React.ReactNode;
1162
746
  activeEmbeddable: {
1163
747
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1164
- state: "active" | "hover";
748
+ state: "hover" | "active";
1165
749
  } | null;
1166
750
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1167
751
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1168
752
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1169
753
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1170
754
  isBindingEnabled: boolean;
1171
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1172
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
755
+ boxSelectionMode: import("../types").BoxSelectionMode;
756
+ bindingPreference: "enabled" | "disabled";
757
+ isMidpointSnappingEnabled: boolean;
758
+ suggestedBinding: {
759
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
760
+ midPoint?: import("@excalidraw/math").GlobalPoint;
761
+ } | null;
762
+ hoveredArrowTextAnchor: {
763
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
764
+ anchor: "start" | "end" | "label";
765
+ } | null;
1173
766
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1174
767
  frameRendering: {
1175
768
  enabled: boolean;
@@ -1177,14 +770,18 @@ export declare const actionZoomToFitSelectionInViewport: {
1177
770
  outline: boolean;
1178
771
  clip: boolean;
1179
772
  };
1180
- editingFrame: string | null;
1181
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1182
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
773
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
774
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
775
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1183
776
  activeTool: {
1184
777
  lastActiveTool: import("../types").ActiveTool | null;
1185
778
  locked: boolean;
1186
779
  fromSelection: boolean;
1187
780
  } & import("../types").ActiveTool;
781
+ preferredSelectionTool: {
782
+ type: "selection" | "lasso";
783
+ initialized: boolean;
784
+ };
1188
785
  penMode: boolean;
1189
786
  penDetected: boolean;
1190
787
  exportBackground: boolean;
@@ -1193,42 +790,50 @@ export declare const actionZoomToFitSelectionInViewport: {
1193
790
  exportScale: number;
1194
791
  currentItemStrokeColor: string;
1195
792
  currentItemBackgroundColor: string;
1196
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1197
- currentItemStrokeWidth: number;
1198
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
793
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
794
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
795
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1199
796
  currentItemRoughness: number;
797
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1200
798
  currentItemOpacity: number;
1201
- currentItemFontFamily: number;
799
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1202
800
  currentItemFontSize: number;
1203
- currentItemTextAlign: string;
801
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1204
802
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1205
803
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1206
- currentHoveredFontFamily: number | null;
804
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1207
805
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1208
- currentItemArrowType: "round" | "sharp" | "elbow";
806
+ currentItemArrowType: "sharp" | "round" | "elbow";
1209
807
  viewBackgroundColor: string;
808
+ scrollConstraints: import("../types").ScrollConstraints | null;
1210
809
  cursorButton: "up" | "down";
1211
810
  scrolledOutside: boolean;
1212
811
  name: string | null;
1213
812
  isResizing: boolean;
1214
813
  isRotating: boolean;
1215
- openMenu: "canvas" | "shape" | null;
1216
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
814
+ openMenu: "canvas" | null;
815
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1217
816
  openSidebar: {
1218
- name: string;
1219
- tab?: string | undefined;
817
+ name: import("../types").SidebarName;
818
+ tab?: import("../types").SidebarTabName;
1220
819
  } | null;
1221
- openDialog: {
820
+ openDialog: null | {
1222
821
  name: "imageExport" | "help" | "jsonExport";
1223
822
  } | {
1224
823
  name: "ttd";
1225
- tab: "mermaid" | "text-to-diagram";
824
+ tab: "text-to-diagram" | "mermaid";
1226
825
  } | {
1227
826
  name: "commandPalette";
827
+ } | {
828
+ name: "settings";
1228
829
  } | {
1229
830
  name: "elementLinkSelector";
1230
- sourceElementId: string;
1231
- } | null;
831
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
832
+ } | {
833
+ name: "charts";
834
+ data: import("../charts").Spreadsheet;
835
+ rawText: string;
836
+ };
1232
837
  defaultSidebarDockedPreference: boolean;
1233
838
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1234
839
  selectedElementIds: Readonly<{
@@ -1243,9 +848,9 @@ export declare const actionZoomToFitSelectionInViewport: {
1243
848
  selectedElementsAreBeingDragged: boolean;
1244
849
  shouldCacheIgnoreZoom: boolean;
1245
850
  toast: {
1246
- message: string;
1247
- closable?: boolean | undefined;
1248
- duration?: number | undefined;
851
+ message: React.ReactNode;
852
+ closable?: boolean;
853
+ duration?: number;
1249
854
  } | null;
1250
855
  zenModeEnabled: boolean;
1251
856
  theme: import("@excalidraw/element/types").Theme;
@@ -1256,45 +861,18 @@ export declare const actionZoomToFitSelectionInViewport: {
1256
861
  selectedGroupIds: {
1257
862
  [groupId: string]: boolean;
1258
863
  };
1259
- editingGroupId: string | null;
864
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1260
865
  width: number;
1261
866
  height: number;
1262
867
  offsetTop: number;
1263
868
  offsetLeft: number;
1264
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1265
- collaborators: Map<import("../types").SocketId, Readonly<{
1266
- pointer?: import("../types").CollaboratorPointer | undefined;
1267
- button?: "up" | "down" | undefined;
1268
- selectedElementIds?: Readonly<{
1269
- [id: string]: true;
1270
- }> | undefined;
1271
- username?: string | null | undefined;
1272
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1273
- color?: {
1274
- background: string;
1275
- stroke: string;
1276
- } | undefined;
1277
- avatarUrl?: string | undefined;
1278
- id?: string | undefined;
1279
- socketId?: import("../types").SocketId | undefined;
1280
- isCurrentUser?: boolean | undefined;
1281
- isInCall?: boolean | undefined;
1282
- isSpeaking?: boolean | undefined;
1283
- isMuted?: boolean | undefined;
1284
- }>>;
869
+ fileHandle: FileSystemFileHandle | null;
870
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1285
871
  stats: {
1286
872
  open: boolean;
1287
873
  panels: number;
1288
874
  };
1289
- currentChartType: import("@excalidraw/element/types").ChartType;
1290
- pasteDialog: {
1291
- shown: false;
1292
- data: null;
1293
- } | {
1294
- shown: true;
1295
- data: import("../charts").Spreadsheet;
1296
- };
1297
- showHyperlinkPopup: false | "editor" | "info";
875
+ showHyperlinkPopup: false | "info" | "editor";
1298
876
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1299
877
  snapLines: readonly import("../snapping").SnapLine[];
1300
878
  originSnapOffset: {
@@ -1305,16 +883,16 @@ export declare const actionZoomToFitSelectionInViewport: {
1305
883
  userToFollow: import("../types").UserToFollow | null;
1306
884
  followedBy: Set<import("../types").SocketId>;
1307
885
  isCropping: boolean;
1308
- croppingElementId: string | null;
886
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1309
887
  searchMatches: Readonly<{
1310
- focusedId: string | null;
888
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1311
889
  matches: readonly import("../types").SearchMatch[];
1312
890
  }> | null;
1313
891
  activeLockedId: string | null;
1314
892
  lockedMultiSelections: {
1315
893
  [groupId: string]: true;
1316
894
  };
1317
- stylesPanelMode: "compact" | "full";
895
+ bindMode: import("@excalidraw/element/types").BindMode;
1318
896
  };
1319
897
  captureUpdate: "EVENTUALLY";
1320
898
  };
@@ -1326,16 +904,17 @@ export declare const actionZoomToFitSelection: {
1326
904
  name: "zoomToFitSelection";
1327
905
  label: string;
1328
906
  icon: import("react/jsx-runtime").JSX.Element;
907
+ viewMode: true;
908
+ navigation: true;
1329
909
  trackEvent: {
1330
910
  category: "canvas";
1331
911
  };
1332
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
912
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
913
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1333
914
  appState: {
915
+ zoom: import("../types").Zoom;
1334
916
  scrollX: number;
1335
917
  scrollY: number;
1336
- zoom: {
1337
- value: import("../types").NormalizedZoomValue;
1338
- };
1339
918
  contextMenu: {
1340
919
  items: import("../components/ContextMenu").ContextMenuItems;
1341
920
  top: number;
@@ -1343,18 +922,27 @@ export declare const actionZoomToFitSelection: {
1343
922
  } | null;
1344
923
  showWelcomeScreen: boolean;
1345
924
  isLoading: boolean;
1346
- errorMessage: import("react").ReactNode;
925
+ errorMessage: React.ReactNode;
1347
926
  activeEmbeddable: {
1348
927
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1349
- state: "active" | "hover";
928
+ state: "hover" | "active";
1350
929
  } | null;
1351
930
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1352
931
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1353
932
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1354
933
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1355
934
  isBindingEnabled: boolean;
1356
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1357
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
935
+ boxSelectionMode: import("../types").BoxSelectionMode;
936
+ bindingPreference: "enabled" | "disabled";
937
+ isMidpointSnappingEnabled: boolean;
938
+ suggestedBinding: {
939
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
940
+ midPoint?: import("@excalidraw/math").GlobalPoint;
941
+ } | null;
942
+ hoveredArrowTextAnchor: {
943
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
944
+ anchor: "start" | "end" | "label";
945
+ } | null;
1358
946
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1359
947
  frameRendering: {
1360
948
  enabled: boolean;
@@ -1362,14 +950,18 @@ export declare const actionZoomToFitSelection: {
1362
950
  outline: boolean;
1363
951
  clip: boolean;
1364
952
  };
1365
- editingFrame: string | null;
1366
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1367
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
953
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
954
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
955
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1368
956
  activeTool: {
1369
957
  lastActiveTool: import("../types").ActiveTool | null;
1370
958
  locked: boolean;
1371
959
  fromSelection: boolean;
1372
960
  } & import("../types").ActiveTool;
961
+ preferredSelectionTool: {
962
+ type: "selection" | "lasso";
963
+ initialized: boolean;
964
+ };
1373
965
  penMode: boolean;
1374
966
  penDetected: boolean;
1375
967
  exportBackground: boolean;
@@ -1378,42 +970,50 @@ export declare const actionZoomToFitSelection: {
1378
970
  exportScale: number;
1379
971
  currentItemStrokeColor: string;
1380
972
  currentItemBackgroundColor: string;
1381
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1382
- currentItemStrokeWidth: number;
1383
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
973
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
974
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
975
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1384
976
  currentItemRoughness: number;
977
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1385
978
  currentItemOpacity: number;
1386
- currentItemFontFamily: number;
979
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1387
980
  currentItemFontSize: number;
1388
- currentItemTextAlign: string;
981
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1389
982
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1390
983
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1391
- currentHoveredFontFamily: number | null;
984
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1392
985
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1393
- currentItemArrowType: "round" | "sharp" | "elbow";
986
+ currentItemArrowType: "sharp" | "round" | "elbow";
1394
987
  viewBackgroundColor: string;
988
+ scrollConstraints: import("../types").ScrollConstraints | null;
1395
989
  cursorButton: "up" | "down";
1396
990
  scrolledOutside: boolean;
1397
991
  name: string | null;
1398
992
  isResizing: boolean;
1399
993
  isRotating: boolean;
1400
- openMenu: "canvas" | "shape" | null;
1401
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
994
+ openMenu: "canvas" | null;
995
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1402
996
  openSidebar: {
1403
- name: string;
1404
- tab?: string | undefined;
997
+ name: import("../types").SidebarName;
998
+ tab?: import("../types").SidebarTabName;
1405
999
  } | null;
1406
- openDialog: {
1000
+ openDialog: null | {
1407
1001
  name: "imageExport" | "help" | "jsonExport";
1408
1002
  } | {
1409
1003
  name: "ttd";
1410
- tab: "mermaid" | "text-to-diagram";
1004
+ tab: "text-to-diagram" | "mermaid";
1411
1005
  } | {
1412
1006
  name: "commandPalette";
1007
+ } | {
1008
+ name: "settings";
1413
1009
  } | {
1414
1010
  name: "elementLinkSelector";
1415
- sourceElementId: string;
1416
- } | null;
1011
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1012
+ } | {
1013
+ name: "charts";
1014
+ data: import("../charts").Spreadsheet;
1015
+ rawText: string;
1016
+ };
1417
1017
  defaultSidebarDockedPreference: boolean;
1418
1018
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1419
1019
  selectedElementIds: Readonly<{
@@ -1428,9 +1028,9 @@ export declare const actionZoomToFitSelection: {
1428
1028
  selectedElementsAreBeingDragged: boolean;
1429
1029
  shouldCacheIgnoreZoom: boolean;
1430
1030
  toast: {
1431
- message: string;
1432
- closable?: boolean | undefined;
1433
- duration?: number | undefined;
1031
+ message: React.ReactNode;
1032
+ closable?: boolean;
1033
+ duration?: number;
1434
1034
  } | null;
1435
1035
  zenModeEnabled: boolean;
1436
1036
  theme: import("@excalidraw/element/types").Theme;
@@ -1441,45 +1041,18 @@ export declare const actionZoomToFitSelection: {
1441
1041
  selectedGroupIds: {
1442
1042
  [groupId: string]: boolean;
1443
1043
  };
1444
- editingGroupId: string | null;
1044
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1445
1045
  width: number;
1446
1046
  height: number;
1447
1047
  offsetTop: number;
1448
1048
  offsetLeft: number;
1449
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1450
- collaborators: Map<import("../types").SocketId, Readonly<{
1451
- pointer?: import("../types").CollaboratorPointer | undefined;
1452
- button?: "up" | "down" | undefined;
1453
- selectedElementIds?: Readonly<{
1454
- [id: string]: true;
1455
- }> | undefined;
1456
- username?: string | null | undefined;
1457
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1458
- color?: {
1459
- background: string;
1460
- stroke: string;
1461
- } | undefined;
1462
- avatarUrl?: string | undefined;
1463
- id?: string | undefined;
1464
- socketId?: import("../types").SocketId | undefined;
1465
- isCurrentUser?: boolean | undefined;
1466
- isInCall?: boolean | undefined;
1467
- isSpeaking?: boolean | undefined;
1468
- isMuted?: boolean | undefined;
1469
- }>>;
1049
+ fileHandle: FileSystemFileHandle | null;
1050
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1470
1051
  stats: {
1471
1052
  open: boolean;
1472
1053
  panels: number;
1473
1054
  };
1474
- currentChartType: import("@excalidraw/element/types").ChartType;
1475
- pasteDialog: {
1476
- shown: false;
1477
- data: null;
1478
- } | {
1479
- shown: true;
1480
- data: import("../charts").Spreadsheet;
1481
- };
1482
- showHyperlinkPopup: false | "editor" | "info";
1055
+ showHyperlinkPopup: false | "info" | "editor";
1483
1056
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1484
1057
  snapLines: readonly import("../snapping").SnapLine[];
1485
1058
  originSnapOffset: {
@@ -1490,16 +1063,16 @@ export declare const actionZoomToFitSelection: {
1490
1063
  userToFollow: import("../types").UserToFollow | null;
1491
1064
  followedBy: Set<import("../types").SocketId>;
1492
1065
  isCropping: boolean;
1493
- croppingElementId: string | null;
1066
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1494
1067
  searchMatches: Readonly<{
1495
- focusedId: string | null;
1068
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1496
1069
  matches: readonly import("../types").SearchMatch[];
1497
1070
  }> | null;
1498
1071
  activeLockedId: string | null;
1499
1072
  lockedMultiSelections: {
1500
1073
  [groupId: string]: true;
1501
1074
  };
1502
- stylesPanelMode: "compact" | "full";
1075
+ bindMode: import("@excalidraw/element/types").BindMode;
1503
1076
  };
1504
1077
  captureUpdate: "EVENTUALLY";
1505
1078
  };
@@ -1512,16 +1085,16 @@ export declare const actionZoomToFit: {
1512
1085
  label: string;
1513
1086
  icon: import("react/jsx-runtime").JSX.Element;
1514
1087
  viewMode: true;
1088
+ navigation: true;
1515
1089
  trackEvent: {
1516
1090
  category: "canvas";
1517
1091
  };
1518
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1092
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1093
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1519
1094
  appState: {
1095
+ zoom: import("../types").Zoom;
1520
1096
  scrollX: number;
1521
1097
  scrollY: number;
1522
- zoom: {
1523
- value: import("../types").NormalizedZoomValue;
1524
- };
1525
1098
  contextMenu: {
1526
1099
  items: import("../components/ContextMenu").ContextMenuItems;
1527
1100
  top: number;
@@ -1529,18 +1102,27 @@ export declare const actionZoomToFit: {
1529
1102
  } | null;
1530
1103
  showWelcomeScreen: boolean;
1531
1104
  isLoading: boolean;
1532
- errorMessage: import("react").ReactNode;
1105
+ errorMessage: React.ReactNode;
1533
1106
  activeEmbeddable: {
1534
1107
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1535
- state: "active" | "hover";
1108
+ state: "hover" | "active";
1536
1109
  } | null;
1537
1110
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1538
1111
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1539
1112
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1540
1113
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1541
1114
  isBindingEnabled: boolean;
1542
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1543
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1115
+ boxSelectionMode: import("../types").BoxSelectionMode;
1116
+ bindingPreference: "enabled" | "disabled";
1117
+ isMidpointSnappingEnabled: boolean;
1118
+ suggestedBinding: {
1119
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1120
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1121
+ } | null;
1122
+ hoveredArrowTextAnchor: {
1123
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1124
+ anchor: "start" | "end" | "label";
1125
+ } | null;
1544
1126
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1545
1127
  frameRendering: {
1546
1128
  enabled: boolean;
@@ -1548,14 +1130,18 @@ export declare const actionZoomToFit: {
1548
1130
  outline: boolean;
1549
1131
  clip: boolean;
1550
1132
  };
1551
- editingFrame: string | null;
1552
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1553
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1133
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1134
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1135
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1554
1136
  activeTool: {
1555
1137
  lastActiveTool: import("../types").ActiveTool | null;
1556
1138
  locked: boolean;
1557
1139
  fromSelection: boolean;
1558
1140
  } & import("../types").ActiveTool;
1141
+ preferredSelectionTool: {
1142
+ type: "selection" | "lasso";
1143
+ initialized: boolean;
1144
+ };
1559
1145
  penMode: boolean;
1560
1146
  penDetected: boolean;
1561
1147
  exportBackground: boolean;
@@ -1564,230 +1150,50 @@ export declare const actionZoomToFit: {
1564
1150
  exportScale: number;
1565
1151
  currentItemStrokeColor: string;
1566
1152
  currentItemBackgroundColor: string;
1567
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1568
- currentItemStrokeWidth: number;
1569
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1153
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1154
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1155
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1570
1156
  currentItemRoughness: number;
1157
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1571
1158
  currentItemOpacity: number;
1572
- currentItemFontFamily: number;
1159
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1573
1160
  currentItemFontSize: number;
1574
- currentItemTextAlign: string;
1161
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1575
1162
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1576
1163
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1577
- currentHoveredFontFamily: number | null;
1164
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1578
1165
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1579
- currentItemArrowType: "round" | "sharp" | "elbow";
1166
+ currentItemArrowType: "sharp" | "round" | "elbow";
1580
1167
  viewBackgroundColor: string;
1168
+ scrollConstraints: import("../types").ScrollConstraints | null;
1581
1169
  cursorButton: "up" | "down";
1582
1170
  scrolledOutside: boolean;
1583
1171
  name: string | null;
1584
1172
  isResizing: boolean;
1585
1173
  isRotating: boolean;
1586
- openMenu: "canvas" | "shape" | null;
1587
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1174
+ openMenu: "canvas" | null;
1175
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1588
1176
  openSidebar: {
1589
- name: string;
1590
- tab?: string | undefined;
1177
+ name: import("../types").SidebarName;
1178
+ tab?: import("../types").SidebarTabName;
1591
1179
  } | null;
1592
- openDialog: {
1180
+ openDialog: null | {
1593
1181
  name: "imageExport" | "help" | "jsonExport";
1594
1182
  } | {
1595
1183
  name: "ttd";
1596
- tab: "mermaid" | "text-to-diagram";
1184
+ tab: "text-to-diagram" | "mermaid";
1597
1185
  } | {
1598
1186
  name: "commandPalette";
1187
+ } | {
1188
+ name: "settings";
1599
1189
  } | {
1600
1190
  name: "elementLinkSelector";
1601
- sourceElementId: string;
1602
- } | null;
1603
- defaultSidebarDockedPreference: boolean;
1604
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1605
- selectedElementIds: Readonly<{
1606
- [id: string]: true;
1607
- }>;
1608
- hoveredElementIds: Readonly<{
1609
- [id: string]: true;
1610
- }>;
1611
- previousSelectedElementIds: {
1612
- [id: string]: true;
1613
- };
1614
- selectedElementsAreBeingDragged: boolean;
1615
- shouldCacheIgnoreZoom: boolean;
1616
- toast: {
1617
- message: string;
1618
- closable?: boolean | undefined;
1619
- duration?: number | undefined;
1620
- } | null;
1621
- zenModeEnabled: boolean;
1622
- theme: import("@excalidraw/element/types").Theme;
1623
- gridSize: number;
1624
- gridStep: number;
1625
- gridModeEnabled: boolean;
1626
- viewModeEnabled: boolean;
1627
- selectedGroupIds: {
1628
- [groupId: string]: boolean;
1629
- };
1630
- editingGroupId: string | null;
1631
- width: number;
1632
- height: number;
1633
- offsetTop: number;
1634
- offsetLeft: number;
1635
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1636
- collaborators: Map<import("../types").SocketId, Readonly<{
1637
- pointer?: import("../types").CollaboratorPointer | undefined;
1638
- button?: "up" | "down" | undefined;
1639
- selectedElementIds?: Readonly<{
1640
- [id: string]: true;
1641
- }> | undefined;
1642
- username?: string | null | undefined;
1643
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1644
- color?: {
1645
- background: string;
1646
- stroke: string;
1647
- } | undefined;
1648
- avatarUrl?: string | undefined;
1649
- id?: string | undefined;
1650
- socketId?: import("../types").SocketId | undefined;
1651
- isCurrentUser?: boolean | undefined;
1652
- isInCall?: boolean | undefined;
1653
- isSpeaking?: boolean | undefined;
1654
- isMuted?: boolean | undefined;
1655
- }>>;
1656
- stats: {
1657
- open: boolean;
1658
- panels: number;
1659
- };
1660
- currentChartType: import("@excalidraw/element/types").ChartType;
1661
- pasteDialog: {
1662
- shown: false;
1663
- data: null;
1191
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1664
1192
  } | {
1665
- shown: true;
1193
+ name: "charts";
1666
1194
  data: import("../charts").Spreadsheet;
1195
+ rawText: string;
1667
1196
  };
1668
- showHyperlinkPopup: false | "editor" | "info";
1669
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1670
- snapLines: readonly import("../snapping").SnapLine[];
1671
- originSnapOffset: {
1672
- x: number;
1673
- y: number;
1674
- } | null;
1675
- objectsSnapModeEnabled: boolean;
1676
- userToFollow: import("../types").UserToFollow | null;
1677
- followedBy: Set<import("../types").SocketId>;
1678
- isCropping: boolean;
1679
- croppingElementId: string | null;
1680
- searchMatches: Readonly<{
1681
- focusedId: string | null;
1682
- matches: readonly import("../types").SearchMatch[];
1683
- }> | null;
1684
- activeLockedId: string | null;
1685
- lockedMultiSelections: {
1686
- [groupId: string]: true;
1687
- };
1688
- stylesPanelMode: "compact" | "full";
1689
- };
1690
- captureUpdate: "EVENTUALLY";
1691
- };
1692
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1693
- } & {
1694
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1695
- };
1696
- export declare const actionToggleTheme: {
1697
- name: "toggleTheme";
1698
- label: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>) => "buttons.lightMode" | "buttons.darkMode";
1699
- keywords: string[];
1700
- icon: (appState: import("../types").UIAppState) => import("react/jsx-runtime").JSX.Element;
1701
- viewMode: true;
1702
- trackEvent: {
1703
- category: "canvas";
1704
- };
1705
- perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1706
- appState: {
1707
- theme: any;
1708
- contextMenu: {
1709
- items: import("../components/ContextMenu").ContextMenuItems;
1710
- top: number;
1711
- left: number;
1712
- } | null;
1713
- showWelcomeScreen: boolean;
1714
- isLoading: boolean;
1715
- errorMessage: import("react").ReactNode;
1716
- activeEmbeddable: {
1717
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1718
- state: "active" | "hover";
1719
- } | null;
1720
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1721
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1722
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1723
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1724
- isBindingEnabled: boolean;
1725
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1726
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1727
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1728
- frameRendering: {
1729
- enabled: boolean;
1730
- name: boolean;
1731
- outline: boolean;
1732
- clip: boolean;
1733
- };
1734
- editingFrame: string | null;
1735
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1736
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1737
- activeTool: {
1738
- lastActiveTool: import("../types").ActiveTool | null;
1739
- locked: boolean;
1740
- fromSelection: boolean;
1741
- } & import("../types").ActiveTool;
1742
- penMode: boolean;
1743
- penDetected: boolean;
1744
- exportBackground: boolean;
1745
- exportEmbedScene: boolean;
1746
- exportWithDarkMode: boolean;
1747
- exportScale: number;
1748
- currentItemStrokeColor: string;
1749
- currentItemBackgroundColor: string;
1750
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1751
- currentItemStrokeWidth: number;
1752
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1753
- currentItemRoughness: number;
1754
- currentItemOpacity: number;
1755
- currentItemFontFamily: number;
1756
- currentItemFontSize: number;
1757
- currentItemTextAlign: string;
1758
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1759
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1760
- currentHoveredFontFamily: number | null;
1761
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1762
- currentItemArrowType: "round" | "sharp" | "elbow";
1763
- viewBackgroundColor: string;
1764
- scrollX: number;
1765
- scrollY: number;
1766
- cursorButton: "up" | "down";
1767
- scrolledOutside: boolean;
1768
- name: string | null;
1769
- isResizing: boolean;
1770
- isRotating: boolean;
1771
- zoom: Readonly<{
1772
- value: import("../types").NormalizedZoomValue;
1773
- }>;
1774
- openMenu: "canvas" | "shape" | null;
1775
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1776
- openSidebar: {
1777
- name: string;
1778
- tab?: string | undefined;
1779
- } | null;
1780
- openDialog: {
1781
- name: "imageExport" | "help" | "jsonExport";
1782
- } | {
1783
- name: "ttd";
1784
- tab: "mermaid" | "text-to-diagram";
1785
- } | {
1786
- name: "commandPalette";
1787
- } | {
1788
- name: "elementLinkSelector";
1789
- sourceElementId: string;
1790
- } | null;
1791
1197
  defaultSidebarDockedPreference: boolean;
1792
1198
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1793
1199
  selectedElementIds: Readonly<{
@@ -1802,11 +1208,12 @@ export declare const actionToggleTheme: {
1802
1208
  selectedElementsAreBeingDragged: boolean;
1803
1209
  shouldCacheIgnoreZoom: boolean;
1804
1210
  toast: {
1805
- message: string;
1806
- closable?: boolean | undefined;
1807
- duration?: number | undefined;
1211
+ message: React.ReactNode;
1212
+ closable?: boolean;
1213
+ duration?: number;
1808
1214
  } | null;
1809
1215
  zenModeEnabled: boolean;
1216
+ theme: import("@excalidraw/element/types").Theme;
1810
1217
  gridSize: number;
1811
1218
  gridStep: number;
1812
1219
  gridModeEnabled: boolean;
@@ -1814,45 +1221,18 @@ export declare const actionToggleTheme: {
1814
1221
  selectedGroupIds: {
1815
1222
  [groupId: string]: boolean;
1816
1223
  };
1817
- editingGroupId: string | null;
1224
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1818
1225
  width: number;
1819
1226
  height: number;
1820
1227
  offsetTop: number;
1821
1228
  offsetLeft: number;
1822
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1823
- collaborators: Map<import("../types").SocketId, Readonly<{
1824
- pointer?: import("../types").CollaboratorPointer | undefined;
1825
- button?: "up" | "down" | undefined;
1826
- selectedElementIds?: Readonly<{
1827
- [id: string]: true;
1828
- }> | undefined;
1829
- username?: string | null | undefined;
1830
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1831
- color?: {
1832
- background: string;
1833
- stroke: string;
1834
- } | undefined;
1835
- avatarUrl?: string | undefined;
1836
- id?: string | undefined;
1837
- socketId?: import("../types").SocketId | undefined;
1838
- isCurrentUser?: boolean | undefined;
1839
- isInCall?: boolean | undefined;
1840
- isSpeaking?: boolean | undefined;
1841
- isMuted?: boolean | undefined;
1842
- }>>;
1229
+ fileHandle: FileSystemFileHandle | null;
1230
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1843
1231
  stats: {
1844
1232
  open: boolean;
1845
1233
  panels: number;
1846
1234
  };
1847
- currentChartType: import("@excalidraw/element/types").ChartType;
1848
- pasteDialog: {
1849
- shown: false;
1850
- data: null;
1851
- } | {
1852
- shown: true;
1853
- data: import("../charts").Spreadsheet;
1854
- };
1855
- showHyperlinkPopup: false | "editor" | "info";
1235
+ showHyperlinkPopup: false | "info" | "editor";
1856
1236
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1857
1237
  snapLines: readonly import("../snapping").SnapLine[];
1858
1238
  originSnapOffset: {
@@ -1863,555 +1243,23 @@ export declare const actionToggleTheme: {
1863
1243
  userToFollow: import("../types").UserToFollow | null;
1864
1244
  followedBy: Set<import("../types").SocketId>;
1865
1245
  isCropping: boolean;
1866
- croppingElementId: string | null;
1246
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1867
1247
  searchMatches: Readonly<{
1868
- focusedId: string | null;
1248
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1869
1249
  matches: readonly import("../types").SearchMatch[];
1870
1250
  }> | null;
1871
1251
  activeLockedId: string | null;
1872
1252
  lockedMultiSelections: {
1873
1253
  [groupId: string]: true;
1874
1254
  };
1875
- stylesPanelMode: "compact" | "full";
1255
+ bindMode: import("@excalidraw/element/types").BindMode;
1876
1256
  };
1877
1257
  captureUpdate: "EVENTUALLY";
1878
1258
  };
1879
1259
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1880
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1881
1260
  } & {
1882
1261
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1883
1262
  };
1884
- export declare const actionToggleEraserTool: {
1885
- name: "toggleEraserTool";
1886
- label: string;
1887
- trackEvent: {
1888
- category: "toolbar";
1889
- };
1890
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1891
- appState: {
1892
- selectedElementIds: {};
1893
- selectedGroupIds: {};
1894
- activeEmbeddable: null;
1895
- activeTool: {
1896
- lastActiveTool: import("../types").ActiveTool | null;
1897
- locked: boolean;
1898
- fromSelection: boolean;
1899
- } & import("../types").ActiveTool;
1900
- contextMenu: {
1901
- items: import("../components/ContextMenu").ContextMenuItems;
1902
- top: number;
1903
- left: number;
1904
- } | null;
1905
- showWelcomeScreen: boolean;
1906
- isLoading: boolean;
1907
- errorMessage: import("react").ReactNode;
1908
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1909
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1910
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1911
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1912
- isBindingEnabled: boolean;
1913
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1914
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1915
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1916
- frameRendering: {
1917
- enabled: boolean;
1918
- name: boolean;
1919
- outline: boolean;
1920
- clip: boolean;
1921
- };
1922
- editingFrame: string | null;
1923
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1924
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1925
- penMode: boolean;
1926
- penDetected: boolean;
1927
- exportBackground: boolean;
1928
- exportEmbedScene: boolean;
1929
- exportWithDarkMode: boolean;
1930
- exportScale: number;
1931
- currentItemStrokeColor: string;
1932
- currentItemBackgroundColor: string;
1933
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1934
- currentItemStrokeWidth: number;
1935
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1936
- currentItemRoughness: number;
1937
- currentItemOpacity: number;
1938
- currentItemFontFamily: number;
1939
- currentItemFontSize: number;
1940
- currentItemTextAlign: string;
1941
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1942
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1943
- currentHoveredFontFamily: number | null;
1944
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1945
- currentItemArrowType: "round" | "sharp" | "elbow";
1946
- viewBackgroundColor: string;
1947
- scrollX: number;
1948
- scrollY: number;
1949
- cursorButton: "up" | "down";
1950
- scrolledOutside: boolean;
1951
- name: string | null;
1952
- isResizing: boolean;
1953
- isRotating: boolean;
1954
- zoom: Readonly<{
1955
- value: import("../types").NormalizedZoomValue;
1956
- }>;
1957
- openMenu: "canvas" | "shape" | null;
1958
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1959
- openSidebar: {
1960
- name: string;
1961
- tab?: string | undefined;
1962
- } | null;
1963
- openDialog: {
1964
- name: "imageExport" | "help" | "jsonExport";
1965
- } | {
1966
- name: "ttd";
1967
- tab: "mermaid" | "text-to-diagram";
1968
- } | {
1969
- name: "commandPalette";
1970
- } | {
1971
- name: "elementLinkSelector";
1972
- sourceElementId: string;
1973
- } | null;
1974
- defaultSidebarDockedPreference: boolean;
1975
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1976
- hoveredElementIds: Readonly<{
1977
- [id: string]: true;
1978
- }>;
1979
- previousSelectedElementIds: {
1980
- [id: string]: true;
1981
- };
1982
- selectedElementsAreBeingDragged: boolean;
1983
- shouldCacheIgnoreZoom: boolean;
1984
- toast: {
1985
- message: string;
1986
- closable?: boolean | undefined;
1987
- duration?: number | undefined;
1988
- } | null;
1989
- zenModeEnabled: boolean;
1990
- theme: import("@excalidraw/element/types").Theme;
1991
- gridSize: number;
1992
- gridStep: number;
1993
- gridModeEnabled: boolean;
1994
- viewModeEnabled: boolean;
1995
- editingGroupId: string | null;
1996
- width: number;
1997
- height: number;
1998
- offsetTop: number;
1999
- offsetLeft: number;
2000
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
2001
- collaborators: Map<import("../types").SocketId, Readonly<{
2002
- pointer?: import("../types").CollaboratorPointer | undefined;
2003
- button?: "up" | "down" | undefined;
2004
- selectedElementIds?: Readonly<{
2005
- [id: string]: true;
2006
- }> | undefined;
2007
- username?: string | null | undefined;
2008
- userState?: import("@excalidraw/common").UserIdleState | undefined;
2009
- color?: {
2010
- background: string;
2011
- stroke: string;
2012
- } | undefined;
2013
- avatarUrl?: string | undefined;
2014
- id?: string | undefined;
2015
- socketId?: import("../types").SocketId | undefined;
2016
- isCurrentUser?: boolean | undefined;
2017
- isInCall?: boolean | undefined;
2018
- isSpeaking?: boolean | undefined;
2019
- isMuted?: boolean | undefined;
2020
- }>>;
2021
- stats: {
2022
- open: boolean;
2023
- panels: number;
2024
- };
2025
- currentChartType: import("@excalidraw/element/types").ChartType;
2026
- pasteDialog: {
2027
- shown: false;
2028
- data: null;
2029
- } | {
2030
- shown: true;
2031
- data: import("../charts").Spreadsheet;
2032
- };
2033
- showHyperlinkPopup: false | "editor" | "info";
2034
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2035
- snapLines: readonly import("../snapping").SnapLine[];
2036
- originSnapOffset: {
2037
- x: number;
2038
- y: number;
2039
- } | null;
2040
- objectsSnapModeEnabled: boolean;
2041
- userToFollow: import("../types").UserToFollow | null;
2042
- followedBy: Set<import("../types").SocketId>;
2043
- isCropping: boolean;
2044
- croppingElementId: string | null;
2045
- searchMatches: Readonly<{
2046
- focusedId: string | null;
2047
- matches: readonly import("../types").SearchMatch[];
2048
- }> | null;
2049
- activeLockedId: string | null;
2050
- lockedMultiSelections: {
2051
- [groupId: string]: true;
2052
- };
2053
- stylesPanelMode: "compact" | "full";
2054
- };
2055
- captureUpdate: "IMMEDIATELY";
2056
- };
2057
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2058
- } & {
2059
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2060
- };
2061
- export declare const actionToggleLassoTool: {
2062
- name: "toggleLassoTool";
2063
- label: string;
2064
- icon: import("react/jsx-runtime").JSX.Element;
2065
- trackEvent: {
2066
- category: "toolbar";
2067
- };
2068
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
2069
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
2070
- appState: {
2071
- selectedElementIds: {};
2072
- selectedGroupIds: {};
2073
- activeEmbeddable: null;
2074
- activeTool: {
2075
- lastActiveTool: import("../types").ActiveTool | null;
2076
- locked: boolean;
2077
- fromSelection: boolean;
2078
- } & import("../types").ActiveTool;
2079
- contextMenu: {
2080
- items: import("../components/ContextMenu").ContextMenuItems;
2081
- top: number;
2082
- left: number;
2083
- } | null;
2084
- showWelcomeScreen: boolean;
2085
- isLoading: boolean;
2086
- errorMessage: import("react").ReactNode;
2087
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
2088
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2089
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
2090
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2091
- isBindingEnabled: boolean;
2092
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
2093
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2094
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2095
- frameRendering: {
2096
- enabled: boolean;
2097
- name: boolean;
2098
- outline: boolean;
2099
- clip: boolean;
2100
- };
2101
- editingFrame: string | null;
2102
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2103
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2104
- penMode: boolean;
2105
- penDetected: boolean;
2106
- exportBackground: boolean;
2107
- exportEmbedScene: boolean;
2108
- exportWithDarkMode: boolean;
2109
- exportScale: number;
2110
- currentItemStrokeColor: string;
2111
- currentItemBackgroundColor: string;
2112
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
2113
- currentItemStrokeWidth: number;
2114
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
2115
- currentItemRoughness: number;
2116
- currentItemOpacity: number;
2117
- currentItemFontFamily: number;
2118
- currentItemFontSize: number;
2119
- currentItemTextAlign: string;
2120
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2121
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2122
- currentHoveredFontFamily: number | null;
2123
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
2124
- currentItemArrowType: "round" | "sharp" | "elbow";
2125
- viewBackgroundColor: string;
2126
- scrollX: number;
2127
- scrollY: number;
2128
- cursorButton: "up" | "down";
2129
- scrolledOutside: boolean;
2130
- name: string | null;
2131
- isResizing: boolean;
2132
- isRotating: boolean;
2133
- zoom: Readonly<{
2134
- value: import("../types").NormalizedZoomValue;
2135
- }>;
2136
- openMenu: "canvas" | "shape" | null;
2137
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
2138
- openSidebar: {
2139
- name: string;
2140
- tab?: string | undefined;
2141
- } | null;
2142
- openDialog: {
2143
- name: "imageExport" | "help" | "jsonExport";
2144
- } | {
2145
- name: "ttd";
2146
- tab: "mermaid" | "text-to-diagram";
2147
- } | {
2148
- name: "commandPalette";
2149
- } | {
2150
- name: "elementLinkSelector";
2151
- sourceElementId: string;
2152
- } | null;
2153
- defaultSidebarDockedPreference: boolean;
2154
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
2155
- hoveredElementIds: Readonly<{
2156
- [id: string]: true;
2157
- }>;
2158
- previousSelectedElementIds: {
2159
- [id: string]: true;
2160
- };
2161
- selectedElementsAreBeingDragged: boolean;
2162
- shouldCacheIgnoreZoom: boolean;
2163
- toast: {
2164
- message: string;
2165
- closable?: boolean | undefined;
2166
- duration?: number | undefined;
2167
- } | null;
2168
- zenModeEnabled: boolean;
2169
- theme: import("@excalidraw/element/types").Theme;
2170
- gridSize: number;
2171
- gridStep: number;
2172
- gridModeEnabled: boolean;
2173
- viewModeEnabled: boolean;
2174
- editingGroupId: string | null;
2175
- width: number;
2176
- height: number;
2177
- offsetTop: number;
2178
- offsetLeft: number;
2179
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
2180
- collaborators: Map<import("../types").SocketId, Readonly<{
2181
- pointer?: import("../types").CollaboratorPointer | undefined;
2182
- button?: "up" | "down" | undefined;
2183
- selectedElementIds?: Readonly<{
2184
- [id: string]: true;
2185
- }> | undefined;
2186
- username?: string | null | undefined;
2187
- userState?: import("@excalidraw/common").UserIdleState | undefined;
2188
- color?: {
2189
- background: string;
2190
- stroke: string;
2191
- } | undefined;
2192
- avatarUrl?: string | undefined;
2193
- id?: string | undefined;
2194
- socketId?: import("../types").SocketId | undefined;
2195
- isCurrentUser?: boolean | undefined;
2196
- isInCall?: boolean | undefined;
2197
- isSpeaking?: boolean | undefined;
2198
- isMuted?: boolean | undefined;
2199
- }>>;
2200
- stats: {
2201
- open: boolean;
2202
- panels: number;
2203
- };
2204
- currentChartType: import("@excalidraw/element/types").ChartType;
2205
- pasteDialog: {
2206
- shown: false;
2207
- data: null;
2208
- } | {
2209
- shown: true;
2210
- data: import("../charts").Spreadsheet;
2211
- };
2212
- showHyperlinkPopup: false | "editor" | "info";
2213
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2214
- snapLines: readonly import("../snapping").SnapLine[];
2215
- originSnapOffset: {
2216
- x: number;
2217
- y: number;
2218
- } | null;
2219
- objectsSnapModeEnabled: boolean;
2220
- userToFollow: import("../types").UserToFollow | null;
2221
- followedBy: Set<import("../types").SocketId>;
2222
- isCropping: boolean;
2223
- croppingElementId: string | null;
2224
- searchMatches: Readonly<{
2225
- focusedId: string | null;
2226
- matches: readonly import("../types").SearchMatch[];
2227
- }> | null;
2228
- activeLockedId: string | null;
2229
- lockedMultiSelections: {
2230
- [groupId: string]: true;
2231
- };
2232
- stylesPanelMode: "compact" | "full";
2233
- };
2234
- captureUpdate: "NEVER";
2235
- };
2236
- } & {
2237
- keyTest?: undefined;
2238
- };
2239
- export declare const actionToggleHandTool: {
2240
- name: "toggleHandTool";
2241
- label: string;
2242
- trackEvent: {
2243
- category: "toolbar";
2244
- };
2245
- icon: import("react/jsx-runtime").JSX.Element;
2246
- viewMode: false;
2247
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
2248
- appState: {
2249
- selectedElementIds: {};
2250
- selectedGroupIds: {};
2251
- activeEmbeddable: null;
2252
- activeTool: {
2253
- lastActiveTool: import("../types").ActiveTool | null;
2254
- locked: boolean;
2255
- fromSelection: boolean;
2256
- } & import("../types").ActiveTool;
2257
- contextMenu: {
2258
- items: import("../components/ContextMenu").ContextMenuItems;
2259
- top: number;
2260
- left: number;
2261
- } | null;
2262
- showWelcomeScreen: boolean;
2263
- isLoading: boolean;
2264
- errorMessage: import("react").ReactNode;
2265
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
2266
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2267
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
2268
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2269
- isBindingEnabled: boolean;
2270
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
2271
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
2272
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2273
- frameRendering: {
2274
- enabled: boolean;
2275
- name: boolean;
2276
- outline: boolean;
2277
- clip: boolean;
2278
- };
2279
- editingFrame: string | null;
2280
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2281
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2282
- penMode: boolean;
2283
- penDetected: boolean;
2284
- exportBackground: boolean;
2285
- exportEmbedScene: boolean;
2286
- exportWithDarkMode: boolean;
2287
- exportScale: number;
2288
- currentItemStrokeColor: string;
2289
- currentItemBackgroundColor: string;
2290
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
2291
- currentItemStrokeWidth: number;
2292
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
2293
- currentItemRoughness: number;
2294
- currentItemOpacity: number;
2295
- currentItemFontFamily: number;
2296
- currentItemFontSize: number;
2297
- currentItemTextAlign: string;
2298
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2299
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2300
- currentHoveredFontFamily: number | null;
2301
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
2302
- currentItemArrowType: "round" | "sharp" | "elbow";
2303
- viewBackgroundColor: string;
2304
- scrollX: number;
2305
- scrollY: number;
2306
- cursorButton: "up" | "down";
2307
- scrolledOutside: boolean;
2308
- name: string | null;
2309
- isResizing: boolean;
2310
- isRotating: boolean;
2311
- zoom: Readonly<{
2312
- value: import("../types").NormalizedZoomValue;
2313
- }>;
2314
- openMenu: "canvas" | "shape" | null;
2315
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
2316
- openSidebar: {
2317
- name: string;
2318
- tab?: string | undefined;
2319
- } | null;
2320
- openDialog: {
2321
- name: "imageExport" | "help" | "jsonExport";
2322
- } | {
2323
- name: "ttd";
2324
- tab: "mermaid" | "text-to-diagram";
2325
- } | {
2326
- name: "commandPalette";
2327
- } | {
2328
- name: "elementLinkSelector";
2329
- sourceElementId: string;
2330
- } | null;
2331
- defaultSidebarDockedPreference: boolean;
2332
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
2333
- hoveredElementIds: Readonly<{
2334
- [id: string]: true;
2335
- }>;
2336
- previousSelectedElementIds: {
2337
- [id: string]: true;
2338
- };
2339
- selectedElementsAreBeingDragged: boolean;
2340
- shouldCacheIgnoreZoom: boolean;
2341
- toast: {
2342
- message: string;
2343
- closable?: boolean | undefined;
2344
- duration?: number | undefined;
2345
- } | null;
2346
- zenModeEnabled: boolean;
2347
- theme: import("@excalidraw/element/types").Theme;
2348
- gridSize: number;
2349
- gridStep: number;
2350
- gridModeEnabled: boolean;
2351
- viewModeEnabled: boolean;
2352
- editingGroupId: string | null;
2353
- width: number;
2354
- height: number;
2355
- offsetTop: number;
2356
- offsetLeft: number;
2357
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
2358
- collaborators: Map<import("../types").SocketId, Readonly<{
2359
- pointer?: import("../types").CollaboratorPointer | undefined;
2360
- button?: "up" | "down" | undefined;
2361
- selectedElementIds?: Readonly<{
2362
- [id: string]: true;
2363
- }> | undefined;
2364
- username?: string | null | undefined;
2365
- userState?: import("@excalidraw/common").UserIdleState | undefined;
2366
- color?: {
2367
- background: string;
2368
- stroke: string;
2369
- } | undefined;
2370
- avatarUrl?: string | undefined;
2371
- id?: string | undefined;
2372
- socketId?: import("../types").SocketId | undefined;
2373
- isCurrentUser?: boolean | undefined;
2374
- isInCall?: boolean | undefined;
2375
- isSpeaking?: boolean | undefined;
2376
- isMuted?: boolean | undefined;
2377
- }>>;
2378
- stats: {
2379
- open: boolean;
2380
- panels: number;
2381
- };
2382
- currentChartType: import("@excalidraw/element/types").ChartType;
2383
- pasteDialog: {
2384
- shown: false;
2385
- data: null;
2386
- } | {
2387
- shown: true;
2388
- data: import("../charts").Spreadsheet;
2389
- };
2390
- showHyperlinkPopup: false | "editor" | "info";
2391
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2392
- snapLines: readonly import("../snapping").SnapLine[];
2393
- originSnapOffset: {
2394
- x: number;
2395
- y: number;
2396
- } | null;
2397
- objectsSnapModeEnabled: boolean;
2398
- userToFollow: import("../types").UserToFollow | null;
2399
- followedBy: Set<import("../types").SocketId>;
2400
- isCropping: boolean;
2401
- croppingElementId: string | null;
2402
- searchMatches: Readonly<{
2403
- focusedId: string | null;
2404
- matches: readonly import("../types").SearchMatch[];
2405
- }> | null;
2406
- activeLockedId: string | null;
2407
- lockedMultiSelections: {
2408
- [groupId: string]: true;
2409
- };
2410
- stylesPanelMode: "compact" | "full";
2411
- };
2412
- captureUpdate: "IMMEDIATELY";
2413
- };
2414
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2415
- } & {
2416
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1263
+ export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1264
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
2417
1265
  };