@excalidraw/excalidraw 0.18.0-d92384b77-2 → 0.18.0-dda3affcb

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