@zsviczian/excalidraw 0.17.6-30 → 0.17.6-31

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 (378) hide show
  1. package/dist/excalidraw.development.js +7 -7
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -0
  5. package/types/excalidraw/actions/actionAlign.d.ts +109 -0
  6. package/types/excalidraw/actions/actionBoundText.d.ts +456 -0
  7. package/types/excalidraw/actions/actionCanvas.d.ts +3070 -0
  8. package/types/excalidraw/actions/actionClipboard.d.ts +1374 -0
  9. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -0
  10. package/types/excalidraw/actions/actionDeleteSelected.d.ts +668 -0
  11. package/types/excalidraw/actions/actionDistribute.d.ts +34 -0
  12. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -0
  13. package/types/excalidraw/actions/actionElementLink.d.ts +244 -0
  14. package/types/excalidraw/actions/actionElementLock.d.ts +444 -0
  15. package/types/excalidraw/actions/actionExport.d.ts +1953 -0
  16. package/types/excalidraw/actions/actionFinalize.d.ts +425 -0
  17. package/types/excalidraw/actions/actionFlip.d.ts +34 -0
  18. package/types/excalidraw/actions/actionFrame.d.ts +1384 -0
  19. package/types/excalidraw/actions/actionGroup.d.ts +454 -0
  20. package/types/excalidraw/actions/actionHistory.d.ts +7 -0
  21. package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -0
  22. package/types/excalidraw/actions/actionLink.d.ts +223 -0
  23. package/types/excalidraw/actions/actionMenu.d.ts +649 -0
  24. package/types/excalidraw/actions/actionNavigate.d.ts +430 -0
  25. package/types/excalidraw/actions/actionProperties.d.ts +3276 -0
  26. package/types/excalidraw/actions/actionSelectAll.d.ts +222 -0
  27. package/types/excalidraw/actions/actionStyles.d.ts +236 -0
  28. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  29. package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -0
  30. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -0
  31. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -0
  32. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -0
  33. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -0
  34. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -0
  35. package/types/excalidraw/actions/actionZindex.d.ts +74 -0
  36. package/types/excalidraw/actions/index.d.ts +27 -0
  37. package/types/excalidraw/actions/manager.d.ts +21 -0
  38. package/types/excalidraw/actions/register.d.ts +5 -0
  39. package/types/excalidraw/actions/shortcuts.d.ts +4 -0
  40. package/types/excalidraw/actions/types.d.ts +46 -0
  41. package/types/excalidraw/align.d.ts +7 -0
  42. package/types/excalidraw/analytics.d.ts +1 -0
  43. package/types/excalidraw/animated-trail.d.ts +33 -0
  44. package/types/excalidraw/animation-frame-handler.d.ts +16 -0
  45. package/types/excalidraw/appState.d.ts +89 -0
  46. package/types/excalidraw/binaryheap.d.ts +12 -0
  47. package/types/excalidraw/change.d.ts +191 -0
  48. package/types/excalidraw/charts.d.ts +27 -0
  49. package/types/excalidraw/clients.d.ts +14 -0
  50. package/types/excalidraw/clipboard.d.ts +66 -0
  51. package/types/excalidraw/colors.d.ts +61 -0
  52. package/types/excalidraw/components/Actions.d.ts +35 -0
  53. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -0
  54. package/types/excalidraw/components/App.d.ts +551 -0
  55. package/types/excalidraw/components/Avatar.d.ts +11 -0
  56. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -0
  57. package/types/excalidraw/components/Button.d.ts +17 -0
  58. package/types/excalidraw/components/ButtonIcon.d.ts +14 -0
  59. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -0
  60. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -0
  61. package/types/excalidraw/components/ButtonSelect.d.ts +9 -0
  62. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -0
  63. package/types/excalidraw/components/Card.d.ts +6 -0
  64. package/types/excalidraw/components/CheckboxItem.d.ts +8 -0
  65. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -0
  66. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -0
  67. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -0
  68. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  69. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -0
  70. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -0
  71. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -0
  72. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -0
  73. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -0
  74. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  75. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  76. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -0
  77. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -0
  78. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -0
  79. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -0
  80. package/types/excalidraw/components/ContextMenu.d.ts +16 -0
  81. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -0
  82. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -0
  83. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -0
  84. package/types/excalidraw/components/Dialog.d.ts +13 -0
  85. package/types/excalidraw/components/DialogActionButton.d.ts +10 -0
  86. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -0
  87. package/types/excalidraw/components/ErrorDialog.d.ts +5 -0
  88. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -0
  89. package/types/excalidraw/components/EyeDropper.d.ts +27 -0
  90. package/types/excalidraw/components/FilledButton.d.ts +18 -0
  91. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -0
  92. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -0
  93. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
  94. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -0
  95. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -0
  96. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -0
  97. package/types/excalidraw/components/HandButton.d.ts +10 -0
  98. package/types/excalidraw/components/HelpButton.d.ts +7 -0
  99. package/types/excalidraw/components/HelpDialog.d.ts +4 -0
  100. package/types/excalidraw/components/HintViewer.d.ts +10 -0
  101. package/types/excalidraw/components/IconPicker.d.ts +14 -0
  102. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -0
  103. package/types/excalidraw/components/InitializeApp.d.ts +10 -0
  104. package/types/excalidraw/components/InlineIcon.d.ts +3 -0
  105. package/types/excalidraw/components/Island.d.ts +10 -0
  106. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -0
  107. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -0
  108. package/types/excalidraw/components/LayerUI.d.ts +31 -0
  109. package/types/excalidraw/components/LibraryMenu.d.ts +24 -0
  110. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -0
  111. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -0
  112. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -0
  113. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -0
  114. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -0
  115. package/types/excalidraw/components/LibraryUnit.d.ts +14 -0
  116. package/types/excalidraw/components/LoadingMessage.d.ts +5 -0
  117. package/types/excalidraw/components/LockButton.d.ts +10 -0
  118. package/types/excalidraw/components/MagicButton.d.ts +9 -0
  119. package/types/excalidraw/components/MobileMenu.d.ts +24 -0
  120. package/types/excalidraw/components/Modal.d.ts +14 -0
  121. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  122. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  124. package/types/excalidraw/components/Paragraph.d.ts +4 -0
  125. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -0
  126. package/types/excalidraw/components/PenModeButton.d.ts +12 -0
  127. package/types/excalidraw/components/Popover.d.ts +15 -0
  128. package/types/excalidraw/components/ProjectName.d.ts +10 -0
  129. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -0
  130. package/types/excalidraw/components/PublishLibrary.d.ts +16 -0
  131. package/types/excalidraw/components/QuickSearch.d.ts +9 -0
  132. package/types/excalidraw/components/RadioGroup.d.ts +13 -0
  133. package/types/excalidraw/components/Range.d.ts +8 -0
  134. package/types/excalidraw/components/SVGLayer.d.ts +7 -0
  135. package/types/excalidraw/components/ScrollableList.d.ts +8 -0
  136. package/types/excalidraw/components/SearchMenu.d.ts +5 -0
  137. package/types/excalidraw/components/Section.d.ts +6 -0
  138. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -0
  139. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -0
  140. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -0
  141. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -0
  142. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  143. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  144. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -0
  145. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -0
  146. package/types/excalidraw/components/Sidebar/common.d.ts +33 -0
  147. package/types/excalidraw/components/Spinner.d.ts +8 -0
  148. package/types/excalidraw/components/Stack.d.ts +16 -0
  149. package/types/excalidraw/components/Stats/Angle.d.ts +11 -0
  150. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -0
  151. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -0
  152. package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -0
  153. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -0
  154. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -0
  155. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -0
  156. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -0
  157. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -0
  158. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -0
  159. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -0
  160. package/types/excalidraw/components/Stats/Position.d.ts +12 -0
  161. package/types/excalidraw/components/Stats/index.d.ts +35 -0
  162. package/types/excalidraw/components/Stats/utils.d.ts +26 -0
  163. package/types/excalidraw/components/Switch.d.ts +9 -0
  164. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -0
  165. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -0
  166. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -0
  167. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -0
  168. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -0
  169. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -0
  170. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -0
  171. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -0
  172. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -0
  173. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -0
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -0
  175. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -0
  176. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -0
  177. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -0
  178. package/types/excalidraw/components/TextField.d.ts +21 -0
  179. package/types/excalidraw/components/Toast.d.ts +9 -0
  180. package/types/excalidraw/components/ToolButton.d.ts +49 -0
  181. package/types/excalidraw/components/Tooltip.d.ts +18 -0
  182. package/types/excalidraw/components/Trans.d.ts +9 -0
  183. package/types/excalidraw/components/UserList.d.ts +18 -0
  184. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -0
  185. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -0
  186. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -0
  187. package/types/excalidraw/components/canvases/index.d.ts +3 -0
  188. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -0
  189. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -0
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -0
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -0
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -0
  196. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  197. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  198. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -0
  199. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  200. package/types/excalidraw/components/footer/Footer.d.ts +12 -0
  201. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -0
  202. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -0
  203. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -0
  204. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -0
  205. package/types/excalidraw/components/icons.d.ts +223 -0
  206. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  207. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -0
  208. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -0
  209. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -0
  210. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  211. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -0
  212. package/types/excalidraw/constants.d.ts +326 -0
  213. package/types/excalidraw/context/tunnels.d.ts +21 -0
  214. package/types/excalidraw/context/ui-appState.d.ts +4 -0
  215. package/types/excalidraw/cursor.d.ts +6 -0
  216. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -0
  217. package/types/excalidraw/data/ai/types.d.ts +242 -0
  218. package/types/excalidraw/data/blob.d.ts +53 -0
  219. package/types/excalidraw/data/encode.d.ts +55 -0
  220. package/types/excalidraw/data/encryption.d.ts +9 -0
  221. package/types/excalidraw/data/filesystem.d.ts +21 -0
  222. package/types/excalidraw/data/image.d.ts +9 -0
  223. package/types/excalidraw/data/index.d.ts +22 -0
  224. package/types/excalidraw/data/json.d.ts +16 -0
  225. package/types/excalidraw/data/library.d.ts +112 -0
  226. package/types/excalidraw/data/reconcile.d.ts +6 -0
  227. package/types/excalidraw/data/resave.d.ts +5 -0
  228. package/types/excalidraw/data/restore.d.ts +21 -0
  229. package/types/excalidraw/data/transform.d.ts +81 -0
  230. package/types/excalidraw/data/types.d.ts +45 -0
  231. package/types/excalidraw/data/url.d.ts +7 -0
  232. package/types/excalidraw/deburr.d.ts +1 -0
  233. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -0
  234. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -0
  235. package/types/excalidraw/distribute.d.ts +6 -0
  236. package/types/excalidraw/editor-jotai.d.ts +56 -0
  237. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -0
  238. package/types/excalidraw/element/binding.d.ts +102 -0
  239. package/types/excalidraw/element/bounds.d.ts +76 -0
  240. package/types/excalidraw/element/collision.d.ts +17 -0
  241. package/types/excalidraw/element/containerCache.d.ts +11 -0
  242. package/types/excalidraw/element/cropElement.d.ts +19 -0
  243. package/types/excalidraw/element/dragElements.d.ts +32 -0
  244. package/types/excalidraw/element/elbowArrow.d.ts +16 -0
  245. package/types/excalidraw/element/elementLink.d.ts +13 -0
  246. package/types/excalidraw/element/embeddable.d.ts +229 -0
  247. package/types/excalidraw/element/flowchart.d.ts +25 -0
  248. package/types/excalidraw/element/heading.d.ts +16 -0
  249. package/types/excalidraw/element/image.d.ts +32 -0
  250. package/types/excalidraw/element/index.d.ts +26 -0
  251. package/types/excalidraw/element/linearElementEditor.d.ts +127 -0
  252. package/types/excalidraw/element/mutateElement.d.ts +13 -0
  253. package/types/excalidraw/element/newElement.d.ts +107 -0
  254. package/types/excalidraw/element/resizeElements.d.ts +38 -0
  255. package/types/excalidraw/element/resizeTest.d.ts +15 -0
  256. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -0
  257. package/types/excalidraw/element/sizeHelpers.d.ts +35 -0
  258. package/types/excalidraw/element/sortElements.d.ts +2 -0
  259. package/types/excalidraw/element/textElement.d.ts +83 -0
  260. package/types/excalidraw/element/textWrapping.d.ts +13 -0
  261. package/types/excalidraw/element/textWysiwyg.d.ts +22 -0
  262. package/types/excalidraw/element/transformHandles.d.ts +55 -0
  263. package/types/excalidraw/element/typeChecks.d.ts +39 -0
  264. package/types/excalidraw/element/types.d.ts +285 -0
  265. package/types/excalidraw/emitter.d.ts +16 -0
  266. package/types/excalidraw/entry.d.ts +1 -0
  267. package/types/excalidraw/env.d.cts +1 -0
  268. package/types/excalidraw/env.d.ts +1 -0
  269. package/types/excalidraw/errors.d.ts +32 -0
  270. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
  271. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  272. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
  273. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -0
  274. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
  275. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -0
  276. package/types/excalidraw/fonts/Fonts.d.ts +100 -0
  277. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
  278. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
  279. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
  280. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
  281. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
  282. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
  283. package/types/excalidraw/fonts/index.d.ts +1 -0
  284. package/types/excalidraw/fractionalIndex.d.ts +48 -0
  285. package/types/excalidraw/frame.d.ts +69 -0
  286. package/types/excalidraw/gesture.d.ts +6 -0
  287. package/types/excalidraw/groups.d.ts +33 -0
  288. package/types/excalidraw/history.d.ts +40 -0
  289. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -0
  290. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
  291. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -0
  292. package/types/excalidraw/hooks/useEmitter.d.ts +2 -0
  293. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -0
  294. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -0
  295. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -0
  296. package/types/excalidraw/hooks/useStable.d.ts +1 -0
  297. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -0
  298. package/types/excalidraw/hooks/useTransition.d.ts +2 -0
  299. package/types/excalidraw/i18n.d.ts +24 -0
  300. package/types/excalidraw/index-node.d.ts +1 -0
  301. package/types/excalidraw/index.d.ts +64 -0
  302. package/types/excalidraw/keys.d.ts +189 -0
  303. package/types/excalidraw/laser-trails.d.ts +20 -0
  304. package/types/excalidraw/main.d.ts +2 -0
  305. package/types/excalidraw/mermaid.d.ts +2 -0
  306. package/types/excalidraw/obsidianUtils.d.ts +26 -0
  307. package/types/excalidraw/points.d.ts +7 -0
  308. package/types/excalidraw/polyfill.d.ts +2 -0
  309. package/types/excalidraw/publicPath.d.ts +1 -0
  310. package/types/excalidraw/queue.d.ts +9 -0
  311. package/types/excalidraw/random.d.ts +4 -0
  312. package/types/excalidraw/reactUtils.d.ts +14 -0
  313. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -0
  314. package/types/excalidraw/renderer/helpers.d.ts +13 -0
  315. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -0
  316. package/types/excalidraw/renderer/renderElement.d.ts +28 -0
  317. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -0
  318. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -0
  319. package/types/excalidraw/renderer/roundRect.d.ts +11 -0
  320. package/types/excalidraw/renderer/staticScene.d.ts +11 -0
  321. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -0
  322. package/types/excalidraw/scene/Renderer.d.ts +28 -0
  323. package/types/excalidraw/scene/Scene.d.ts +79 -0
  324. package/types/excalidraw/scene/Shape.d.ts +17 -0
  325. package/types/excalidraw/scene/ShapeCache.d.ts +25 -0
  326. package/types/excalidraw/scene/comparisons.d.ts +488 -0
  327. package/types/excalidraw/scene/export.d.ts +37 -0
  328. package/types/excalidraw/scene/index.d.ts +4 -0
  329. package/types/excalidraw/scene/normalize.d.ts +4 -0
  330. package/types/excalidraw/scene/scroll.d.ts +23 -0
  331. package/types/excalidraw/scene/scrollbars.d.ts +12 -0
  332. package/types/excalidraw/scene/selection.d.ts +32 -0
  333. package/types/excalidraw/scene/types.d.ts +119 -0
  334. package/types/excalidraw/scene/zoom.d.ts +12 -0
  335. package/types/excalidraw/shapes.d.ts +85 -0
  336. package/types/excalidraw/snapping.d.ts +112 -0
  337. package/types/excalidraw/store.d.ts +129 -0
  338. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
  339. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
  340. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
  341. package/types/excalidraw/subset/subset-main.d.ts +12 -0
  342. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
  343. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
  344. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
  345. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
  346. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
  347. package/types/excalidraw/types.d.ts +742 -0
  348. package/types/excalidraw/utility-types.d.ts +31 -0
  349. package/types/excalidraw/utils.d.ts +255 -0
  350. package/types/excalidraw/visualdebug.d.ts +42 -0
  351. package/types/excalidraw/webpack.dev.config.d.ts +81 -0
  352. package/types/excalidraw/webpack.prod.config.d.ts +97 -0
  353. package/types/excalidraw/workers.d.ts +36 -0
  354. package/types/excalidraw/zindex.d.ts +6 -0
  355. package/types/math/angle.d.ts +17 -0
  356. package/types/math/arc.d.ts +6 -0
  357. package/types/math/curve.d.ts +32 -0
  358. package/types/math/ga/ga.d.ts +63 -0
  359. package/types/math/ga/gadirections.d.ts +8 -0
  360. package/types/math/ga/galines.d.ts +22 -0
  361. package/types/math/ga/gapoints.d.ts +7 -0
  362. package/types/math/ga/gatransforms.d.ts +10 -0
  363. package/types/math/index.d.ts +12 -0
  364. package/types/math/line.d.ts +45 -0
  365. package/types/math/point.d.ts +150 -0
  366. package/types/math/polygon.d.ts +5 -0
  367. package/types/math/range.d.ts +44 -0
  368. package/types/math/segment.d.ts +32 -0
  369. package/types/math/triangle.d.ts +11 -0
  370. package/types/math/types.d.ts +96 -0
  371. package/types/math/utils.d.ts +7 -0
  372. package/types/math/vector.d.ts +92 -0
  373. package/types/utils/bbox.d.ts +9 -0
  374. package/types/utils/collision.d.ts +9 -0
  375. package/types/utils/export.d.ts +46 -0
  376. package/types/utils/geometry/shape.d.ts +71 -0
  377. package/types/utils/index.d.ts +4 -0
  378. package/types/utils/withinBounds.d.ts +19 -0
