@excalidraw/common 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 (307) hide show
  1. package/dist/dev/index.js +1693 -324
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +3 -3
  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 +47 -34
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +1 -1
  13. package/dist/types/common/src/utility-types.d.ts +0 -1
  14. package/dist/types/common/src/utils.d.ts +47 -77
  15. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  16. package/dist/types/element/src/Scene.d.ts +12 -8
  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 +16 -11
  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/zindex.d.ts +7 -1
  56. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +176 -210
  57. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  58. package/dist/types/excalidraw/actions/actionBoundText.d.ts +102 -125
  59. package/dist/types/excalidraw/actions/actionCanvas.d.ts +546 -1218
  60. package/dist/types/excalidraw/actions/actionClipboard.d.ts +129 -893
  61. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +49 -61
  62. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +164 -202
  63. package/dist/types/excalidraw/actions/actionDeselect.d.ts +161 -0
  64. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  65. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  66. package/dist/types/excalidraw/actions/actionElementLink.d.ts +56 -74
  67. package/dist/types/excalidraw/actions/actionElementLock.d.ts +101 -124
  68. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +62 -74
  69. package/dist/types/excalidraw/actions/actionExport.d.ts +180 -1408
  70. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  71. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  72. package/dist/types/excalidraw/actions/actionFrame.d.ts +329 -411
  73. package/dist/types/excalidraw/actions/actionGroup.d.ts +112 -143
  74. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +187 -236
  75. package/dist/types/excalidraw/actions/actionLink.d.ts +62 -74
  76. package/dist/types/excalidraw/actions/actionMenu.d.ts +51 -435
  77. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  78. package/dist/types/excalidraw/actions/actionProperties.d.ts +181 -2525
  79. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +56 -72
  80. package/dist/types/excalidraw/actions/actionStyles.d.ts +49 -60
  81. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  82. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +174 -0
  83. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +64 -77
  84. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +174 -0
  85. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +63 -75
  86. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +52 -71
  87. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  88. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +62 -74
  89. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +63 -75
  90. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +63 -75
  91. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  92. package/dist/types/excalidraw/actions/index.d.ts +5 -2
  93. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  94. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  95. package/dist/types/excalidraw/actions/types.d.ts +7 -7
  96. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  97. package/dist/types/excalidraw/appState.d.ts +45 -36
  98. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  99. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  100. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  101. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  102. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  103. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  104. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  105. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  106. package/dist/types/excalidraw/clipboard.d.ts +59 -21
  107. package/dist/types/excalidraw/components/Actions.d.ts +23 -7
  108. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  109. package/dist/types/excalidraw/components/App.d.ts +179 -100
  110. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  111. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  112. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  113. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -3
  114. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  115. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  116. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  117. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  118. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  119. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  120. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  121. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  122. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  123. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  124. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  125. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  126. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  127. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  128. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  129. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  130. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  131. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  132. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  133. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  134. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  135. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  136. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  137. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  138. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  139. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  140. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  141. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  142. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  143. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  144. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  145. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  146. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  147. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  148. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  149. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  150. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  151. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  152. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  153. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  154. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  155. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  156. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  157. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  158. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  159. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  160. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  161. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  162. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  163. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  164. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  165. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  166. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  167. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  168. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  169. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  170. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  171. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  172. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  173. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  174. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  175. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  176. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  177. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  178. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  179. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  180. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  181. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  182. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  183. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  184. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  185. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  186. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  187. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  188. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  189. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  190. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  191. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  192. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  193. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  194. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  195. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  196. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  197. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  198. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  199. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  200. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  201. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  202. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  203. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  204. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  205. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  206. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  207. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  208. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  209. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  210. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  211. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  212. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +8 -4
  213. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  214. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  215. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  216. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  217. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  218. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  219. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  220. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  221. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  222. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  223. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  224. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  225. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  226. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  227. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  228. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  229. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  230. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  231. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  232. package/dist/types/excalidraw/components/icons.d.ts +51 -21
  233. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  234. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  235. package/dist/types/excalidraw/components/shapes.d.ts +209 -1
  236. package/dist/types/excalidraw/data/blob.d.ts +331 -12
  237. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  238. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  239. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  240. package/dist/types/excalidraw/data/index.d.ts +8 -9
  241. package/dist/types/excalidraw/data/json.d.ts +171 -3
  242. package/dist/types/excalidraw/data/library.d.ts +25 -10
  243. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  244. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  245. package/dist/types/excalidraw/data/types.d.ts +4 -1
  246. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  247. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  248. package/dist/types/excalidraw/errors.d.ts +14 -0
  249. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  250. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  251. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  252. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  253. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  254. package/dist/types/excalidraw/i18n.d.ts +2 -2
  255. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  256. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  257. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  258. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  259. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  260. package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
  261. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  262. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  263. package/dist/types/excalidraw/scene/types.d.ts +23 -8
  264. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  265. package/dist/types/excalidraw/snapping.d.ts +12 -12
  266. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  267. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  268. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  269. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  270. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  271. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  272. package/dist/types/excalidraw/types.d.ts +294 -43
  273. package/dist/types/excalidraw/viewport.d.ts +316 -0
  274. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  275. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  276. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  277. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  278. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  279. package/dist/types/laser-pointer/src/state.d.ts +35 -0
  280. package/dist/types/math/src/constants.d.ts +0 -1
  281. package/dist/types/math/src/curve.d.ts +4 -1
  282. package/dist/types/math/src/point.d.ts +8 -2
  283. package/dist/types/math/src/polygon.d.ts +2 -2
  284. package/dist/types/math/src/range.d.ts +1 -3
  285. package/dist/types/math/src/segment.d.ts +4 -3
  286. package/dist/types/math/src/types.d.ts +25 -1
  287. package/dist/types/utils/src/export.d.ts +8 -8
  288. package/dist/types/utils/src/index.d.ts +1 -2
  289. package/dist/types/utils/src/shape.d.ts +6 -6
  290. package/package.json +7 -1
  291. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  292. package/dist/types/excalidraw/charts.d.ts +0 -27
  293. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  294. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  295. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  296. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  297. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  298. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  299. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  300. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  301. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  302. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  303. package/dist/types/excalidraw/index.d.ts +0 -47
  304. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  305. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  306. package/dist/types/utils/src/bbox.d.ts +0 -9
  307. 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,180 +27,16 @@ 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;
52
33
  fromSelection: boolean;
53
34
  } & import("../types").ActiveTool;
54
- viewBackgroundColor: string;
55
- frameRendering: {
56
- enabled: boolean;
57
- name: boolean;
58
- outline: boolean;
59
- clip: boolean;
60
- };
61
- name: string | null;
62
- zoom: Readonly<{
63
- value: import("../types").NormalizedZoomValue;
64
- }>;
65
- scrollX: number;
66
- scrollY: number;
67
35
  viewModeEnabled: boolean;
