@excalidraw/math 0.18.0-0fc927cb4 → 0.18.0-1118751

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