@excalidraw/math 0.18.0-c6f8ef9 → 0.18.0-d1cff91

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