68
- openDialog: {
69
- name: "imageExport" | "help" | "jsonExport";
70
- } | {
71
- name: "ttd";
72
- tab: "mermaid" | "text-to-diagram";
73
- } | {
74
- name: "commandPalette";
75
- } | {
76
- name: "elementLinkSelector";
77
- sourceElementId: string;
78
- } | null;
79
- editingGroupId: string | null;
80
- selectedElementIds: Readonly<{
81
- [id: string]: true;
82
- }>;
83
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
84
- activeEmbeddable: {
85
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
86
- state: "active" | "hover";
87
- } | null;
88
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
89
- selectedGroupIds: {
90
- [groupId: string]: boolean;
91
- };
92
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
93
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
94
- isBindingEnabled: boolean;
95
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
96
- 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
- }>>;
118
- snapLines: readonly import("../snapping").SnapLine[];
119
36
  zenModeEnabled: boolean;
120
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
121
- isCropping: boolean;
122
- croppingElementId: string | null;
123
- searchMatches: Readonly<{
124
- focusedId: string | null;
125
- matches: readonly import("../types").SearchMatch[];
126
- }> | null;
127
- activeLockedId: string | null;
128
- contextMenu: {
129
- items: import("../components/ContextMenu").ContextMenuItems;
130
- top: number;
131
- left: number;
132
- } | null;
133
- showWelcomeScreen: boolean;
134
- isLoading: boolean;
135
- errorMessage: import("react").ReactNode;
136
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
137
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
138
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
139
- editingFrame: string | null;
140
- exportWithDarkMode: boolean;
141
- exportScale: number;
142
- currentItemStrokeColor: string;
143
- currentItemBackgroundColor: string;
144
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
145
- currentItemStrokeWidth: number;
146
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
147
- currentItemRoughness: number;
148
- currentItemOpacity: number;
149
- currentItemFontFamily: number;
150
- currentItemFontSize: number;
151
- currentItemTextAlign: string;
152
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
153
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
154
- currentHoveredFontFamily: number | null;
155
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
156
- currentItemArrowType: "round" | "sharp" | "elbow";
157
- cursorButton: "up" | "down";
158
- scrolledOutside: boolean;
159
- isResizing: boolean;
160
- openMenu: "canvas" | "shape" | null;
161
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
162
- openSidebar: {
163
- name: string;
164
- tab?: string | undefined;
165
- } | null;
166
- defaultSidebarDockedPreference: boolean;
167
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
168
- hoveredElementIds: Readonly<{
169
- [id: string]: true;
170
- }>;
171
- previousSelectedElementIds: {
172
- [id: string]: true;
173
- };
174
- selectedElementsAreBeingDragged: boolean;
175
- shouldCacheIgnoreZoom: boolean;
176
- toast: {
177
- message: string;
178
- closable?: boolean | undefined;
179
- duration?: number | undefined;
180
- } | null;
181
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
182
- currentChartType: import("@excalidraw/element/types").ChartType;
183
- showHyperlinkPopup: false | "editor" | "info";
184
- originSnapOffset: {
185
- x: number;
186
- y: number;
187
- } | null;
188
37
  objectsSnapModeEnabled: boolean;
