@excalidraw/element 0.18.0-3085f4a → 0.18.0-39103bd

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