@excalidraw/element 0.18.0-042a6979d → 0.18.0-063e025

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