189
- userToFollow: import("../types").UserToFollow | null;
190
- followedBy: Set<import("../types").SocketId>;
191
- lockedMultiSelections: {
192
- [groupId: string]: true;
193
- };
194
- };
195
- captureUpdate: "IMMEDIATELY";
196
- };
197
- } & {
198
- keyTest?: undefined;
199
- };
200
- export declare const actionZoomIn: {
201
- name: "zoomIn";
202
- label: string;
203
- viewMode: true;
204
- icon: import("react/jsx-runtime").JSX.Element;
205
- trackEvent: {
206
- category: "canvas";
207
- };
208
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
209
- appState: {
210
- userToFollow: null;
211
- scrollX: number;
212
- scrollY: number;
213
- zoom: {
214
- value: import("../types").NormalizedZoomValue;
215
- };
38
+ name: string | null;
39
+ currentItemArrowType: "sharp" | "round" | "elbow";
216
40
  contextMenu: {
217
41
  items: import("../components/ContextMenu").ContextMenuItems;
218
42
  top: number;
@@ -220,18 +44,23 @@ export declare const actionZoomIn: {
220
44
  } | null;
221
45
  showWelcomeScreen: boolean;
222
46
  isLoading: boolean;
223
- errorMessage: import("react").ReactNode;
47
+ errorMessage: React.ReactNode;
224
48
  activeEmbeddable: {
225
49
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
226
- state: "active" | "hover";
50
+ state: "hover" | "active";
227
51
  } | null;
228
52
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
229
53
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
230
54
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
231
55
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
232
56
  isBindingEnabled: boolean;
233
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
234
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
57
+ boxSelectionMode: import("../types").BoxSelectionMode;
58
+ bindingPreference: "enabled" | "disabled";
59
+ isMidpointSnappingEnabled: boolean;
60
+ suggestedBinding: {
61
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
62
+ midPoint?: import("@excalidraw/math").GlobalPoint;
63
+ } | null;
235
64
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
236
65
  frameRendering: {
237
66
  enabled: boolean;
@@ -240,57 +69,61 @@ export declare const actionZoomIn: {
240
69
  clip: boolean;
241
70
  };
242
71
  editingFrame: string | null;
243
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
244
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
245
- activeTool: {
246
- lastActiveTool: import("../types").ActiveTool | null;
247
- locked: boolean;
248
- fromSelection: boolean;
249
- } & import("../types").ActiveTool;
250
- penMode: boolean;
251
- penDetected: boolean;
252
- exportBackground: boolean;
253
- exportEmbedScene: boolean;
72
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
73
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
74
+ preferredSelectionTool: {
75
+ type: "selection" | "lasso";
76
+ initialized: boolean;
77
+ };
254
78
  exportWithDarkMode: boolean;
255
79
  exportScale: number;
256
80
  currentItemStrokeColor: string;
257
81
  currentItemBackgroundColor: string;
258
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
259
- currentItemStrokeWidth: number;
260
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
82
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
83
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
84
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
261
85
  currentItemRoughness: number;
86
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
262
87
  currentItemOpacity: number;
263
- currentItemFontFamily: number;
88
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
264
89
  currentItemFontSize: number;
265
- currentItemTextAlign: string;
90
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
266
91
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
267
92
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
268
- currentHoveredFontFamily: number | null;
93
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
269
94
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
270
- currentItemArrowType: "round" | "sharp" | "elbow";
271
95
  viewBackgroundColor: string;
96
+ scrollX: number;
97
+ scrollY: number;
98
+ scrollConstraints: import("../types").ScrollConstraints | null;
272
99
  cursorButton: "up" | "down";
273
100
  scrolledOutside: boolean;
274
- name: string | null;
275
101
  isResizing: boolean;
276
102
  isRotating: boolean;
277
- openMenu: "canvas" | "shape" | null;
278
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
103
+ zoom: import("../types").Zoom;
104
+ openMenu: "canvas" | null;
105
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
279
106
  openSidebar: {
280
- name: string;
281
- tab?: string | undefined;
107
+ name: import("../types").SidebarName;
108
+ tab?: import("../types").SidebarTabName;
282
109
  } | null;
283
- openDialog: {
110
+ openDialog: null | {
284
111
  name: "imageExport" | "help" | "jsonExport";
285
112
  } | {
286
113
  name: "ttd";
287
- tab: "mermaid" | "text-to-diagram";
114
+ tab: "text-to-diagram" | "mermaid";
288
115
  } | {
289
116
  name: "commandPalette";
117
+ } | {
118
+ name: "settings";
290
119
  } | {
291
120
  name: "elementLinkSelector";
292
- sourceElementId: string;
293
- } | null;
121
+ sourceElementId: ExcalidrawElement["id"];
122
+ } | {
123
+ name: "charts";
124
+ data: import("../charts").Spreadsheet;
125
+ rawText: string;
126
+ };
294
127
  defaultSidebarDockedPreference: boolean;
295
128
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
296
129
  selectedElementIds: Readonly<{
@@ -305,100 +138,56 @@ export declare const actionZoomIn: {
305
138
  selectedElementsAreBeingDragged: boolean;
306
139
  shouldCacheIgnoreZoom: boolean;
307
140
  toast: {
308
- message: string;
309
- closable?: boolean | undefined;
310
- duration?: number | undefined;
141
+ message: React.ReactNode;
142
+ closable?: boolean;
143
+ duration?: number;
311
144
  } | null;
312
- zenModeEnabled: boolean;
313
- theme: import("@excalidraw/element/types").Theme;
314
- gridSize: number;
315
- gridStep: number;
316
- gridModeEnabled: boolean;
317
- viewModeEnabled: boolean;
318
145
  selectedGroupIds: {
319
146
  [groupId: string]: boolean;
320
147
  };
321
- editingGroupId: string | null;
322
- width: number;
323
- height: number;
324
- offsetTop: number;
325
- 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
- }>>;
347
- stats: {
348
- open: boolean;
349
- panels: number;
350
- };
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";
148
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
149
+ fileHandle: FileSystemFileHandle | null;
150
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
151
+ showHyperlinkPopup: false | "info" | "editor";
360
152
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
361
153
  snapLines: readonly import("../snapping").SnapLine[];
362
154
  originSnapOffset: {
363
155
  x: number;
364
156
  y: number;
365
157
  } | null;
366
- objectsSnapModeEnabled: boolean;
158
+ userToFollow: import("../types").UserToFollow | null;
367
159
  followedBy: Set<import("../types").SocketId>;
368
160
  isCropping: boolean;
369
- croppingElementId: string | null;
161
+ croppingElementId: ExcalidrawElement["id"] | null;
370
162
  searchMatches: Readonly<{
371
- focusedId: string | null;
163
+ focusedId: ExcalidrawElement["id"] | null;
372
164
  matches: readonly import("../types").SearchMatch[];
373
165
  }> | null;
374
166
  activeLockedId: string | null;
375
167
  lockedMultiSelections: {
376
168
  [groupId: string]: true;
377
169
  };
170
+ bindMode: import("@excalidraw/element/types").BindMode;
378
171
  };
379
- captureUpdate: "EVENTUALLY";
172
+ captureUpdate: "IMMEDIATELY";
380
173
  };
381
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
382
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
383
174
  } & {
384
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
175
+ keyTest?: undefined;
385
176
  };
386
- export declare const actionZoomOut: {
387
- name: "zoomOut";
177
+ export declare const actionZoomIn: {
178
+ name: "zoomIn";
388
179
  label: string;
389
- icon: import("react/jsx-runtime").JSX.Element;
390
180
  viewMode: true;
181
+ icon: import("react/jsx-runtime").JSX.Element;
391
182
  trackEvent: {
392
183
  category: "canvas";
393
184
  };
394
- 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) => {
395
186
  appState: {
396
- userToFollow: null;
397
187
  scrollX: number;
398
188
  scrollY: number;
399
- zoom: {
400
- value: import("../types").NormalizedZoomValue;
401
- };
189
+ zoom: import("../types").Zoom;
190
+ userToFollow: null;
402
191
  contextMenu: {
403
192
  items: import("../components/ContextMenu").ContextMenuItems;
404
193
  top: number;
@@ -406,18 +195,23 @@ export declare const actionZoomOut: {
406
195
  } | null;
407
196
  showWelcomeScreen: boolean;
408
197
  isLoading: boolean;
409
- errorMessage: import("react").ReactNode;
198
+ errorMessage: React.ReactNode;
410
199
  activeEmbeddable: {
411
200
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
412
- state: "active" | "hover";
201
+ state: "hover" | "active";
413
202
  } | null;
414
203
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
415
204
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
416
205
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
417
206
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
418
207
  isBindingEnabled: boolean;
419
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
420
- 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;
421
215
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
422
216
  frameRendering: {
423
217
  enabled: boolean;
@@ -426,13 +220,17 @@ export declare const actionZoomOut: {
426
220
  clip: boolean;
427
221
  };
428
222
  editingFrame: string | null;
429
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
430
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
223
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
224
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
431
225
  activeTool: {
432
226
  lastActiveTool: import("../types").ActiveTool | null;
433
227
  locked: boolean;
434
228
  fromSelection: boolean;
435
229
  } & import("../types").ActiveTool;
230
+ preferredSelectionTool: {
231
+ type: "selection" | "lasso";
232
+ initialized: boolean;
233
+ };
436
234
  penMode: boolean;
437
235
  penDetected: boolean;
438
236
  exportBackground: boolean;
@@ -441,42 +239,50 @@ export declare const actionZoomOut: {
441
239
  exportScale: number;
442
240
  currentItemStrokeColor: string;
443
241
  currentItemBackgroundColor: string;
444
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
445
- currentItemStrokeWidth: number;
446
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
242
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
243
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
244
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
447
245
  currentItemRoughness: number;
246
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
448
247
  currentItemOpacity: number;
449
- currentItemFontFamily: number;
248
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
450
249
  currentItemFontSize: number;
451
- currentItemTextAlign: string;
250
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
452
251
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
453
252
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
454
- currentHoveredFontFamily: number | null;
253
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
455
254
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
456
- currentItemArrowType: "round" | "sharp" | "elbow";
255
+ currentItemArrowType: "sharp" | "round" | "elbow";
457
256
  viewBackgroundColor: string;
257
+ scrollConstraints: import("../types").ScrollConstraints | null;
458
258
  cursorButton: "up" | "down";
459
259
  scrolledOutside: boolean;
460
260
  name: string | null;
461
261
  isResizing: boolean;
462
262
  isRotating: boolean;
463
- openMenu: "canvas" | "shape" | null;
464
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
263
+ openMenu: "canvas" | null;
264
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
465
265
  openSidebar: {
466
- name: string;
467
- tab?: string | undefined;
266
+ name: import("../types").SidebarName;
267
+ tab?: import("../types").SidebarTabName;
468
268
  } | null;
469
- openDialog: {
269
+ openDialog: null | {
470
270
  name: "imageExport" | "help" | "jsonExport";
471
271
  } | {
472
272
  name: "ttd";
473
- tab: "mermaid" | "text-to-diagram";
273
+ tab: "text-to-diagram" | "mermaid";
474
274
  } | {
475
275
  name: "commandPalette";
276
+ } | {
277
+ name: "settings";
476
278
  } | {
477
279
  name: "elementLinkSelector";
478
- sourceElementId: string;
479
- } | null;
280
+ sourceElementId: ExcalidrawElement["id"];
281
+ } | {
282
+ name: "charts";
283
+ data: import("../charts").Spreadsheet;
284
+ rawText: string;
285
+ };
480
286
  defaultSidebarDockedPreference: boolean;
481
287
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
482
288
  selectedElementIds: Readonly<{
@@ -491,9 +297,9 @@ export declare const actionZoomOut: {
491
297
  selectedElementsAreBeingDragged: boolean;
492
298
  shouldCacheIgnoreZoom: boolean;
493
299
  toast: {
494
- message: string;
495
- closable?: boolean | undefined;
496
- duration?: number | undefined;
300
+ message: React.ReactNode;
301
+ closable?: boolean;
302
+ duration?: number;
497
303
  } | null;
498
304
  zenModeEnabled: boolean;
499
305
  theme: import("@excalidraw/element/types").Theme;
@@ -504,45 +310,18 @@ export declare const actionZoomOut: {
504
310
  selectedGroupIds: {
505
311
  [groupId: string]: boolean;
506
312
  };
507
- editingGroupId: string | null;
313
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
508
314
  width: number;
509
315
  height: number;
510
316
  offsetTop: number;
511
317
  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
- }>>;
318
+ fileHandle: FileSystemFileHandle | null;
319
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
533
320
  stats: {
534
321
  open: boolean;
535
322
  panels: number;
536
323
  };
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";
324
+ showHyperlinkPopup: false | "info" | "editor";
546
325
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
547
326
  snapLines: readonly import("../snapping").SnapLine[];
548
327
  originSnapOffset: {
@@ -552,39 +331,38 @@ export declare const actionZoomOut: {
552
331
  objectsSnapModeEnabled: boolean;
553
332
  followedBy: Set<import("../types").SocketId>;
554
333
  isCropping: boolean;
555
- croppingElementId: string | null;
334
+ croppingElementId: ExcalidrawElement["id"] | null;
556
335
  searchMatches: Readonly<{
557
- focusedId: string | null;
336
+ focusedId: ExcalidrawElement["id"] | null;
558
337
  matches: readonly import("../types").SearchMatch[];
559
338
  }> | null;
560
339
  activeLockedId: string | null;
561
340
  lockedMultiSelections: {
562
341
  [groupId: string]: true;
563
342
  };
343
+ bindMode: import("@excalidraw/element/types").BindMode;
564
344
  };
565
345
  captureUpdate: "EVENTUALLY";
566
346
  };
567
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
347
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
568
348
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
569
349
  } & {
570
350
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
571
351
  };
572
- export declare const actionResetZoom: {
573
- name: "resetZoom";
352
+ export declare const actionZoomOut: {
353
+ name: "zoomOut";
574
354
  label: string;
575
355
  icon: import("react/jsx-runtime").JSX.Element;
576
356
  viewMode: true;
577
357
  trackEvent: {
578
358
  category: "canvas";
579
359
  };
580
- 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) => {
581
361
  appState: {
582
- userToFollow: null;
583
362
  scrollX: number;
584
363
  scrollY: number;
585
- zoom: {
586
- value: import("../types").NormalizedZoomValue;
587
- };
364
+ zoom: import("../types").Zoom;
365
+ userToFollow: null;
588
366
  contextMenu: {
589
367
  items: import("../components/ContextMenu").ContextMenuItems;
590
368
  top: number;
@@ -592,18 +370,23 @@ export declare const actionResetZoom: {
592
370
  } | null;
593
371
  showWelcomeScreen: boolean;
594
372
  isLoading: boolean;
595
- errorMessage: import("react").ReactNode;
373
+ errorMessage: React.ReactNode;
596
374
  activeEmbeddable: {
597
375
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
598
- state: "active" | "hover";
376
+ state: "hover" | "active";
599
377
  } | null;
600
378
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
601
379
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
602
380
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
603
381
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
604
382
  isBindingEnabled: boolean;
605
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
606
- 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;
607
390
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
608
391
  frameRendering: {
609
392
  enabled: boolean;
@@ -612,13 +395,17 @@ export declare const actionResetZoom: {
612
395
  clip: boolean;
613
396
  };
614
397
  editingFrame: string | null;
615
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
616
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
398
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
399
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
617
400
  activeTool: {
618
401
  lastActiveTool: import("../types").ActiveTool | null;
619
402
  locked: boolean;
620
403
  fromSelection: boolean;
621
404
  } & import("../types").ActiveTool;
405
+ preferredSelectionTool: {
406
+ type: "selection" | "lasso";
407
+ initialized: boolean;
408
+ };
622
409
  penMode: boolean;
623
410
  penDetected: boolean;
624
411
  exportBackground: boolean;
@@ -627,42 +414,50 @@ export declare const actionResetZoom: {
627
414
  exportScale: number;
628
415
  currentItemStrokeColor: string;
629
416
  currentItemBackgroundColor: string;
630
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
631
- currentItemStrokeWidth: number;
632
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
417
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
418
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
419
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
633
420
  currentItemRoughness: number;
421
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
634
422
  currentItemOpacity: number;
635
- currentItemFontFamily: number;
423
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
636
424
  currentItemFontSize: number;
637
- currentItemTextAlign: string;
425
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
638
426
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
639
427
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
640
- currentHoveredFontFamily: number | null;
428
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
641
429
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
642
- currentItemArrowType: "round" | "sharp" | "elbow";
430
+ currentItemArrowType: "sharp" | "round" | "elbow";
643
431
  viewBackgroundColor: string;
432
+ scrollConstraints: import("../types").ScrollConstraints | null;
644
433
  cursorButton: "up" | "down";
645
434
  scrolledOutside: boolean;
646
435
  name: string | null;
647
436
  isResizing: boolean;
648
437
  isRotating: boolean;
649
- openMenu: "canvas" | "shape" | null;
650
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
438
+ openMenu: "canvas" | null;
439
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
651
440
  openSidebar: {
652
- name: string;
653
- tab?: string | undefined;
441
+ name: import("../types").SidebarName;
442
+ tab?: import("../types").SidebarTabName;
654
443
  } | null;
655
- openDialog: {
444
+ openDialog: null | {
656
445
  name: "imageExport" | "help" | "jsonExport";
657
446
  } | {
658
447
  name: "ttd";
659
- tab: "mermaid" | "text-to-diagram";
448
+ tab: "text-to-diagram" | "mermaid";
660
449
  } | {
661
450
  name: "commandPalette";
451
+ } | {
452
+ name: "settings";
662
453
  } | {
663
454
  name: "elementLinkSelector";
664
- sourceElementId: string;
665
- } | null;
455
+ sourceElementId: ExcalidrawElement["id"];
456
+ } | {
457
+ name: "charts";
458
+ data: import("../charts").Spreadsheet;
459
+ rawText: string;
460
+ };
666
461
  defaultSidebarDockedPreference: boolean;
667
462
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
668
463
  selectedElementIds: Readonly<{
@@ -677,9 +472,9 @@ export declare const actionResetZoom: {
677
472
  selectedElementsAreBeingDragged: boolean;
678
473
  shouldCacheIgnoreZoom: boolean;
679
474
  toast: {
680
- message: string;
681
- closable?: boolean | undefined;
682
- duration?: number | undefined;
475
+ message: React.ReactNode;
476
+ closable?: boolean;
477
+ duration?: number;
683
478
  } | null;
684
479
  zenModeEnabled: boolean;
685
480
  theme: import("@excalidraw/element/types").Theme;
@@ -690,45 +485,18 @@ export declare const actionResetZoom: {
690
485
  selectedGroupIds: {
691
486
  [groupId: string]: boolean;
692
487
  };
693
- editingGroupId: string | null;
488
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
694
489
  width: number;
695
490
  height: number;
696
491
  offsetTop: number;
697
492
  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
- }>>;
493
+ fileHandle: FileSystemFileHandle | null;
494
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
719
495
  stats: {
720
496
  open: boolean;
721
497
  panels: number;
722
498
  };
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";
499
+ showHyperlinkPopup: false | "info" | "editor";
732
500
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
733
501
  snapLines: readonly import("../snapping").SnapLine[];
734
502
  originSnapOffset: {
@@ -738,413 +506,38 @@ export declare const actionResetZoom: {
738
506
  objectsSnapModeEnabled: boolean;
739
507
  followedBy: Set<import("../types").SocketId>;
740
508
  isCropping: boolean;
741
- croppingElementId: string | null;
509
+ croppingElementId: ExcalidrawElement["id"] | null;
742
510
  searchMatches: Readonly<{
743
- focusedId: string | null;
511
+ focusedId: ExcalidrawElement["id"] | null;
744
512
  matches: readonly import("../types").SearchMatch[];
745
513
  }> | null;
746
514
  activeLockedId: string | null;
747
515
  lockedMultiSelections: {
748
516
  [groupId: string]: true;
749
517
  };
518
+ bindMode: import("@excalidraw/element/types").BindMode;
750
519
  };
751
520
  captureUpdate: "EVENTUALLY";
752
521
  };
753
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
522
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
754
523
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
755
524
  } & {
756
525
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
757
526
  };
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
- export declare const actionZoomToFitSelectionInViewport: {
1135
- name: "zoomToFitSelectionInViewport";
527
+ export declare const actionResetZoom: {
528
+ name: "resetZoom";
1136
529
  label: string;
1137
530
  icon: import("react/jsx-runtime").JSX.Element;
531
+ viewMode: true;
1138
532
  trackEvent: {
1139
533
  category: "canvas";
1140
534
  };
1141
- 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) => {
1142
536
  appState: {
1143
537
  scrollX: number;
1144
538
  scrollY: number;
1145
- zoom: {
1146
- value: import("../types").NormalizedZoomValue;
1147
- };
539
+ zoom: import("../types").Zoom;
540
+ userToFollow: null;
1148
541
  contextMenu: {
1149
542
  items: import("../components/ContextMenu").ContextMenuItems;
1150
543
  top: number;
@@ -1152,18 +545,23 @@ export declare const actionZoomToFitSelectionInViewport: {
1152
545
  } | null;
1153
546
  showWelcomeScreen: boolean;
1154
547
  isLoading: boolean;
1155
- errorMessage: import("react").ReactNode;
548
+ errorMessage: React.ReactNode;
1156
549
  activeEmbeddable: {
1157
550
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1158
- state: "active" | "hover";
551
+ state: "hover" | "active";
1159
552
  } | null;
1160
553
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1161
554
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1162
555
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1163
556
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1164
557
  isBindingEnabled: boolean;
1165
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1166
- 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;
1167
565
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1168
566
  frameRendering: {
1169
567
  enabled: boolean;
@@ -1172,13 +570,17 @@ export declare const actionZoomToFitSelectionInViewport: {
1172
570
  clip: boolean;
1173
571
  };
1174
572
  editingFrame: string | null;
1175
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1176
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
573
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
574
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1177
575
  activeTool: {
1178
576
  lastActiveTool: import("../types").ActiveTool | null;
1179
577
  locked: boolean;
1180
578
  fromSelection: boolean;
1181
579
  } & import("../types").ActiveTool;
580
+ preferredSelectionTool: {
581
+ type: "selection" | "lasso";
582
+ initialized: boolean;
583
+ };
1182
584
  penMode: boolean;
1183
585
  penDetected: boolean;
1184
586
  exportBackground: boolean;
@@ -1187,42 +589,50 @@ export declare const actionZoomToFitSelectionInViewport: {
1187
589
  exportScale: number;
1188
590
  currentItemStrokeColor: string;
1189
591
  currentItemBackgroundColor: string;
1190
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1191
- currentItemStrokeWidth: number;
1192
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
592
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
593
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
594
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1193
595
  currentItemRoughness: number;
596
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1194
597
  currentItemOpacity: number;
1195
- currentItemFontFamily: number;
598
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1196
599
  currentItemFontSize: number;
1197
- currentItemTextAlign: string;
600
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1198
601
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1199
602
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1200
- currentHoveredFontFamily: number | null;
603
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1201
604
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1202
- currentItemArrowType: "round" | "sharp" | "elbow";
605
+ currentItemArrowType: "sharp" | "round" | "elbow";
1203
606
  viewBackgroundColor: string;
607
+ scrollConstraints: import("../types").ScrollConstraints | null;
1204
608
  cursorButton: "up" | "down";
1205
609
  scrolledOutside: boolean;
1206
610
  name: string | null;
1207
611
  isResizing: boolean;
1208
612
  isRotating: boolean;
1209
- openMenu: "canvas" | "shape" | null;
1210
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
613
+ openMenu: "canvas" | null;
614
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1211
615
  openSidebar: {
1212
- name: string;
1213
- tab?: string | undefined;
616
+ name: import("../types").SidebarName;
617
+ tab?: import("../types").SidebarTabName;
1214
618
  } | null;
1215
- openDialog: {
619
+ openDialog: null | {
1216
620
  name: "imageExport" | "help" | "jsonExport";
1217
621
  } | {
1218
622
  name: "ttd";
1219
- tab: "mermaid" | "text-to-diagram";
623
+ tab: "text-to-diagram" | "mermaid";
1220
624
  } | {
1221
625
  name: "commandPalette";
626
+ } | {
627
+ name: "settings";
1222
628
  } | {
1223
629
  name: "elementLinkSelector";
1224
- sourceElementId: string;
1225
- } | null;
630
+ sourceElementId: ExcalidrawElement["id"];
631
+ } | {
632
+ name: "charts";
633
+ data: import("../charts").Spreadsheet;
634
+ rawText: string;
635
+ };
1226
636
  defaultSidebarDockedPreference: boolean;
1227
637
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1228
638
  selectedElementIds: Readonly<{
@@ -1237,9 +647,9 @@ export declare const actionZoomToFitSelectionInViewport: {
1237
647
  selectedElementsAreBeingDragged: boolean;
1238
648
  shouldCacheIgnoreZoom: boolean;
1239
649
  toast: {
1240
- message: string;
1241
- closable?: boolean | undefined;
1242
- duration?: number | undefined;
650
+ message: React.ReactNode;
651
+ closable?: boolean;
652
+ duration?: number;
1243
653
  } | null;
1244
654
  zenModeEnabled: boolean;
1245
655
  theme: import("@excalidraw/element/types").Theme;
@@ -1250,45 +660,18 @@ export declare const actionZoomToFitSelectionInViewport: {
1250
660
  selectedGroupIds: {
1251
661
  [groupId: string]: boolean;
1252
662
  };
1253
- editingGroupId: string | null;
663
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1254
664
  width: number;
1255
665
  height: number;
1256
666
  offsetTop: number;
1257
667
  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
- }>>;
668
+ fileHandle: FileSystemFileHandle | null;
669
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1279
670
  stats: {
1280
671
  open: boolean;
1281
672
  panels: number;
1282
673
  };
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";
674
+ showHyperlinkPopup: false | "info" | "editor";
1292
675
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1293
676
  snapLines: readonly import("../snapping").SnapLine[];
1294
677
  originSnapOffset: {
@@ -1296,33 +679,35 @@ export declare const actionZoomToFitSelectionInViewport: {
1296
679
  y: number;
1297
680
  } | null;
1298
681
  objectsSnapModeEnabled: boolean;
1299
- userToFollow: import("../types").UserToFollow | null;
1300
682
  followedBy: Set<import("../types").SocketId>;
1301
683
  isCropping: boolean;
1302
- croppingElementId: string | null;
684
+ croppingElementId: ExcalidrawElement["id"] | null;
1303
685
  searchMatches: Readonly<{
1304
- focusedId: string | null;
686
+ focusedId: ExcalidrawElement["id"] | null;
1305
687
  matches: readonly import("../types").SearchMatch[];
1306
688
  }> | null;
1307
689
  activeLockedId: string | null;
1308
690
  lockedMultiSelections: {
1309
691
  [groupId: string]: true;
1310
692
  };
693
+ bindMode: import("@excalidraw/element/types").BindMode;
1311
694
  };
1312
695
  captureUpdate: "EVENTUALLY";
1313
696
  };
697
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
1314
698
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1315
699
  } & {
1316
700
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1317
701
  };
1318
- export declare const actionZoomToFitSelection: {
1319
- name: "zoomToFitSelection";
702
+ export declare const actionZoomToFitSelectionInViewport: {
703
+ name: "zoomToFitSelectionInViewport";
1320
704
  label: string;
1321
705
  icon: import("react/jsx-runtime").JSX.Element;
1322
706
  trackEvent: {
1323
707
  category: "canvas";
1324
708
  };
1325
- 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) => {
1326
711
  appState: {
1327
712
  scrollX: number;
1328
713
  scrollY: number;
@@ -1336,18 +721,23 @@ export declare const actionZoomToFitSelection: {
1336
721
  } | null;
1337
722
  showWelcomeScreen: boolean;
1338
723
  isLoading: boolean;
1339
- errorMessage: import("react").ReactNode;
724
+ errorMessage: React.ReactNode;
1340
725
  activeEmbeddable: {
1341
726
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1342
- state: "active" | "hover";
727
+ state: "hover" | "active";
1343
728
  } | null;
1344
729
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1345
730
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1346
731
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1347
732
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1348
733
  isBindingEnabled: boolean;
1349
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1350
- 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;
1351
741
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1352
742
  frameRendering: {
1353
743
  enabled: boolean;
@@ -1356,13 +746,17 @@ export declare const actionZoomToFitSelection: {
1356
746
  clip: boolean;
1357
747
  };
1358
748
  editingFrame: string | null;
1359
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1360
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
749
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
750
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1361
751
  activeTool: {
1362
752
  lastActiveTool: import("../types").ActiveTool | null;
1363
753
  locked: boolean;
1364
754
  fromSelection: boolean;
1365
755
  } & import("../types").ActiveTool;
756
+ preferredSelectionTool: {
757
+ type: "selection" | "lasso";
758
+ initialized: boolean;
759
+ };
1366
760
  penMode: boolean;
1367
761
  penDetected: boolean;
1368
762
  exportBackground: boolean;
@@ -1371,42 +765,50 @@ export declare const actionZoomToFitSelection: {
1371
765
  exportScale: number;
1372
766
  currentItemStrokeColor: string;
1373
767
  currentItemBackgroundColor: string;
1374
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1375
- currentItemStrokeWidth: number;
1376
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
768
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
769
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
770
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1377
771
  currentItemRoughness: number;
772
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1378
773
  currentItemOpacity: number;
1379
- currentItemFontFamily: number;
774
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1380
775
  currentItemFontSize: number;
1381
- currentItemTextAlign: string;
776
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1382
777
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1383
778
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1384
- currentHoveredFontFamily: number | null;
779
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1385
780
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1386
- currentItemArrowType: "round" | "sharp" | "elbow";
781
+ currentItemArrowType: "sharp" | "round" | "elbow";
1387
782
  viewBackgroundColor: string;
783
+ scrollConstraints: import("../types").ScrollConstraints | null;
1388
784
  cursorButton: "up" | "down";
1389
785
  scrolledOutside: boolean;
1390
786
  name: string | null;
1391
787
  isResizing: boolean;
1392
788
  isRotating: boolean;
1393
- openMenu: "canvas" | "shape" | null;
1394
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
789
+ openMenu: "canvas" | null;
790
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1395
791
  openSidebar: {
1396
- name: string;
1397
- tab?: string | undefined;
792
+ name: import("../types").SidebarName;
793
+ tab?: import("../types").SidebarTabName;
1398
794
  } | null;
1399
- openDialog: {
795
+ openDialog: null | {
1400
796
  name: "imageExport" | "help" | "jsonExport";
1401
797
  } | {
1402
798
  name: "ttd";
1403
- tab: "mermaid" | "text-to-diagram";
799
+ tab: "text-to-diagram" | "mermaid";
1404
800
  } | {
1405
801
  name: "commandPalette";
802
+ } | {
803
+ name: "settings";
1406
804
  } | {
1407
805
  name: "elementLinkSelector";
1408
- sourceElementId: string;
1409
- } | null;
806
+ sourceElementId: ExcalidrawElement["id"];
807
+ } | {
808
+ name: "charts";
809
+ data: import("../charts").Spreadsheet;
810
+ rawText: string;
811
+ };
1410
812
  defaultSidebarDockedPreference: boolean;
1411
813
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1412
814
  selectedElementIds: Readonly<{
@@ -1421,9 +823,9 @@ export declare const actionZoomToFitSelection: {
1421
823
  selectedElementsAreBeingDragged: boolean;
1422
824
  shouldCacheIgnoreZoom: boolean;
1423
825
  toast: {
1424
- message: string;
1425
- closable?: boolean | undefined;
1426
- duration?: number | undefined;
826
+ message: React.ReactNode;
827
+ closable?: boolean;
828
+ duration?: number;
1427
829
  } | null;
1428
830
  zenModeEnabled: boolean;
1429
831
  theme: import("@excalidraw/element/types").Theme;
@@ -1434,45 +836,18 @@ export declare const actionZoomToFitSelection: {
1434
836
  selectedGroupIds: {
1435
837
  [groupId: string]: boolean;
1436
838
  };
1437
- editingGroupId: string | null;
839
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1438
840
  width: number;
1439
841
  height: number;
1440
842
  offsetTop: number;
1441
843
  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
- }>>;
844
+ fileHandle: FileSystemFileHandle | null;
845
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1463
846
  stats: {
1464
847
  open: boolean;
1465
848
  panels: number;
1466
849
  };
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";
850
+ showHyperlinkPopup: false | "info" | "editor";
1476
851
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1477
852
  snapLines: readonly import("../snapping").SnapLine[];
1478
853
  originSnapOffset: {
@@ -1483,31 +858,32 @@ export declare const actionZoomToFitSelection: {
1483
858
  userToFollow: import("../types").UserToFollow | null;
1484
859
  followedBy: Set<import("../types").SocketId>;
1485
860
  isCropping: boolean;
1486
- croppingElementId: string | null;
861
+ croppingElementId: ExcalidrawElement["id"] | null;
1487
862
  searchMatches: Readonly<{
1488
- focusedId: string | null;
863
+ focusedId: ExcalidrawElement["id"] | null;
1489
864
  matches: readonly import("../types").SearchMatch[];
1490
865
  }> | null;
1491
866
  activeLockedId: string | null;
1492
867
  lockedMultiSelections: {
1493
868
  [groupId: string]: true;
1494
869
  };
870
+ bindMode: import("@excalidraw/element/types").BindMode;
1495
871
  };
1496
872
  captureUpdate: "EVENTUALLY";
1497
873
  };
1498
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
874
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean;
1499
875
  } & {
1500
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
876
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean) | undefined;
1501
877
  };
1502
- export declare const actionZoomToFit: {
1503
- name: "zoomToFit";
878
+ export declare const actionZoomToFitSelection: {
879
+ name: "zoomToFitSelection";
1504
880
  label: string;
1505
881
  icon: import("react/jsx-runtime").JSX.Element;
1506
- viewMode: true;
1507
882
  trackEvent: {
1508
883
  category: "canvas";
1509
884
  };
1510
- 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) => {
1511
887
  appState: {
1512
888
  scrollX: number;
1513
889
  scrollY: number;
@@ -1521,18 +897,23 @@ export declare const actionZoomToFit: {
1521
897
  } | null;
1522
898
  showWelcomeScreen: boolean;
1523
899
  isLoading: boolean;
1524
- errorMessage: import("react").ReactNode;
900
+ errorMessage: React.ReactNode;
1525
901
  activeEmbeddable: {
1526
902
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1527
- state: "active" | "hover";
903
+ state: "hover" | "active";
1528
904
  } | null;
1529
905
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1530
906
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1531
907
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1532
908
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1533
909
  isBindingEnabled: boolean;
1534
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1535
- 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;
1536
917
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1537
918
  frameRendering: {
1538
919
  enabled: boolean;
@@ -1541,13 +922,17 @@ export declare const actionZoomToFit: {
1541
922
  clip: boolean;
1542
923
  };
1543
924
  editingFrame: string | null;
1544
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1545
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
925
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
926
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1546
927
  activeTool: {
1547
928
  lastActiveTool: import("../types").ActiveTool | null;
1548
929
  locked: boolean;
1549
930
  fromSelection: boolean;
1550
931
  } & import("../types").ActiveTool;
932
+ preferredSelectionTool: {
933
+ type: "selection" | "lasso";
934
+ initialized: boolean;
935
+ };
1551
936
  penMode: boolean;
1552
937
  penDetected: boolean;
1553
938
  exportBackground: boolean;
@@ -1556,42 +941,50 @@ export declare const actionZoomToFit: {
1556
941
  exportScale: number;
1557
942
  currentItemStrokeColor: string;
1558
943
  currentItemBackgroundColor: string;
1559
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1560
- currentItemStrokeWidth: number;
1561
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
944
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
945
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
946
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1562
947
  currentItemRoughness: number;
948
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1563
949
  currentItemOpacity: number;
1564
- currentItemFontFamily: number;
950
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1565
951
  currentItemFontSize: number;
1566
- currentItemTextAlign: string;
952
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1567
953
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1568
954
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1569
- currentHoveredFontFamily: number | null;
955
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1570
956
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1571
- currentItemArrowType: "round" | "sharp" | "elbow";
957
+ currentItemArrowType: "sharp" | "round" | "elbow";
1572
958
  viewBackgroundColor: string;
959
+ scrollConstraints: import("../types").ScrollConstraints | null;
1573
960
  cursorButton: "up" | "down";
1574
961
  scrolledOutside: boolean;
1575
962
  name: string | null;
1576
963
  isResizing: boolean;
1577
964
  isRotating: boolean;
1578
- openMenu: "canvas" | "shape" | null;
1579
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
965
+ openMenu: "canvas" | null;
966
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1580
967
  openSidebar: {
1581
- name: string;
1582
- tab?: string | undefined;
968
+ name: import("../types").SidebarName;
969
+ tab?: import("../types").SidebarTabName;
1583
970
  } | null;
1584
- openDialog: {
971
+ openDialog: null | {
1585
972
  name: "imageExport" | "help" | "jsonExport";
1586
973
  } | {
1587
974
  name: "ttd";
1588
- tab: "mermaid" | "text-to-diagram";
975
+ tab: "text-to-diagram" | "mermaid";
1589
976
  } | {
1590
977
  name: "commandPalette";
978
+ } | {
979
+ name: "settings";
1591
980
  } | {
1592
981
  name: "elementLinkSelector";
1593
- sourceElementId: string;
1594
- } | null;
982
+ sourceElementId: ExcalidrawElement["id"];
983
+ } | {
984
+ name: "charts";
985
+ data: import("../charts").Spreadsheet;
986
+ rawText: string;
987
+ };
1595
988
  defaultSidebarDockedPreference: boolean;
1596
989
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1597
990
  selectedElementIds: Readonly<{
@@ -1606,9 +999,9 @@ export declare const actionZoomToFit: {
1606
999
  selectedElementsAreBeingDragged: boolean;
1607
1000
  shouldCacheIgnoreZoom: boolean;
1608
1001
  toast: {
1609
- message: string;
1610
- closable?: boolean | undefined;
1611
- duration?: number | undefined;
1002
+ message: React.ReactNode;
1003
+ closable?: boolean;
1004
+ duration?: number;
1612
1005
  } | null;
1613
1006
  zenModeEnabled: boolean;
1614
1007
  theme: import("@excalidraw/element/types").Theme;
@@ -1619,45 +1012,18 @@ export declare const actionZoomToFit: {
1619
1012
  selectedGroupIds: {
1620
1013
  [groupId: string]: boolean;
1621
1014
  };
1622
- editingGroupId: string | null;
1015
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1623
1016
  width: number;
1624
1017
  height: number;
1625
1018
  offsetTop: number;
1626
1019
  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
- }>>;
1020
+ fileHandle: FileSystemFileHandle | null;
1021
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1648
1022
  stats: {
1649
1023
  open: boolean;
1650
1024
  panels: number;
1651
1025
  };
1652
- currentChartType: import("@excalidraw/element/types").ChartType;
1653
- pasteDialog: {
1654
- shown: false;
1655
- data: null;
1656
- } | {
1657
- shown: true;
1658
- data: import("../charts").Spreadsheet;
1659
- };
1660
- showHyperlinkPopup: false | "editor" | "info";
1026
+ showHyperlinkPopup: false | "info" | "editor";
1661
1027
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1662
1028
  snapLines: readonly import("../snapping").SnapLine[];
1663
1029
  originSnapOffset: {
@@ -1668,34 +1034,39 @@ export declare const actionZoomToFit: {
1668
1034
  userToFollow: import("../types").UserToFollow | null;
1669
1035
  followedBy: Set<import("../types").SocketId>;
1670
1036
  isCropping: boolean;
1671
- croppingElementId: string | null;
1037
+ croppingElementId: ExcalidrawElement["id"] | null;
1672
1038
  searchMatches: Readonly<{
1673
- focusedId: string | null;
1039
+ focusedId: ExcalidrawElement["id"] | null;
1674
1040
  matches: readonly import("../types").SearchMatch[];
1675
1041
  }> | null;
1676
1042
  activeLockedId: string | null;
1677
1043
  lockedMultiSelections: {
1678
1044
  [groupId: string]: true;
1679
1045
  };
1046
+ bindMode: import("@excalidraw/element/types").BindMode;
1680
1047
  };
1681
1048
  captureUpdate: "EVENTUALLY";
1682
1049
  };
1683
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1050
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean;
1684
1051
  } & {
1685
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1052
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean) | undefined;
1686
1053
  };
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;
1054
+ export declare const actionZoomToFit: {
1055
+ name: "zoomToFit";
1056
+ label: string;
1057
+ icon: import("react/jsx-runtime").JSX.Element;
1692
1058
  viewMode: true;
1693
1059
  trackEvent: {
1694
1060
  category: "canvas";
1695
1061
  };
1696
- perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
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) => {
1697
1064
  appState: {
1698
- theme: any;
1065
+ scrollX: number;
1066
+ scrollY: number;
1067
+ zoom: {
1068
+ value: import("../types").NormalizedZoomValue;
1069
+ };
1699
1070
  contextMenu: {
1700
1071
  items: import("../components/ContextMenu").ContextMenuItems;
1701
1072
  top: number;
@@ -1703,18 +1074,23 @@ export declare const actionToggleTheme: {
1703
1074
  } | null;
1704
1075
  showWelcomeScreen: boolean;
1705
1076
  isLoading: boolean;
1706
- errorMessage: import("react").ReactNode;
1077
+ errorMessage: React.ReactNode;
1707
1078
  activeEmbeddable: {
1708
1079
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1709
- state: "active" | "hover";
1080
+ state: "hover" | "active";
1710
1081
  } | null;
1711
1082
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1712
1083
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1713
1084
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1714
1085
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1715
1086
  isBindingEnabled: boolean;
1716
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1717
- 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;
1718
1094
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1719
1095
  frameRendering: {
1720
1096
  enabled: boolean;
@@ -1723,13 +1099,17 @@ export declare const actionToggleTheme: {
1723
1099
  clip: boolean;
1724
1100
  };
1725
1101
  editingFrame: string | null;
1726
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1727
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1102
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1103
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1728
1104
  activeTool: {
1729
1105
  lastActiveTool: import("../types").ActiveTool | null;
1730
1106
  locked: boolean;
1731
1107
  fromSelection: boolean;
1732
1108
  } & import("../types").ActiveTool;
1109
+ preferredSelectionTool: {
1110
+ type: "selection" | "lasso";
1111
+ initialized: boolean;
1112
+ };
1733
1113
  penMode: boolean;
1734
1114
  penDetected: boolean;
1735
1115
  exportBackground: boolean;
@@ -1738,47 +1118,50 @@ export declare const actionToggleTheme: {
1738
1118
  exportScale: number;
1739
1119
  currentItemStrokeColor: string;
1740
1120
  currentItemBackgroundColor: string;
1741
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1742
- currentItemStrokeWidth: number;
1743
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1121
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1122
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1123
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1744
1124
  currentItemRoughness: number;
1125
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1745
1126
  currentItemOpacity: number;
1746
- currentItemFontFamily: number;
1127
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1747
1128
  currentItemFontSize: number;
1748
- currentItemTextAlign: string;
1129
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1749
1130
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1750
1131
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1751
- currentHoveredFontFamily: number | null;
1132
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1752
1133
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1753
- currentItemArrowType: "round" | "sharp" | "elbow";
1134
+ currentItemArrowType: "sharp" | "round" | "elbow";
1754
1135
  viewBackgroundColor: string;
1755
- scrollX: number;
1756
- scrollY: number;
1136
+ scrollConstraints: import("../types").ScrollConstraints | null;
1757
1137
  cursorButton: "up" | "down";
1758
1138
  scrolledOutside: boolean;
1759
1139
  name: string | null;
1760
1140
  isResizing: boolean;
1761
1141
  isRotating: boolean;
1762
- zoom: Readonly<{
1763
- value: import("../types").NormalizedZoomValue;
1764
- }>;
1765
- openMenu: "canvas" | "shape" | null;
1766
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1142
+ openMenu: "canvas" | null;
1143
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1767
1144
  openSidebar: {
1768
- name: string;
1769
- tab?: string | undefined;
1145
+ name: import("../types").SidebarName;
1146
+ tab?: import("../types").SidebarTabName;
1770
1147
  } | null;
1771
- openDialog: {
1148
+ openDialog: null | {
1772
1149
  name: "imageExport" | "help" | "jsonExport";
1773
1150
  } | {
1774
1151
  name: "ttd";
1775
- tab: "mermaid" | "text-to-diagram";
1152
+ tab: "text-to-diagram" | "mermaid";
1776
1153
  } | {
1777
1154
  name: "commandPalette";
1155
+ } | {
1156
+ name: "settings";
1778
1157
  } | {
1779
1158
  name: "elementLinkSelector";
1780
- sourceElementId: string;
1781
- } | null;
1159
+ sourceElementId: ExcalidrawElement["id"];
1160
+ } | {
1161
+ name: "charts";
1162
+ data: import("../charts").Spreadsheet;
1163
+ rawText: string;
1164
+ };
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
  };