@excalidraw/math 0.18.0-3bdaafe → 0.18.0-4872083

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 (337) hide show
  1. package/dist/dev/index.js +348 -148
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  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 +75 -39
  8. package/dist/types/common/src/constants.d.ts +48 -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 +3 -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 +25 -18
  25. package/dist/types/element/src/bucketFill.d.ts +110 -0
  26. package/dist/types/element/src/collision.d.ts +7 -2
  27. package/dist/types/element/src/comparisons.d.ts +8 -7
  28. package/dist/types/element/src/convertToShape.d.ts +23 -0
  29. package/dist/types/element/src/distribute.d.ts +3 -2
  30. package/dist/types/element/src/dragElements.d.ts +30 -3
  31. package/dist/types/element/src/duplicate.d.ts +7 -6
  32. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  33. package/dist/types/element/src/embeddable.d.ts +2 -2
  34. package/dist/types/element/src/flowchart.d.ts +7 -7
  35. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  36. package/dist/types/element/src/frame.d.ts +14 -9
  37. package/dist/types/element/src/groups.d.ts +9 -9
  38. package/dist/types/element/src/heading.d.ts +2 -1
  39. package/dist/types/element/src/image.d.ts +1 -11
  40. package/dist/types/element/src/index.d.ts +8 -4
  41. package/dist/types/element/src/linearElementEditor.d.ts +38 -30
  42. package/dist/types/element/src/mutateElement.d.ts +5 -1
  43. package/dist/types/element/src/newElement.d.ts +20 -6
  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 +21 -8
  49. package/dist/types/element/src/sortElements.d.ts +10 -0
  50. package/dist/types/element/src/textElement.d.ts +13 -10
  51. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  52. package/dist/types/element/src/textWrapping.d.ts +26 -0
  53. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  54. package/dist/types/element/src/transformHandles.d.ts +8 -27
  55. package/dist/types/element/src/typeChecks.d.ts +29 -31
  56. package/dist/types/element/src/types.d.ts +20 -14
  57. package/dist/types/element/src/utils.d.ts +9 -4
  58. package/dist/types/element/src/zindex.d.ts +7 -1
  59. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +191 -219
  60. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  61. package/dist/types/excalidraw/actions/actionBoundText.d.ts +112 -131
  62. package/dist/types/excalidraw/actions/actionCanvas.d.ts +412 -1578
  63. package/dist/types/excalidraw/actions/actionClipboard.d.ts +139 -899
  64. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +54 -64
  65. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +177 -208
  66. package/dist/types/excalidraw/actions/actionDeselect.d.ts +160 -0
  67. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  68. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  69. package/dist/types/excalidraw/actions/actionElementLink.d.ts +61 -77
  70. package/dist/types/excalidraw/actions/actionElementLock.d.ts +111 -130
  71. package/dist/types/excalidraw/actions/actionExport.d.ts +190 -1414
  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 +253 -504
  75. package/dist/types/excalidraw/actions/actionGroup.d.ts +122 -149
  76. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +151 -197
  77. package/dist/types/excalidraw/actions/actionLink.d.ts +67 -77
  78. package/dist/types/excalidraw/actions/actionMenu.d.ts +56 -438
  79. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  80. package/dist/types/excalidraw/actions/actionProperties.d.ts +194 -2531
  81. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +61 -75
  82. package/dist/types/excalidraw/actions/actionStyles.d.ts +54 -63
  83. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  84. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +176 -0
  85. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +69 -80
  86. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +176 -0
  87. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +68 -78
  88. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +57 -74
  89. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  90. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +67 -77
  91. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +68 -78
  92. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +68 -78
  93. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  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 +34 -25
  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 +56 -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.bucketFill.d.ts +38 -0
  114. package/dist/types/excalidraw/components/App.cursor.d.ts +30 -0
  115. package/dist/types/excalidraw/components/App.d.ts +455 -119
  116. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  117. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  118. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  119. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  120. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  121. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  122. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -4
  123. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -0
  124. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +7 -1
  125. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  126. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  127. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  128. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  129. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  130. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  131. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  132. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  133. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  134. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  135. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  136. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  137. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  138. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  139. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  140. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  141. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  142. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  143. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  144. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  145. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  146. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  147. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  148. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  149. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  150. package/dist/types/excalidraw/components/LayerUI.d.ts +6 -2
  151. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  152. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  153. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  154. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  155. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  156. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  157. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  158. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  159. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  160. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  161. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  162. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  163. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  164. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  165. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  166. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  167. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  168. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  169. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  170. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  171. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  172. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  173. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  174. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  175. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  176. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  177. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  178. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  179. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  180. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  181. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  182. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  183. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  184. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  185. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  186. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  187. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  188. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  189. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  190. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  191. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  192. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  193. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  194. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  195. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  196. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  197. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  198. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  199. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  200. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  201. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  202. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  203. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  204. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  205. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  206. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  207. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  208. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  209. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  210. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  211. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  212. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  213. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  214. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  215. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  216. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  217. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  218. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  219. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  220. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  221. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  222. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  223. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  224. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  225. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  226. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  227. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  228. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  229. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  230. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  231. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  232. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  233. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  234. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  235. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  236. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  237. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  238. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  239. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  240. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  241. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  242. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  243. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  244. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  245. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  246. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  247. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  248. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  249. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  250. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  251. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  252. package/dist/types/excalidraw/components/icons.d.ts +54 -22
  253. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  254. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  255. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  256. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  257. package/dist/types/excalidraw/data/blob.d.ts +335 -15
  258. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  259. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  260. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  261. package/dist/types/excalidraw/data/index.d.ts +8 -9
  262. package/dist/types/excalidraw/data/json.d.ts +173 -3
  263. package/dist/types/excalidraw/data/library.d.ts +25 -10
  264. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  265. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  266. package/dist/types/excalidraw/data/types.d.ts +4 -1
  267. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  268. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  269. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  270. package/dist/types/excalidraw/errors.d.ts +14 -0
  271. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  272. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  273. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  274. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  275. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  276. package/dist/types/excalidraw/i18n.d.ts +2 -2
  277. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  278. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  279. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  280. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  281. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  282. package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
  283. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  284. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  285. package/dist/types/excalidraw/scene/types.d.ts +26 -8
  286. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  287. package/dist/types/excalidraw/snapping.d.ts +12 -12
  288. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  289. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  290. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  291. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  292. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  293. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  294. package/dist/types/excalidraw/types.d.ts +521 -55
  295. package/dist/types/excalidraw/viewport.d.ts +270 -0
  296. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  297. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  298. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  299. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  300. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  301. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  302. package/dist/types/math/src/constants.d.ts +0 -1
  303. package/dist/types/math/src/curve.d.ts +4 -1
  304. package/dist/types/math/src/index.d.ts +1 -0
  305. package/dist/types/math/src/pca.d.ts +79 -0
  306. package/dist/types/math/src/point.d.ts +8 -2
  307. package/dist/types/math/src/polygon.d.ts +26 -2
  308. package/dist/types/math/src/range.d.ts +1 -3
  309. package/dist/types/math/src/segment.d.ts +4 -3
  310. package/dist/types/math/src/types.d.ts +25 -1
  311. package/dist/types/utils/src/export.d.ts +8 -8
  312. package/dist/types/utils/src/index.d.ts +1 -2
  313. package/dist/types/utils/src/shape.d.ts +6 -6
  314. package/package.json +2 -2
  315. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -185
  316. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  317. package/dist/types/excalidraw/charts.d.ts +0 -27
  318. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  319. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  320. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  321. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  322. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  323. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  324. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  325. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  326. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  327. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  328. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  329. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  330. package/dist/types/excalidraw/cursor.d.ts +0 -5
  331. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  332. package/dist/types/excalidraw/index.d.ts +0 -47
  333. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  334. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  335. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  336. package/dist/types/utils/src/bbox.d.ts +0 -9
  337. 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,63 +113,59 @@ 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;
