@excalidraw/element 0.18.0-0fc927cb4 → 0.18.0-1acf66e

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