@excalidraw/element 0.18.0-d2463f87d → 0.18.0-d9e8a33

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