188
167
  } | null;
189
168
  objectsSnapModeEnabled: boolean;
190
- userToFollow: import("../types").UserToFollow | null;
191
- followedBy: Set<import("../types").SocketId>;
192
169
  lockedMultiSelections: {
193
170
  [groupId: string]: true;
194
171
  };
@@ -202,18 +179,17 @@ export declare const actionZoomIn: {
202
179
  name: "zoomIn";
203
180
  label: string;
204
181
  viewMode: true;
182
+ navigation: true;
205
183
  icon: import("react/jsx-runtime").JSX.Element;
206
184
  trackEvent: {
207
185
  category: "canvas";
208
186
  };
209
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
187
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
188
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
210
189
  appState: {
211
- userToFollow: null;
190
+ zoom: import("../types").Zoom;
212
191
  scrollX: number;
213
192
  scrollY: number;
214
- zoom: {
215
- value: import("../types").NormalizedZoomValue;
216
- };
217
193
  contextMenu: {
218
194
  items: import("../components/ContextMenu").ContextMenuItems;
219
195
  top: number;
@@ -221,18 +197,27 @@ export declare const actionZoomIn: {
221
197
  } | null;
222
198
  showWelcomeScreen: boolean;
223
199
  isLoading: boolean;
224
- errorMessage: import("react").ReactNode;
200
+ errorMessage: React.ReactNode;
225
201
  activeEmbeddable: {
226
202
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
227
- state: "active" | "hover";
203
+ state: "hover" | "active";
228
204
  } | null;
229
205
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
230
206
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
231
207
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
232
208
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
233
209
  isBindingEnabled: boolean;
234
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
235
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
210
+ boxSelectionMode: import("../types").BoxSelectionMode;
211
+ bindingPreference: "enabled" | "disabled";
212
+ isMidpointSnappingEnabled: boolean;
213
+ suggestedBinding: {
214
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
215
+ midPoint?: import("@excalidraw/math").GlobalPoint;
216
+ } | null;
217
+ hoveredArrowTextAnchor: {
218
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
219
+ anchor: "start" | "end" | "label";
220
+ } | null;
236
221
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
237
222
  frameRendering: {
238
223
  enabled: boolean;
@@ -240,14 +225,18 @@ export declare const actionZoomIn: {
240
225
  outline: boolean;
241
226
  clip: boolean;
242
227
  };
243
- editingFrame: string | null;
244
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
245
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
228
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
229
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
230
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
246
231
  activeTool: {
247
232
  lastActiveTool: import("../types").ActiveTool | null;
248
233
  locked: boolean;
249
234
  fromSelection: boolean;
250
235
  } & import("../types").ActiveTool;
236
+ preferredSelectionTool: {
237
+ type: "selection" | "lasso";
238
+ initialized: boolean;
239
+ };
251
240
  penMode: boolean;
252
241
  penDetected: boolean;
253
242
  exportBackground: boolean;
@@ -256,43 +245,50 @@ export declare const actionZoomIn: {
256
245
  exportScale: number;
257
246
  currentItemStrokeColor: string;
258
247
  currentItemBackgroundColor: string;
259
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
260
- currentItemStrokeWidth: number;
261
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
248
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
249
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
250
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
262
251
  currentItemRoughness: number;
252
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
263
253
  currentItemOpacity: number;
264
- currentItemFontFamily: number;
254
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
265
255
  currentItemFontSize: number;
266
- currentItemTextAlign: string;
256
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
267
257
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
268
258
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
269
- currentHoveredFontFamily: number | null;
259
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
270
260
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
271
- currentItemArrowType: "round" | "sharp" | "elbow";
261
+ currentItemArrowType: "sharp" | "round" | "elbow";
272
262
  viewBackgroundColor: string;
263
+ scrollConstraints: import("../types").ScrollConstraints | null;
273
264
  cursorButton: "up" | "down";
274
265
  scrolledOutside: boolean;
275
266
  name: string | null;
276
267
  isResizing: boolean;
277
268
  isRotating: boolean;
278
- openMenu: "canvas" | "shape" | null;
279
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
269
+ openMenu: "canvas" | null;
270
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
280
271
  openSidebar: {
281
- name: string;
282
- /** zoom content to cover X of the viewport, when fitToViewport=true */
283
- tab?: string | undefined;
272
+ name: import("../types").SidebarName;
273
+ tab?: import("../types").SidebarTabName;
284
274
  } | null;
285
- openDialog: {
275
+ openDialog: null | {
286
276
  name: "imageExport" | "help" | "jsonExport";
287
277
  } | {
288
278
  name: "ttd";
289
- tab: "mermaid" | "text-to-diagram";
279
+ tab: "text-to-diagram" | "mermaid";
290
280
  } | {
291
281
  name: "commandPalette";
282
+ } | {
283
+ name: "settings";
292
284
  } | {
293
285
  name: "elementLinkSelector";
294
- sourceElementId: string;
295
- } | null;
286
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
287
+ } | {
288
+ name: "charts";
289
+ data: import("../charts").Spreadsheet;
290
+ rawText: string;
291
+ };
296
292
  defaultSidebarDockedPreference: boolean;
297
293
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
298
294
  selectedElementIds: Readonly<{
@@ -307,9 +303,9 @@ export declare const actionZoomIn: {
307
303
  selectedElementsAreBeingDragged: boolean;
308
304
  shouldCacheIgnoreZoom: boolean;
309
305
  toast: {
310
- message: string;
311
- closable?: boolean | undefined;
312
- duration?: number | undefined;
306
+ message: React.ReactNode;
307
+ closable?: boolean;
308
+ duration?: number;
313
309
  } | null;
314
310
  zenModeEnabled: boolean;
315
311
  theme: import("@excalidraw/element/types").Theme;
@@ -320,45 +316,18 @@ export declare const actionZoomIn: {
320
316
  selectedGroupIds: {
321
317
  [groupId: string]: boolean;
322
318
  };
323
- editingGroupId: string | null;
319
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
324
320
  width: number;
325
321
  height: number;
326
322
  offsetTop: number;
327
323
  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
- }>>;
324
+ fileHandle: FileSystemFileHandle | null;
325
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
349
326
  stats: {
350
327
  open: boolean;
351
328
  panels: number;
352
329
  };
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";
330
+ showHyperlinkPopup: false | "info" | "editor";
362
331
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
363
332
  snapLines: readonly import("../snapping").SnapLine[];
364
333
  originSnapOffset: {
@@ -366,21 +335,21 @@ export declare const actionZoomIn: {
366
335
  y: number;
367
336
  } | null;
368
337
  objectsSnapModeEnabled: boolean;
369
- followedBy: Set<import("../types").SocketId>;
370
338
  isCropping: boolean;
371
- croppingElementId: string | null;
339
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
372
340
  searchMatches: Readonly<{
373
- focusedId: string | null;
341
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
374
342
  matches: readonly import("../types").SearchMatch[];
375
343
  }> | null;
376
344
  activeLockedId: string | null;
377
345
  lockedMultiSelections: {
378
346
  [groupId: string]: true;
379
347
  };
348
+ bindMode: import("@excalidraw/element/types").BindMode;
380
349
  };
381
350
  captureUpdate: "EVENTUALLY";
382
351
  };
383
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
352
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
384
353
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
385
354
  } & {
386
355
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -390,17 +359,16 @@ export declare const actionZoomOut: {
390
359
  label: string;
391
360
  icon: import("react/jsx-runtime").JSX.Element;
392
361
  viewMode: true;
362
+ navigation: true;
393
363
  trackEvent: {
394
364
  category: "canvas";
395
365
  };
396
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
366
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
367
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
397
368
  appState: {
398
- userToFollow: null;
369
+ zoom: import("../types").Zoom;
399
370
  scrollX: number;
400
371
  scrollY: number;
401
- zoom: {
402
- value: import("../types").NormalizedZoomValue;
403
- };
404
372
  contextMenu: {
405
373
  items: import("../components/ContextMenu").ContextMenuItems;
406
374
  top: number;
@@ -408,18 +376,27 @@ export declare const actionZoomOut: {
408
376
  } | null;
409
377
  showWelcomeScreen: boolean;
410
378
  isLoading: boolean;
411
- errorMessage: import("react").ReactNode;
379
+ errorMessage: React.ReactNode;
412
380
  activeEmbeddable: {
413
381
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
414
- state: "active" | "hover";
382
+ state: "hover" | "active";
415
383
  } | null;
416
384
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
417
385
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
418
386
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
419
387
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
420
388
  isBindingEnabled: boolean;
421
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
422
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
389
+ boxSelectionMode: import("../types").BoxSelectionMode;
390
+ bindingPreference: "enabled" | "disabled";
391
+ isMidpointSnappingEnabled: boolean;
392
+ suggestedBinding: {
393
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
394
+ midPoint?: import("@excalidraw/math").GlobalPoint;
395
+ } | null;
396
+ hoveredArrowTextAnchor: {
397
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
398
+ anchor: "start" | "end" | "label";
399
+ } | null;
423
400
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
424
401
  frameRendering: {
425
402
  enabled: boolean;
@@ -427,14 +404,18 @@ export declare const actionZoomOut: {
427
404
  outline: boolean;
428
405
  clip: boolean;
429
406
  };
430
- editingFrame: string | null;
431
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
432
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
407
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
408
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
409
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
433
410
  activeTool: {
434
411
  lastActiveTool: import("../types").ActiveTool | null;
435
412
  locked: boolean;
436
413
  fromSelection: boolean;
437
414
  } & import("../types").ActiveTool;
415
+ preferredSelectionTool: {
416
+ type: "selection" | "lasso";
417
+ initialized: boolean;
418
+ };
438
419
  penMode: boolean;
439
420
  penDetected: boolean;
440
421
  exportBackground: boolean;
@@ -443,43 +424,50 @@ export declare const actionZoomOut: {
443
424
  exportScale: number;
444
425
  currentItemStrokeColor: string;
445
426
  currentItemBackgroundColor: string;
446
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
447
- currentItemStrokeWidth: number;
448
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
427
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
428
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
429
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
449
430
  currentItemRoughness: number;
431
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
450
432
  currentItemOpacity: number;
451
- currentItemFontFamily: number;
433
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
452
434
  currentItemFontSize: number;
453
- currentItemTextAlign: string;
435
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
454
436
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
455
437
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
456
- currentHoveredFontFamily: number | null;
438
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
457
439
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
458
- currentItemArrowType: "round" | "sharp" | "elbow";
440
+ currentItemArrowType: "sharp" | "round" | "elbow";
459
441
  viewBackgroundColor: string;
442
+ scrollConstraints: import("../types").ScrollConstraints | null;
460
443
  cursorButton: "up" | "down";
461
444
  scrolledOutside: boolean;
462
445
  name: string | null;
463
446
  isResizing: boolean;
464
447
  isRotating: boolean;
465
- openMenu: "canvas" | "shape" | null;
466
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
448
+ openMenu: "canvas" | null;
449
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
467
450
  openSidebar: {
468
- name: string;
469
- /** zoom content to cover X of the viewport, when fitToViewport=true */
470
- tab?: string | undefined;
451
+ name: import("../types").SidebarName;
452
+ tab?: import("../types").SidebarTabName;
471
453
  } | null;
472
- openDialog: {
454
+ openDialog: null | {
473
455
  name: "imageExport" | "help" | "jsonExport";
474
456
  } | {
475
457
  name: "ttd";
476
- tab: "mermaid" | "text-to-diagram";
458
+ tab: "text-to-diagram" | "mermaid";
477
459
  } | {
478
460
  name: "commandPalette";
461
+ } | {
462
+ name: "settings";
479
463
  } | {
480
464
  name: "elementLinkSelector";
481
- sourceElementId: string;
482
- } | null;
465
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
466
+ } | {
467
+ name: "charts";
468
+ data: import("../charts").Spreadsheet;
469
+ rawText: string;
470
+ };
483
471
  defaultSidebarDockedPreference: boolean;
484
472
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
485
473
  selectedElementIds: Readonly<{
@@ -494,9 +482,9 @@ export declare const actionZoomOut: {
494
482
  selectedElementsAreBeingDragged: boolean;
495
483
  shouldCacheIgnoreZoom: boolean;
496
484
  toast: {
497
- message: string;
498
- closable?: boolean | undefined;
499
- duration?: number | undefined;
485
+ message: React.ReactNode;
486
+ closable?: boolean;
487
+ duration?: number;
500
488
  } | null;
501
489
  zenModeEnabled: boolean;
502
490
  theme: import("@excalidraw/element/types").Theme;
@@ -507,45 +495,18 @@ export declare const actionZoomOut: {
507
495
  selectedGroupIds: {
508
496
  [groupId: string]: boolean;
509
497
  };
510
- editingGroupId: string | null;
498
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
511
499
  width: number;
512
500
  height: number;
513
501
  offsetTop: number;
514
502
  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
- }>>;
503
+ fileHandle: FileSystemFileHandle | null;
504
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
536
505
  stats: {
537
506
  open: boolean;
538
507
  panels: number;
539
508
  };
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";
509
+ showHyperlinkPopup: false | "info" | "editor";
549
510
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
550
511
  snapLines: readonly import("../snapping").SnapLine[];
551
512
  originSnapOffset: {
@@ -553,21 +514,21 @@ export declare const actionZoomOut: {
553
514
  y: number;
554
515
  } | null;
555
516
  objectsSnapModeEnabled: boolean;
556
- followedBy: Set<import("../types").SocketId>;
557
517
  isCropping: boolean;
558
- croppingElementId: string | null;
518
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
559
519
  searchMatches: Readonly<{
560
- focusedId: string | null;
520
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
561
521
  matches: readonly import("../types").SearchMatch[];
562
522
  }> | null;
563
523
  activeLockedId: string | null;
564
524
  lockedMultiSelections: {
565
525
  [groupId: string]: true;
566
526
  };
527
+ bindMode: import("@excalidraw/element/types").BindMode;
567
528
  };
568
529
  captureUpdate: "EVENTUALLY";
569
530
  };
570
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
531
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
571
532
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
572
533
  } & {
573
534
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -577,17 +538,16 @@ export declare const actionResetZoom: {
577
538
  label: string;
578
539
  icon: import("react/jsx-runtime").JSX.Element;
579
540
  viewMode: true;
541
+ navigation: true;
580
542
  trackEvent: {
581
543
  category: "canvas";
582
544
  };
583
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
545
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
546
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
584
547
  appState: {
585
- userToFollow: null;
548
+ zoom: import("../types").Zoom;
586
549
  scrollX: number;
587
550
  scrollY: number;
588
- zoom: {
589
- value: import("../types").NormalizedZoomValue;
590
- };
591
551
  contextMenu: {
592
552
  items: import("../components/ContextMenu").ContextMenuItems;
593
553
  top: number;
@@ -595,18 +555,27 @@ export declare const actionResetZoom: {
595
555
  } | null;
596
556
  showWelcomeScreen: boolean;
597
557
  isLoading: boolean;
598
- errorMessage: import("react").ReactNode;
558
+ errorMessage: React.ReactNode;
599
559
  activeEmbeddable: {
600
560
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
601
- state: "active" | "hover";
561
+ state: "hover" | "active";
602
562
  } | null;
603
563
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
604
564
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
605
565
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
606
566
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
607
567
  isBindingEnabled: boolean;
608
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
609
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
568
+ boxSelectionMode: import("../types").BoxSelectionMode;
569
+ bindingPreference: "enabled" | "disabled";
570
+ isMidpointSnappingEnabled: boolean;
571
+ suggestedBinding: {
572
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
573
+ midPoint?: import("@excalidraw/math").GlobalPoint;
574
+ } | null;
575
+ hoveredArrowTextAnchor: {
576
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
577
+ anchor: "start" | "end" | "label";
578
+ } | null;
610
579
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
611
580
  frameRendering: {
612
581
  enabled: boolean;
@@ -614,14 +583,18 @@ export declare const actionResetZoom: {
614
583
  outline: boolean;
615
584
  clip: boolean;
616
585
  };
617
- editingFrame: string | null;
618
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
619
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
586
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
587
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
588
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
620
589
  activeTool: {
621
590
  lastActiveTool: import("../types").ActiveTool | null;
622
591
  locked: boolean;
623
592
  fromSelection: boolean;
624
593
  } & import("../types").ActiveTool;
594
+ preferredSelectionTool: {
595
+ type: "selection" | "lasso";
596
+ initialized: boolean;
597
+ };
625
598
  penMode: boolean;
626
599
  penDetected: boolean;
627
600
  exportBackground: boolean;
@@ -630,43 +603,50 @@ export declare const actionResetZoom: {
630
603
  exportScale: number;
631
604
  currentItemStrokeColor: string;
632
605
  currentItemBackgroundColor: string;
633
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
634
- currentItemStrokeWidth: number;
635
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
606
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
607
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
608
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
636
609
  currentItemRoughness: number;
610
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
637
611
  currentItemOpacity: number;
638
- currentItemFontFamily: number;
612
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
639
613
  currentItemFontSize: number;
640
- currentItemTextAlign: string;
614
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
641
615
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
642
616
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
643
- currentHoveredFontFamily: number | null;
617
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
644
618
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
645
- currentItemArrowType: "round" | "sharp" | "elbow";
619
+ currentItemArrowType: "sharp" | "round" | "elbow";
646
620
  viewBackgroundColor: string;
621
+ scrollConstraints: import("../types").ScrollConstraints | null;
647
622
  cursorButton: "up" | "down";
648
623
  scrolledOutside: boolean;
649
624
  name: string | null;
650
625
  isResizing: boolean;
651
626
  isRotating: boolean;
652
- openMenu: "canvas" | "shape" | null;
653
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
627
+ openMenu: "canvas" | null;
628
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
654
629
  openSidebar: {
655
- name: string;
656
- /** zoom content to cover X of the viewport, when fitToViewport=true */
657
- tab?: string | undefined;
630
+ name: import("../types").SidebarName;
631
+ tab?: import("../types").SidebarTabName;
658
632
  } | null;
659
- openDialog: {
633
+ openDialog: null | {
660
634
  name: "imageExport" | "help" | "jsonExport";
661
635
  } | {
662
636
  name: "ttd";
663
- tab: "mermaid" | "text-to-diagram";
637
+ tab: "text-to-diagram" | "mermaid";
664
638
  } | {
665
639
  name: "commandPalette";
640
+ } | {
641
+ name: "settings";
666
642
  } | {
667
643
  name: "elementLinkSelector";
668
- sourceElementId: string;
669
- } | null;
644
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
645
+ } | {
646
+ name: "charts";
647
+ data: import("../charts").Spreadsheet;
648
+ rawText: string;
649
+ };
670
650
  defaultSidebarDockedPreference: boolean;
671
651
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
672
652
  selectedElementIds: Readonly<{
@@ -681,9 +661,9 @@ export declare const actionResetZoom: {
681
661
  selectedElementsAreBeingDragged: boolean;
682
662
  shouldCacheIgnoreZoom: boolean;
683
663
  toast: {
684
- message: string;
685
- closable?: boolean | undefined;
686
- duration?: number | undefined;
664
+ message: React.ReactNode;
665
+ closable?: boolean;
666
+ duration?: number;
687
667
  } | null;
688
668
  zenModeEnabled: boolean;
689
669
  theme: import("@excalidraw/element/types").Theme;
@@ -694,45 +674,18 @@ export declare const actionResetZoom: {
694
674
  selectedGroupIds: {
695
675
  [groupId: string]: boolean;
696
676
  };
697
- editingGroupId: string | null;
677
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
698
678
  width: number;
699
679
  height: number;
700
680
  offsetTop: number;
701
681
  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
- }>>;
682
+ fileHandle: FileSystemFileHandle | null;
683
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
723
684
  stats: {
724
685
  open: boolean;
725
686
  panels: number;
726
687
  };
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";
688
+ showHyperlinkPopup: false | "info" | "editor";
736
689
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
737
690
  snapLines: readonly import("../snapping").SnapLine[];
738
691
  originSnapOffset: {
@@ -740,417 +693,40 @@ export declare const actionResetZoom: {
740
693
  y: number;
741
694
  } | null;
742
695
  objectsSnapModeEnabled: boolean;
743
- followedBy: Set<import("../types").SocketId>;
744
696
  isCropping: boolean;
745
- croppingElementId: string | null;
697
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
746
698
  searchMatches: Readonly<{
747
- focusedId: string | null;
699
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
748
700
  matches: readonly import("../types").SearchMatch[];
749
701
  }> | null;
750
702
  activeLockedId: string | null;
751
703
  lockedMultiSelections: {
752
704
  [groupId: string]: true;
753
705
  };
706
+ bindMode: import("@excalidraw/element/types").BindMode;
754
707
  };
755
708
  captureUpdate: "EVENTUALLY";
756
709
  };
757
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
710
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
758
711
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
759
712
  } & {
760
713
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
761
714
  };
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
715
  export declare const actionZoomToFitSelectionInViewport: {
1141
716
  name: "zoomToFitSelectionInViewport";
1142
717
  label: string;
1143
718
  icon: import("react/jsx-runtime").JSX.Element;
719
+ viewMode: true;
720
+ navigation: true;
1144
721
  trackEvent: {
1145
722
  category: "canvas";
1146
723
  };
1147
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
724
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
725
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1148
726
  appState: {
727
+ zoom: import("../types").Zoom;
1149
728
  scrollX: number;
1150
729
  scrollY: number;
1151
- zoom: {
1152
- value: import("../types").NormalizedZoomValue;
1153
- };
1154
730
  contextMenu: {
1155
731
  items: import("../components/ContextMenu").ContextMenuItems;
1156
732
  top: number;
@@ -1158,18 +734,27 @@ export declare const actionZoomToFitSelectionInViewport: {
1158
734
  } | null;
1159
735
  showWelcomeScreen: boolean;
1160
736
  isLoading: boolean;
1161
- errorMessage: import("react").ReactNode;
737
+ errorMessage: React.ReactNode;
1162
738
  activeEmbeddable: {
1163
739
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1164
- state: "active" | "hover";
740
+ state: "hover" | "active";
1165
741
  } | null;
1166
742
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1167
743
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1168
744
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1169
745
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1170
746
  isBindingEnabled: boolean;
1171
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1172
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
747
+ boxSelectionMode: import("../types").BoxSelectionMode;
748
+ bindingPreference: "enabled" | "disabled";
749
+ isMidpointSnappingEnabled: boolean;
750
+ suggestedBinding: {
751
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
752
+ midPoint?: import("@excalidraw/math").GlobalPoint;
753
+ } | null;
754
+ hoveredArrowTextAnchor: {
755
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
756
+ anchor: "start" | "end" | "label";
757
+ } | null;
1173
758
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1174
759
  frameRendering: {
1175
760
  enabled: boolean;
@@ -1177,14 +762,18 @@ export declare const actionZoomToFitSelectionInViewport: {
1177
762
  outline: boolean;
1178
763
  clip: boolean;
1179
764
  };
1180
- editingFrame: string | null;
1181
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1182
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
765
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
766
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
767
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1183
768
  activeTool: {
1184
769
  lastActiveTool: import("../types").ActiveTool | null;
1185
770
  locked: boolean;
1186
771
  fromSelection: boolean;
1187
772
  } & import("../types").ActiveTool;
773
+ preferredSelectionTool: {
774
+ type: "selection" | "lasso";
775
+ initialized: boolean;
776
+ };
1188
777
  penMode: boolean;
1189
778
  penDetected: boolean;
1190
779
  exportBackground: boolean;
@@ -1193,43 +782,50 @@ export declare const actionZoomToFitSelectionInViewport: {
1193
782
  exportScale: number;
1194
783
  currentItemStrokeColor: string;
1195
784
  currentItemBackgroundColor: string;
1196
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1197
- currentItemStrokeWidth: number;
1198
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
785
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
786
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
787
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1199
788
  currentItemRoughness: number;
789
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1200
790
  currentItemOpacity: number;
1201
- currentItemFontFamily: number;
791
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1202
792
  currentItemFontSize: number;
1203
- currentItemTextAlign: string;
793
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1204
794
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1205
795
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1206
- currentHoveredFontFamily: number | null;
796
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1207
797
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1208
- currentItemArrowType: "round" | "sharp" | "elbow";
798
+ currentItemArrowType: "sharp" | "round" | "elbow";
1209
799
  viewBackgroundColor: string;
800
+ scrollConstraints: import("../types").ScrollConstraints | null;
1210
801
  cursorButton: "up" | "down";
1211
802
  scrolledOutside: boolean;
1212
803
  name: string | null;
1213
804
  isResizing: boolean;
1214
805
  isRotating: boolean;
1215
- openMenu: "canvas" | "shape" | null;
1216
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
806
+ openMenu: "canvas" | null;
807
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1217
808
  openSidebar: {
1218
- name: string;
1219
- /** zoom content to cover X of the viewport, when fitToViewport=true */
1220
- tab?: string | undefined;
809
+ name: import("../types").SidebarName;
810
+ tab?: import("../types").SidebarTabName;
1221
811
  } | null;
1222
- openDialog: {
812
+ openDialog: null | {
1223
813
  name: "imageExport" | "help" | "jsonExport";
1224
814
  } | {
1225
815
  name: "ttd";
1226
- tab: "mermaid" | "text-to-diagram";
816
+ tab: "text-to-diagram" | "mermaid";
1227
817
  } | {
1228
818
  name: "commandPalette";
819
+ } | {
820
+ name: "settings";
1229
821
  } | {
1230
822
  name: "elementLinkSelector";
1231
- sourceElementId: string;
1232
- } | null;
823
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
824
+ } | {
825
+ name: "charts";
826
+ data: import("../charts").Spreadsheet;
827
+ rawText: string;
828
+ };
1233
829
  defaultSidebarDockedPreference: boolean;
1234
830
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1235
831
  selectedElementIds: Readonly<{
@@ -1244,9 +840,9 @@ export declare const actionZoomToFitSelectionInViewport: {
1244
840
  selectedElementsAreBeingDragged: boolean;
1245
841
  shouldCacheIgnoreZoom: boolean;
1246
842
  toast: {
1247
- message: string;
1248
- closable?: boolean | undefined;
1249
- duration?: number | undefined;
843
+ message: React.ReactNode;
844
+ closable?: boolean;
845
+ duration?: number;
1250
846
  } | null;
1251
847
  zenModeEnabled: boolean;
1252
848
  theme: import("@excalidraw/element/types").Theme;
@@ -1257,45 +853,18 @@ export declare const actionZoomToFitSelectionInViewport: {
1257
853
  selectedGroupIds: {
1258
854
  [groupId: string]: boolean;
1259
855
  };
1260
- editingGroupId: string | null;
856
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1261
857
  width: number;
1262
858
  height: number;
1263
859
  offsetTop: number;
1264
860
  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
- }>>;
861
+ fileHandle: FileSystemFileHandle | null;
862
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1286
863
  stats: {
1287
864
  open: boolean;
1288
865
  panels: number;
1289
866
  };
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";
867
+ showHyperlinkPopup: false | "info" | "editor";
1299
868
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1300
869
  snapLines: readonly import("../snapping").SnapLine[];
1301
870
  originSnapOffset: {
@@ -1303,18 +872,17 @@ export declare const actionZoomToFitSelectionInViewport: {
1303
872
  y: number;
1304
873
  } | null;
1305
874
  objectsSnapModeEnabled: boolean;
1306
- userToFollow: import("../types").UserToFollow | null;
1307
- followedBy: Set<import("../types").SocketId>;
1308
875
  isCropping: boolean;
1309
- croppingElementId: string | null;
876
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1310
877
  searchMatches: Readonly<{
1311
- focusedId: string | null;
878
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1312
879
  matches: readonly import("../types").SearchMatch[];
1313
880
  }> | null;
1314
881
  activeLockedId: string | null;
1315
882
  lockedMultiSelections: {
1316
883
  [groupId: string]: true;
1317
884
  };
885
+ bindMode: import("@excalidraw/element/types").BindMode;
1318
886
  };
1319
887
  captureUpdate: "EVENTUALLY";
1320
888
  };
@@ -1326,16 +894,17 @@ export declare const actionZoomToFitSelection: {
1326
894
  name: "zoomToFitSelection";
1327
895
  label: string;
1328
896
  icon: import("react/jsx-runtime").JSX.Element;
897
+ viewMode: true;
898
+ navigation: true;
1329
899
  trackEvent: {
1330
900
  category: "canvas";
1331
901
  };
1332
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
902
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
903
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1333
904
  appState: {
905
+ zoom: import("../types").Zoom;
1334
906
  scrollX: number;
1335
907
  scrollY: number;
1336
- zoom: {
1337
- value: import("../types").NormalizedZoomValue;
1338
- };
1339
908
  contextMenu: {
1340
909
  items: import("../components/ContextMenu").ContextMenuItems;
1341
910
  top: number;
@@ -1343,18 +912,27 @@ export declare const actionZoomToFitSelection: {
1343
912
  } | null;
1344
913
  showWelcomeScreen: boolean;
1345
914
  isLoading: boolean;
1346
- errorMessage: import("react").ReactNode;
915
+ errorMessage: React.ReactNode;
1347
916
  activeEmbeddable: {
1348
917
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1349
- state: "active" | "hover";
918
+ state: "hover" | "active";
1350
919
  } | null;
1351
920
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1352
921
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1353
922
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1354
923
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1355
924
  isBindingEnabled: boolean;
1356
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1357
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
925
+ boxSelectionMode: import("../types").BoxSelectionMode;
926
+ bindingPreference: "enabled" | "disabled";
927
+ isMidpointSnappingEnabled: boolean;
928
+ suggestedBinding: {
929
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
930
+ midPoint?: import("@excalidraw/math").GlobalPoint;
931
+ } | null;
932
+ hoveredArrowTextAnchor: {
933
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
934
+ anchor: "start" | "end" | "label";
935
+ } | null;
1358
936
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1359
937
  frameRendering: {
1360
938
  enabled: boolean;
@@ -1362,14 +940,18 @@ export declare const actionZoomToFitSelection: {
1362
940
  outline: boolean;
1363
941
  clip: boolean;
1364
942
  };
1365
- editingFrame: string | null;
1366
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1367
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
943
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
944
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
945
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1368
946
  activeTool: {
1369
947
  lastActiveTool: import("../types").ActiveTool | null;
1370
948
  locked: boolean;
1371
949
  fromSelection: boolean;
1372
950
  } & import("../types").ActiveTool;
951
+ preferredSelectionTool: {
952
+ type: "selection" | "lasso";
953
+ initialized: boolean;
954
+ };
1373
955
  penMode: boolean;
1374
956
  penDetected: boolean;
1375
957
  exportBackground: boolean;
@@ -1378,43 +960,50 @@ export declare const actionZoomToFitSelection: {
1378
960
  exportScale: number;
1379
961
  currentItemStrokeColor: string;
1380
962
  currentItemBackgroundColor: string;
1381
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1382
- currentItemStrokeWidth: number;
1383
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
963
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
964
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
965
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1384
966
  currentItemRoughness: number;
967
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1385
968
  currentItemOpacity: number;
1386
- currentItemFontFamily: number;
969
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1387
970
  currentItemFontSize: number;
1388
- currentItemTextAlign: string;
971
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1389
972
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1390
973
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1391
- currentHoveredFontFamily: number | null;
974
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1392
975
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1393
- currentItemArrowType: "round" | "sharp" | "elbow";
976
+ currentItemArrowType: "sharp" | "round" | "elbow";
1394
977
  viewBackgroundColor: string;
978
+ scrollConstraints: import("../types").ScrollConstraints | null;
1395
979
  cursorButton: "up" | "down";
1396
980
  scrolledOutside: boolean;
1397
981
  name: string | null;
1398
982
  isResizing: boolean;
1399
983
  isRotating: boolean;
1400
- openMenu: "canvas" | "shape" | null;
1401
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
984
+ openMenu: "canvas" | null;
985
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1402
986
  openSidebar: {
1403
- name: string;
1404
- /** zoom content to cover X of the viewport, when fitToViewport=true */
1405
- tab?: string | undefined;
987
+ name: import("../types").SidebarName;
988
+ tab?: import("../types").SidebarTabName;
1406
989
  } | null;
1407
- openDialog: {
990
+ openDialog: null | {
1408
991
  name: "imageExport" | "help" | "jsonExport";
1409
992
  } | {
1410
993
  name: "ttd";
1411
- tab: "mermaid" | "text-to-diagram";
994
+ tab: "text-to-diagram" | "mermaid";
1412
995
  } | {
1413
996
  name: "commandPalette";
997
+ } | {
998
+ name: "settings";
1414
999
  } | {
1415
1000
  name: "elementLinkSelector";
1416
- sourceElementId: string;
1417
- } | null;
1001
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1002
+ } | {
1003
+ name: "charts";
1004
+ data: import("../charts").Spreadsheet;
1005
+ rawText: string;
1006
+ };
1418
1007
  defaultSidebarDockedPreference: boolean;
1419
1008
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1420
1009
  selectedElementIds: Readonly<{
@@ -1429,9 +1018,9 @@ export declare const actionZoomToFitSelection: {
1429
1018
  selectedElementsAreBeingDragged: boolean;
1430
1019
  shouldCacheIgnoreZoom: boolean;
1431
1020
  toast: {
1432
- message: string;
1433
- closable?: boolean | undefined;
1434
- duration?: number | undefined;
1021
+ message: React.ReactNode;
1022
+ closable?: boolean;
1023
+ duration?: number;
1435
1024
  } | null;
1436
1025
  zenModeEnabled: boolean;
1437
1026
  theme: import("@excalidraw/element/types").Theme;
@@ -1442,45 +1031,18 @@ export declare const actionZoomToFitSelection: {
1442
1031
  selectedGroupIds: {
1443
1032
  [groupId: string]: boolean;
1444
1033
  };
1445
- editingGroupId: string | null;
1034
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1446
1035
  width: number;
1447
1036
  height: number;
1448
1037
  offsetTop: number;
1449
1038
  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
- }>>;
1039
+ fileHandle: FileSystemFileHandle | null;
1040
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1471
1041
  stats: {
1472
1042
  open: boolean;
1473
1043
  panels: number;
1474
1044
  };
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";
1045
+ showHyperlinkPopup: false | "info" | "editor";
1484
1046
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1485
1047
  snapLines: readonly import("../snapping").SnapLine[];
1486
1048
  originSnapOffset: {
@@ -1488,18 +1050,17 @@ export declare const actionZoomToFitSelection: {
1488
1050
  y: number;
1489
1051
  } | null;
1490
1052
  objectsSnapModeEnabled: boolean;
1491
- userToFollow: import("../types").UserToFollow | null;
1492
- followedBy: Set<import("../types").SocketId>;
1493
1053
  isCropping: boolean;
1494
- croppingElementId: string | null;
1054
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1495
1055
  searchMatches: Readonly<{
1496
- focusedId: string | null;
1056
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1497
1057
  matches: readonly import("../types").SearchMatch[];
1498
1058
  }> | null;
1499
1059
  activeLockedId: string | null;
1500
1060
  lockedMultiSelections: {
1501
1061
  [groupId: string]: true;
1502
1062
  };
1063
+ bindMode: import("@excalidraw/element/types").BindMode;
1503
1064
  };
1504
1065
  captureUpdate: "EVENTUALLY";
1505
1066
  };
@@ -1512,16 +1073,16 @@ export declare const actionZoomToFit: {
1512
1073
  label: string;
1513
1074
  icon: import("react/jsx-runtime").JSX.Element;
1514
1075
  viewMode: true;
1076
+ navigation: true;
1515
1077
  trackEvent: {
1516
1078
  category: "canvas";
1517
1079
  };
1518
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1080
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1081
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1519
1082
  appState: {
1083
+ zoom: import("../types").Zoom;
1520
1084
  scrollX: number;
1521
1085
  scrollY: number;
1522
- zoom: {
1523
- value: import("../types").NormalizedZoomValue;
1524
- };
1525
1086
  contextMenu: {
1526
1087
  items: import("../components/ContextMenu").ContextMenuItems;
1527
1088
  top: number;
@@ -1529,18 +1090,27 @@ export declare const actionZoomToFit: {
1529
1090
  } | null;
1530
1091
  showWelcomeScreen: boolean;
1531
1092
  isLoading: boolean;
1532
- errorMessage: import("react").ReactNode;
1093
+ errorMessage: React.ReactNode;
1533
1094
  activeEmbeddable: {
1534
1095
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1535
- state: "active" | "hover";
1096
+ state: "hover" | "active";
1536
1097
  } | null;
1537
1098
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1538
1099
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1539
1100
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1540
1101
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1541
1102
  isBindingEnabled: boolean;
1542
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1543
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1103
+ boxSelectionMode: import("../types").BoxSelectionMode;
1104
+ bindingPreference: "enabled" | "disabled";
1105
+ isMidpointSnappingEnabled: boolean;
1106
+ suggestedBinding: {
1107
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1108
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1109
+ } | null;
1110
+ hoveredArrowTextAnchor: {
1111
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1112
+ anchor: "start" | "end" | "label";
1113
+ } | null;
1544
1114
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1545
1115
  frameRendering: {
1546
1116
  enabled: boolean;
@@ -1548,14 +1118,18 @@ export declare const actionZoomToFit: {
1548
1118
  outline: boolean;
1549
1119
  clip: boolean;
1550
1120
  };
1551
- editingFrame: string | null;
1552
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1553
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1121
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1122
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1123
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1554
1124
  activeTool: {
1555
1125
  lastActiveTool: import("../types").ActiveTool | null;
1556
1126
  locked: boolean;
1557
1127
  fromSelection: boolean;
1558
1128
  } & import("../types").ActiveTool;
1129
+ preferredSelectionTool: {
1130
+ type: "selection" | "lasso";
1131
+ initialized: boolean;
1132
+ };
1559
1133
  penMode: boolean;
1560
1134
  penDetected: boolean;
1561
1135
  exportBackground: boolean;
@@ -1564,231 +1138,50 @@ export declare const actionZoomToFit: {
1564
1138
  exportScale: number;
1565
1139
  currentItemStrokeColor: string;
1566
1140
  currentItemBackgroundColor: string;
1567
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1568
- currentItemStrokeWidth: number;
1569
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1141
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1142
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1143
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1570
1144
  currentItemRoughness: number;
1145
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1571
1146
  currentItemOpacity: number;
1572
- currentItemFontFamily: number;
1147
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1573
1148
  currentItemFontSize: number;
1574
- currentItemTextAlign: string;
1149
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1575
1150
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1576
1151
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1577
- currentHoveredFontFamily: number | null;
1152
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1578
1153
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1579
- currentItemArrowType: "round" | "sharp" | "elbow";
1154
+ currentItemArrowType: "sharp" | "round" | "elbow";
1580
1155
  viewBackgroundColor: string;
1156
+ scrollConstraints: import("../types").ScrollConstraints | null;
1581
1157
  cursorButton: "up" | "down";
1582
1158
  scrolledOutside: boolean;
1583
1159
  name: string | null;
1584
1160
  isResizing: boolean;
1585
1161
  isRotating: boolean;
1586
- openMenu: "canvas" | "shape" | null;
1587
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1162
+ openMenu: "canvas" | null;
1163
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1588
1164
  openSidebar: {
1589
- name: string;
1590
- /** zoom content to cover X of the viewport, when fitToViewport=true */
1591
- tab?: string | undefined;
1165
+ name: import("../types").SidebarName;
1166
+ tab?: import("../types").SidebarTabName;
1592
1167
  } | null;
1593
- openDialog: {
1168
+ openDialog: null | {
1594
1169
  name: "imageExport" | "help" | "jsonExport";
1595
1170
  } | {
1596
1171
  name: "ttd";
1597
- tab: "mermaid" | "text-to-diagram";
1172
+ tab: "text-to-diagram" | "mermaid";
1598
1173
  } | {
1599
1174
  name: "commandPalette";
1175
+ } | {
1176
+ name: "settings";
1600
1177
  } | {
1601
1178
  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;
1179
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1665
1180
  } | {
1666
- shown: true;
1181
+ name: "charts";
1667
1182
  data: import("../charts").Spreadsheet;
1183
+ rawText: string;
1668
1184
  };
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
1185
  defaultSidebarDockedPreference: boolean;
1793
1186
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1794
1187
  selectedElementIds: Readonly<{
@@ -1803,11 +1196,12 @@ export declare const actionToggleTheme: {
1803
1196
  selectedElementsAreBeingDragged: boolean;
1804
1197
  shouldCacheIgnoreZoom: boolean;
1805
1198
  toast: {
1806
- message: string;
1807
- closable?: boolean | undefined;
1808
- duration?: number | undefined;
1199
+ message: React.ReactNode;
1200
+ closable?: boolean;
1201
+ duration?: number;
1809
1202
  } | null;
1810
1203
  zenModeEnabled: boolean;
1204
+ theme: import("@excalidraw/element/types").Theme;
1811
1205
  gridSize: number;
1812
1206
  gridStep: number;
1813
1207
  gridModeEnabled: boolean;
@@ -1815,45 +1209,18 @@ export declare const actionToggleTheme: {
1815
1209
  selectedGroupIds: {
1816
1210
  [groupId: string]: boolean;
1817
1211
  };
1818
- editingGroupId: string | null;
1212
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1819
1213
  width: number;
1820
1214
  height: number;
1821
1215
  offsetTop: number;
1822
1216
  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
- }>>;
1217
+ fileHandle: FileSystemFileHandle | null;
1218
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1844
1219
  stats: {
1845
1220
  open: boolean;
1846
1221
  panels: number;
1847
1222
  };
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";
1223
+ showHyperlinkPopup: false | "info" | "editor";
1857
1224
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1858
1225
  snapLines: readonly import("../snapping").SnapLine[];
1859
1226
  originSnapOffset: {
@@ -1861,557 +1228,24 @@ export declare const actionToggleTheme: {
1861
1228
  y: number;
1862
1229
  } | null;
1863
1230
  objectsSnapModeEnabled: boolean;
1864
- userToFollow: import("../types").UserToFollow | null;
1865
- followedBy: Set<import("../types").SocketId>;
1866
1231
  isCropping: boolean;
1867
- croppingElementId: string | null;
1232
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1868
1233
  searchMatches: Readonly<{
1869
- focusedId: string | null;
1234
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1870
1235
  matches: readonly import("../types").SearchMatch[];
1871
1236
  }> | null;
1872
1237
  activeLockedId: string | null;
1873
1238
  lockedMultiSelections: {
1874
1239
  [groupId: string]: true;
1875
1240
  };
1241
+ bindMode: import("@excalidraw/element/types").BindMode;
1876
1242
  };
1877
1243
  captureUpdate: "EVENTUALLY";
1878
1244
  };
1879
1245
  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
1246
  } & {
1882
1247
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1883
1248
  };
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;
1249
+ export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1250
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
2417
1251
  };