@@ -0,0 +1,3070 @@
1
+ import type { ExcalidrawElement } from "../element/types";
2
+ import type { AppState, Offsets, AppClassProperties } from "../types";
3
+ import type { SceneBounds } from "../element/bounds";
4
+ export declare const actionChangeViewBackgroundColor: {
5
+ name: "changeViewBackgroundColor";
6
+ label: string;
7
+ paletteName: string;
8
+ trackEvent: false;
9
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
10
+ perform: (_: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
11
+ appState: any;
12
+ storeAction: "none" | "capture";
13
+ };
14
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
15
+ } & {
16
+ keyTest?: undefined;
17
+ };
18
+ export declare const actionClearCanvas: {
19
+ name: "clearCanvas";
20
+ label: string;
21
+ paletteName: string;
22
+ icon: JSX.Element;
23
+ trackEvent: {
24
+ category: "canvas";
25
+ };
26
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
27
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
28
+ elements: import("../element/types").OrderedExcalidrawElement[];
29
+ appState: {
30
+ files: {};
31
+ theme: import("../element/types").Theme;
32
+ penMode: boolean;
33
+ penDetected: boolean;
34
+ exportBackground: boolean;
35
+ exportEmbedScene: boolean;
36
+ gridSize: number;
37
+ gridStep: number;
38
+ gridModeEnabled: boolean;
39
+ stats: {
40
+ open: boolean;
41
+ panels: number;
42
+ };
43
+ pasteDialog: {
44
+ shown: false;
45
+ data: null;
46
+ } | {
47
+ shown: true;
48
+ data: import("../charts").Spreadsheet;
49
+ };
50
+ activeTool: {
51
+ lastActiveTool: import("../types").ActiveTool | null;
52
+ locked: boolean;
53
+ } & import("../types").ActiveTool;
54
+ colorPalette: {
55
+ canvasBackground: import("../colors").ColorPaletteCustom;
56
+ elementBackground: import("../colors").ColorPaletteCustom;
57
+ elementStroke: import("../colors").ColorPaletteCustom;
58
+ topPicks: {
59
+ canvasBackground: [string, string, string, string, string];
60
+ elementStroke: [string, string, string, string, string];
61
+ elementBackground: [string, string, string, string, string];
62
+ };
63
+ } | undefined;
64
+ trayModeEnabled: boolean;
65
+ allowPinchZoom: boolean | undefined;
66
+ allowWheelZoom: boolean | undefined;
67
+ pinnedScripts: string[] | undefined;
68
+ customPens: any[] | undefined;
69
+ contextMenu: {
70
+ items: import("../components/ContextMenu").ContextMenuItems;
71
+ top: number;
72
+ left: number;
73
+ } | null;
74
+ showWelcomeScreen: boolean;
75
+ isLoading: boolean;
76
+ errorMessage: import("react").ReactNode;
77
+ activeEmbeddable: {
78
+ element: import("../element/types").NonDeletedExcalidrawElement;
79
+ state: "active" | "hover";
80
+ } | null;
81
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
82
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
83
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
84
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
85
+ isBindingEnabled: boolean;
86
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
87
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
88
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
89
+ frameRendering: {
90
+ enabled: boolean;
91
+ name: boolean;
92
+ outline: boolean;
93
+ clip: boolean;
94
+ };
95
+ editingFrame: string | null;
96
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
97
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
98
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
99
+ exportWithDarkMode: boolean;
100
+ exportScale: number;
101
+ currentItemStrokeColor: string;
102
+ currentItemBackgroundColor: string;
103
+ currentItemFillStyle: import("../element/types").FillStyle;
104
+ currentItemStrokeWidth: number;
105
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
106
+ currentItemRoughness: number;
107
+ currentItemOpacity: number;
108
+ currentItemFontFamily: number;
109
+ currentItemFontSize: number;
110
+ currentItemTextAlign: string;
111
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
112
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
113
+ currentHoveredFontFamily: number | null;
114
+ currentItemRoundness: import("../element/types").StrokeRoundness;
115
+ currentItemArrowType: "round" | "sharp" | "elbow";
116
+ viewBackgroundColor: string;
117
+ scrollX: number;
118
+ scrollY: number;
119
+ cursorButton: "up" | "down";
120
+ scrolledOutside: boolean;
121
+ name: string | null;
122
+ isResizing: boolean;
123
+ isRotating: boolean;
124
+ zoom: Readonly<{
125
+ value: import("../types").NormalizedZoomValue;
126
+ }>;
127
+ openMenu: "canvas" | "shape" | null;
128
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
129
+ openSidebar: {
130
+ name: string;
131
+ tab?: string | undefined;
132
+ } | null;
133
+ openDialog: {
134
+ name: "help" | "imageExport" | "jsonExport";
135
+ } | {
136
+ name: "ttd";
137
+ tab: "mermaid" | "text-to-diagram";
138
+ } | {
139
+ name: "commandPalette";
140
+ } | {
141
+ name: "elementLinkSelector";
142
+ sourceElementId: string;
143
+ } | null;
144
+ defaultSidebarDockedPreference: boolean;
145
+ lastPointerDownWith: import("../element/types").PointerType;
146
+ selectedElementIds: Readonly<{
147
+ [id: string]: true;
148
+ }>;
149
+ hoveredElementIds: Readonly<{
150
+ [id: string]: true;
151
+ }>;
152
+ previousSelectedElementIds: {
153
+ [id: string]: true;
154
+ };
155
+ selectedElementsAreBeingDragged: boolean;
156
+ shouldCacheIgnoreZoom: boolean;
157
+ toast: {
158
+ message: string;
159
+ closable?: boolean | undefined;
160
+ duration?: number | undefined;
161
+ } | null;
162
+ zenModeEnabled: boolean;
163
+ viewModeEnabled: boolean;
164
+ selectedGroupIds: {
165
+ [groupId: string]: boolean;
166
+ };
167
+ editingGroupId: string | null;
168
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
169
+ collaborators: Map<import("../types").SocketId, Readonly<{
170
+ pointer?: import("../types").CollaboratorPointer | undefined;
171
+ button?: "up" | "down" | undefined;
172
+ selectedElementIds?: Readonly<{
173
+ [id: string]: true;
174
+ }> | undefined;
175
+ username?: string | null | undefined;
176
+ userState?: import("../types").UserIdleState | undefined;
177
+ color?: {
178
+ background: string;
179
+ stroke: string;
180
+ } | undefined;
181
+ avatarUrl?: string | undefined;
182
+ id?: string | undefined;
183
+ socketId?: import("../types").SocketId | undefined;
184
+ isCurrentUser?: boolean | undefined;
185
+ isInCall?: boolean | undefined;
186
+ isSpeaking?: boolean | undefined;
187
+ isMuted?: boolean | undefined;
188
+ }>>;
189
+ currentChartType: import("../element/types").ChartType;
190
+ pendingImageElementId: string | null;
191
+ showHyperlinkPopup: false | "info" | "editor";
192
+ linkOpacity: number;
193
+ currentStrokeOptions?: any;
194
+ resetCustomPen?: any;
195
+ gridColor: {
196
+ Bold: string;
197
+ Regular: string;
198
+ };
199
+ highlightSearchResult: boolean;
200
+ dynamicStyle: {
201
+ [x: string]: string;
202
+ };
203
+ frameColor: {
204
+ stroke: string;
205
+ fill: string;
206
+ nameColor: string;
207
+ };
208
+ invertBindingBehaviour: boolean;
209
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
210
+ snapLines: readonly import("../snapping").SnapLine[];
211
+ originSnapOffset: {
212
+ x: number;
213
+ y: number;
214
+ } | null;
215
+ objectsSnapModeEnabled: boolean;
216
+ userToFollow: import("../types").UserToFollow | null;
217
+ followedBy: Set<import("../types").SocketId>;
218
+ isCropping: boolean;
219
+ croppingElementId: string | null;
220
+ searchMatches: readonly {
221
+ id: string;
222
+ focus: boolean;
223
+ matchedLines: {
224
+ offsetX: number;
225
+ offsetY: number;
226
+ width: number;
227
+ height: number;
228
+ }[];
229
+ }[];
230
+ };
231
+ storeAction: "capture";
232
+ };
233
+ } & {
234
+ keyTest?: undefined;
235
+ };
236
+ export declare const actionZoomIn: {
237
+ name: "zoomIn";
238
+ label: string;
239
+ viewMode: true;
240
+ icon: JSX.Element;
241
+ trackEvent: {
242
+ category: "canvas";
243
+ };
244
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
245
+ appState: {
246
+ userToFollow: null;
247
+ scrollX: number;
248
+ scrollY: number;
249
+ zoom: {
250
+ value: import("../types").NormalizedZoomValue;
251
+ };
252
+ contextMenu: {
253
+ items: import("../components/ContextMenu").ContextMenuItems;
254
+ top: number;
255
+ left: number;
256
+ } | null;
257
+ showWelcomeScreen: boolean;
258
+ isLoading: boolean;
259
+ errorMessage: import("react").ReactNode;
260
+ activeEmbeddable: {
261
+ element: import("../element/types").NonDeletedExcalidrawElement;
262
+ state: "active" | "hover";
263
+ } | null;
264
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
265
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
266
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
267
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
268
+ isBindingEnabled: boolean;
269
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
270
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
271
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
272
+ frameRendering: {
273
+ enabled: boolean;
274
+ name: boolean;
275
+ outline: boolean;
276
+ clip: boolean;
277
+ };
278
+ editingFrame: string | null;
279
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
280
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
281
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
282
+ activeTool: {
283
+ lastActiveTool: import("../types").ActiveTool | null;
284
+ locked: boolean;
285
+ } & import("../types").ActiveTool;
286
+ penMode: boolean;
287
+ penDetected: boolean;
288
+ exportBackground: boolean;
289
+ exportEmbedScene: boolean;
290
+ exportWithDarkMode: boolean;
291
+ exportScale: number;
292
+ currentItemStrokeColor: string;
293
+ currentItemBackgroundColor: string;
294
+ currentItemFillStyle: import("../element/types").FillStyle;
295
+ currentItemStrokeWidth: number;
296
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
297
+ currentItemRoughness: number;
298
+ currentItemOpacity: number;
299
+ currentItemFontFamily: number;
300
+ currentItemFontSize: number;
301
+ currentItemTextAlign: string;
302
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
303
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
304
+ currentHoveredFontFamily: number | null;
305
+ currentItemRoundness: import("../element/types").StrokeRoundness;
306
+ currentItemArrowType: "round" | "sharp" | "elbow";
307
+ viewBackgroundColor: string;
308
+ cursorButton: "up" | "down";
309
+ scrolledOutside: boolean;
310
+ name: string | null;
311
+ isResizing: boolean;
312
+ isRotating: boolean;
313
+ openMenu: "canvas" | "shape" | null;
314
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
315
+ openSidebar: {
316
+ name: string;
317
+ tab?: string | undefined;
318
+ } | null;
319
+ openDialog: {
320
+ name: "help" | "imageExport" | "jsonExport";
321
+ } | {
322
+ name: "ttd";
323
+ tab: "mermaid" | "text-to-diagram";
324
+ } | {
325
+ name: "commandPalette";
326
+ } | {
327
+ name: "elementLinkSelector";
328
+ sourceElementId: string;
329
+ } | null;
330
+ defaultSidebarDockedPreference: boolean;
331
+ lastPointerDownWith: import("../element/types").PointerType;
332
+ selectedElementIds: Readonly<{
333
+ [id: string]: true;
334
+ }>;
335
+ hoveredElementIds: Readonly<{
336
+ [id: string]: true;
337
+ }>;
338
+ previousSelectedElementIds: {
339
+ [id: string]: true;
340
+ };
341
+ selectedElementsAreBeingDragged: boolean;
342
+ shouldCacheIgnoreZoom: boolean;
343
+ toast: {
344
+ message: string;
345
+ closable?: boolean | undefined;
346
+ duration?: number | undefined;
347
+ } | null;
348
+ zenModeEnabled: boolean;
349
+ theme: import("../element/types").Theme;
350
+ gridSize: number;
351
+ gridStep: number;
352
+ gridModeEnabled: boolean;
353
+ viewModeEnabled: boolean;
354
+ selectedGroupIds: {
355
+ [groupId: string]: boolean;
356
+ };
357
+ editingGroupId: string | null;
358
+ width: number;
359
+ height: number;
360
+ offsetTop: number;
361
+ offsetLeft: number;
362
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
363
+ collaborators: Map<import("../types").SocketId, Readonly<{
364
+ pointer?: import("../types").CollaboratorPointer | undefined;
365
+ button?: "up" | "down" | undefined;
366
+ selectedElementIds?: Readonly<{
367
+ [id: string]: true;
368
+ }> | undefined;
369
+ username?: string | null | undefined;
370
+ userState?: import("../types").UserIdleState | undefined;
371
+ color?: {
372
+ background: string;
373
+ stroke: string;
374
+ } | undefined;
375
+ avatarUrl?: string | undefined;
376
+ id?: string | undefined;
377
+ socketId?: import("../types").SocketId | undefined;
378
+ isCurrentUser?: boolean | undefined;
379
+ isInCall?: boolean | undefined;
380
+ isSpeaking?: boolean | undefined;
381
+ isMuted?: boolean | undefined;
382
+ }>>;
383
+ stats: {
384
+ open: boolean;
385
+ panels: number;
386
+ };
387
+ currentChartType: import("../element/types").ChartType;
388
+ pasteDialog: {
389
+ shown: false;
390
+ data: null;
391
+ } | {
392
+ shown: true;
393
+ data: import("../charts").Spreadsheet;
394
+ };
395
+ pendingImageElementId: string | null;
396
+ showHyperlinkPopup: false | "info" | "editor";
397
+ linkOpacity: number;
398
+ trayModeEnabled: boolean;
399
+ colorPalette?: {
400
+ canvasBackground: import("../colors").ColorPaletteCustom;
401
+ elementBackground: import("../colors").ColorPaletteCustom;
402
+ elementStroke: import("../colors").ColorPaletteCustom;
403
+ topPicks: {
404
+ canvasBackground: [string, string, string, string, string];
405
+ elementStroke: [string, string, string, string, string];
406
+ elementBackground: [string, string, string, string, string];
407
+ };
408
+ } | undefined;
409
+ allowWheelZoom?: boolean | undefined;
410
+ allowPinchZoom?: boolean | undefined;
411
+ pinnedScripts?: string[] | undefined;
412
+ customPens?: any[] | undefined;
413
+ currentStrokeOptions?: any;
414
+ resetCustomPen?: any;
415
+ gridColor: {
416
+ Bold: string;
417
+ Regular: string;
418
+ };
419
+ highlightSearchResult: boolean;
420
+ dynamicStyle: {
421
+ [x: string]: string;
422
+ };
423
+ frameColor: {
424
+ stroke: string;
425
+ fill: string;
426
+ nameColor: string;
427
+ };
428
+ invertBindingBehaviour: boolean;
429
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
430
+ snapLines: readonly import("../snapping").SnapLine[];
431
+ originSnapOffset: {
432
+ x: number;
433
+ y: number;
434
+ } | null;
435
+ objectsSnapModeEnabled: boolean;
436
+ followedBy: Set<import("../types").SocketId>;
437
+ isCropping: boolean;
438
+ croppingElementId: string | null;
439
+ searchMatches: readonly {
440
+ id: string;
441
+ focus: boolean;
442
+ matchedLines: {
443
+ offsetX: number;
444
+ offsetY: number;
445
+ width: number;
446
+ height: number;
447
+ }[];
448
+ }[];
449
+ };
450
+ storeAction: "none";
451
+ };
452
+ PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
453
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
454
+ } & {
455
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
456
+ };
457
+ export declare const actionZoomOut: {
458
+ name: "zoomOut";
459
+ label: string;
460
+ icon: JSX.Element;
461
+ viewMode: true;
462
+ trackEvent: {
463
+ category: "canvas";
464
+ };
465
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
466
+ appState: {
467
+ userToFollow: null;
468
+ scrollX: number;
469
+ scrollY: number;
470
+ zoom: {
471
+ value: import("../types").NormalizedZoomValue;
472
+ };
473
+ contextMenu: {
474
+ items: import("../components/ContextMenu").ContextMenuItems;
475
+ top: number;
476
+ left: number;
477
+ } | null;
478
+ showWelcomeScreen: boolean;
479
+ isLoading: boolean;
480
+ errorMessage: import("react").ReactNode;
481
+ activeEmbeddable: {
482
+ element: import("../element/types").NonDeletedExcalidrawElement;
483
+ state: "active" | "hover";
484
+ } | null;
485
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
486
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
487
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
488
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
489
+ isBindingEnabled: boolean;
490
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
491
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
492
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
493
+ frameRendering: {
494
+ enabled: boolean;
495
+ name: boolean;
496
+ outline: boolean;
497
+ clip: boolean;
498
+ };
499
+ editingFrame: string | null;
500
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
501
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
502
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
503
+ activeTool: {
504
+ lastActiveTool: import("../types").ActiveTool | null;
505
+ locked: boolean;
506
+ } & import("../types").ActiveTool;
507
+ penMode: boolean;
508
+ penDetected: boolean;
509
+ exportBackground: boolean;
510
+ exportEmbedScene: boolean;
511
+ exportWithDarkMode: boolean;
512
+ exportScale: number;
513
+ currentItemStrokeColor: string;
514
+ currentItemBackgroundColor: string;
515
+ currentItemFillStyle: import("../element/types").FillStyle;
516
+ currentItemStrokeWidth: number;
517
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
518
+ currentItemRoughness: number;
519
+ currentItemOpacity: number;
520
+ currentItemFontFamily: number;
521
+ currentItemFontSize: number;
522
+ currentItemTextAlign: string;
523
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
524
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
525
+ currentHoveredFontFamily: number | null;
526
+ currentItemRoundness: import("../element/types").StrokeRoundness;
527
+ currentItemArrowType: "round" | "sharp" | "elbow";
528
+ viewBackgroundColor: string;
529
+ cursorButton: "up" | "down";
530
+ scrolledOutside: boolean;
531
+ name: string | null;
532
+ isResizing: boolean;
533
+ isRotating: boolean;
534
+ openMenu: "canvas" | "shape" | null;
535
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
536
+ openSidebar: {
537
+ name: string;
538
+ tab?: string | undefined;
539
+ } | null;
540
+ openDialog: {
541
+ name: "help" | "imageExport" | "jsonExport";
542
+ } | {
543
+ name: "ttd";
544
+ tab: "mermaid" | "text-to-diagram";
545
+ } | {
546
+ name: "commandPalette";
547
+ } | {
548
+ name: "elementLinkSelector";
549
+ sourceElementId: string;
550
+ } | null;
551
+ defaultSidebarDockedPreference: boolean;
552
+ lastPointerDownWith: import("../element/types").PointerType;
553
+ selectedElementIds: Readonly<{
554
+ [id: string]: true;
555
+ }>;
556
+ hoveredElementIds: Readonly<{
557
+ [id: string]: true;
558
+ }>;
559
+ previousSelectedElementIds: {
560
+ [id: string]: true;
561
+ };
562
+ selectedElementsAreBeingDragged: boolean;
563
+ shouldCacheIgnoreZoom: boolean;
564
+ toast: {
565
+ message: string;
566
+ closable?: boolean | undefined;
567
+ duration?: number | undefined;
568
+ } | null;
569
+ zenModeEnabled: boolean;
570
+ theme: import("../element/types").Theme;
571
+ gridSize: number;
572
+ gridStep: number;
573
+ gridModeEnabled: boolean;
574
+ viewModeEnabled: boolean;
575
+ selectedGroupIds: {
576
+ [groupId: string]: boolean;
577
+ };
578
+ editingGroupId: string | null;
579
+ width: number;
580
+ height: number;
581
+ offsetTop: number;
582
+ offsetLeft: number;
583
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
584
+ collaborators: Map<import("../types").SocketId, Readonly<{
585
+ pointer?: import("../types").CollaboratorPointer | undefined;
586
+ button?: "up" | "down" | undefined;
587
+ selectedElementIds?: Readonly<{
588
+ [id: string]: true;
589
+ }> | undefined;
590
+ username?: string | null | undefined;
591
+ userState?: import("../types").UserIdleState | undefined;
592
+ color?: {
593
+ background: string;
594
+ stroke: string;
595
+ } | undefined;
596
+ avatarUrl?: string | undefined;
597
+ id?: string | undefined;
598
+ socketId?: import("../types").SocketId | undefined;
599
+ isCurrentUser?: boolean | undefined;
600
+ isInCall?: boolean | undefined;
601
+ isSpeaking?: boolean | undefined;
602
+ isMuted?: boolean | undefined;
603
+ }>>;
604
+ stats: {
605
+ open: boolean;
606
+ panels: number;
607
+ };
608
+ currentChartType: import("../element/types").ChartType;
609
+ pasteDialog: {
610
+ shown: false;
611
+ data: null;
612
+ } | {
613
+ shown: true;
614
+ data: import("../charts").Spreadsheet;
615
+ };
616
+ pendingImageElementId: string | null;
617
+ showHyperlinkPopup: false | "info" | "editor";
618
+ linkOpacity: number;
619
+ trayModeEnabled: boolean;
620
+ colorPalette?: {
621
+ canvasBackground: import("../colors").ColorPaletteCustom;
622
+ elementBackground: import("../colors").ColorPaletteCustom;
623
+ elementStroke: import("../colors").ColorPaletteCustom;
624
+ topPicks: {
625
+ canvasBackground: [string, string, string, string, string];
626
+ elementStroke: [string, string, string, string, string];
627
+ elementBackground: [string, string, string, string, string];
628
+ };
629
+ } | undefined;
630
+ allowWheelZoom?: boolean | undefined;
631
+ allowPinchZoom?: boolean | undefined;
632
+ pinnedScripts?: string[] | undefined;
633
+ customPens?: any[] | undefined;
634
+ currentStrokeOptions?: any;
635
+ resetCustomPen?: any;
636
+ gridColor: {
637
+ Bold: string;
638
+ Regular: string;
639
+ };
640
+ highlightSearchResult: boolean;
641
+ dynamicStyle: {
642
+ [x: string]: string;
643
+ };
644
+ frameColor: {
645
+ stroke: string;
646
+ fill: string;
647
+ nameColor: string;
648
+ };
649
+ invertBindingBehaviour: boolean;
650
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
651
+ snapLines: readonly import("../snapping").SnapLine[];
652
+ originSnapOffset: {
653
+ x: number;
654
+ y: number;
655
+ } | null;
656
+ objectsSnapModeEnabled: boolean;
657
+ followedBy: Set<import("../types").SocketId>;
658
+ isCropping: boolean;
659
+ croppingElementId: string | null;
660
+ searchMatches: readonly {
661
+ id: string;
662
+ focus: boolean;
663
+ matchedLines: {
664
+ offsetX: number;
665
+ offsetY: number;
666
+ width: number;
667
+ height: number;
668
+ }[];
669
+ }[];
670
+ };
671
+ storeAction: "none";
672
+ };
673
+ PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
674
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
675
+ } & {
676
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
677
+ };
678
+ export declare const actionResetZoom: {
679
+ name: "resetZoom";
680
+ label: string;
681
+ icon: JSX.Element;
682
+ viewMode: true;
683
+ trackEvent: {
684
+ category: "canvas";
685
+ };
686
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
687
+ appState: {
688
+ userToFollow: null;
689
+ scrollX: number;
690
+ scrollY: number;
691
+ zoom: {
692
+ value: import("../types").NormalizedZoomValue;
693
+ };
694
+ contextMenu: {
695
+ items: import("../components/ContextMenu").ContextMenuItems;
696
+ top: number;
697
+ left: number;
698
+ } | null;
699
+ showWelcomeScreen: boolean;
700
+ isLoading: boolean;
701
+ errorMessage: import("react").ReactNode;
702
+ activeEmbeddable: {
703
+ element: import("../element/types").NonDeletedExcalidrawElement;
704
+ state: "active" | "hover";
705
+ } | null;
706
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
707
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
708
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
709
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
710
+ isBindingEnabled: boolean;
711
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
712
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
713
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
714
+ frameRendering: {
715
+ enabled: boolean;
716
+ name: boolean;
717
+ outline: boolean;
718
+ clip: boolean;
719
+ };
720
+ editingFrame: string | null;
721
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
722
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
723
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
724
+ activeTool: {
725
+ lastActiveTool: import("../types").ActiveTool | null;
726
+ locked: boolean;
727
+ } & import("../types").ActiveTool;
728
+ penMode: boolean;
729
+ penDetected: boolean;
730
+ exportBackground: boolean;
731
+ exportEmbedScene: boolean;
732
+ exportWithDarkMode: boolean;
733
+ exportScale: number;
734
+ currentItemStrokeColor: string;
735
+ currentItemBackgroundColor: string;
736
+ currentItemFillStyle: import("../element/types").FillStyle;
737
+ currentItemStrokeWidth: number;
738
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
739
+ currentItemRoughness: number;
740
+ currentItemOpacity: number;
741
+ currentItemFontFamily: number;
742
+ currentItemFontSize: number;
743
+ currentItemTextAlign: string;
744
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
745
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
746
+ currentHoveredFontFamily: number | null;
747
+ currentItemRoundness: import("../element/types").StrokeRoundness;
748
+ currentItemArrowType: "round" | "sharp" | "elbow";
749
+ viewBackgroundColor: string;
750
+ cursorButton: "up" | "down";
751
+ scrolledOutside: boolean;
752
+ name: string | null;
753
+ isResizing: boolean;
754
+ isRotating: boolean;
755
+ openMenu: "canvas" | "shape" | null;
756
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
757
+ openSidebar: {
758
+ name: string;
759
+ tab?: string | undefined;
760
+ } | null;
761
+ openDialog: {
762
+ name: "help" | "imageExport" | "jsonExport";
763
+ } | {
764
+ name: "ttd";
765
+ tab: "mermaid" | "text-to-diagram";
766
+ } | {
767
+ name: "commandPalette";
768
+ } | {
769
+ name: "elementLinkSelector";
770
+ sourceElementId: string;
771
+ } | null;
772
+ defaultSidebarDockedPreference: boolean;
773
+ lastPointerDownWith: import("../element/types").PointerType;
774
+ selectedElementIds: Readonly<{
775
+ [id: string]: true;
776
+ }>;
777
+ hoveredElementIds: Readonly<{
778
+ [id: string]: true;
779
+ }>;
780
+ previousSelectedElementIds: {
781
+ [id: string]: true;
782
+ };
783
+ selectedElementsAreBeingDragged: boolean;
784
+ shouldCacheIgnoreZoom: boolean;
785
+ toast: {
786
+ message: string;
787
+ closable?: boolean | undefined;
788
+ duration?: number | undefined;
789
+ } | null;
790
+ zenModeEnabled: boolean;
791
+ theme: import("../element/types").Theme;
792
+ gridSize: number;
793
+ gridStep: number;
794
+ gridModeEnabled: boolean;
795
+ viewModeEnabled: boolean;
796
+ selectedGroupIds: {
797
+ [groupId: string]: boolean;
798
+ };
799
+ editingGroupId: string | null;
800
+ width: number;
801
+ height: number;
802
+ offsetTop: number;
803
+ offsetLeft: number;
804
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
805
+ collaborators: Map<import("../types").SocketId, Readonly<{
806
+ pointer?: import("../types").CollaboratorPointer | undefined;
807
+ button?: "up" | "down" | undefined;
808
+ selectedElementIds?: Readonly<{
809
+ [id: string]: true;
810
+ }> | undefined;
811
+ username?: string | null | undefined;
812
+ userState?: import("../types").UserIdleState | undefined;
813
+ color?: {
814
+ background: string;
815
+ stroke: string;
816
+ } | undefined;
817
+ avatarUrl?: string | undefined;
818
+ id?: string | undefined;
819
+ socketId?: import("../types").SocketId | undefined;
820
+ isCurrentUser?: boolean | undefined;
821
+ isInCall?: boolean | undefined;
822
+ isSpeaking?: boolean | undefined;
823
+ isMuted?: boolean | undefined;
824
+ }>>;
825
+ stats: {
826
+ open: boolean;
827
+ panels: number;
828
+ };
829
+ currentChartType: import("../element/types").ChartType;
830
+ pasteDialog: {
831
+ shown: false;
832
+ data: null;
833
+ } | {
834
+ shown: true;
835
+ data: import("../charts").Spreadsheet;
836
+ };
837
+ pendingImageElementId: string | null;
838
+ showHyperlinkPopup: false | "info" | "editor";
839
+ linkOpacity: number;
840
+ trayModeEnabled: boolean;
841
+ colorPalette?: {
842
+ canvasBackground: import("../colors").ColorPaletteCustom;
843
+ elementBackground: import("../colors").ColorPaletteCustom;
844
+ elementStroke: import("../colors").ColorPaletteCustom;
845
+ topPicks: {
846
+ canvasBackground: [string, string, string, string, string];
847
+ elementStroke: [string, string, string, string, string];
848
+ elementBackground: [string, string, string, string, string];
849
+ };
850
+ } | undefined;
851
+ allowWheelZoom?: boolean | undefined;
852
+ allowPinchZoom?: boolean | undefined;
853
+ pinnedScripts?: string[] | undefined;
854
+ customPens?: any[] | undefined;
855
+ currentStrokeOptions?: any;
856
+ resetCustomPen?: any;
857
+ gridColor: {
858
+ Bold: string;
859
+ Regular: string;
860
+ };
861
+ highlightSearchResult: boolean;
862
+ dynamicStyle: {
863
+ [x: string]: string;
864
+ };
865
+ frameColor: {
866
+ stroke: string;
867
+ fill: string;
868
+ nameColor: string;
869
+ };
870
+ invertBindingBehaviour: boolean;
871
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
872
+ snapLines: readonly import("../snapping").SnapLine[];
873
+ originSnapOffset: {
874
+ x: number;
875
+ y: number;
876
+ } | null;
877
+ objectsSnapModeEnabled: boolean;
878
+ followedBy: Set<import("../types").SocketId>;
879
+ isCropping: boolean;
880
+ croppingElementId: string | null;
881
+ searchMatches: readonly {
882
+ id: string;
883
+ focus: boolean;
884
+ matchedLines: {
885
+ offsetX: number;
886
+ offsetY: number;
887
+ width: number;
888
+ height: number;
889
+ }[];
890
+ }[];
891
+ };
892
+ storeAction: "none";
893
+ };
894
+ PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
895
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
896
+ } & {
897
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
898
+ };
899
+ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
900
+ bounds: SceneBounds;
901
+ canvasOffsets?: Partial<{
902
+ top: number;
903
+ right: number;
904
+ bottom: number;
905
+ left: number;
906
+ }> | undefined;
907
+ appState: Readonly<AppState>;
908
+ /** whether to fit content to viewport (beyond >100%) */
909
+ fitToViewport: boolean;
910
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
911
+ viewportZoomFactor?: number | undefined;
912
+ minZoom?: number | undefined;
913
+ maxZoom?: number | undefined;
914
+ }) => {
915
+ appState: {
916
+ scrollX: number;
917
+ scrollY: number;
918
+ zoom: {
919
+ value: import("../types").NormalizedZoomValue;
920
+ };
921
+ contextMenu: {
922
+ items: import("../components/ContextMenu").ContextMenuItems;
923
+ top: number;
924
+ left: number;
925
+ } | null;
926
+ showWelcomeScreen: boolean;
927
+ isLoading: boolean;
928
+ errorMessage: import("react").ReactNode;
929
+ activeEmbeddable: {
930
+ element: import("../element/types").NonDeletedExcalidrawElement;
931
+ state: "active" | "hover";
932
+ } | null;
933
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
934
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
935
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
936
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
937
+ isBindingEnabled: boolean;
938
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
939
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
940
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
941
+ frameRendering: {
942
+ enabled: boolean;
943
+ name: boolean;
944
+ outline: boolean;
945
+ clip: boolean;
946
+ };
947
+ editingFrame: string | null;
948
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
949
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
950
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
951
+ activeTool: {
952
+ lastActiveTool: import("../types").ActiveTool | null;
953
+ locked: boolean;
954
+ } & import("../types").ActiveTool;
955
+ penMode: boolean;
956
+ penDetected: boolean;
957
+ exportBackground: boolean;
958
+ exportEmbedScene: boolean;
959
+ exportWithDarkMode: boolean;
960
+ exportScale: number;
961
+ currentItemStrokeColor: string;
962
+ currentItemBackgroundColor: string;
963
+ currentItemFillStyle: import("../element/types").FillStyle;
964
+ currentItemStrokeWidth: number;
965
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
966
+ currentItemRoughness: number;
967
+ currentItemOpacity: number;
968
+ currentItemFontFamily: number;
969
+ currentItemFontSize: number;
970
+ currentItemTextAlign: string;
971
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
972
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
973
+ currentHoveredFontFamily: number | null;
974
+ currentItemRoundness: import("../element/types").StrokeRoundness;
975
+ currentItemArrowType: "round" | "sharp" | "elbow";
976
+ viewBackgroundColor: string;
977
+ cursorButton: "up" | "down";
978
+ scrolledOutside: boolean;
979
+ name: string | null;
980
+ isResizing: boolean;
981
+ isRotating: boolean;
982
+ openMenu: "canvas" | "shape" | null;
983
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
984
+ openSidebar: {
985
+ name: string;
986
+ tab?: string | undefined;
987
+ } | null;
988
+ openDialog: {
989
+ name: "help" | "imageExport" | "jsonExport";
990
+ } | {
991
+ name: "ttd";
992
+ tab: "mermaid" | "text-to-diagram";
993
+ } | {
994
+ name: "commandPalette";
995
+ } | {
996
+ name: "elementLinkSelector";
997
+ sourceElementId: string;
998
+ } | null;
999
+ defaultSidebarDockedPreference: boolean;
1000
+ lastPointerDownWith: import("../element/types").PointerType;
1001
+ selectedElementIds: Readonly<{
1002
+ [id: string]: true;
1003
+ }>;
1004
+ hoveredElementIds: Readonly<{
1005
+ [id: string]: true;
1006
+ }>;
1007
+ previousSelectedElementIds: {
1008
+ [id: string]: true;
1009
+ };
1010
+ selectedElementsAreBeingDragged: boolean;
1011
+ shouldCacheIgnoreZoom: boolean;
1012
+ toast: {
1013
+ message: string;
1014
+ closable?: boolean | undefined;
1015
+ duration?: number | undefined;
1016
+ } | null;
1017
+ zenModeEnabled: boolean;
1018
+ theme: import("../element/types").Theme;
1019
+ gridSize: number;
1020
+ gridStep: number;
1021
+ gridModeEnabled: boolean;
1022
+ viewModeEnabled: boolean;
1023
+ selectedGroupIds: {
1024
+ [groupId: string]: boolean;
1025
+ };
1026
+ editingGroupId: string | null;
1027
+ width: number;
1028
+ height: number;
1029
+ offsetTop: number;
1030
+ offsetLeft: number;
1031
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1032
+ collaborators: Map<import("../types").SocketId, Readonly<{
1033
+ pointer?: import("../types").CollaboratorPointer | undefined;
1034
+ button?: "up" | "down" | undefined;
1035
+ selectedElementIds?: Readonly<{
1036
+ [id: string]: true;
1037
+ }> | undefined;
1038
+ username?: string | null | undefined;
1039
+ userState?: import("../types").UserIdleState | undefined;
1040
+ color?: {
1041
+ background: string;
1042
+ stroke: string;
1043
+ } | undefined;
1044
+ avatarUrl?: string | undefined;
1045
+ id?: string | undefined;
1046
+ socketId?: import("../types").SocketId | undefined;
1047
+ isCurrentUser?: boolean | undefined;
1048
+ isInCall?: boolean | undefined;
1049
+ isSpeaking?: boolean | undefined;
1050
+ isMuted?: boolean | undefined;
1051
+ }>>;
1052
+ stats: {
1053
+ open: boolean;
1054
+ panels: number;
1055
+ };
1056
+ currentChartType: import("../element/types").ChartType;
1057
+ pasteDialog: {
1058
+ shown: false;
1059
+ data: null;
1060
+ } | {
1061
+ shown: true;
1062
+ data: import("../charts").Spreadsheet;
1063
+ };
1064
+ pendingImageElementId: string | null;
1065
+ showHyperlinkPopup: false | "info" | "editor";
1066
+ linkOpacity: number;
1067
+ trayModeEnabled: boolean;
1068
+ colorPalette?: {
1069
+ canvasBackground: import("../colors").ColorPaletteCustom;
1070
+ elementBackground: import("../colors").ColorPaletteCustom;
1071
+ elementStroke: import("../colors").ColorPaletteCustom;
1072
+ topPicks: {
1073
+ canvasBackground: [string, string, string, string, string];
1074
+ elementStroke: [string, string, string, string, string];
1075
+ elementBackground: [string, string, string, string, string];
1076
+ };
1077
+ } | undefined;
1078
+ allowWheelZoom?: boolean | undefined;
1079
+ allowPinchZoom?: boolean | undefined;
1080
+ pinnedScripts?: string[] | undefined;
1081
+ customPens?: any[] | undefined;
1082
+ currentStrokeOptions?: any;
1083
+ resetCustomPen?: any;
1084
+ gridColor: {
1085
+ Bold: string;
1086
+ Regular: string;
1087
+ };
1088
+ highlightSearchResult: boolean;
1089
+ dynamicStyle: {
1090
+ [x: string]: string;
1091
+ };
1092
+ frameColor: {
1093
+ stroke: string;
1094
+ fill: string;
1095
+ nameColor: string;
1096
+ };
1097
+ invertBindingBehaviour: boolean;
1098
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1099
+ snapLines: readonly import("../snapping").SnapLine[];
1100
+ originSnapOffset: {
1101
+ x: number;
1102
+ y: number;
1103
+ } | null;
1104
+ objectsSnapModeEnabled: boolean;
1105
+ userToFollow: import("../types").UserToFollow | null;
1106
+ followedBy: Set<import("../types").SocketId>;
1107
+ isCropping: boolean;
1108
+ croppingElementId: string | null;
1109
+ searchMatches: readonly {
1110
+ id: string;
1111
+ focus: boolean;
1112
+ matchedLines: {
1113
+ offsetX: number;
1114
+ offsetY: number;
1115
+ width: number;
1116
+ height: number;
1117
+ }[];
1118
+ }[];
1119
+ };
1120
+ storeAction: "none";
1121
+ };
1122
+ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
1123
+ canvasOffsets?: Partial<{
1124
+ top: number;
1125
+ right: number;
1126
+ bottom: number;
1127
+ left: number;
1128
+ }> | undefined;
1129
+ targetElements: readonly ExcalidrawElement[];
1130
+ appState: Readonly<AppState>;
1131
+ /** whether to fit content to viewport (beyond >100%) */
1132
+ fitToViewport: boolean;
1133
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
1134
+ viewportZoomFactor?: number | undefined;
1135
+ minZoom?: number | undefined;
1136
+ maxZoom?: number | undefined;
1137
+ }) => {
1138
+ appState: {
1139
+ scrollX: number;
1140
+ scrollY: number;
1141
+ zoom: {
1142
+ value: import("../types").NormalizedZoomValue;
1143
+ };
1144
+ contextMenu: {
1145
+ items: import("../components/ContextMenu").ContextMenuItems;
1146
+ top: number;
1147
+ left: number;
1148
+ } | null;
1149
+ showWelcomeScreen: boolean;
1150
+ isLoading: boolean;
1151
+ errorMessage: import("react").ReactNode;
1152
+ activeEmbeddable: {
1153
+ element: import("../element/types").NonDeletedExcalidrawElement;
1154
+ state: "active" | "hover";
1155
+ } | null;
1156
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
1157
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1158
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1159
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1160
+ isBindingEnabled: boolean;
1161
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1162
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1163
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
1164
+ frameRendering: {
1165
+ enabled: boolean;
1166
+ name: boolean;
1167
+ outline: boolean;
1168
+ clip: boolean;
1169
+ };
1170
+ editingFrame: string | null;
1171
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1172
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
1173
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1174
+ activeTool: {
1175
+ lastActiveTool: import("../types").ActiveTool | null;
1176
+ locked: boolean;
1177
+ } & import("../types").ActiveTool;
1178
+ penMode: boolean;
1179
+ penDetected: boolean;
1180
+ exportBackground: boolean;
1181
+ exportEmbedScene: boolean;
1182
+ exportWithDarkMode: boolean;
1183
+ exportScale: number;
1184
+ currentItemStrokeColor: string;
1185
+ currentItemBackgroundColor: string;
1186
+ currentItemFillStyle: import("../element/types").FillStyle;
1187
+ currentItemStrokeWidth: number;
1188
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1189
+ currentItemRoughness: number;
1190
+ currentItemOpacity: number;
1191
+ currentItemFontFamily: number;
1192
+ currentItemFontSize: number;
1193
+ currentItemTextAlign: string;
1194
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1195
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1196
+ currentHoveredFontFamily: number | null;
1197
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1198
+ currentItemArrowType: "round" | "sharp" | "elbow";
1199
+ viewBackgroundColor: string;
1200
+ cursorButton: "up" | "down";
1201
+ scrolledOutside: boolean;
1202
+ name: string | null;
1203
+ isResizing: boolean;
1204
+ isRotating: boolean;
1205
+ openMenu: "canvas" | "shape" | null;
1206
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1207
+ openSidebar: {
1208
+ name: string;
1209
+ tab?: string | undefined;
1210
+ } | null;
1211
+ openDialog: {
1212
+ name: "help" | "imageExport" | "jsonExport";
1213
+ } | {
1214
+ name: "ttd";
1215
+ tab: "mermaid" | "text-to-diagram";
1216
+ } | {
1217
+ name: "commandPalette";
1218
+ } | {
1219
+ name: "elementLinkSelector";
1220
+ sourceElementId: string;
1221
+ } | null;
1222
+ defaultSidebarDockedPreference: boolean;
1223
+ lastPointerDownWith: import("../element/types").PointerType;
1224
+ selectedElementIds: Readonly<{
1225
+ [id: string]: true;
1226
+ }>;
1227
+ hoveredElementIds: Readonly<{
1228
+ [id: string]: true;
1229
+ }>;
1230
+ previousSelectedElementIds: {
1231
+ [id: string]: true;
1232
+ };
1233
+ selectedElementsAreBeingDragged: boolean;
1234
+ shouldCacheIgnoreZoom: boolean;
1235
+ toast: {
1236
+ message: string;
1237
+ closable?: boolean | undefined;
1238
+ duration?: number | undefined;
1239
+ } | null;
1240
+ zenModeEnabled: boolean;
1241
+ theme: import("../element/types").Theme;
1242
+ gridSize: number;
1243
+ gridStep: number;
1244
+ gridModeEnabled: boolean;
1245
+ viewModeEnabled: boolean;
1246
+ selectedGroupIds: {
1247
+ [groupId: string]: boolean;
1248
+ };
1249
+ editingGroupId: string | null;
1250
+ width: number;
1251
+ height: number;
1252
+ offsetTop: number;
1253
+ offsetLeft: number;
1254
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1255
+ collaborators: Map<import("../types").SocketId, Readonly<{
1256
+ pointer?: import("../types").CollaboratorPointer | undefined;
1257
+ button?: "up" | "down" | undefined;
1258
+ selectedElementIds?: Readonly<{
1259
+ [id: string]: true;
1260
+ }> | undefined;
1261
+ username?: string | null | undefined;
1262
+ userState?: import("../types").UserIdleState | undefined;
1263
+ color?: {
1264
+ background: string;
1265
+ stroke: string;
1266
+ } | undefined;
1267
+ avatarUrl?: string | undefined;
1268
+ id?: string | undefined;
1269
+ socketId?: import("../types").SocketId | undefined;
1270
+ isCurrentUser?: boolean | undefined;
1271
+ isInCall?: boolean | undefined;
1272
+ isSpeaking?: boolean | undefined;
1273
+ isMuted?: boolean | undefined;
1274
+ }>>;
1275
+ stats: {
1276
+ open: boolean;
1277
+ panels: number;
1278
+ };
1279
+ currentChartType: import("../element/types").ChartType;
1280
+ pasteDialog: {
1281
+ shown: false;
1282
+ data: null;
1283
+ } | {
1284
+ shown: true;
1285
+ data: import("../charts").Spreadsheet;
1286
+ };
1287
+ pendingImageElementId: string | null;
1288
+ showHyperlinkPopup: false | "info" | "editor";
1289
+ linkOpacity: number;
1290
+ trayModeEnabled: boolean;
1291
+ colorPalette?: {
1292
+ canvasBackground: import("../colors").ColorPaletteCustom;
1293
+ elementBackground: import("../colors").ColorPaletteCustom;
1294
+ elementStroke: import("../colors").ColorPaletteCustom;
1295
+ topPicks: {
1296
+ canvasBackground: [string, string, string, string, string];
1297
+ elementStroke: [string, string, string, string, string];
1298
+ elementBackground: [string, string, string, string, string];
1299
+ };
1300
+ } | undefined;
1301
+ allowWheelZoom?: boolean | undefined;
1302
+ allowPinchZoom?: boolean | undefined;
1303
+ pinnedScripts?: string[] | undefined;
1304
+ customPens?: any[] | undefined;
1305
+ currentStrokeOptions?: any;
1306
+ resetCustomPen?: any;
1307
+ gridColor: {
1308
+ Bold: string;
1309
+ Regular: string;
1310
+ };
1311
+ highlightSearchResult: boolean;
1312
+ dynamicStyle: {
1313
+ [x: string]: string;
1314
+ };
1315
+ frameColor: {
1316
+ stroke: string;
1317
+ fill: string;
1318
+ nameColor: string;
1319
+ };
1320
+ invertBindingBehaviour: boolean;
1321
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1322
+ snapLines: readonly import("../snapping").SnapLine[];
1323
+ originSnapOffset: {
1324
+ x: number;
1325
+ y: number;
1326
+ } | null;
1327
+ objectsSnapModeEnabled: boolean;
1328
+ userToFollow: import("../types").UserToFollow | null;
1329
+ followedBy: Set<import("../types").SocketId>;
1330
+ isCropping: boolean;
1331
+ croppingElementId: string | null;
1332
+ searchMatches: readonly {
1333
+ id: string;
1334
+ focus: boolean;
1335
+ matchedLines: {
1336
+ offsetX: number;
1337
+ offsetY: number;
1338
+ width: number;
1339
+ height: number;
1340
+ }[];
1341
+ }[];
1342
+ };
1343
+ storeAction: "none";
1344
+ };
1345
+ export declare const actionZoomToFitSelectionInViewport: {
1346
+ name: "zoomToFitSelectionInViewport";
1347
+ label: string;
1348
+ icon: JSX.Element;
1349
+ trackEvent: {
1350
+ category: "canvas";
1351
+ };
1352
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
1353
+ appState: {
1354
+ scrollX: number;
1355
+ scrollY: number;
1356
+ zoom: {
1357
+ value: import("../types").NormalizedZoomValue;
1358
+ };
1359
+ contextMenu: {
1360
+ items: import("../components/ContextMenu").ContextMenuItems;
1361
+ top: number;
1362
+ left: number;
1363
+ } | null;
1364
+ showWelcomeScreen: boolean;
1365
+ isLoading: boolean;
1366
+ errorMessage: import("react").ReactNode;
1367
+ activeEmbeddable: {
1368
+ element: import("../element/types").NonDeletedExcalidrawElement;
1369
+ state: "active" | "hover";
1370
+ } | null;
1371
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
1372
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1373
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1374
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1375
+ isBindingEnabled: boolean;
1376
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1377
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1378
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
1379
+ frameRendering: {
1380
+ enabled: boolean;
1381
+ name: boolean;
1382
+ outline: boolean;
1383
+ clip: boolean;
1384
+ };
1385
+ editingFrame: string | null;
1386
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1387
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
1388
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1389
+ activeTool: {
1390
+ lastActiveTool: import("../types").ActiveTool | null;
1391
+ locked: boolean;
1392
+ } & import("../types").ActiveTool;
1393
+ penMode: boolean;
1394
+ penDetected: boolean;
1395
+ exportBackground: boolean;
1396
+ exportEmbedScene: boolean;
1397
+ exportWithDarkMode: boolean;
1398
+ exportScale: number;
1399
+ currentItemStrokeColor: string;
1400
+ currentItemBackgroundColor: string;
1401
+ currentItemFillStyle: import("../element/types").FillStyle;
1402
+ currentItemStrokeWidth: number;
1403
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1404
+ currentItemRoughness: number;
1405
+ currentItemOpacity: number;
1406
+ currentItemFontFamily: number;
1407
+ currentItemFontSize: number;
1408
+ currentItemTextAlign: string;
1409
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1410
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1411
+ currentHoveredFontFamily: number | null;
1412
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1413
+ currentItemArrowType: "round" | "sharp" | "elbow";
1414
+ viewBackgroundColor: string;
1415
+ cursorButton: "up" | "down";
1416
+ scrolledOutside: boolean;
1417
+ name: string | null;
1418
+ isResizing: boolean;
1419
+ isRotating: boolean;
1420
+ openMenu: "canvas" | "shape" | null;
1421
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1422
+ openSidebar: {
1423
+ name: string;
1424
+ tab?: string | undefined;
1425
+ } | null;
1426
+ openDialog: {
1427
+ name: "help" | "imageExport" | "jsonExport";
1428
+ } | {
1429
+ name: "ttd";
1430
+ tab: "mermaid" | "text-to-diagram";
1431
+ } | {
1432
+ name: "commandPalette";
1433
+ } | {
1434
+ name: "elementLinkSelector";
1435
+ sourceElementId: string;
1436
+ } | null;
1437
+ defaultSidebarDockedPreference: boolean;
1438
+ lastPointerDownWith: import("../element/types").PointerType;
1439
+ selectedElementIds: Readonly<{
1440
+ [id: string]: true;
1441
+ }>;
1442
+ hoveredElementIds: Readonly<{
1443
+ [id: string]: true;
1444
+ }>;
1445
+ previousSelectedElementIds: {
1446
+ [id: string]: true;
1447
+ };
1448
+ selectedElementsAreBeingDragged: boolean;
1449
+ shouldCacheIgnoreZoom: boolean;
1450
+ toast: {
1451
+ message: string;
1452
+ closable?: boolean | undefined;
1453
+ duration?: number | undefined;
1454
+ } | null;
1455
+ zenModeEnabled: boolean;
1456
+ theme: import("../element/types").Theme;
1457
+ gridSize: number;
1458
+ gridStep: number;
1459
+ gridModeEnabled: boolean;
1460
+ viewModeEnabled: boolean;
1461
+ selectedGroupIds: {
1462
+ [groupId: string]: boolean;
1463
+ };
1464
+ editingGroupId: string | null;
1465
+ width: number;
1466
+ height: number;
1467
+ offsetTop: number;
1468
+ offsetLeft: number;
1469
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1470
+ collaborators: Map<import("../types").SocketId, Readonly<{
1471
+ pointer?: import("../types").CollaboratorPointer | undefined;
1472
+ button?: "up" | "down" | undefined;
1473
+ selectedElementIds?: Readonly<{
1474
+ [id: string]: true;
1475
+ }> | undefined;
1476
+ username?: string | null | undefined;
1477
+ userState?: import("../types").UserIdleState | undefined;
1478
+ color?: {
1479
+ background: string;
1480
+ stroke: string;
1481
+ } | undefined;
1482
+ avatarUrl?: string | undefined;
1483
+ id?: string | undefined;
1484
+ socketId?: import("../types").SocketId | undefined;
1485
+ isCurrentUser?: boolean | undefined;
1486
+ isInCall?: boolean | undefined;
1487
+ isSpeaking?: boolean | undefined;
1488
+ isMuted?: boolean | undefined;
1489
+ }>>;
1490
+ stats: {
1491
+ open: boolean;
1492
+ panels: number;
1493
+ };
1494
+ currentChartType: import("../element/types").ChartType;
1495
+ pasteDialog: {
1496
+ shown: false;
1497
+ data: null;
1498
+ } | {
1499
+ shown: true;
1500
+ data: import("../charts").Spreadsheet;
1501
+ };
1502
+ pendingImageElementId: string | null;
1503
+ showHyperlinkPopup: false | "info" | "editor";
1504
+ linkOpacity: number;
1505
+ trayModeEnabled: boolean;
1506
+ colorPalette?: {
1507
+ canvasBackground: import("../colors").ColorPaletteCustom;
1508
+ elementBackground: import("../colors").ColorPaletteCustom;
1509
+ elementStroke: import("../colors").ColorPaletteCustom;
1510
+ topPicks: {
1511
+ canvasBackground: [string, string, string, string, string];
1512
+ elementStroke: [string, string, string, string, string];
1513
+ elementBackground: [string, string, string, string, string];
1514
+ };
1515
+ } | undefined;
1516
+ allowWheelZoom?: boolean | undefined;
1517
+ allowPinchZoom?: boolean | undefined;
1518
+ pinnedScripts?: string[] | undefined;
1519
+ customPens?: any[] | undefined;
1520
+ currentStrokeOptions?: any;
1521
+ resetCustomPen?: any;
1522
+ gridColor: {
1523
+ Bold: string;
1524
+ Regular: string;
1525
+ };
1526
+ highlightSearchResult: boolean;
1527
+ dynamicStyle: {
1528
+ [x: string]: string;
1529
+ };
1530
+ frameColor: {
1531
+ stroke: string;
1532
+ fill: string;
1533
+ nameColor: string;
1534
+ };
1535
+ invertBindingBehaviour: boolean;
1536
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1537
+ snapLines: readonly import("../snapping").SnapLine[];
1538
+ originSnapOffset: {
1539
+ x: number;
1540
+ y: number;
1541
+ } | null;
1542
+ objectsSnapModeEnabled: boolean;
1543
+ userToFollow: import("../types").UserToFollow | null;
1544
+ followedBy: Set<import("../types").SocketId>;
1545
+ isCropping: boolean;
1546
+ croppingElementId: string | null;
1547
+ searchMatches: readonly {
1548
+ id: string;
1549
+ focus: boolean;
1550
+ matchedLines: {
1551
+ offsetX: number;
1552
+ offsetY: number;
1553
+ width: number;
1554
+ height: number;
1555
+ }[];
1556
+ }[];
1557
+ };
1558
+ storeAction: "none";
1559
+ };
1560
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1561
+ } & {
1562
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1563
+ };
1564
+ export declare const actionZoomToFitSelection: {
1565
+ name: "zoomToFitSelection";
1566
+ label: string;
1567
+ icon: JSX.Element;
1568
+ trackEvent: {
1569
+ category: "canvas";
1570
+ };
1571
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
1572
+ appState: {
1573
+ scrollX: number;
1574
+ scrollY: number;
1575
+ zoom: {
1576
+ value: import("../types").NormalizedZoomValue;
1577
+ };
1578
+ contextMenu: {
1579
+ items: import("../components/ContextMenu").ContextMenuItems;
1580
+ top: number;
1581
+ left: number;
1582
+ } | null;
1583
+ showWelcomeScreen: boolean;
1584
+ isLoading: boolean;
1585
+ errorMessage: import("react").ReactNode;
1586
+ activeEmbeddable: {
1587
+ element: import("../element/types").NonDeletedExcalidrawElement;
1588
+ state: "active" | "hover";
1589
+ } | null;
1590
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
1591
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1592
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1593
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1594
+ isBindingEnabled: boolean;
1595
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1596
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1597
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
1598
+ frameRendering: {
1599
+ enabled: boolean;
1600
+ name: boolean;
1601
+ outline: boolean;
1602
+ clip: boolean;
1603
+ };
1604
+ editingFrame: string | null;
1605
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1606
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
1607
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1608
+ activeTool: {
1609
+ lastActiveTool: import("../types").ActiveTool | null;
1610
+ locked: boolean;
1611
+ } & import("../types").ActiveTool;
1612
+ penMode: boolean;
1613
+ penDetected: boolean;
1614
+ exportBackground: boolean;
1615
+ exportEmbedScene: boolean;
1616
+ exportWithDarkMode: boolean;
1617
+ exportScale: number;
1618
+ currentItemStrokeColor: string;
1619
+ currentItemBackgroundColor: string;
1620
+ currentItemFillStyle: import("../element/types").FillStyle;
1621
+ currentItemStrokeWidth: number;
1622
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1623
+ currentItemRoughness: number;
1624
+ currentItemOpacity: number;
1625
+ currentItemFontFamily: number;
1626
+ currentItemFontSize: number;
1627
+ currentItemTextAlign: string;
1628
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1629
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1630
+ currentHoveredFontFamily: number | null;
1631
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1632
+ currentItemArrowType: "round" | "sharp" | "elbow";
1633
+ viewBackgroundColor: string;
1634
+ cursorButton: "up" | "down";
1635
+ scrolledOutside: boolean;
1636
+ name: string | null;
1637
+ isResizing: boolean;
1638
+ isRotating: boolean;
1639
+ openMenu: "canvas" | "shape" | null;
1640
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1641
+ openSidebar: {
1642
+ name: string;
1643
+ tab?: string | undefined;
1644
+ } | null;
1645
+ openDialog: {
1646
+ name: "help" | "imageExport" | "jsonExport";
1647
+ } | {
1648
+ name: "ttd";
1649
+ tab: "mermaid" | "text-to-diagram";
1650
+ } | {
1651
+ name: "commandPalette";
1652
+ } | {
1653
+ name: "elementLinkSelector";
1654
+ sourceElementId: string;
1655
+ } | null;
1656
+ defaultSidebarDockedPreference: boolean;
1657
+ lastPointerDownWith: import("../element/types").PointerType;
1658
+ selectedElementIds: Readonly<{
1659
+ [id: string]: true;
1660
+ }>;
1661
+ hoveredElementIds: Readonly<{
1662
+ [id: string]: true;
1663
+ }>;
1664
+ previousSelectedElementIds: {
1665
+ [id: string]: true;
1666
+ };
1667
+ selectedElementsAreBeingDragged: boolean;
1668
+ shouldCacheIgnoreZoom: boolean;
1669
+ toast: {
1670
+ message: string;
1671
+ closable?: boolean | undefined;
1672
+ duration?: number | undefined;
1673
+ } | null;
1674
+ zenModeEnabled: boolean;
1675
+ theme: import("../element/types").Theme;
1676
+ gridSize: number;
1677
+ gridStep: number;
1678
+ gridModeEnabled: boolean;
1679
+ viewModeEnabled: boolean;
1680
+ selectedGroupIds: {
1681
+ [groupId: string]: boolean;
1682
+ };
1683
+ editingGroupId: string | null;
1684
+ width: number;
1685
+ height: number;
1686
+ offsetTop: number;
1687
+ offsetLeft: number;
1688
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1689
+ collaborators: Map<import("../types").SocketId, Readonly<{
1690
+ pointer?: import("../types").CollaboratorPointer | undefined;
1691
+ button?: "up" | "down" | undefined;
1692
+ selectedElementIds?: Readonly<{
1693
+ [id: string]: true;
1694
+ }> | undefined;
1695
+ username?: string | null | undefined;
1696
+ userState?: import("../types").UserIdleState | undefined;
1697
+ color?: {
1698
+ background: string;
1699
+ stroke: string;
1700
+ } | undefined;
1701
+ avatarUrl?: string | undefined;
1702
+ id?: string | undefined;
1703
+ socketId?: import("../types").SocketId | undefined;
1704
+ isCurrentUser?: boolean | undefined;
1705
+ isInCall?: boolean | undefined;
1706
+ isSpeaking?: boolean | undefined;
1707
+ isMuted?: boolean | undefined;
1708
+ }>>;
1709
+ stats: {
1710
+ open: boolean;
1711
+ panels: number;
1712
+ };
1713
+ currentChartType: import("../element/types").ChartType;
1714
+ pasteDialog: {
1715
+ shown: false;
1716
+ data: null;
1717
+ } | {
1718
+ shown: true;
1719
+ data: import("../charts").Spreadsheet;
1720
+ };
1721
+ pendingImageElementId: string | null;
1722
+ showHyperlinkPopup: false | "info" | "editor";
1723
+ linkOpacity: number;
1724
+ trayModeEnabled: boolean;
1725
+ colorPalette?: {
1726
+ canvasBackground: import("../colors").ColorPaletteCustom;
1727
+ elementBackground: import("../colors").ColorPaletteCustom;
1728
+ elementStroke: import("../colors").ColorPaletteCustom;
1729
+ topPicks: {
1730
+ canvasBackground: [string, string, string, string, string];
1731
+ elementStroke: [string, string, string, string, string];
1732
+ elementBackground: [string, string, string, string, string];
1733
+ };
1734
+ } | undefined;
1735
+ allowWheelZoom?: boolean | undefined;
1736
+ allowPinchZoom?: boolean | undefined;
1737
+ pinnedScripts?: string[] | undefined;
1738
+ customPens?: any[] | undefined;
1739
+ currentStrokeOptions?: any;
1740
+ resetCustomPen?: any;
1741
+ gridColor: {
1742
+ Bold: string;
1743
+ Regular: string;
1744
+ };
1745
+ highlightSearchResult: boolean;
1746
+ dynamicStyle: {
1747
+ [x: string]: string;
1748
+ };
1749
+ frameColor: {
1750
+ stroke: string;
1751
+ fill: string;
1752
+ nameColor: string;
1753
+ };
1754
+ invertBindingBehaviour: boolean;
1755
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1756
+ snapLines: readonly import("../snapping").SnapLine[];
1757
+ originSnapOffset: {
1758
+ x: number;
1759
+ y: number;
1760
+ } | null;
1761
+ objectsSnapModeEnabled: boolean;
1762
+ userToFollow: import("../types").UserToFollow | null;
1763
+ followedBy: Set<import("../types").SocketId>;
1764
+ isCropping: boolean;
1765
+ croppingElementId: string | null;
1766
+ searchMatches: readonly {
1767
+ id: string;
1768
+ focus: boolean;
1769
+ matchedLines: {
1770
+ offsetX: number;
1771
+ offsetY: number;
1772
+ width: number;
1773
+ height: number;
1774
+ }[];
1775
+ }[];
1776
+ };
1777
+ storeAction: "none";
1778
+ };
1779
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1780
+ } & {
1781
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1782
+ };
1783
+ export declare const actionZoomToFit: {
1784
+ name: "zoomToFit";
1785
+ label: string;
1786
+ icon: JSX.Element;
1787
+ viewMode: true;
1788
+ trackEvent: {
1789
+ category: "canvas";
1790
+ };
1791
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
1792
+ appState: {
1793
+ scrollX: number;
1794
+ scrollY: number;
1795
+ zoom: {
1796
+ value: import("../types").NormalizedZoomValue;
1797
+ };
1798
+ contextMenu: {
1799
+ items: import("../components/ContextMenu").ContextMenuItems;
1800
+ top: number;
1801
+ left: number;
1802
+ } | null;
1803
+ showWelcomeScreen: boolean;
1804
+ isLoading: boolean;
1805
+ errorMessage: import("react").ReactNode;
1806
+ activeEmbeddable: {
1807
+ element: import("../element/types").NonDeletedExcalidrawElement;
1808
+ state: "active" | "hover";
1809
+ } | null;
1810
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
1811
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1812
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1813
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1814
+ isBindingEnabled: boolean;
1815
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1816
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1817
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
1818
+ frameRendering: {
1819
+ enabled: boolean;
1820
+ name: boolean;
1821
+ outline: boolean;
1822
+ clip: boolean;
1823
+ };
1824
+ editingFrame: string | null;
1825
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1826
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
1827
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1828
+ activeTool: {
1829
+ lastActiveTool: import("../types").ActiveTool | null;
1830
+ locked: boolean;
1831
+ } & import("../types").ActiveTool;
1832
+ penMode: boolean;
1833
+ penDetected: boolean;
1834
+ exportBackground: boolean;
1835
+ exportEmbedScene: boolean;
1836
+ exportWithDarkMode: boolean;
1837
+ exportScale: number;
1838
+ currentItemStrokeColor: string;
1839
+ currentItemBackgroundColor: string;
1840
+ currentItemFillStyle: import("../element/types").FillStyle;
1841
+ currentItemStrokeWidth: number;
1842
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1843
+ currentItemRoughness: number;
1844
+ currentItemOpacity: number;
1845
+ currentItemFontFamily: number;
1846
+ currentItemFontSize: number;
1847
+ currentItemTextAlign: string;
1848
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1849
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1850
+ currentHoveredFontFamily: number | null;
1851
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1852
+ currentItemArrowType: "round" | "sharp" | "elbow";
1853
+ viewBackgroundColor: string;
1854
+ cursorButton: "up" | "down";
1855
+ scrolledOutside: boolean;
1856
+ name: string | null;
1857
+ isResizing: boolean;
1858
+ isRotating: boolean;
1859
+ openMenu: "canvas" | "shape" | null;
1860
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1861
+ openSidebar: {
1862
+ name: string;
1863
+ tab?: string | undefined;
1864
+ } | null;
1865
+ openDialog: {
1866
+ name: "help" | "imageExport" | "jsonExport";
1867
+ } | {
1868
+ name: "ttd";
1869
+ tab: "mermaid" | "text-to-diagram";
1870
+ } | {
1871
+ name: "commandPalette";
1872
+ } | {
1873
+ name: "elementLinkSelector";
1874
+ sourceElementId: string;
1875
+ } | null;
1876
+ defaultSidebarDockedPreference: boolean;
1877
+ lastPointerDownWith: import("../element/types").PointerType;
1878
+ selectedElementIds: Readonly<{
1879
+ [id: string]: true;
1880
+ }>;
1881
+ hoveredElementIds: Readonly<{
1882
+ [id: string]: true;
1883
+ }>;
1884
+ previousSelectedElementIds: {
1885
+ [id: string]: true;
1886
+ };
1887
+ selectedElementsAreBeingDragged: boolean;
1888
+ shouldCacheIgnoreZoom: boolean;
1889
+ toast: {
1890
+ message: string;
1891
+ closable?: boolean | undefined;
1892
+ duration?: number | undefined;
1893
+ } | null;
1894
+ zenModeEnabled: boolean;
1895
+ theme: import("../element/types").Theme;
1896
+ gridSize: number;
1897
+ gridStep: number;
1898
+ gridModeEnabled: boolean;
1899
+ viewModeEnabled: boolean;
1900
+ selectedGroupIds: {
1901
+ [groupId: string]: boolean;
1902
+ };
1903
+ editingGroupId: string | null;
1904
+ width: number;
1905
+ height: number;
1906
+ offsetTop: number;
1907
+ offsetLeft: number;
1908
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1909
+ collaborators: Map<import("../types").SocketId, Readonly<{
1910
+ pointer?: import("../types").CollaboratorPointer | undefined;
1911
+ button?: "up" | "down" | undefined;
1912
+ selectedElementIds?: Readonly<{
1913
+ [id: string]: true;
1914
+ }> | undefined;
1915
+ username?: string | null | undefined;
1916
+ userState?: import("../types").UserIdleState | undefined;
1917
+ color?: {
1918
+ background: string;
1919
+ stroke: string;
1920
+ } | undefined;
1921
+ avatarUrl?: string | undefined;
1922
+ id?: string | undefined;
1923
+ socketId?: import("../types").SocketId | undefined;
1924
+ isCurrentUser?: boolean | undefined;
1925
+ isInCall?: boolean | undefined;
1926
+ isSpeaking?: boolean | undefined;
1927
+ isMuted?: boolean | undefined;
1928
+ }>>;
1929
+ stats: {
1930
+ open: boolean;
1931
+ panels: number;
1932
+ };
1933
+ currentChartType: import("../element/types").ChartType;
1934
+ pasteDialog: {
1935
+ shown: false;
1936
+ data: null;
1937
+ } | {
1938
+ shown: true;
1939
+ data: import("../charts").Spreadsheet;
1940
+ };
1941
+ pendingImageElementId: string | null;
1942
+ showHyperlinkPopup: false | "info" | "editor";
1943
+ linkOpacity: number;
1944
+ trayModeEnabled: boolean;
1945
+ colorPalette?: {
1946
+ canvasBackground: import("../colors").ColorPaletteCustom;
1947
+ elementBackground: import("../colors").ColorPaletteCustom;
1948
+ elementStroke: import("../colors").ColorPaletteCustom;
1949
+ topPicks: {
1950
+ canvasBackground: [string, string, string, string, string];
1951
+ elementStroke: [string, string, string, string, string];
1952
+ elementBackground: [string, string, string, string, string];
1953
+ };
1954
+ } | undefined;
1955
+ allowWheelZoom?: boolean | undefined;
1956
+ allowPinchZoom?: boolean | undefined;
1957
+ pinnedScripts?: string[] | undefined;
1958
+ customPens?: any[] | undefined;
1959
+ currentStrokeOptions?: any;
1960
+ resetCustomPen?: any;
1961
+ gridColor: {
1962
+ Bold: string;
1963
+ Regular: string;
1964
+ };
1965
+ highlightSearchResult: boolean;
1966
+ dynamicStyle: {
1967
+ [x: string]: string;
1968
+ };
1969
+ frameColor: {
1970
+ stroke: string;
1971
+ fill: string;
1972
+ nameColor: string;
1973
+ };
1974
+ invertBindingBehaviour: boolean;
1975
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1976
+ snapLines: readonly import("../snapping").SnapLine[];
1977
+ originSnapOffset: {
1978
+ x: number;
1979
+ y: number;
1980
+ } | null;
1981
+ objectsSnapModeEnabled: boolean;
1982
+ userToFollow: import("../types").UserToFollow | null;
1983
+ followedBy: Set<import("../types").SocketId>;
1984
+ isCropping: boolean;
1985
+ croppingElementId: string | null;
1986
+ searchMatches: readonly {
1987
+ id: string;
1988
+ focus: boolean;
1989
+ matchedLines: {
1990
+ offsetX: number;
1991
+ offsetY: number;
1992
+ width: number;
1993
+ height: number;
1994
+ }[];
1995
+ }[];
1996
+ };
1997
+ storeAction: "none";
1998
+ };
1999
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2000
+ } & {
2001
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2002
+ };
2003
+ export declare const actionToggleTheme: {
2004
+ name: "toggleTheme";
2005
+ label: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>) => "buttons.lightMode" | "buttons.darkMode";
2006
+ keywords: string[];
2007
+ icon: (appState: import("../types").UIAppState) => JSX.Element;
2008
+ viewMode: true;
2009
+ trackEvent: {
2010
+ category: "canvas";
2011
+ };
2012
+ perform: (_: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
2013
+ appState: {
2014
+ theme: any;
2015
+ contextMenu: {
2016
+ items: import("../components/ContextMenu").ContextMenuItems;
2017
+ top: number;
2018
+ left: number;
2019
+ } | null;
2020
+ showWelcomeScreen: boolean;
2021
+ isLoading: boolean;
2022
+ errorMessage: import("react").ReactNode;
2023
+ activeEmbeddable: {
2024
+ element: import("../element/types").NonDeletedExcalidrawElement;
2025
+ state: "active" | "hover";
2026
+ } | null;
2027
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
2028
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
2029
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
2030
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
2031
+ isBindingEnabled: boolean;
2032
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
2033
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
2034
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
2035
+ frameRendering: {
2036
+ enabled: boolean;
2037
+ name: boolean;
2038
+ outline: boolean;
2039
+ clip: boolean;
2040
+ };
2041
+ editingFrame: string | null;
2042
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
2043
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
2044
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2045
+ activeTool: {
2046
+ lastActiveTool: import("../types").ActiveTool | null;
2047
+ locked: boolean;
2048
+ } & import("../types").ActiveTool;
2049
+ penMode: boolean;
2050
+ penDetected: boolean;
2051
+ exportBackground: boolean;
2052
+ exportEmbedScene: boolean;
2053
+ exportWithDarkMode: boolean;
2054
+ exportScale: number;
2055
+ currentItemStrokeColor: string;
2056
+ currentItemBackgroundColor: string;
2057
+ currentItemFillStyle: import("../element/types").FillStyle;
2058
+ currentItemStrokeWidth: number;
2059
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
2060
+ currentItemRoughness: number;
2061
+ currentItemOpacity: number;
2062
+ currentItemFontFamily: number;
2063
+ currentItemFontSize: number;
2064
+ currentItemTextAlign: string;
2065
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
2066
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
2067
+ currentHoveredFontFamily: number | null;
2068
+ currentItemRoundness: import("../element/types").StrokeRoundness;
2069
+ currentItemArrowType: "round" | "sharp" | "elbow";
2070
+ viewBackgroundColor: string;
2071
+ scrollX: number;
2072
+ scrollY: number;
2073
+ cursorButton: "up" | "down";
2074
+ scrolledOutside: boolean;
2075
+ name: string | null;
2076
+ isResizing: boolean;
2077
+ isRotating: boolean;
2078
+ zoom: Readonly<{
2079
+ value: import("../types").NormalizedZoomValue;
2080
+ }>;
2081
+ openMenu: "canvas" | "shape" | null;
2082
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2083
+ openSidebar: {
2084
+ name: string;
2085
+ tab?: string | undefined;
2086
+ } | null;
2087
+ openDialog: {
2088
+ name: "help" | "imageExport" | "jsonExport";
2089
+ } | {
2090
+ name: "ttd";
2091
+ tab: "mermaid" | "text-to-diagram";
2092
+ } | {
2093
+ name: "commandPalette";
2094
+ } | {
2095
+ name: "elementLinkSelector";
2096
+ sourceElementId: string;
2097
+ } | null;
2098
+ defaultSidebarDockedPreference: boolean;
2099
+ lastPointerDownWith: import("../element/types").PointerType;
2100
+ selectedElementIds: Readonly<{
2101
+ [id: string]: true;
2102
+ }>;
2103
+ hoveredElementIds: Readonly<{
2104
+ [id: string]: true;
2105
+ }>;
2106
+ previousSelectedElementIds: {
2107
+ [id: string]: true;
2108
+ };
2109
+ selectedElementsAreBeingDragged: boolean;
2110
+ shouldCacheIgnoreZoom: boolean;
2111
+ toast: {
2112
+ message: string;
2113
+ closable?: boolean | undefined;
2114
+ duration?: number | undefined;
2115
+ } | null;
2116
+ zenModeEnabled: boolean;
2117
+ gridSize: number;
2118
+ gridStep: number;
2119
+ gridModeEnabled: boolean;
2120
+ viewModeEnabled: boolean;
2121
+ selectedGroupIds: {
2122
+ [groupId: string]: boolean;
2123
+ };
2124
+ editingGroupId: string | null;
2125
+ width: number;
2126
+ height: number;
2127
+ offsetTop: number;
2128
+ offsetLeft: number;
2129
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
2130
+ collaborators: Map<import("../types").SocketId, Readonly<{
2131
+ pointer?: import("../types").CollaboratorPointer | undefined;
2132
+ button?: "up" | "down" | undefined;
2133
+ selectedElementIds?: Readonly<{
2134
+ [id: string]: true;
2135
+ }> | undefined;
2136
+ username?: string | null | undefined;
2137
+ userState?: import("../types").UserIdleState | undefined;
2138
+ color?: {
2139
+ background: string;
2140
+ stroke: string;
2141
+ } | undefined;
2142
+ avatarUrl?: string | undefined;
2143
+ id?: string | undefined;
2144
+ socketId?: import("../types").SocketId | undefined;
2145
+ isCurrentUser?: boolean | undefined;
2146
+ isInCall?: boolean | undefined;
2147
+ isSpeaking?: boolean | undefined;
2148
+ isMuted?: boolean | undefined;
2149
+ }>>;
2150
+ stats: {
2151
+ open: boolean;
2152
+ panels: number;
2153
+ };
2154
+ currentChartType: import("../element/types").ChartType;
2155
+ pasteDialog: {
2156
+ shown: false;
2157
+ data: null;
2158
+ } | {
2159
+ shown: true;
2160
+ data: import("../charts").Spreadsheet;
2161
+ };
2162
+ pendingImageElementId: string | null;
2163
+ showHyperlinkPopup: false | "info" | "editor";
2164
+ linkOpacity: number;
2165
+ trayModeEnabled: boolean;
2166
+ colorPalette?: {
2167
+ canvasBackground: import("../colors").ColorPaletteCustom;
2168
+ elementBackground: import("../colors").ColorPaletteCustom;
2169
+ elementStroke: import("../colors").ColorPaletteCustom;
2170
+ topPicks: {
2171
+ canvasBackground: [string, string, string, string, string];
2172
+ elementStroke: [string, string, string, string, string];
2173
+ elementBackground: [string, string, string, string, string];
2174
+ };
2175
+ } | undefined;
2176
+ allowWheelZoom?: boolean | undefined;
2177
+ allowPinchZoom?: boolean | undefined;
2178
+ pinnedScripts?: string[] | undefined;
2179
+ customPens?: any[] | undefined;
2180
+ currentStrokeOptions?: any;
2181
+ resetCustomPen?: any;
2182
+ gridColor: {
2183
+ Bold: string;
2184
+ Regular: string;
2185
+ };
2186
+ highlightSearchResult: boolean;
2187
+ dynamicStyle: {
2188
+ [x: string]: string;
2189
+ };
2190
+ frameColor: {
2191
+ stroke: string;
2192
+ fill: string;
2193
+ nameColor: string;
2194
+ };
2195
+ invertBindingBehaviour: boolean;
2196
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2197
+ snapLines: readonly import("../snapping").SnapLine[];
2198
+ originSnapOffset: {
2199
+ x: number;
2200
+ y: number;
2201
+ } | null;
2202
+ objectsSnapModeEnabled: boolean;
2203
+ userToFollow: import("../types").UserToFollow | null;
2204
+ followedBy: Set<import("../types").SocketId>;
2205
+ isCropping: boolean;
2206
+ croppingElementId: string | null;
2207
+ searchMatches: readonly {
2208
+ id: string;
2209
+ focus: boolean;
2210
+ matchedLines: {
2211
+ offsetX: number;
2212
+ offsetY: number;
2213
+ width: number;
2214
+ height: number;
2215
+ }[];
2216
+ }[];
2217
+ };
2218
+ storeAction: "none";
2219
+ };
2220
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2221
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
2222
+ } & {
2223
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2224
+ };
2225
+ export declare const actionToggleEraserTool: {
2226
+ name: "toggleEraserTool";
2227
+ label: string;
2228
+ trackEvent: {
2229
+ category: "toolbar";
2230
+ };
2231
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>) => {
2232
+ appState: {
2233
+ selectedElementIds: {};
2234
+ selectedGroupIds: {};
2235
+ activeEmbeddable: null;
2236
+ activeTool: {
2237
+ lastActiveTool: import("../types").ActiveTool | null;
2238
+ locked: boolean;
2239
+ } & import("../types").ActiveTool;
2240
+ contextMenu: {
2241
+ items: import("../components/ContextMenu").ContextMenuItems;
2242
+ top: number;
2243
+ left: number;
2244
+ } | null;
2245
+ showWelcomeScreen: boolean;
2246
+ isLoading: boolean;
2247
+ errorMessage: import("react").ReactNode;
2248
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
2249
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
2250
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
2251
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
2252
+ isBindingEnabled: boolean;
2253
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
2254
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
2255
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
2256
+ frameRendering: {
2257
+ enabled: boolean;
2258
+ name: boolean;
2259
+ outline: boolean;
2260
+ clip: boolean;
2261
+ };
2262
+ editingFrame: string | null;
2263
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
2264
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
2265
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2266
+ penMode: boolean;
2267
+ penDetected: boolean;
2268
+ exportBackground: boolean;
2269
+ exportEmbedScene: boolean;
2270
+ exportWithDarkMode: boolean;
2271
+ exportScale: number;
2272
+ currentItemStrokeColor: string;
2273
+ currentItemBackgroundColor: string;
2274
+ currentItemFillStyle: import("../element/types").FillStyle;
2275
+ currentItemStrokeWidth: number;
2276
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
2277
+ currentItemRoughness: number;
2278
+ currentItemOpacity: number;
2279
+ currentItemFontFamily: number;
2280
+ currentItemFontSize: number;
2281
+ currentItemTextAlign: string;
2282
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
2283
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
2284
+ currentHoveredFontFamily: number | null;
2285
+ currentItemRoundness: import("../element/types").StrokeRoundness;
2286
+ currentItemArrowType: "round" | "sharp" | "elbow";
2287
+ viewBackgroundColor: string;
2288
+ scrollX: number;
2289
+ scrollY: number;
2290
+ cursorButton: "up" | "down";
2291
+ scrolledOutside: boolean;
2292
+ name: string | null;
2293
+ isResizing: boolean;
2294
+ isRotating: boolean;
2295
+ zoom: Readonly<{
2296
+ value: import("../types").NormalizedZoomValue;
2297
+ }>;
2298
+ openMenu: "canvas" | "shape" | null;
2299
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2300
+ openSidebar: {
2301
+ name: string;
2302
+ tab?: string | undefined;
2303
+ } | null;
2304
+ openDialog: {
2305
+ name: "help" | "imageExport" | "jsonExport";
2306
+ } | {
2307
+ name: "ttd";
2308
+ tab: "mermaid" | "text-to-diagram";
2309
+ } | {
2310
+ name: "commandPalette";
2311
+ } | {
2312
+ name: "elementLinkSelector";
2313
+ sourceElementId: string;
2314
+ } | null;
2315
+ defaultSidebarDockedPreference: boolean;
2316
+ lastPointerDownWith: import("../element/types").PointerType;
2317
+ hoveredElementIds: Readonly<{
2318
+ [id: string]: true;
2319
+ }>;
2320
+ previousSelectedElementIds: {
2321
+ [id: string]: true;
2322
+ };
2323
+ selectedElementsAreBeingDragged: boolean;
2324
+ shouldCacheIgnoreZoom: boolean;
2325
+ toast: {
2326
+ message: string;
2327
+ closable?: boolean | undefined;
2328
+ duration?: number | undefined;
2329
+ } | null;
2330
+ zenModeEnabled: boolean;
2331
+ theme: import("../element/types").Theme;
2332
+ gridSize: number;
2333
+ gridStep: number;
2334
+ gridModeEnabled: boolean;
2335
+ viewModeEnabled: boolean;
2336
+ editingGroupId: string | null;
2337
+ width: number;
2338
+ height: number;
2339
+ offsetTop: number;
2340
+ offsetLeft: number;
2341
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
2342
+ collaborators: Map<import("../types").SocketId, Readonly<{
2343
+ pointer?: import("../types").CollaboratorPointer | undefined;
2344
+ button?: "up" | "down" | undefined;
2345
+ selectedElementIds?: Readonly<{
2346
+ [id: string]: true;
2347
+ }> | undefined;
2348
+ username?: string | null | undefined;
2349
+ userState?: import("../types").UserIdleState | undefined;
2350
+ color?: {
2351
+ background: string;
2352
+ stroke: string;
2353
+ } | undefined;
2354
+ avatarUrl?: string | undefined;
2355
+ id?: string | undefined;
2356
+ socketId?: import("../types").SocketId | undefined;
2357
+ isCurrentUser?: boolean | undefined;
2358
+ isInCall?: boolean | undefined;
2359
+ isSpeaking?: boolean | undefined;
2360
+ isMuted?: boolean | undefined;
2361
+ }>>;
2362
+ stats: {
2363
+ open: boolean;
2364
+ panels: number;
2365
+ };
2366
+ currentChartType: import("../element/types").ChartType;
2367
+ pasteDialog: {
2368
+ shown: false;
2369
+ data: null;
2370
+ } | {
2371
+ shown: true;
2372
+ data: import("../charts").Spreadsheet;
2373
+ };
2374
+ pendingImageElementId: string | null;
2375
+ showHyperlinkPopup: false | "info" | "editor";
2376
+ linkOpacity: number;
2377
+ trayModeEnabled: boolean;
2378
+ colorPalette?: {
2379
+ canvasBackground: import("../colors").ColorPaletteCustom;
2380
+ elementBackground: import("../colors").ColorPaletteCustom;
2381
+ elementStroke: import("../colors").ColorPaletteCustom;
2382
+ topPicks: {
2383
+ canvasBackground: [string, string, string, string, string];
2384
+ elementStroke: [string, string, string, string, string];
2385
+ elementBackground: [string, string, string, string, string];
2386
+ };
2387
+ } | undefined;
2388
+ allowWheelZoom?: boolean | undefined;
2389
+ allowPinchZoom?: boolean | undefined;
2390
+ pinnedScripts?: string[] | undefined;
2391
+ customPens?: any[] | undefined;
2392
+ currentStrokeOptions?: any;
2393
+ resetCustomPen?: any;
2394
+ gridColor: {
2395
+ Bold: string;
2396
+ Regular: string;
2397
+ };
2398
+ highlightSearchResult: boolean;
2399
+ dynamicStyle: {
2400
+ [x: string]: string;
2401
+ };
2402
+ frameColor: {
2403
+ stroke: string;
2404
+ fill: string;
2405
+ nameColor: string;
2406
+ };
2407
+ invertBindingBehaviour: boolean;
2408
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2409
+ snapLines: readonly import("../snapping").SnapLine[];
2410
+ originSnapOffset: {
2411
+ x: number;
2412
+ y: number;
2413
+ } | null;
2414
+ objectsSnapModeEnabled: boolean;
2415
+ userToFollow: import("../types").UserToFollow | null;
2416
+ followedBy: Set<import("../types").SocketId>;
2417
+ isCropping: boolean;
2418
+ croppingElementId: string | null;
2419
+ searchMatches: readonly {
2420
+ id: string;
2421
+ focus: boolean;
2422
+ matchedLines: {
2423
+ offsetX: number;
2424
+ offsetY: number;
2425
+ width: number;
2426
+ height: number;
2427
+ }[];
2428
+ }[];
2429
+ };
2430
+ storeAction: "capture";
2431
+ };
2432
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2433
+ } & {
2434
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2435
+ };
2436
+ export declare const actionToggleHandTool: {
2437
+ name: "toggleHandTool";
2438
+ label: string;
2439
+ paletteName: string;
2440
+ trackEvent: {
2441
+ category: "toolbar";
2442
+ };
2443
+ icon: JSX.Element;
2444
+ viewMode: false;
2445
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
2446
+ appState: {
2447
+ selectedElementIds: {};
2448
+ selectedGroupIds: {};
2449
+ activeEmbeddable: null;
2450
+ activeTool: {
2451
+ lastActiveTool: import("../types").ActiveTool | null;
2452
+ locked: boolean;
2453
+ } & import("../types").ActiveTool;
2454
+ contextMenu: {
2455
+ items: import("../components/ContextMenu").ContextMenuItems;
2456
+ top: number;
2457
+ left: number;
2458
+ } | null;
2459
+ showWelcomeScreen: boolean;
2460
+ isLoading: boolean;
2461
+ errorMessage: import("react").ReactNode;
2462
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
2463
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
2464
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
2465
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
2466
+ isBindingEnabled: boolean;
2467
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
2468
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
2469
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
2470
+ frameRendering: {
2471
+ enabled: boolean;
2472
+ name: boolean;
2473
+ outline: boolean;
2474
+ clip: boolean;
2475
+ };
2476
+ editingFrame: string | null;
2477
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
2478
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
2479
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2480
+ penMode: boolean;
2481
+ penDetected: boolean;
2482
+ exportBackground: boolean;
2483
+ exportEmbedScene: boolean;
2484
+ exportWithDarkMode: boolean;
2485
+ exportScale: number;
2486
+ currentItemStrokeColor: string;
2487
+ currentItemBackgroundColor: string;
2488
+ currentItemFillStyle: import("../element/types").FillStyle;
2489
+ currentItemStrokeWidth: number;
2490
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
2491
+ currentItemRoughness: number;
2492
+ currentItemOpacity: number;
2493
+ currentItemFontFamily: number;
2494
+ currentItemFontSize: number;
2495
+ currentItemTextAlign: string;
2496
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
2497
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
2498
+ currentHoveredFontFamily: number | null;
2499
+ currentItemRoundness: import("../element/types").StrokeRoundness;
2500
+ currentItemArrowType: "round" | "sharp" | "elbow";
2501
+ viewBackgroundColor: string;
2502
+ scrollX: number;
2503
+ scrollY: number;
2504
+ cursorButton: "up" | "down";
2505
+ scrolledOutside: boolean;
2506
+ name: string | null;
2507
+ isResizing: boolean;
2508
+ isRotating: boolean;
2509
+ zoom: Readonly<{
2510
+ value: import("../types").NormalizedZoomValue;
2511
+ }>;
2512
+ openMenu: "canvas" | "shape" | null;
2513
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2514
+ openSidebar: {
2515
+ name: string;
2516
+ tab?: string | undefined;
2517
+ } | null;
2518
+ openDialog: {
2519
+ name: "help" | "imageExport" | "jsonExport";
2520
+ } | {
2521
+ name: "ttd";
2522
+ tab: "mermaid" | "text-to-diagram";
2523
+ } | {
2524
+ name: "commandPalette";
2525
+ } | {
2526
+ name: "elementLinkSelector";
2527
+ sourceElementId: string;
2528
+ } | null;
2529
+ defaultSidebarDockedPreference: boolean;
2530
+ lastPointerDownWith: import("../element/types").PointerType;
2531
+ hoveredElementIds: Readonly<{
2532
+ [id: string]: true;
2533
+ }>;
2534
+ previousSelectedElementIds: {
2535
+ [id: string]: true;
2536
+ };
2537
+ selectedElementsAreBeingDragged: boolean;
2538
+ shouldCacheIgnoreZoom: boolean;
2539
+ toast: {
2540
+ message: string;
2541
+ closable?: boolean | undefined;
2542
+ duration?: number | undefined;
2543
+ } | null;
2544
+ zenModeEnabled: boolean;
2545
+ theme: import("../element/types").Theme;
2546
+ gridSize: number;
2547
+ gridStep: number;
2548
+ gridModeEnabled: boolean;
2549
+ viewModeEnabled: boolean;
2550
+ editingGroupId: string | null;
2551
+ width: number;
2552
+ height: number;
2553
+ offsetTop: number;
2554
+ offsetLeft: number;
2555
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
2556
+ collaborators: Map<import("../types").SocketId, Readonly<{
2557
+ pointer?: import("../types").CollaboratorPointer | undefined;
2558
+ button?: "up" | "down" | undefined;
2559
+ selectedElementIds?: Readonly<{
2560
+ [id: string]: true;
2561
+ }> | undefined;
2562
+ username?: string | null | undefined;
2563
+ userState?: import("../types").UserIdleState | undefined;
2564
+ color?: {
2565
+ background: string;
2566
+ stroke: string;
2567
+ } | undefined;
2568
+ avatarUrl?: string | undefined;
2569
+ id?: string | undefined;
2570
+ socketId?: import("../types").SocketId | undefined;
2571
+ isCurrentUser?: boolean | undefined;
2572
+ isInCall?: boolean | undefined;
2573
+ isSpeaking?: boolean | undefined;
2574
+ isMuted?: boolean | undefined;
2575
+ }>>;
2576
+ stats: {
2577
+ open: boolean;
2578
+ panels: number;
2579
+ };
2580
+ currentChartType: import("../element/types").ChartType;
2581
+ pasteDialog: {
2582
+ shown: false;
2583
+ data: null;
2584
+ } | {
2585
+ shown: true;
2586
+ data: import("../charts").Spreadsheet;
2587
+ };
2588
+ pendingImageElementId: string | null;
2589
+ showHyperlinkPopup: false | "info" | "editor";
2590
+ linkOpacity: number;
2591
+ trayModeEnabled: boolean;
2592
+ colorPalette?: {
2593
+ canvasBackground: import("../colors").ColorPaletteCustom;
2594
+ elementBackground: import("../colors").ColorPaletteCustom;
2595
+ elementStroke: import("../colors").ColorPaletteCustom;
2596
+ topPicks: {
2597
+ canvasBackground: [string, string, string, string, string];
2598
+ elementStroke: [string, string, string, string, string];
2599
+ elementBackground: [string, string, string, string, string];
2600
+ };
2601
+ } | undefined;
2602
+ allowWheelZoom?: boolean | undefined;
2603
+ allowPinchZoom?: boolean | undefined;
2604
+ pinnedScripts?: string[] | undefined;
2605
+ customPens?: any[] | undefined;
2606
+ currentStrokeOptions?: any;
2607
+ resetCustomPen?: any;
2608
+ gridColor: {
2609
+ Bold: string;
2610
+ Regular: string;
2611
+ };
2612
+ highlightSearchResult: boolean;
2613
+ dynamicStyle: {
2614
+ [x: string]: string;
2615
+ };
2616
+ frameColor: {
2617
+ stroke: string;
2618
+ fill: string;
2619
+ nameColor: string;
2620
+ };
2621
+ invertBindingBehaviour: boolean;
2622
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2623
+ snapLines: readonly import("../snapping").SnapLine[];
2624
+ originSnapOffset: {
2625
+ x: number;
2626
+ y: number;
2627
+ } | null;
2628
+ objectsSnapModeEnabled: boolean;
2629
+ userToFollow: import("../types").UserToFollow | null;
2630
+ followedBy: Set<import("../types").SocketId>;
2631
+ isCropping: boolean;
2632
+ croppingElementId: string | null;
2633
+ searchMatches: readonly {
2634
+ id: string;
2635
+ focus: boolean;
2636
+ matchedLines: {
2637
+ offsetX: number;
2638
+ offsetY: number;
2639
+ width: number;
2640
+ height: number;
2641
+ }[];
2642
+ }[];
2643
+ };
2644
+ storeAction: "capture";
2645
+ };
2646
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
2647
+ } & {
2648
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
2649
+ };
2650
+ export declare const actionToggleLaserPointer: {
2651
+ name: "toggleLaserPointerTool";
2652
+ viewMode: true;
2653
+ trackEvent: {
2654
+ category: "menu";
2655
+ };
2656
+ perform(elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties): {
2657
+ appState: {
2658
+ selectedElementIds: {};
2659
+ selectedGroupIds: {};
2660
+ activeEmbeddable: null;
2661
+ activeTool: {
2662
+ lastActiveTool: import("../types").ActiveTool | null;
2663
+ locked: boolean;
2664
+ } & import("../types").ActiveTool;
2665
+ contextMenu: {
2666
+ items: import("../components/ContextMenu").ContextMenuItems;
2667
+ top: number;
2668
+ left: number;
2669
+ } | null;
2670
+ showWelcomeScreen: boolean;
2671
+ isLoading: boolean;
2672
+ errorMessage: import("react").ReactNode;
2673
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
2674
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
2675
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
2676
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
2677
+ isBindingEnabled: boolean;
2678
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
2679
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
2680
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
2681
+ frameRendering: {
2682
+ enabled: boolean;
2683
+ name: boolean;
2684
+ outline: boolean;
2685
+ clip: boolean;
2686
+ };
2687
+ editingFrame: string | null;
2688
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
2689
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
2690
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2691
+ penMode: boolean;
2692
+ penDetected: boolean;
2693
+ exportBackground: boolean;
2694
+ exportEmbedScene: boolean;
2695
+ exportWithDarkMode: boolean;
2696
+ exportScale: number;
2697
+ currentItemStrokeColor: string;
2698
+ currentItemBackgroundColor: string;
2699
+ currentItemFillStyle: import("../element/types").FillStyle;
2700
+ currentItemStrokeWidth: number;
2701
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
2702
+ currentItemRoughness: number;
2703
+ currentItemOpacity: number;
2704
+ currentItemFontFamily: number;
2705
+ currentItemFontSize: number;
2706
+ currentItemTextAlign: string;
2707
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
2708
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
2709
+ currentHoveredFontFamily: number | null;
2710
+ currentItemRoundness: import("../element/types").StrokeRoundness;
2711
+ currentItemArrowType: "round" | "sharp" | "elbow";
2712
+ viewBackgroundColor: string;
2713
+ scrollX: number;
2714
+ scrollY: number;
2715
+ cursorButton: "up" | "down";
2716
+ scrolledOutside: boolean;
2717
+ name: string | null;
2718
+ isResizing: boolean;
2719
+ isRotating: boolean;
2720
+ zoom: Readonly<{
2721
+ value: import("../types").NormalizedZoomValue;
2722
+ }>;
2723
+ openMenu: "canvas" | "shape" | null;
2724
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2725
+ openSidebar: {
2726
+ name: string;
2727
+ tab?: string | undefined;
2728
+ } | null;
2729
+ openDialog: {
2730
+ name: "help" | "imageExport" | "jsonExport";
2731
+ } | {
2732
+ name: "ttd";
2733
+ tab: "mermaid" | "text-to-diagram";
2734
+ } | {
2735
+ name: "commandPalette";
2736
+ } | {
2737
+ name: "elementLinkSelector";
2738
+ sourceElementId: string;
2739
+ } | null;
2740
+ defaultSidebarDockedPreference: boolean;
2741
+ lastPointerDownWith: import("../element/types").PointerType;
2742
+ hoveredElementIds: Readonly<{
2743
+ [id: string]: true;
2744
+ }>;
2745
+ previousSelectedElementIds: {
2746
+ [id: string]: true;
2747
+ };
2748
+ selectedElementsAreBeingDragged: boolean;
2749
+ shouldCacheIgnoreZoom: boolean;
2750
+ toast: {
2751
+ message: string;
2752
+ closable?: boolean | undefined;
2753
+ duration?: number | undefined;
2754
+ } | null;
2755
+ zenModeEnabled: boolean;
2756
+ theme: import("../element/types").Theme;
2757
+ gridSize: number;
2758
+ gridStep: number;
2759
+ gridModeEnabled: boolean;
2760
+ viewModeEnabled: boolean;
2761
+ editingGroupId: string | null;
2762
+ width: number;
2763
+ height: number;
2764
+ offsetTop: number;
2765
+ offsetLeft: number;
2766
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
2767
+ collaborators: Map<import("../types").SocketId, Readonly<{
2768
+ pointer?: import("../types").CollaboratorPointer | undefined;
2769
+ button?: "up" | "down" | undefined;
2770
+ selectedElementIds?: Readonly<{
2771
+ [id: string]: true;
2772
+ }> | undefined;
2773
+ username?: string | null | undefined;
2774
+ userState?: import("../types").UserIdleState | undefined;
2775
+ color?: {
2776
+ background: string;
2777
+ stroke: string;
2778
+ } | undefined;
2779
+ avatarUrl?: string | undefined;
2780
+ id?: string | undefined;
2781
+ socketId?: import("../types").SocketId | undefined;
2782
+ isCurrentUser?: boolean | undefined;
2783
+ isInCall?: boolean | undefined;
2784
+ isSpeaking?: boolean | undefined;
2785
+ isMuted?: boolean | undefined;
2786
+ }>>;
2787
+ stats: {
2788
+ open: boolean;
2789
+ panels: number;
2790
+ };
2791
+ currentChartType: import("../element/types").ChartType;
2792
+ pasteDialog: {
2793
+ shown: false;
2794
+ data: null;
2795
+ } | {
2796
+ shown: true;
2797
+ data: import("../charts").Spreadsheet;
2798
+ };
2799
+ pendingImageElementId: string | null;
2800
+ showHyperlinkPopup: false | "info" | "editor";
2801
+ linkOpacity: number;
2802
+ trayModeEnabled: boolean;
2803
+ colorPalette?: {
2804
+ canvasBackground: import("../colors").ColorPaletteCustom;
2805
+ elementBackground: import("../colors").ColorPaletteCustom;
2806
+ elementStroke: import("../colors").ColorPaletteCustom;
2807
+ topPicks: {
2808
+ canvasBackground: [string, string, string, string, string];
2809
+ elementStroke: [string, string, string, string, string];
2810
+ elementBackground: [string, string, string, string, string];
2811
+ };
2812
+ } | undefined;
2813
+ allowWheelZoom?: boolean | undefined;
2814
+ allowPinchZoom?: boolean | undefined;
2815
+ pinnedScripts?: string[] | undefined;
2816
+ customPens?: any[] | undefined;
2817
+ currentStrokeOptions?: any;
2818
+ resetCustomPen?: any;
2819
+ gridColor: {
2820
+ Bold: string;
2821
+ Regular: string;
2822
+ };
2823
+ highlightSearchResult: boolean;
2824
+ dynamicStyle: {
2825
+ [x: string]: string;
2826
+ };
2827
+ frameColor: {
2828
+ stroke: string;
2829
+ fill: string;
2830
+ nameColor: string;
2831
+ };
2832
+ invertBindingBehaviour: boolean;
2833
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2834
+ snapLines: readonly import("../snapping").SnapLine[];
2835
+ originSnapOffset: {
2836
+ x: number;
2837
+ y: number;
2838
+ } | null;
2839
+ objectsSnapModeEnabled: boolean;
2840
+ userToFollow: import("../types").UserToFollow | null;
2841
+ followedBy: Set<import("../types").SocketId>;
2842
+ isCropping: boolean;
2843
+ croppingElementId: string | null;
2844
+ searchMatches: readonly {
2845
+ id: string;
2846
+ focus: boolean;
2847
+ matchedLines: {
2848
+ offsetX: number;
2849
+ offsetY: number;
2850
+ width: number;
2851
+ height: number;
2852
+ }[];
2853
+ }[];
2854
+ };
2855
+ storeAction: "none";
2856
+ };
2857
+ checked: (appState: Readonly<AppState>) => boolean;
2858
+ label: string;
2859
+ icon: JSX.Element;
2860
+ } & {
2861
+ keyTest?: undefined;
2862
+ };
2863
+ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, zoomToSelection: boolean, app: AppClassProperties, maxZoom?: number, margin?: number) => {
2864
+ appState: {
2865
+ zoom: {
2866
+ value: import("../types").NormalizedZoomValue;
2867
+ };
2868
+ scrollX: number;
2869
+ scrollY: number;
2870
+ contextMenu: {
2871
+ items: import("../components/ContextMenu").ContextMenuItems;
2872
+ top: number;
2873
+ left: number;
2874
+ } | null;
2875
+ showWelcomeScreen: boolean;
2876
+ isLoading: boolean;
2877
+ errorMessage: import("react").ReactNode;
2878
+ activeEmbeddable: {
2879
+ element: import("../element/types").NonDeletedExcalidrawElement;
2880
+ state: "active" | "hover";
2881
+ } | null;
2882
+ newElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawNonSelectionElement> | null;
2883
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
2884
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
2885
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
2886
+ isBindingEnabled: boolean;
2887
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
2888
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
2889
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
2890
+ frameRendering: {
2891
+ enabled: boolean;
2892
+ name: boolean;
2893
+ outline: boolean;
2894
+ clip: boolean;
2895
+ };
2896
+ editingFrame: string | null;
2897
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
2898
+ editingTextElement: import("../element/types").NonDeletedExcalidrawElement | null;
2899
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
2900
+ activeTool: {
2901
+ lastActiveTool: import("../types").ActiveTool | null;
2902
+ locked: boolean;
2903
+ } & import("../types").ActiveTool;
2904
+ penMode: boolean;
2905
+ penDetected: boolean;
2906
+ exportBackground: boolean;
2907
+ exportEmbedScene: boolean;
2908
+ exportWithDarkMode: boolean;
2909
+ exportScale: number;
2910
+ currentItemStrokeColor: string;
2911
+ currentItemBackgroundColor: string;
2912
+ currentItemFillStyle: import("../element/types").FillStyle;
2913
+ currentItemStrokeWidth: number;
2914
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
2915
+ currentItemRoughness: number;
2916
+ currentItemOpacity: number;
2917
+ currentItemFontFamily: number;
2918
+ currentItemFontSize: number;
2919
+ currentItemTextAlign: string;
2920
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
2921
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
2922
+ currentHoveredFontFamily: number | null;
2923
+ currentItemRoundness: import("../element/types").StrokeRoundness;
2924
+ currentItemArrowType: "round" | "sharp" | "elbow";
2925
+ viewBackgroundColor: string;
2926
+ cursorButton: "up" | "down";
2927
+ scrolledOutside: boolean;
2928
+ name: string | null;
2929
+ isResizing: boolean;
2930
+ isRotating: boolean;
2931
+ openMenu: "canvas" | "shape" | null;
2932
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
2933
+ openSidebar: {
2934
+ name: string;
2935
+ tab?: string | undefined;
2936
+ } | null;
2937
+ openDialog: {
2938
+ name: "help" | "imageExport" | "jsonExport";
2939
+ } | {
2940
+ name: "ttd";
2941
+ tab: "mermaid" | "text-to-diagram";
2942
+ } | {
2943
+ name: "commandPalette";
2944
+ } | {
2945
+ name: "elementLinkSelector";
2946
+ sourceElementId: string;
2947
+ } | null;
2948
+ defaultSidebarDockedPreference: boolean;
2949
+ lastPointerDownWith: import("../element/types").PointerType;
2950
+ selectedElementIds: Readonly<{
2951
+ [id: string]: true;
2952
+ }>;
2953
+ hoveredElementIds: Readonly<{
2954
+ [id: string]: true;
2955
+ }>;
2956
+ previousSelectedElementIds: {
2957
+ [id: string]: true;
2958
+ };
2959
+ selectedElementsAreBeingDragged: boolean;
2960
+ shouldCacheIgnoreZoom: boolean;
2961
+ toast: {
2962
+ message: string;
2963
+ closable?: boolean | undefined;
2964
+ duration?: number | undefined;
2965
+ } | null;
2966
+ zenModeEnabled: boolean;
2967
+ theme: import("../element/types").Theme;
2968
+ gridSize: number;
2969
+ gridStep: number;
2970
+ gridModeEnabled: boolean;
2971
+ viewModeEnabled: boolean;
2972
+ selectedGroupIds: {
2973
+ [groupId: string]: boolean;
2974
+ };
2975
+ editingGroupId: string | null;
2976
+ width: number;
2977
+ height: number;
2978
+ offsetTop: number;
2979
+ offsetLeft: number;
2980
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
2981
+ collaborators: Map<import("../types").SocketId, Readonly<{
2982
+ pointer?: import("../types").CollaboratorPointer | undefined;
2983
+ button?: "up" | "down" | undefined;
2984
+ selectedElementIds?: Readonly<{
2985
+ [id: string]: true;
2986
+ }> | undefined;
2987
+ username?: string | null | undefined;
2988
+ userState?: import("../types").UserIdleState | undefined;
2989
+ color?: {
2990
+ background: string;
2991
+ stroke: string;
2992
+ } | undefined;
2993
+ avatarUrl?: string | undefined;
2994
+ id?: string | undefined;
2995
+ socketId?: import("../types").SocketId | undefined;
2996
+ isCurrentUser?: boolean | undefined;
2997
+ isInCall?: boolean | undefined;
2998
+ isSpeaking?: boolean | undefined;
2999
+ isMuted?: boolean | undefined;
3000
+ }>>;
3001
+ stats: {
3002
+ open: boolean;
3003
+ panels: number;
3004
+ };
3005
+ currentChartType: import("../element/types").ChartType;
3006
+ pasteDialog: {
3007
+ shown: false;
3008
+ data: null;
3009
+ } | {
3010
+ shown: true;
3011
+ data: import("../charts").Spreadsheet;
3012
+ };
3013
+ pendingImageElementId: string | null;
3014
+ showHyperlinkPopup: false | "info" | "editor";
3015
+ linkOpacity: number;
3016
+ trayModeEnabled: boolean;
3017
+ colorPalette?: {
3018
+ canvasBackground: import("../colors").ColorPaletteCustom;
3019
+ elementBackground: import("../colors").ColorPaletteCustom;
3020
+ elementStroke: import("../colors").ColorPaletteCustom;
3021
+ topPicks: {
3022
+ canvasBackground: [string, string, string, string, string];
3023
+ elementStroke: [string, string, string, string, string];
3024
+ elementBackground: [string, string, string, string, string];
3025
+ };
3026
+ } | undefined;
3027
+ allowWheelZoom?: boolean | undefined;
3028
+ allowPinchZoom?: boolean | undefined;
3029
+ pinnedScripts?: string[] | undefined;
3030
+ customPens?: any[] | undefined;
3031
+ currentStrokeOptions?: any;
3032
+ resetCustomPen?: any;
3033
+ gridColor: {
3034
+ Bold: string;
3035
+ Regular: string;
3036
+ };
3037
+ highlightSearchResult: boolean;
3038
+ dynamicStyle: {
3039
+ [x: string]: string;
3040
+ };
3041
+ frameColor: {
3042
+ stroke: string;
3043
+ fill: string;
3044
+ nameColor: string;
3045
+ };
3046
+ invertBindingBehaviour: boolean;
3047
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
3048
+ snapLines: readonly import("../snapping").SnapLine[];
3049
+ originSnapOffset: {
3050
+ x: number;
3051
+ y: number;
3052
+ } | null;
3053
+ objectsSnapModeEnabled: boolean;
3054
+ userToFollow: import("../types").UserToFollow | null;
3055
+ followedBy: Set<import("../types").SocketId>;
3056
+ isCropping: boolean;
3057
+ croppingElementId: string | null;
3058
+ searchMatches: readonly {
3059
+ id: string;
3060
+ focus: boolean;
3061
+ matchedLines: {
3062
+ offsetX: number;
3063
+ offsetY: number;
3064
+ width: number;
3065
+ height: number;
3066
+ }[];
3067
+ }[];
3068
+ };
3069
+ commitToHistory: boolean;
3070
+ };