@excalidraw/math 0.18.0-200a6bd94 → 0.18.0-214cd6e

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