@zsviczian/excalidraw 0.15.2-obsidian-10 → 0.15.2-obsidian-12

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 (280) hide show
  1. package/dist/excalidraw.development.js +1710 -1849
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +2 -1
  4. package/types/actions/actionAddToLibrary.d.ts +440 -441
  5. package/types/actions/actionAlign.d.ts +96 -97
  6. package/types/actions/actionBoundText.d.ts +330 -331
  7. package/types/actions/actionCanvas.d.ts +1844 -1845
  8. package/types/actions/actionClipboard.d.ts +828 -829
  9. package/types/actions/actionDeleteSelected.d.ts +474 -475
  10. package/types/actions/actionDistribute.d.ts +32 -33
  11. package/types/actions/actionDuplicateSelection.d.ts +21 -22
  12. package/types/actions/actionElementLock.d.ts +315 -316
  13. package/types/actions/actionExport.d.ts +1388 -1389
  14. package/types/actions/actionFinalize.d.ts +298 -299
  15. package/types/actions/actionFlip.d.ts +32 -33
  16. package/types/actions/actionFrame.d.ts +489 -490
  17. package/types/actions/actionGroup.d.ts +44 -45
  18. package/types/actions/actionHistory.d.ts +6 -6
  19. package/types/actions/actionLinearEditor.d.ts +157 -158
  20. package/types/actions/actionMenu.d.ts +478 -479
  21. package/types/actions/actionNavigate.d.ts +14 -14
  22. package/types/actions/actionProperties.d.ts +2012 -2013
  23. package/types/actions/actionSelectAll.d.ts +15 -16
  24. package/types/actions/actionStyles.d.ts +171 -172
  25. package/types/actions/actionToggleGridMode.d.ts +160 -161
  26. package/types/actions/actionToggleLock.d.ts +139 -135
  27. package/types/actions/actionToggleStats.d.ts +157 -158
  28. package/types/actions/actionToggleViewMode.d.ts +159 -160
  29. package/types/actions/actionToggleZenMode.d.ts +159 -160
  30. package/types/actions/actionZindex.d.ts +67 -67
  31. package/types/actions/index.d.ts +24 -24
  32. package/types/actions/manager.d.ts +21 -21
  33. package/types/actions/register.d.ts +5 -5
  34. package/types/actions/shortcuts.d.ts +4 -4
  35. package/types/actions/types.d.ts +45 -45
  36. package/types/align.d.ts +6 -6
  37. package/types/analytics.d.ts +1 -1
  38. package/types/appState.d.ts +81 -81
  39. package/types/bug-issue-template.d.ts +2 -0
  40. package/types/charts.d.ts +27 -27
  41. package/types/clients.d.ts +5 -5
  42. package/types/clipboard.d.ts +25 -25
  43. package/types/colors.d.ts +61 -61
  44. package/types/components/Actions.d.ts +36 -36
  45. package/types/components/ActiveConfirmDialog.d.ts +4 -4
  46. package/types/components/ActiveFile.d.ts +7 -0
  47. package/types/components/App.d.ts +288 -288
  48. package/types/components/Avatar.d.ts +10 -10
  49. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +4 -0
  50. package/types/components/BraveMeasureTextError.d.ts +2 -2
  51. package/types/components/Button.d.ts +16 -17
  52. package/types/components/ButtonIconSelect.d.ts +19 -19
  53. package/types/components/Card.d.ts +6 -7
  54. package/types/components/CheckboxItem.d.ts +8 -8
  55. package/types/components/ClearCanvas.d.ts +4 -0
  56. package/types/components/CollabButton.d.ts +7 -0
  57. package/types/components/ColorPicker/ColorInput.d.ts +7 -7
  58. package/types/components/ColorPicker/ColorPicker.d.ts +19 -19
  59. package/types/components/ColorPicker/CustomColorList.d.ts +8 -8
  60. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  61. package/types/components/ColorPicker/Picker.d.ts +18 -18
  62. package/types/components/ColorPicker/PickerColorList.d.ts +10 -10
  63. package/types/components/ColorPicker/PickerHeading.d.ts +5 -5
  64. package/types/components/ColorPicker/ShadeList.d.ts +8 -8
  65. package/types/components/ColorPicker/TopPicks.d.ts +9 -9
  66. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  67. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -21
  68. package/types/components/ColorPicker.d.ts +19 -19
  69. package/types/components/ConfirmDialog.d.ts +10 -10
  70. package/types/components/ContextMenu.d.ts +15 -15
  71. package/types/components/DarkModeToggle.d.ts +7 -7
  72. package/types/components/DefaultSidebar.d.ts +29 -30
  73. package/types/components/Dialog.d.ts +13 -13
  74. package/types/components/DialogActionButton.d.ts +10 -10
  75. package/types/components/EncryptedIcon.d.ts +2 -0
  76. package/types/components/ErrorDialog.d.ts +5 -5
  77. package/types/components/EyeDropper.d.ts +17 -18
  78. package/types/components/FilledButton.d.ts +17 -17
  79. package/types/components/FixedSideContainer.d.ts +9 -9
  80. package/types/components/Footer.d.ts +10 -0
  81. package/types/components/HandButton.d.ts +10 -10
  82. package/types/components/HelpButton.d.ts +7 -7
  83. package/types/components/HelpDialog.d.ts +4 -4
  84. package/types/components/HelpIcon.d.ts +8 -0
  85. package/types/components/HintViewer.d.ts +10 -10
  86. package/types/components/IconPicker.d.ts +13 -13
  87. package/types/components/ImageExportDialog.d.ts +13 -13
  88. package/types/components/InitializeApp.d.ts +10 -10
  89. package/types/components/Island.d.ts +10 -10
  90. package/types/components/JSONExportDialog.d.ts +15 -15
  91. package/types/components/LayerUI.d.ts +32 -32
  92. package/types/components/LibraryButton.d.ts +8 -8
  93. package/types/components/LibraryMenu.d.ts +24 -24
  94. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  95. package/types/components/LibraryMenuControlButtons.d.ts +9 -9
  96. package/types/components/LibraryMenuHeaderContent.d.ts +17 -18
  97. package/types/components/LibraryMenuItems.d.ts +14 -14
  98. package/types/components/LibraryMenuSection.d.ts +22 -22
  99. package/types/components/LibraryUnit.d.ts +14 -15
  100. package/types/components/LoadingMessage.d.ts +5 -6
  101. package/types/components/LockButton.d.ts +10 -10
  102. package/types/components/MenuItem.d.ts +11 -0
  103. package/types/components/MenuUtils.d.ts +2 -0
  104. package/types/components/MobileMenu.d.ts +27 -27
  105. package/types/components/Modal.d.ts +13 -13
  106. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  107. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  108. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  109. package/types/components/PasteChartDialog.d.ts +8 -8
  110. package/types/components/PenModeButton.d.ts +12 -12
  111. package/types/components/Popover.d.ts +15 -15
  112. package/types/components/ProjectName.d.ts +11 -11
  113. package/types/components/PublishLibrary.d.ts +16 -16
  114. package/types/components/RadioGroup.d.ts +12 -12
  115. package/types/components/Section.d.ts +6 -6
  116. package/types/components/Sidebar/Sidebar.d.ts +76 -76
  117. package/types/components/Sidebar/SidebarHeader.d.ts +7 -7
  118. package/types/components/Sidebar/SidebarTab.d.ts +8 -9
  119. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -10
  120. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -7
  121. package/types/components/Sidebar/SidebarTabs.d.ts +6 -7
  122. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -6
  123. package/types/components/Sidebar/common.d.ts +33 -33
  124. package/types/components/SidebarLockButton.d.ts +8 -0
  125. package/types/components/SingleLibraryItem.d.ts +10 -10
  126. package/types/components/Spinner.d.ts +7 -7
  127. package/types/components/Stack.d.ts +16 -16
  128. package/types/components/Stats.d.ts +11 -11
  129. package/types/components/Switch.d.ts +9 -9
  130. package/types/components/Toast.d.ts +7 -7
  131. package/types/components/ToolButton.d.ts +47 -47
  132. package/types/components/Tooltip.d.ts +17 -17
  133. package/types/components/TopErrorBoundary.d.ts +15 -0
  134. package/types/components/Trans.d.ts +9 -9
  135. package/types/components/UserList.d.ts +8 -8
  136. package/types/components/WelcomeScreen.d.ts +8 -0
  137. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  138. package/types/components/context/tunnels.d.ts +16 -16
  139. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -67
  140. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  141. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  142. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  143. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  144. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  145. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  146. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  147. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -11
  148. package/types/components/dropdownMenu/common.d.ts +6 -6
  149. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  150. package/types/components/footer/Footer.d.ts +12 -12
  151. package/types/components/footer/FooterCenter.d.ts +8 -8
  152. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  153. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  154. package/types/components/icons.d.ts +154 -154
  155. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -10
  156. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  157. package/types/components/main-menu/MainMenu.d.ts +61 -61
  158. package/types/components/mainMenu/DefaultItems.d.ts +44 -0
  159. package/types/components/mainMenu/MainMenu.d.ts +63 -0
  160. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -58
  161. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  162. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -85
  163. package/types/constants.d.ts +229 -226
  164. package/types/context/tunnels.d.ts +19 -19
  165. package/types/context/ui-appState.d.ts +4 -4
  166. package/types/data/blob.d.ts +48 -48
  167. package/types/data/encode.d.ts +53 -53
  168. package/types/data/encryption.d.ts +9 -9
  169. package/types/data/filesystem.d.ts +19 -19
  170. package/types/data/image.d.ts +15 -15
  171. package/types/data/index.d.ts +13 -13
  172. package/types/data/json.d.ts +16 -16
  173. package/types/data/library.d.ts +54 -54
  174. package/types/data/resave.d.ts +5 -5
  175. package/types/data/restore.d.ts +21 -21
  176. package/types/data/types.d.ts +45 -45
  177. package/types/data/url.d.ts +7 -7
  178. package/types/distribute.d.ts +6 -6
  179. package/types/element/Hyperlink.d.ts +181 -182
  180. package/types/element/binding.d.ts +33 -33
  181. package/types/element/bounds.d.ts +53 -53
  182. package/types/element/collision.d.ts +21 -21
  183. package/types/element/dragElements.d.ts +6 -6
  184. package/types/element/embeddable.d.ts +175 -176
  185. package/types/element/iframe.d.ts +167 -0
  186. package/types/element/image.d.ts +32 -32
  187. package/types/element/index.d.ts +21 -21
  188. package/types/element/linearElementEditor.d.ts +292 -293
  189. package/types/element/mutateElement.d.ts +12 -12
  190. package/types/element/newElement.d.ts +95 -95
  191. package/types/element/resizeElements.d.ts +9 -9
  192. package/types/element/resizeTest.d.ts +13 -13
  193. package/types/element/showSelectedShapeActions.d.ts +3 -3
  194. package/types/element/sizeHelpers.d.ts +21 -21
  195. package/types/element/sortElements.d.ts +2 -2
  196. package/types/element/textElement.d.ts +76 -80
  197. package/types/element/textWysiwyg.d.ts +21 -21
  198. package/types/element/transformHandles.d.ts +35 -35
  199. package/types/element/typeChecks.d.ts +29 -29
  200. package/types/element/types.d.ts +166 -166
  201. package/types/errors.d.ts +8 -8
  202. package/types/excalidraw-app/CustomStats.d.ts +9 -0
  203. package/types/excalidraw-app/app_constants.d.ts +32 -0
  204. package/types/excalidraw-app/collab/Collab.d.ts +163 -0
  205. package/types/excalidraw-app/collab/Portal.d.ts +28 -0
  206. package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
  207. package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
  208. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
  209. package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
  210. package/types/excalidraw-app/components/icons.d.ts +1 -0
  211. package/types/excalidraw-app/data/FileManager.d.ts +66 -0
  212. package/types/excalidraw-app/data/LocalData.d.ts +32 -0
  213. package/types/excalidraw-app/data/Locker.d.ts +8 -0
  214. package/types/excalidraw-app/data/firebase.d.ts +25 -0
  215. package/types/excalidraw-app/data/index.d.ts +190 -0
  216. package/types/excalidraw-app/data/localStorage.d.ts +116 -0
  217. package/types/excalidraw-app/data/tabSync.d.ts +9 -0
  218. package/types/excalidraw-app/index.d.ts +26 -0
  219. package/types/frame.d.ts +40 -40
  220. package/types/ga.d.ts +63 -63
  221. package/types/gadirections.d.ts +8 -8
  222. package/types/galines.d.ts +22 -22
  223. package/types/gapoints.d.ts +7 -7
  224. package/types/gatransforms.d.ts +10 -10
  225. package/types/gesture.d.ts +6 -6
  226. package/types/groups.d.ts +31 -31
  227. package/types/history.d.ts +52 -52
  228. package/types/hooks/useCallbackRefState.d.ts +1 -1
  229. package/types/hooks/useCreatePortalContainer.d.ts +5 -5
  230. package/types/hooks/useLibraryItemSvg.d.ts +11 -11
  231. package/types/hooks/useOutsideClick.d.ts +19 -20
  232. package/types/hooks/useScrollPosition.d.ts +1 -2
  233. package/types/hooks/useTransition.d.ts +2 -2
  234. package/types/i18n.d.ts +24 -24
  235. package/types/jotai.d.ts +34 -34
  236. package/types/keys.d.ts +80 -80
  237. package/types/math.d.ts +30 -30
  238. package/types/packages/common.webpack.dev.config.d.ts +72 -72
  239. package/types/packages/common.webpack.prod.config.d.ts +84 -84
  240. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -4
  241. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  242. package/types/packages/excalidraw/entry.d.ts +1 -1
  243. package/types/packages/excalidraw/env.d.ts +1 -1
  244. package/types/packages/excalidraw/example/App.d.ts +14 -14
  245. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  246. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  247. package/types/packages/excalidraw/example/index.d.ts +1 -1
  248. package/types/packages/excalidraw/example/initialData.d.ts +178 -178
  249. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  250. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +5 -0
  251. package/types/packages/excalidraw/index.d.ts +38 -37
  252. package/types/packages/excalidraw/main.d.ts +2 -2
  253. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  254. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  255. package/types/packages/excalidraw/webpack.dev.config.d.ts +80 -69
  256. package/types/packages/excalidraw/webpack.prod.config.d.ts +95 -78
  257. package/types/packages/utils.d.ts +43 -43
  258. package/types/points.d.ts +7 -7
  259. package/types/polyfill.d.ts +2 -2
  260. package/types/random.d.ts +4 -4
  261. package/types/renderer/easingFunctions.d.ts +6 -6
  262. package/types/renderer/renderElement.d.ts +37 -37
  263. package/types/renderer/renderScene.d.ts +51 -51
  264. package/types/renderer/roundRect.d.ts +11 -11
  265. package/types/scene/Fonts.d.ts +21 -21
  266. package/types/scene/Scene.d.ts +60 -60
  267. package/types/scene/comparisons.d.ts +10 -10
  268. package/types/scene/export.d.ts +25 -25
  269. package/types/scene/index.d.ts +5 -5
  270. package/types/scene/scroll.d.ts +17 -17
  271. package/types/scene/scrollbars.d.ts +16 -16
  272. package/types/scene/selection.d.ts +31 -31
  273. package/types/scene/types.d.ts +59 -59
  274. package/types/scene/zoom.d.ts +13 -13
  275. package/types/shapes.d.ts +62 -62
  276. package/types/types.d.ts +501 -501
  277. package/types/utility-types.d.ts +24 -25
  278. package/types/utils.d.ts +192 -192
  279. package/types/zindex.d.ts +6 -6
  280. package/types/.DS_Store +0 -0
@@ -1,1845 +1,1844 @@
1
- /// <reference types="react" />
2
- import { ExcalidrawElement } from "../element/types";
3
- import { AppClassProperties, AppState, NormalizedZoomValue } from "../types";
4
- export declare const actionChangeViewBackgroundColor: {
5
- name: "changeViewBackgroundColor";
6
- trackEvent: false;
7
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
8
- perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
9
- appState: any;
10
- commitToHistory: boolean;
11
- };
12
- PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
13
- } & {
14
- keyTest?: undefined;
15
- };
16
- export declare const actionClearCanvas: {
17
- name: "clearCanvas";
18
- trackEvent: {
19
- category: "canvas";
20
- };
21
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
22
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
23
- elements: ExcalidrawElement[];
24
- appState: {
25
- files: {};
26
- theme: import("../element/types").Theme;
27
- penMode: boolean;
28
- penDetected: boolean;
29
- exportBackground: boolean;
30
- exportEmbedScene: boolean;
31
- gridSize: number | null;
32
- showStats: boolean;
33
- pasteDialog: {
34
- shown: false;
35
- data: null;
36
- } | {
37
- shown: true;
38
- data: import("../charts").Spreadsheet;
39
- };
40
- activeTool: {
41
- lastActiveTool: import("../types").LastActiveTool;
42
- locked: boolean;
43
- } & ({
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
- customType: null;
46
- } | {
47
- type: "custom";
48
- customType: string;
49
- });
50
- colorPalette: {
51
- canvasBackground: import("../colors").ColorPaletteCustom;
52
- elementBackground: import("../colors").ColorPaletteCustom;
53
- elementStroke: import("../colors").ColorPaletteCustom;
54
- topPicks: {
55
- canvasBackground: [string, string, string, string, string];
56
- elementStroke: [string, string, string, string, string];
57
- elementBackground: [string, string, string, string, string];
58
- };
59
- } | undefined;
60
- trayModeEnabled: boolean;
61
- allowPinchZoom: boolean | undefined;
62
- allowWheelZoom: boolean | undefined;
63
- pinnedScripts: string[] | undefined;
64
- customPens: any[] | undefined;
65
- name: string;
66
- toast: {
67
- message: string;
68
- closable?: boolean | undefined;
69
- duration?: number | undefined;
70
- } | null;
71
- collaborators: Map<string, import("../types").Collaborator>;
72
- contextMenu: {
73
- items: import("../components/ContextMenu").ContextMenuItems;
74
- top: number;
75
- left: number;
76
- } | null;
77
- showWelcomeScreen: boolean;
78
- isLoading: boolean;
79
- errorMessage: import("react").ReactNode;
80
- activeEmbeddable: {
81
- element: import("../element/types").NonDeletedExcalidrawElement;
82
- state: "active" | "hover";
83
- } | null;
84
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
85
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
86
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
87
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
88
- isBindingEnabled: boolean;
89
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
90
- suggestedBindings: import("../element/binding").SuggestedBinding[];
91
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
92
- frameRendering: {
93
- enabled: boolean;
94
- name: boolean;
95
- outline: boolean;
96
- clip: boolean;
97
- };
98
- editingFrame: string | null;
99
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
100
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
101
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
102
- exportWithDarkMode: boolean;
103
- exportScale: number;
104
- currentItemStrokeColor: string;
105
- currentItemBackgroundColor: string;
106
- currentItemFillStyle: import("../element/types").FillStyle;
107
- currentItemStrokeWidth: number;
108
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
109
- currentItemRoughness: number;
110
- currentItemOpacity: number;
111
- currentItemFontFamily: number;
112
- currentItemFontSize: number;
113
- currentItemTextAlign: string;
114
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
115
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
116
- currentItemRoundness: import("../element/types").StrokeRoundness;
117
- viewBackgroundColor: string;
118
- scrollX: number;
119
- scrollY: number;
120
- cursorButton: "up" | "down";
121
- scrolledOutside: boolean;
122
- isResizing: boolean;
123
- isRotating: boolean;
124
- zoom: Readonly<{
125
- value: NormalizedZoomValue;
126
- }>;
127
- openMenu: "canvas" | "shape" | null;
128
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
129
- openSidebar: {
130
- name: string;
131
- tab?: string | undefined;
132
- } | null;
133
- openDialog: "imageExport" | "help" | "jsonExport" | null;
134
- defaultSidebarDockedPreference: boolean;
135
- lastPointerDownWith: import("../element/types").PointerType;
136
- selectedElementIds: Readonly<{
137
- [id: string]: true;
138
- }>;
139
- previousSelectedElementIds: {
140
- [id: string]: true;
141
- };
142
- selectedElementsAreBeingDragged: boolean;
143
- shouldCacheIgnoreZoom: boolean;
144
- zenModeEnabled: boolean;
145
- previousGridSize: number | null;
146
- viewModeEnabled: boolean;
147
- selectedGroupIds: {
148
- [groupId: string]: boolean;
149
- };
150
- editingGroupId: string | null;
151
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
152
- currentChartType: import("../element/types").ChartType;
153
- pendingImageElementId: string | null;
154
- showHyperlinkPopup: false | "editor" | "info";
155
- linkOpacity: number;
156
- currentStrokeOptions?: any;
157
- resetCustomPen?: any;
158
- gridColor: string;
159
- dynamicStyle: string;
160
- invertBindingBehaviour: boolean;
161
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
162
- };
163
- commitToHistory: true;
164
- };
165
- } & {
166
- keyTest?: undefined;
167
- };
168
- export declare const actionZoomIn: {
169
- name: "zoomIn";
170
- viewMode: true;
171
- trackEvent: {
172
- category: "canvas";
173
- };
174
- perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
175
- appState: {
176
- scrollX: number;
177
- scrollY: number;
178
- zoom: {
179
- value: NormalizedZoomValue;
180
- };
181
- contextMenu: {
182
- items: import("../components/ContextMenu").ContextMenuItems;
183
- top: number;
184
- left: number;
185
- } | null;
186
- showWelcomeScreen: boolean;
187
- isLoading: boolean;
188
- errorMessage: import("react").ReactNode;
189
- activeEmbeddable: {
190
- element: import("../element/types").NonDeletedExcalidrawElement;
191
- state: "active" | "hover";
192
- } | null;
193
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
194
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
195
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
196
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
197
- isBindingEnabled: boolean;
198
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
199
- suggestedBindings: import("../element/binding").SuggestedBinding[];
200
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
201
- frameRendering: {
202
- enabled: boolean;
203
- name: boolean;
204
- outline: boolean;
205
- clip: boolean;
206
- };
207
- editingFrame: string | null;
208
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
209
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
210
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
211
- activeTool: {
212
- lastActiveTool: import("../types").LastActiveTool;
213
- locked: boolean;
214
- } & ({
215
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
216
- customType: null;
217
- } | {
218
- type: "custom";
219
- customType: string;
220
- });
221
- penMode: boolean;
222
- penDetected: boolean;
223
- exportBackground: boolean;
224
- exportEmbedScene: boolean;
225
- exportWithDarkMode: boolean;
226
- exportScale: number;
227
- currentItemStrokeColor: string;
228
- currentItemBackgroundColor: string;
229
- currentItemFillStyle: import("../element/types").FillStyle;
230
- currentItemStrokeWidth: number;
231
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
232
- currentItemRoughness: number;
233
- currentItemOpacity: number;
234
- currentItemFontFamily: number;
235
- currentItemFontSize: number;
236
- currentItemTextAlign: string;
237
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
238
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
239
- currentItemRoundness: import("../element/types").StrokeRoundness;
240
- viewBackgroundColor: string;
241
- cursorButton: "up" | "down";
242
- scrolledOutside: boolean;
243
- name: string;
244
- isResizing: boolean;
245
- isRotating: boolean;
246
- openMenu: "canvas" | "shape" | null;
247
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
248
- openSidebar: {
249
- name: string;
250
- tab?: string | undefined;
251
- } | null;
252
- openDialog: "imageExport" | "help" | "jsonExport" | null;
253
- defaultSidebarDockedPreference: boolean;
254
- lastPointerDownWith: import("../element/types").PointerType;
255
- selectedElementIds: Readonly<{
256
- [id: string]: true;
257
- }>;
258
- previousSelectedElementIds: {
259
- [id: string]: true;
260
- };
261
- selectedElementsAreBeingDragged: boolean;
262
- shouldCacheIgnoreZoom: boolean;
263
- toast: {
264
- message: string;
265
- closable?: boolean | undefined;
266
- duration?: number | undefined;
267
- } | null;
268
- zenModeEnabled: boolean;
269
- theme: import("../element/types").Theme;
270
- gridSize: number | null;
271
- previousGridSize: number | null;
272
- viewModeEnabled: boolean;
273
- selectedGroupIds: {
274
- [groupId: string]: boolean;
275
- };
276
- editingGroupId: string | null;
277
- width: number;
278
- height: number;
279
- offsetTop: number;
280
- offsetLeft: number;
281
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
282
- collaborators: Map<string, import("../types").Collaborator>;
283
- showStats: boolean;
284
- currentChartType: import("../element/types").ChartType;
285
- pasteDialog: {
286
- shown: false;
287
- data: null;
288
- } | {
289
- shown: true;
290
- data: import("../charts").Spreadsheet;
291
- };
292
- pendingImageElementId: string | null;
293
- showHyperlinkPopup: false | "editor" | "info";
294
- linkOpacity: number;
295
- trayModeEnabled: boolean;
296
- colorPalette?: {
297
- canvasBackground: import("../colors").ColorPaletteCustom;
298
- elementBackground: import("../colors").ColorPaletteCustom;
299
- elementStroke: import("../colors").ColorPaletteCustom;
300
- topPicks: {
301
- canvasBackground: [string, string, string, string, string];
302
- elementStroke: [string, string, string, string, string];
303
- elementBackground: [string, string, string, string, string];
304
- };
305
- } | undefined;
306
- allowWheelZoom?: boolean | undefined;
307
- allowPinchZoom?: boolean | undefined;
308
- pinnedScripts?: string[] | undefined;
309
- customPens?: any[] | undefined;
310
- currentStrokeOptions?: any;
311
- resetCustomPen?: any;
312
- gridColor: string;
313
- dynamicStyle: string;
314
- invertBindingBehaviour: boolean;
315
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
316
- };
317
- commitToHistory: false;
318
- };
319
- PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
320
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
321
- } & {
322
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
323
- };
324
- export declare const actionZoomOut: {
325
- name: "zoomOut";
326
- viewMode: true;
327
- trackEvent: {
328
- category: "canvas";
329
- };
330
- perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
331
- appState: {
332
- scrollX: number;
333
- scrollY: number;
334
- zoom: {
335
- value: NormalizedZoomValue;
336
- };
337
- contextMenu: {
338
- items: import("../components/ContextMenu").ContextMenuItems;
339
- top: number;
340
- left: number;
341
- } | null;
342
- showWelcomeScreen: boolean;
343
- isLoading: boolean;
344
- errorMessage: import("react").ReactNode;
345
- activeEmbeddable: {
346
- element: import("../element/types").NonDeletedExcalidrawElement;
347
- state: "active" | "hover";
348
- } | null;
349
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
350
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
351
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
352
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
353
- isBindingEnabled: boolean;
354
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
355
- suggestedBindings: import("../element/binding").SuggestedBinding[];
356
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
357
- frameRendering: {
358
- enabled: boolean;
359
- name: boolean;
360
- outline: boolean;
361
- clip: boolean;
362
- };
363
- editingFrame: string | null;
364
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
365
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
366
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
367
- activeTool: {
368
- lastActiveTool: import("../types").LastActiveTool;
369
- locked: boolean;
370
- } & ({
371
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
372
- customType: null;
373
- } | {
374
- type: "custom";
375
- customType: string;
376
- });
377
- penMode: boolean;
378
- penDetected: boolean;
379
- exportBackground: boolean;
380
- exportEmbedScene: boolean;
381
- exportWithDarkMode: boolean;
382
- exportScale: number;
383
- currentItemStrokeColor: string;
384
- currentItemBackgroundColor: string;
385
- currentItemFillStyle: import("../element/types").FillStyle;
386
- currentItemStrokeWidth: number;
387
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
388
- currentItemRoughness: number;
389
- currentItemOpacity: number;
390
- currentItemFontFamily: number;
391
- currentItemFontSize: number;
392
- currentItemTextAlign: string;
393
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
394
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
395
- currentItemRoundness: import("../element/types").StrokeRoundness;
396
- viewBackgroundColor: string;
397
- cursorButton: "up" | "down";
398
- scrolledOutside: boolean;
399
- name: string;
400
- isResizing: boolean;
401
- isRotating: boolean;
402
- openMenu: "canvas" | "shape" | null;
403
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
404
- openSidebar: {
405
- name: string;
406
- tab?: string | undefined;
407
- } | null;
408
- openDialog: "imageExport" | "help" | "jsonExport" | null;
409
- defaultSidebarDockedPreference: boolean;
410
- lastPointerDownWith: import("../element/types").PointerType;
411
- selectedElementIds: Readonly<{
412
- [id: string]: true;
413
- }>;
414
- previousSelectedElementIds: {
415
- [id: string]: true;
416
- };
417
- selectedElementsAreBeingDragged: boolean;
418
- shouldCacheIgnoreZoom: boolean;
419
- toast: {
420
- message: string;
421
- closable?: boolean | undefined;
422
- duration?: number | undefined;
423
- } | null;
424
- zenModeEnabled: boolean;
425
- theme: import("../element/types").Theme;
426
- gridSize: number | null;
427
- previousGridSize: number | null;
428
- viewModeEnabled: boolean;
429
- selectedGroupIds: {
430
- [groupId: string]: boolean;
431
- };
432
- editingGroupId: string | null;
433
- width: number;
434
- height: number;
435
- offsetTop: number;
436
- offsetLeft: number;
437
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
438
- collaborators: Map<string, import("../types").Collaborator>;
439
- showStats: boolean;
440
- currentChartType: import("../element/types").ChartType;
441
- pasteDialog: {
442
- shown: false;
443
- data: null;
444
- } | {
445
- shown: true;
446
- data: import("../charts").Spreadsheet;
447
- };
448
- pendingImageElementId: string | null;
449
- showHyperlinkPopup: false | "editor" | "info";
450
- linkOpacity: number;
451
- trayModeEnabled: boolean;
452
- colorPalette?: {
453
- canvasBackground: import("../colors").ColorPaletteCustom;
454
- elementBackground: import("../colors").ColorPaletteCustom;
455
- elementStroke: import("../colors").ColorPaletteCustom;
456
- topPicks: {
457
- canvasBackground: [string, string, string, string, string];
458
- elementStroke: [string, string, string, string, string];
459
- elementBackground: [string, string, string, string, string];
460
- };
461
- } | undefined;
462
- allowWheelZoom?: boolean | undefined;
463
- allowPinchZoom?: boolean | undefined;
464
- pinnedScripts?: string[] | undefined;
465
- customPens?: any[] | undefined;
466
- currentStrokeOptions?: any;
467
- resetCustomPen?: any;
468
- gridColor: string;
469
- dynamicStyle: string;
470
- invertBindingBehaviour: boolean;
471
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
472
- };
473
- commitToHistory: false;
474
- };
475
- PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
476
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
477
- } & {
478
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
479
- };
480
- export declare const actionResetZoom: {
481
- name: "resetZoom";
482
- viewMode: true;
483
- trackEvent: {
484
- category: "canvas";
485
- };
486
- perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
487
- appState: {
488
- scrollX: number;
489
- scrollY: number;
490
- zoom: {
491
- value: NormalizedZoomValue;
492
- };
493
- contextMenu: {
494
- items: import("../components/ContextMenu").ContextMenuItems;
495
- top: number;
496
- left: number;
497
- } | null;
498
- showWelcomeScreen: boolean;
499
- isLoading: boolean;
500
- errorMessage: import("react").ReactNode;
501
- activeEmbeddable: {
502
- element: import("../element/types").NonDeletedExcalidrawElement;
503
- state: "active" | "hover";
504
- } | null;
505
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
506
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
507
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
508
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
509
- isBindingEnabled: boolean;
510
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
511
- suggestedBindings: import("../element/binding").SuggestedBinding[];
512
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
513
- frameRendering: {
514
- enabled: boolean;
515
- name: boolean;
516
- outline: boolean;
517
- clip: boolean;
518
- };
519
- editingFrame: string | null;
520
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
521
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
522
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
523
- activeTool: {
524
- lastActiveTool: import("../types").LastActiveTool;
525
- locked: boolean;
526
- } & ({
527
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
528
- customType: null;
529
- } | {
530
- type: "custom";
531
- customType: string;
532
- });
533
- penMode: boolean;
534
- penDetected: boolean;
535
- exportBackground: boolean;
536
- exportEmbedScene: boolean;
537
- exportWithDarkMode: boolean;
538
- exportScale: number;
539
- currentItemStrokeColor: string;
540
- currentItemBackgroundColor: string;
541
- currentItemFillStyle: import("../element/types").FillStyle;
542
- currentItemStrokeWidth: number;
543
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
544
- currentItemRoughness: number;
545
- currentItemOpacity: number;
546
- currentItemFontFamily: number;
547
- currentItemFontSize: number;
548
- currentItemTextAlign: string;
549
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
550
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
551
- currentItemRoundness: import("../element/types").StrokeRoundness;
552
- viewBackgroundColor: string;
553
- cursorButton: "up" | "down";
554
- scrolledOutside: boolean;
555
- name: string;
556
- isResizing: boolean;
557
- isRotating: boolean;
558
- openMenu: "canvas" | "shape" | null;
559
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
560
- openSidebar: {
561
- name: string;
562
- tab?: string | undefined;
563
- } | null;
564
- openDialog: "imageExport" | "help" | "jsonExport" | null;
565
- defaultSidebarDockedPreference: boolean;
566
- lastPointerDownWith: import("../element/types").PointerType;
567
- selectedElementIds: Readonly<{
568
- [id: string]: true;
569
- }>;
570
- previousSelectedElementIds: {
571
- [id: string]: true;
572
- };
573
- selectedElementsAreBeingDragged: boolean;
574
- shouldCacheIgnoreZoom: boolean;
575
- toast: {
576
- message: string;
577
- closable?: boolean | undefined;
578
- duration?: number | undefined;
579
- } | null;
580
- zenModeEnabled: boolean;
581
- theme: import("../element/types").Theme;
582
- gridSize: number | null;
583
- previousGridSize: number | null;
584
- viewModeEnabled: boolean;
585
- selectedGroupIds: {
586
- [groupId: string]: boolean;
587
- };
588
- editingGroupId: string | null;
589
- width: number;
590
- height: number;
591
- offsetTop: number;
592
- offsetLeft: number;
593
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
594
- collaborators: Map<string, import("../types").Collaborator>;
595
- showStats: boolean;
596
- currentChartType: import("../element/types").ChartType;
597
- pasteDialog: {
598
- shown: false;
599
- data: null;
600
- } | {
601
- shown: true;
602
- data: import("../charts").Spreadsheet;
603
- };
604
- pendingImageElementId: string | null;
605
- showHyperlinkPopup: false | "editor" | "info";
606
- linkOpacity: number;
607
- trayModeEnabled: boolean;
608
- colorPalette?: {
609
- canvasBackground: import("../colors").ColorPaletteCustom;
610
- elementBackground: import("../colors").ColorPaletteCustom;
611
- elementStroke: import("../colors").ColorPaletteCustom;
612
- topPicks: {
613
- canvasBackground: [string, string, string, string, string];
614
- elementStroke: [string, string, string, string, string];
615
- elementBackground: [string, string, string, string, string];
616
- };
617
- } | undefined;
618
- allowWheelZoom?: boolean | undefined;
619
- allowPinchZoom?: boolean | undefined;
620
- pinnedScripts?: string[] | undefined;
621
- customPens?: any[] | undefined;
622
- currentStrokeOptions?: any;
623
- resetCustomPen?: any;
624
- gridColor: string;
625
- dynamicStyle: string;
626
- invertBindingBehaviour: boolean;
627
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
628
- };
629
- commitToHistory: false;
630
- };
631
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
632
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
633
- } & {
634
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
635
- };
636
- export declare const zoomToFit: ({ targetElements, appState, fitToViewport, viewportZoomFactor, }: {
637
- targetElements: readonly ExcalidrawElement[];
638
- appState: Readonly<AppState>;
639
- /** whether to fit content to viewport (beyond >100%) */
640
- fitToViewport: boolean;
641
- /** zoom content to cover X of the viewport, when fitToViewport=true */
642
- viewportZoomFactor?: number | undefined;
643
- }) => {
644
- appState: {
645
- scrollX: number;
646
- scrollY: number;
647
- zoom: {
648
- value: NormalizedZoomValue;
649
- };
650
- contextMenu: {
651
- items: import("../components/ContextMenu").ContextMenuItems;
652
- top: number;
653
- left: number;
654
- } | null;
655
- showWelcomeScreen: boolean;
656
- isLoading: boolean;
657
- errorMessage: import("react").ReactNode;
658
- activeEmbeddable: {
659
- element: import("../element/types").NonDeletedExcalidrawElement;
660
- state: "active" | "hover";
661
- } | null;
662
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
663
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
664
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
665
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
666
- isBindingEnabled: boolean;
667
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
668
- suggestedBindings: import("../element/binding").SuggestedBinding[];
669
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
670
- frameRendering: {
671
- enabled: boolean;
672
- name: boolean;
673
- outline: boolean;
674
- clip: boolean;
675
- };
676
- editingFrame: string | null;
677
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
678
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
679
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
680
- activeTool: {
681
- lastActiveTool: import("../types").LastActiveTool;
682
- locked: boolean;
683
- } & ({
684
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
685
- customType: null;
686
- } | {
687
- type: "custom";
688
- customType: string;
689
- });
690
- penMode: boolean;
691
- penDetected: boolean;
692
- exportBackground: boolean;
693
- exportEmbedScene: boolean;
694
- exportWithDarkMode: boolean;
695
- exportScale: number;
696
- currentItemStrokeColor: string;
697
- currentItemBackgroundColor: string;
698
- currentItemFillStyle: import("../element/types").FillStyle;
699
- currentItemStrokeWidth: number;
700
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
701
- currentItemRoughness: number;
702
- currentItemOpacity: number;
703
- currentItemFontFamily: number;
704
- currentItemFontSize: number;
705
- currentItemTextAlign: string;
706
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
707
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
708
- currentItemRoundness: import("../element/types").StrokeRoundness;
709
- viewBackgroundColor: string;
710
- cursorButton: "up" | "down";
711
- scrolledOutside: boolean;
712
- name: string;
713
- isResizing: boolean;
714
- isRotating: boolean;
715
- openMenu: "canvas" | "shape" | null;
716
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
717
- openSidebar: {
718
- name: string;
719
- tab?: string | undefined;
720
- } | null;
721
- openDialog: "imageExport" | "help" | "jsonExport" | null;
722
- defaultSidebarDockedPreference: boolean;
723
- lastPointerDownWith: import("../element/types").PointerType;
724
- selectedElementIds: Readonly<{
725
- [id: string]: true;
726
- }>;
727
- previousSelectedElementIds: {
728
- [id: string]: true;
729
- };
730
- selectedElementsAreBeingDragged: boolean;
731
- shouldCacheIgnoreZoom: boolean;
732
- toast: {
733
- message: string;
734
- closable?: boolean | undefined;
735
- duration?: number | undefined;
736
- } | null;
737
- zenModeEnabled: boolean;
738
- theme: import("../element/types").Theme;
739
- gridSize: number | null;
740
- previousGridSize: number | null;
741
- viewModeEnabled: boolean;
742
- selectedGroupIds: {
743
- [groupId: string]: boolean;
744
- };
745
- editingGroupId: string | null;
746
- width: number;
747
- height: number;
748
- offsetTop: number;
749
- offsetLeft: number;
750
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
751
- collaborators: Map<string, import("../types").Collaborator>;
752
- showStats: boolean;
753
- currentChartType: import("../element/types").ChartType;
754
- pasteDialog: {
755
- shown: false;
756
- data: null;
757
- } | {
758
- shown: true;
759
- data: import("../charts").Spreadsheet;
760
- };
761
- pendingImageElementId: string | null;
762
- showHyperlinkPopup: false | "editor" | "info";
763
- linkOpacity: number;
764
- trayModeEnabled: boolean;
765
- colorPalette?: {
766
- canvasBackground: import("../colors").ColorPaletteCustom;
767
- elementBackground: import("../colors").ColorPaletteCustom;
768
- elementStroke: import("../colors").ColorPaletteCustom;
769
- topPicks: {
770
- canvasBackground: [string, string, string, string, string];
771
- elementStroke: [string, string, string, string, string];
772
- elementBackground: [string, string, string, string, string];
773
- };
774
- } | undefined;
775
- allowWheelZoom?: boolean | undefined;
776
- allowPinchZoom?: boolean | undefined;
777
- pinnedScripts?: string[] | undefined;
778
- customPens?: any[] | undefined;
779
- currentStrokeOptions?: any;
780
- resetCustomPen?: any;
781
- gridColor: string;
782
- dynamicStyle: string;
783
- invertBindingBehaviour: boolean;
784
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
785
- };
786
- commitToHistory: boolean;
787
- };
788
- export declare const actionZoomToFitSelectionInViewport: {
789
- name: "zoomToFitSelectionInViewport";
790
- trackEvent: {
791
- category: "canvas";
792
- };
793
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
794
- appState: {
795
- scrollX: number;
796
- scrollY: number;
797
- zoom: {
798
- value: NormalizedZoomValue;
799
- };
800
- contextMenu: {
801
- items: import("../components/ContextMenu").ContextMenuItems;
802
- top: number;
803
- left: number;
804
- } | null;
805
- showWelcomeScreen: boolean;
806
- isLoading: boolean;
807
- errorMessage: import("react").ReactNode;
808
- activeEmbeddable: {
809
- element: import("../element/types").NonDeletedExcalidrawElement;
810
- state: "active" | "hover";
811
- } | null;
812
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
813
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
814
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
815
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
816
- isBindingEnabled: boolean;
817
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
818
- suggestedBindings: import("../element/binding").SuggestedBinding[];
819
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
820
- frameRendering: {
821
- enabled: boolean;
822
- name: boolean;
823
- outline: boolean;
824
- clip: boolean;
825
- };
826
- editingFrame: string | null;
827
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
828
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
829
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
830
- activeTool: {
831
- lastActiveTool: import("../types").LastActiveTool;
832
- locked: boolean;
833
- } & ({
834
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
835
- customType: null;
836
- } | {
837
- type: "custom";
838
- customType: string;
839
- });
840
- penMode: boolean;
841
- penDetected: boolean;
842
- exportBackground: boolean;
843
- exportEmbedScene: boolean;
844
- exportWithDarkMode: boolean;
845
- exportScale: number;
846
- currentItemStrokeColor: string;
847
- currentItemBackgroundColor: string;
848
- currentItemFillStyle: import("../element/types").FillStyle;
849
- currentItemStrokeWidth: number;
850
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
851
- currentItemRoughness: number;
852
- currentItemOpacity: number;
853
- currentItemFontFamily: number;
854
- currentItemFontSize: number;
855
- currentItemTextAlign: string;
856
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
857
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
858
- currentItemRoundness: import("../element/types").StrokeRoundness;
859
- viewBackgroundColor: string;
860
- cursorButton: "up" | "down";
861
- scrolledOutside: boolean;
862
- name: string;
863
- isResizing: boolean;
864
- isRotating: boolean;
865
- openMenu: "canvas" | "shape" | null;
866
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
867
- openSidebar: {
868
- name: string;
869
- tab?: string | undefined;
870
- } | null;
871
- openDialog: "imageExport" | "help" | "jsonExport" | null;
872
- defaultSidebarDockedPreference: boolean;
873
- lastPointerDownWith: import("../element/types").PointerType;
874
- selectedElementIds: Readonly<{
875
- [id: string]: true;
876
- }>;
877
- previousSelectedElementIds: {
878
- [id: string]: true;
879
- };
880
- selectedElementsAreBeingDragged: boolean;
881
- shouldCacheIgnoreZoom: boolean;
882
- toast: {
883
- message: string;
884
- closable?: boolean | undefined;
885
- duration?: number | undefined;
886
- } | null;
887
- zenModeEnabled: boolean;
888
- theme: import("../element/types").Theme;
889
- gridSize: number | null;
890
- previousGridSize: number | null;
891
- viewModeEnabled: boolean;
892
- selectedGroupIds: {
893
- [groupId: string]: boolean;
894
- };
895
- editingGroupId: string | null;
896
- width: number;
897
- height: number;
898
- offsetTop: number;
899
- offsetLeft: number;
900
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
901
- collaborators: Map<string, import("../types").Collaborator>;
902
- showStats: boolean;
903
- currentChartType: import("../element/types").ChartType;
904
- pasteDialog: {
905
- shown: false;
906
- data: null;
907
- } | {
908
- shown: true;
909
- data: import("../charts").Spreadsheet;
910
- };
911
- pendingImageElementId: string | null;
912
- showHyperlinkPopup: false | "editor" | "info";
913
- linkOpacity: number;
914
- trayModeEnabled: boolean;
915
- colorPalette?: {
916
- canvasBackground: import("../colors").ColorPaletteCustom;
917
- elementBackground: import("../colors").ColorPaletteCustom;
918
- elementStroke: import("../colors").ColorPaletteCustom;
919
- topPicks: {
920
- canvasBackground: [string, string, string, string, string];
921
- elementStroke: [string, string, string, string, string];
922
- elementBackground: [string, string, string, string, string];
923
- };
924
- } | undefined;
925
- allowWheelZoom?: boolean | undefined;
926
- allowPinchZoom?: boolean | undefined;
927
- pinnedScripts?: string[] | undefined;
928
- customPens?: any[] | undefined;
929
- currentStrokeOptions?: any;
930
- resetCustomPen?: any;
931
- gridColor: string;
932
- dynamicStyle: string;
933
- invertBindingBehaviour: boolean;
934
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
935
- };
936
- commitToHistory: boolean;
937
- };
938
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
939
- } & {
940
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
941
- };
942
- export declare const actionZoomToFitSelection: {
943
- name: "zoomToFitSelection";
944
- trackEvent: {
945
- category: "canvas";
946
- };
947
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
948
- appState: {
949
- scrollX: number;
950
- scrollY: number;
951
- zoom: {
952
- value: NormalizedZoomValue;
953
- };
954
- contextMenu: {
955
- items: import("../components/ContextMenu").ContextMenuItems;
956
- top: number;
957
- left: number;
958
- } | null;
959
- showWelcomeScreen: boolean;
960
- isLoading: boolean;
961
- errorMessage: import("react").ReactNode;
962
- activeEmbeddable: {
963
- element: import("../element/types").NonDeletedExcalidrawElement;
964
- state: "active" | "hover";
965
- } | null;
966
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
967
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
968
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
969
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
970
- isBindingEnabled: boolean;
971
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
972
- suggestedBindings: import("../element/binding").SuggestedBinding[];
973
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
974
- frameRendering: {
975
- enabled: boolean;
976
- name: boolean;
977
- outline: boolean;
978
- clip: boolean;
979
- };
980
- editingFrame: string | null;
981
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
982
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
983
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
984
- activeTool: {
985
- lastActiveTool: import("../types").LastActiveTool;
986
- locked: boolean;
987
- } & ({
988
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
989
- customType: null;
990
- } | {
991
- type: "custom";
992
- customType: string;
993
- });
994
- penMode: boolean;
995
- penDetected: boolean;
996
- exportBackground: boolean;
997
- exportEmbedScene: boolean;
998
- exportWithDarkMode: boolean;
999
- exportScale: number;
1000
- currentItemStrokeColor: string;
1001
- currentItemBackgroundColor: string;
1002
- currentItemFillStyle: import("../element/types").FillStyle;
1003
- currentItemStrokeWidth: number;
1004
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1005
- currentItemRoughness: number;
1006
- currentItemOpacity: number;
1007
- currentItemFontFamily: number;
1008
- currentItemFontSize: number;
1009
- currentItemTextAlign: string;
1010
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1011
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1012
- currentItemRoundness: import("../element/types").StrokeRoundness;
1013
- viewBackgroundColor: string;
1014
- cursorButton: "up" | "down";
1015
- scrolledOutside: boolean;
1016
- name: string;
1017
- isResizing: boolean;
1018
- isRotating: boolean;
1019
- openMenu: "canvas" | "shape" | null;
1020
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1021
- openSidebar: {
1022
- name: string;
1023
- tab?: string | undefined;
1024
- } | null;
1025
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1026
- defaultSidebarDockedPreference: boolean;
1027
- lastPointerDownWith: import("../element/types").PointerType;
1028
- selectedElementIds: Readonly<{
1029
- [id: string]: true;
1030
- }>;
1031
- previousSelectedElementIds: {
1032
- [id: string]: true;
1033
- };
1034
- selectedElementsAreBeingDragged: boolean;
1035
- shouldCacheIgnoreZoom: boolean;
1036
- toast: {
1037
- message: string;
1038
- closable?: boolean | undefined;
1039
- duration?: number | undefined;
1040
- } | null;
1041
- zenModeEnabled: boolean;
1042
- theme: import("../element/types").Theme;
1043
- gridSize: number | null;
1044
- previousGridSize: number | null;
1045
- viewModeEnabled: boolean;
1046
- selectedGroupIds: {
1047
- [groupId: string]: boolean;
1048
- };
1049
- editingGroupId: string | null;
1050
- width: number;
1051
- height: number;
1052
- offsetTop: number;
1053
- offsetLeft: number;
1054
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1055
- collaborators: Map<string, import("../types").Collaborator>;
1056
- showStats: boolean;
1057
- currentChartType: import("../element/types").ChartType;
1058
- pasteDialog: {
1059
- shown: false;
1060
- data: null;
1061
- } | {
1062
- shown: true;
1063
- data: import("../charts").Spreadsheet;
1064
- };
1065
- pendingImageElementId: string | null;
1066
- showHyperlinkPopup: false | "editor" | "info";
1067
- linkOpacity: number;
1068
- trayModeEnabled: boolean;
1069
- colorPalette?: {
1070
- canvasBackground: import("../colors").ColorPaletteCustom;
1071
- elementBackground: import("../colors").ColorPaletteCustom;
1072
- elementStroke: import("../colors").ColorPaletteCustom;
1073
- topPicks: {
1074
- canvasBackground: [string, string, string, string, string];
1075
- elementStroke: [string, string, string, string, string];
1076
- elementBackground: [string, string, string, string, string];
1077
- };
1078
- } | undefined;
1079
- allowWheelZoom?: boolean | undefined;
1080
- allowPinchZoom?: boolean | undefined;
1081
- pinnedScripts?: string[] | undefined;
1082
- customPens?: any[] | undefined;
1083
- currentStrokeOptions?: any;
1084
- resetCustomPen?: any;
1085
- gridColor: string;
1086
- dynamicStyle: string;
1087
- invertBindingBehaviour: boolean;
1088
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1089
- };
1090
- commitToHistory: boolean;
1091
- };
1092
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1093
- } & {
1094
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1095
- };
1096
- export declare const actionZoomToFit: {
1097
- name: "zoomToFit";
1098
- viewMode: true;
1099
- trackEvent: {
1100
- category: "canvas";
1101
- };
1102
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
1103
- appState: {
1104
- scrollX: number;
1105
- scrollY: number;
1106
- zoom: {
1107
- value: NormalizedZoomValue;
1108
- };
1109
- contextMenu: {
1110
- items: import("../components/ContextMenu").ContextMenuItems;
1111
- top: number;
1112
- left: number;
1113
- } | null;
1114
- showWelcomeScreen: boolean;
1115
- isLoading: boolean;
1116
- errorMessage: import("react").ReactNode;
1117
- activeEmbeddable: {
1118
- element: import("../element/types").NonDeletedExcalidrawElement;
1119
- state: "active" | "hover";
1120
- } | null;
1121
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1122
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1123
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1124
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1125
- isBindingEnabled: boolean;
1126
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1127
- suggestedBindings: import("../element/binding").SuggestedBinding[];
1128
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1129
- frameRendering: {
1130
- enabled: boolean;
1131
- name: boolean;
1132
- outline: boolean;
1133
- clip: boolean;
1134
- };
1135
- editingFrame: string | null;
1136
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1137
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1138
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1139
- activeTool: {
1140
- lastActiveTool: import("../types").LastActiveTool;
1141
- locked: boolean;
1142
- } & ({
1143
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1144
- customType: null;
1145
- } | {
1146
- type: "custom";
1147
- customType: string;
1148
- });
1149
- penMode: boolean;
1150
- penDetected: boolean;
1151
- exportBackground: boolean;
1152
- exportEmbedScene: boolean;
1153
- exportWithDarkMode: boolean;
1154
- exportScale: number;
1155
- currentItemStrokeColor: string;
1156
- currentItemBackgroundColor: string;
1157
- currentItemFillStyle: import("../element/types").FillStyle;
1158
- currentItemStrokeWidth: number;
1159
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1160
- currentItemRoughness: number;
1161
- currentItemOpacity: number;
1162
- currentItemFontFamily: number;
1163
- currentItemFontSize: number;
1164
- currentItemTextAlign: string;
1165
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1166
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1167
- currentItemRoundness: import("../element/types").StrokeRoundness;
1168
- viewBackgroundColor: string;
1169
- cursorButton: "up" | "down";
1170
- scrolledOutside: boolean;
1171
- name: string;
1172
- isResizing: boolean;
1173
- isRotating: boolean;
1174
- openMenu: "canvas" | "shape" | null;
1175
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1176
- openSidebar: {
1177
- name: string;
1178
- tab?: string | undefined;
1179
- } | null;
1180
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1181
- defaultSidebarDockedPreference: boolean;
1182
- lastPointerDownWith: import("../element/types").PointerType;
1183
- selectedElementIds: Readonly<{
1184
- [id: string]: true;
1185
- }>;
1186
- previousSelectedElementIds: {
1187
- [id: string]: true;
1188
- };
1189
- selectedElementsAreBeingDragged: boolean;
1190
- shouldCacheIgnoreZoom: boolean;
1191
- toast: {
1192
- message: string;
1193
- closable?: boolean | undefined;
1194
- duration?: number | undefined;
1195
- } | null;
1196
- zenModeEnabled: boolean;
1197
- theme: import("../element/types").Theme;
1198
- gridSize: number | null;
1199
- previousGridSize: number | null;
1200
- viewModeEnabled: boolean;
1201
- selectedGroupIds: {
1202
- [groupId: string]: boolean;
1203
- };
1204
- editingGroupId: string | null;
1205
- width: number;
1206
- height: number;
1207
- offsetTop: number;
1208
- offsetLeft: number;
1209
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1210
- collaborators: Map<string, import("../types").Collaborator>;
1211
- showStats: boolean;
1212
- currentChartType: import("../element/types").ChartType;
1213
- pasteDialog: {
1214
- shown: false;
1215
- data: null;
1216
- } | {
1217
- shown: true;
1218
- data: import("../charts").Spreadsheet;
1219
- };
1220
- pendingImageElementId: string | null;
1221
- showHyperlinkPopup: false | "editor" | "info";
1222
- linkOpacity: number;
1223
- trayModeEnabled: boolean;
1224
- colorPalette?: {
1225
- canvasBackground: import("../colors").ColorPaletteCustom;
1226
- elementBackground: import("../colors").ColorPaletteCustom;
1227
- elementStroke: import("../colors").ColorPaletteCustom;
1228
- topPicks: {
1229
- canvasBackground: [string, string, string, string, string];
1230
- elementStroke: [string, string, string, string, string];
1231
- elementBackground: [string, string, string, string, string];
1232
- };
1233
- } | undefined;
1234
- allowWheelZoom?: boolean | undefined;
1235
- allowPinchZoom?: boolean | undefined;
1236
- pinnedScripts?: string[] | undefined;
1237
- customPens?: any[] | undefined;
1238
- currentStrokeOptions?: any;
1239
- resetCustomPen?: any;
1240
- gridColor: string;
1241
- dynamicStyle: string;
1242
- invertBindingBehaviour: boolean;
1243
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1244
- };
1245
- commitToHistory: boolean;
1246
- };
1247
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1248
- } & {
1249
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1250
- };
1251
- export declare const actionToggleTheme: {
1252
- name: "toggleTheme";
1253
- viewMode: true;
1254
- trackEvent: {
1255
- category: "canvas";
1256
- };
1257
- perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1258
- appState: {
1259
- theme: any;
1260
- contextMenu: {
1261
- items: import("../components/ContextMenu").ContextMenuItems;
1262
- top: number;
1263
- left: number;
1264
- } | null;
1265
- showWelcomeScreen: boolean;
1266
- isLoading: boolean;
1267
- errorMessage: import("react").ReactNode;
1268
- activeEmbeddable: {
1269
- element: import("../element/types").NonDeletedExcalidrawElement;
1270
- state: "active" | "hover";
1271
- } | null;
1272
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1273
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1274
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1275
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1276
- isBindingEnabled: boolean;
1277
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1278
- suggestedBindings: import("../element/binding").SuggestedBinding[];
1279
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1280
- frameRendering: {
1281
- enabled: boolean;
1282
- name: boolean;
1283
- outline: boolean;
1284
- clip: boolean;
1285
- };
1286
- editingFrame: string | null;
1287
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1288
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1289
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1290
- activeTool: {
1291
- lastActiveTool: import("../types").LastActiveTool;
1292
- locked: boolean;
1293
- } & ({
1294
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1295
- customType: null;
1296
- } | {
1297
- type: "custom";
1298
- customType: string;
1299
- });
1300
- penMode: boolean;
1301
- penDetected: boolean;
1302
- exportBackground: boolean;
1303
- exportEmbedScene: boolean;
1304
- exportWithDarkMode: boolean;
1305
- exportScale: number;
1306
- currentItemStrokeColor: string;
1307
- currentItemBackgroundColor: string;
1308
- currentItemFillStyle: import("../element/types").FillStyle;
1309
- currentItemStrokeWidth: number;
1310
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1311
- currentItemRoughness: number;
1312
- currentItemOpacity: number;
1313
- currentItemFontFamily: number;
1314
- currentItemFontSize: number;
1315
- currentItemTextAlign: string;
1316
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1317
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1318
- currentItemRoundness: import("../element/types").StrokeRoundness;
1319
- viewBackgroundColor: string;
1320
- scrollX: number;
1321
- scrollY: number;
1322
- cursorButton: "up" | "down";
1323
- scrolledOutside: boolean;
1324
- name: string;
1325
- isResizing: boolean;
1326
- isRotating: boolean;
1327
- zoom: Readonly<{
1328
- value: NormalizedZoomValue;
1329
- }>;
1330
- openMenu: "canvas" | "shape" | null;
1331
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1332
- openSidebar: {
1333
- name: string;
1334
- tab?: string | undefined;
1335
- } | null;
1336
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1337
- defaultSidebarDockedPreference: boolean;
1338
- lastPointerDownWith: import("../element/types").PointerType;
1339
- selectedElementIds: Readonly<{
1340
- [id: string]: true;
1341
- }>;
1342
- previousSelectedElementIds: {
1343
- [id: string]: true;
1344
- };
1345
- selectedElementsAreBeingDragged: boolean;
1346
- shouldCacheIgnoreZoom: boolean;
1347
- toast: {
1348
- message: string;
1349
- closable?: boolean | undefined;
1350
- duration?: number | undefined;
1351
- } | null;
1352
- zenModeEnabled: boolean;
1353
- gridSize: number | null;
1354
- previousGridSize: number | null;
1355
- viewModeEnabled: boolean;
1356
- selectedGroupIds: {
1357
- [groupId: string]: boolean;
1358
- };
1359
- editingGroupId: string | null;
1360
- width: number;
1361
- height: number;
1362
- offsetTop: number;
1363
- offsetLeft: number;
1364
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1365
- collaborators: Map<string, import("../types").Collaborator>;
1366
- showStats: boolean;
1367
- currentChartType: import("../element/types").ChartType;
1368
- pasteDialog: {
1369
- shown: false;
1370
- data: null;
1371
- } | {
1372
- shown: true;
1373
- data: import("../charts").Spreadsheet;
1374
- };
1375
- pendingImageElementId: string | null;
1376
- showHyperlinkPopup: false | "editor" | "info";
1377
- linkOpacity: number;
1378
- trayModeEnabled: boolean;
1379
- colorPalette?: {
1380
- canvasBackground: import("../colors").ColorPaletteCustom;
1381
- elementBackground: import("../colors").ColorPaletteCustom;
1382
- elementStroke: import("../colors").ColorPaletteCustom;
1383
- topPicks: {
1384
- canvasBackground: [string, string, string, string, string];
1385
- elementStroke: [string, string, string, string, string];
1386
- elementBackground: [string, string, string, string, string];
1387
- };
1388
- } | undefined;
1389
- allowWheelZoom?: boolean | undefined;
1390
- allowPinchZoom?: boolean | undefined;
1391
- pinnedScripts?: string[] | undefined;
1392
- customPens?: any[] | undefined;
1393
- currentStrokeOptions?: any;
1394
- resetCustomPen?: any;
1395
- gridColor: string;
1396
- dynamicStyle: string;
1397
- invertBindingBehaviour: boolean;
1398
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1399
- };
1400
- commitToHistory: false;
1401
- };
1402
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1403
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
1404
- } & {
1405
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1406
- };
1407
- export declare const actionToggleEraserTool: {
1408
- name: "toggleEraserTool";
1409
- trackEvent: {
1410
- category: "toolbar";
1411
- };
1412
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
1413
- appState: {
1414
- selectedElementIds: {};
1415
- selectedGroupIds: {};
1416
- activeEmbeddable: null;
1417
- activeTool: {
1418
- lastActiveTool: import("../types").LastActiveTool;
1419
- locked: boolean;
1420
- } & ({
1421
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1422
- customType: null;
1423
- } | {
1424
- type: "custom";
1425
- customType: string;
1426
- });
1427
- contextMenu: {
1428
- items: import("../components/ContextMenu").ContextMenuItems;
1429
- top: number;
1430
- left: number;
1431
- } | null;
1432
- showWelcomeScreen: boolean;
1433
- isLoading: boolean;
1434
- errorMessage: import("react").ReactNode;
1435
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1436
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1437
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1438
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1439
- isBindingEnabled: boolean;
1440
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1441
- suggestedBindings: import("../element/binding").SuggestedBinding[];
1442
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1443
- frameRendering: {
1444
- enabled: boolean;
1445
- name: boolean;
1446
- outline: boolean;
1447
- clip: boolean;
1448
- };
1449
- editingFrame: string | null;
1450
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1451
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1452
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1453
- penMode: boolean;
1454
- penDetected: boolean;
1455
- exportBackground: boolean;
1456
- exportEmbedScene: boolean;
1457
- exportWithDarkMode: boolean;
1458
- exportScale: number;
1459
- currentItemStrokeColor: string;
1460
- currentItemBackgroundColor: string;
1461
- currentItemFillStyle: import("../element/types").FillStyle;
1462
- currentItemStrokeWidth: number;
1463
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1464
- currentItemRoughness: number;
1465
- currentItemOpacity: number;
1466
- currentItemFontFamily: number;
1467
- currentItemFontSize: number;
1468
- currentItemTextAlign: string;
1469
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1470
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1471
- currentItemRoundness: import("../element/types").StrokeRoundness;
1472
- viewBackgroundColor: string;
1473
- scrollX: number;
1474
- scrollY: number;
1475
- cursorButton: "up" | "down";
1476
- scrolledOutside: boolean;
1477
- name: string;
1478
- isResizing: boolean;
1479
- isRotating: boolean;
1480
- zoom: Readonly<{
1481
- value: NormalizedZoomValue;
1482
- }>;
1483
- openMenu: "canvas" | "shape" | null;
1484
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1485
- openSidebar: {
1486
- name: string;
1487
- tab?: string | undefined;
1488
- } | null;
1489
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1490
- defaultSidebarDockedPreference: boolean;
1491
- lastPointerDownWith: import("../element/types").PointerType;
1492
- previousSelectedElementIds: {
1493
- [id: string]: true;
1494
- };
1495
- selectedElementsAreBeingDragged: boolean;
1496
- shouldCacheIgnoreZoom: boolean;
1497
- toast: {
1498
- message: string;
1499
- closable?: boolean | undefined;
1500
- duration?: number | undefined;
1501
- } | null;
1502
- zenModeEnabled: boolean;
1503
- theme: import("../element/types").Theme;
1504
- gridSize: number | null;
1505
- previousGridSize: number | null;
1506
- viewModeEnabled: boolean;
1507
- editingGroupId: string | null;
1508
- width: number;
1509
- height: number;
1510
- offsetTop: number;
1511
- offsetLeft: number;
1512
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1513
- collaborators: Map<string, import("../types").Collaborator>;
1514
- showStats: boolean;
1515
- currentChartType: import("../element/types").ChartType;
1516
- pasteDialog: {
1517
- shown: false;
1518
- data: null;
1519
- } | {
1520
- shown: true;
1521
- data: import("../charts").Spreadsheet;
1522
- };
1523
- pendingImageElementId: string | null;
1524
- showHyperlinkPopup: false | "editor" | "info";
1525
- linkOpacity: number;
1526
- trayModeEnabled: boolean;
1527
- colorPalette?: {
1528
- canvasBackground: import("../colors").ColorPaletteCustom;
1529
- elementBackground: import("../colors").ColorPaletteCustom;
1530
- elementStroke: import("../colors").ColorPaletteCustom;
1531
- topPicks: {
1532
- canvasBackground: [string, string, string, string, string];
1533
- elementStroke: [string, string, string, string, string];
1534
- elementBackground: [string, string, string, string, string];
1535
- };
1536
- } | undefined;
1537
- allowWheelZoom?: boolean | undefined;
1538
- allowPinchZoom?: boolean | undefined;
1539
- pinnedScripts?: string[] | undefined;
1540
- customPens?: any[] | undefined;
1541
- currentStrokeOptions?: any;
1542
- resetCustomPen?: any;
1543
- gridColor: string;
1544
- dynamicStyle: string;
1545
- invertBindingBehaviour: boolean;
1546
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1547
- };
1548
- commitToHistory: true;
1549
- };
1550
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1551
- } & {
1552
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1553
- };
1554
- export declare const actionToggleHandTool: {
1555
- name: "toggleHandTool";
1556
- trackEvent: {
1557
- category: "toolbar";
1558
- };
1559
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
1560
- appState: {
1561
- selectedElementIds: {};
1562
- selectedGroupIds: {};
1563
- activeEmbeddable: null;
1564
- activeTool: {
1565
- lastActiveTool: import("../types").LastActiveTool;
1566
- locked: boolean;
1567
- } & ({
1568
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1569
- customType: null;
1570
- } | {
1571
- type: "custom";
1572
- customType: string;
1573
- });
1574
- contextMenu: {
1575
- items: import("../components/ContextMenu").ContextMenuItems;
1576
- top: number;
1577
- left: number;
1578
- } | null;
1579
- showWelcomeScreen: boolean;
1580
- isLoading: boolean;
1581
- errorMessage: import("react").ReactNode;
1582
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1583
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1584
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1585
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1586
- isBindingEnabled: boolean;
1587
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1588
- suggestedBindings: import("../element/binding").SuggestedBinding[];
1589
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1590
- frameRendering: {
1591
- enabled: boolean;
1592
- name: boolean;
1593
- outline: boolean;
1594
- clip: boolean;
1595
- };
1596
- editingFrame: string | null;
1597
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1598
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1599
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1600
- penMode: boolean;
1601
- penDetected: boolean;
1602
- exportBackground: boolean;
1603
- exportEmbedScene: boolean;
1604
- exportWithDarkMode: boolean;
1605
- exportScale: number;
1606
- currentItemStrokeColor: string;
1607
- currentItemBackgroundColor: string;
1608
- currentItemFillStyle: import("../element/types").FillStyle;
1609
- currentItemStrokeWidth: number;
1610
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1611
- currentItemRoughness: number;
1612
- currentItemOpacity: number;
1613
- currentItemFontFamily: number;
1614
- currentItemFontSize: number;
1615
- currentItemTextAlign: string;
1616
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1617
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1618
- currentItemRoundness: import("../element/types").StrokeRoundness;
1619
- viewBackgroundColor: string;
1620
- scrollX: number;
1621
- scrollY: number;
1622
- cursorButton: "up" | "down";
1623
- scrolledOutside: boolean;
1624
- name: string;
1625
- isResizing: boolean;
1626
- isRotating: boolean;
1627
- zoom: Readonly<{
1628
- value: NormalizedZoomValue;
1629
- }>;
1630
- openMenu: "canvas" | "shape" | null;
1631
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1632
- openSidebar: {
1633
- name: string;
1634
- tab?: string | undefined;
1635
- } | null;
1636
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1637
- defaultSidebarDockedPreference: boolean;
1638
- lastPointerDownWith: import("../element/types").PointerType;
1639
- previousSelectedElementIds: {
1640
- [id: string]: true;
1641
- };
1642
- selectedElementsAreBeingDragged: boolean;
1643
- shouldCacheIgnoreZoom: boolean;
1644
- toast: {
1645
- message: string;
1646
- closable?: boolean | undefined;
1647
- duration?: number | undefined;
1648
- } | null;
1649
- zenModeEnabled: boolean;
1650
- theme: import("../element/types").Theme;
1651
- gridSize: number | null;
1652
- previousGridSize: number | null;
1653
- viewModeEnabled: boolean;
1654
- editingGroupId: string | null;
1655
- width: number;
1656
- height: number;
1657
- offsetTop: number;
1658
- offsetLeft: number;
1659
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1660
- collaborators: Map<string, import("../types").Collaborator>;
1661
- showStats: boolean;
1662
- currentChartType: import("../element/types").ChartType;
1663
- pasteDialog: {
1664
- shown: false;
1665
- data: null;
1666
- } | {
1667
- shown: true;
1668
- data: import("../charts").Spreadsheet;
1669
- };
1670
- pendingImageElementId: string | null;
1671
- showHyperlinkPopup: false | "editor" | "info";
1672
- linkOpacity: number;
1673
- trayModeEnabled: boolean;
1674
- colorPalette?: {
1675
- canvasBackground: import("../colors").ColorPaletteCustom;
1676
- elementBackground: import("../colors").ColorPaletteCustom;
1677
- elementStroke: import("../colors").ColorPaletteCustom;
1678
- topPicks: {
1679
- canvasBackground: [string, string, string, string, string];
1680
- elementStroke: [string, string, string, string, string];
1681
- elementBackground: [string, string, string, string, string];
1682
- };
1683
- } | undefined;
1684
- allowWheelZoom?: boolean | undefined;
1685
- allowPinchZoom?: boolean | undefined;
1686
- pinnedScripts?: string[] | undefined;
1687
- customPens?: any[] | undefined;
1688
- currentStrokeOptions?: any;
1689
- resetCustomPen?: any;
1690
- gridColor: string;
1691
- dynamicStyle: string;
1692
- invertBindingBehaviour: boolean;
1693
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1694
- };
1695
- commitToHistory: true;
1696
- };
1697
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1698
- } & {
1699
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1700
- };
1701
- export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, zoomToSelection: boolean, app: AppClassProperties, maxZoom?: number, margin?: number) => {
1702
- appState: {
1703
- zoom: {
1704
- value: NormalizedZoomValue;
1705
- };
1706
- scrollX: number;
1707
- scrollY: number;
1708
- contextMenu: {
1709
- items: import("../components/ContextMenu").ContextMenuItems;
1710
- top: number;
1711
- left: number;
1712
- } | null;
1713
- showWelcomeScreen: boolean;
1714
- isLoading: boolean;
1715
- errorMessage: import("react").ReactNode;
1716
- activeEmbeddable: {
1717
- element: import("../element/types").NonDeletedExcalidrawElement;
1718
- state: "active" | "hover";
1719
- } | null;
1720
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1721
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1722
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1723
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1724
- isBindingEnabled: boolean;
1725
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1726
- suggestedBindings: import("../element/binding").SuggestedBinding[];
1727
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1728
- frameRendering: {
1729
- enabled: boolean;
1730
- name: boolean;
1731
- outline: boolean;
1732
- clip: boolean;
1733
- };
1734
- editingFrame: string | null;
1735
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1736
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1737
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1738
- activeTool: {
1739
- lastActiveTool: import("../types").LastActiveTool;
1740
- locked: boolean;
1741
- } & ({
1742
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1743
- customType: null;
1744
- } | {
1745
- type: "custom";
1746
- customType: string;
1747
- });
1748
- penMode: boolean;
1749
- penDetected: boolean;
1750
- exportBackground: boolean;
1751
- exportEmbedScene: boolean;
1752
- exportWithDarkMode: boolean;
1753
- exportScale: number;
1754
- currentItemStrokeColor: string;
1755
- currentItemBackgroundColor: string;
1756
- currentItemFillStyle: import("../element/types").FillStyle;
1757
- currentItemStrokeWidth: number;
1758
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
1759
- currentItemRoughness: number;
1760
- currentItemOpacity: number;
1761
- currentItemFontFamily: number;
1762
- currentItemFontSize: number;
1763
- currentItemTextAlign: string;
1764
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1765
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1766
- currentItemRoundness: import("../element/types").StrokeRoundness;
1767
- viewBackgroundColor: string;
1768
- cursorButton: "up" | "down";
1769
- scrolledOutside: boolean;
1770
- name: string;
1771
- isResizing: boolean;
1772
- isRotating: boolean;
1773
- openMenu: "canvas" | "shape" | null;
1774
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1775
- openSidebar: {
1776
- name: string;
1777
- tab?: string | undefined;
1778
- } | null;
1779
- openDialog: "imageExport" | "help" | "jsonExport" | null;
1780
- defaultSidebarDockedPreference: boolean;
1781
- lastPointerDownWith: import("../element/types").PointerType;
1782
- selectedElementIds: Readonly<{
1783
- [id: string]: true;
1784
- }>;
1785
- previousSelectedElementIds: {
1786
- [id: string]: true;
1787
- };
1788
- selectedElementsAreBeingDragged: boolean;
1789
- shouldCacheIgnoreZoom: boolean;
1790
- toast: {
1791
- message: string;
1792
- closable?: boolean | undefined;
1793
- duration?: number | undefined;
1794
- } | null;
1795
- zenModeEnabled: boolean;
1796
- theme: import("../element/types").Theme;
1797
- gridSize: number | null;
1798
- previousGridSize: number | null;
1799
- viewModeEnabled: boolean;
1800
- selectedGroupIds: {
1801
- [groupId: string]: boolean;
1802
- };
1803
- editingGroupId: string | null;
1804
- width: number;
1805
- height: number;
1806
- offsetTop: number;
1807
- offsetLeft: number;
1808
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1809
- collaborators: Map<string, import("../types").Collaborator>;
1810
- showStats: boolean;
1811
- currentChartType: import("../element/types").ChartType;
1812
- pasteDialog: {
1813
- shown: false;
1814
- data: null;
1815
- } | {
1816
- shown: true;
1817
- data: import("../charts").Spreadsheet;
1818
- };
1819
- pendingImageElementId: string | null;
1820
- showHyperlinkPopup: false | "editor" | "info";
1821
- linkOpacity: number;
1822
- trayModeEnabled: boolean;
1823
- colorPalette?: {
1824
- canvasBackground: import("../colors").ColorPaletteCustom;
1825
- elementBackground: import("../colors").ColorPaletteCustom;
1826
- elementStroke: import("../colors").ColorPaletteCustom;
1827
- topPicks: {
1828
- canvasBackground: [string, string, string, string, string];
1829
- elementStroke: [string, string, string, string, string];
1830
- elementBackground: [string, string, string, string, string];
1831
- };
1832
- } | undefined;
1833
- allowWheelZoom?: boolean | undefined;
1834
- allowPinchZoom?: boolean | undefined;
1835
- pinnedScripts?: string[] | undefined;
1836
- customPens?: any[] | undefined;
1837
- currentStrokeOptions?: any;
1838
- resetCustomPen?: any;
1839
- gridColor: string;
1840
- dynamicStyle: string;
1841
- invertBindingBehaviour: boolean;
1842
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1843
- };
1844
- commitToHistory: boolean;
1845
- };
1
+ import { ExcalidrawElement } from "../element/types";
2
+ import { AppClassProperties, AppState, NormalizedZoomValue } from "../types";
3
+ export declare const actionChangeViewBackgroundColor: {
4
+ name: "changeViewBackgroundColor";
5
+ trackEvent: false;
6
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
7
+ perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
8
+ appState: any;
9
+ commitToHistory: boolean;
10
+ };
11
+ PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
12
+ } & {
13
+ keyTest?: undefined;
14
+ };
15
+ export declare const actionClearCanvas: {
16
+ name: "clearCanvas";
17
+ trackEvent: {
18
+ category: "canvas";
19
+ };
20
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
21
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
22
+ elements: ExcalidrawElement[];
23
+ appState: {
24
+ files: {};
25
+ theme: import("../element/types").Theme;
26
+ penMode: boolean;
27
+ penDetected: boolean;
28
+ exportBackground: boolean;
29
+ exportEmbedScene: boolean;
30
+ gridSize: number | null;
31
+ showStats: boolean;
32
+ pasteDialog: {
33
+ shown: false;
34
+ data: null;
35
+ } | {
36
+ shown: true;
37
+ data: import("../charts").Spreadsheet;
38
+ };
39
+ activeTool: {
40
+ lastActiveTool: import("../types").LastActiveTool;
41
+ locked: boolean;
42
+ } & ({
43
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
44
+ customType: null;
45
+ } | {
46
+ type: "custom";
47
+ customType: string;
48
+ });
49
+ colorPalette: {
50
+ canvasBackground: import("../colors").ColorPaletteCustom;
51
+ elementBackground: import("../colors").ColorPaletteCustom;
52
+ elementStroke: import("../colors").ColorPaletteCustom;
53
+ topPicks: {
54
+ canvasBackground: [string, string, string, string, string];
55
+ elementStroke: [string, string, string, string, string];
56
+ elementBackground: [string, string, string, string, string];
57
+ };
58
+ } | undefined;
59
+ trayModeEnabled: boolean;
60
+ allowPinchZoom: boolean | undefined;
61
+ allowWheelZoom: boolean | undefined;
62
+ pinnedScripts: string[] | undefined;
63
+ customPens: any[] | undefined;
64
+ name: string;
65
+ toast: {
66
+ message: string;
67
+ closable?: boolean | undefined;
68
+ duration?: number | undefined;
69
+ } | null;
70
+ collaborators: Map<string, import("../types").Collaborator>;
71
+ contextMenu: {
72
+ items: import("../components/ContextMenu").ContextMenuItems;
73
+ top: number;
74
+ left: number;
75
+ } | null;
76
+ showWelcomeScreen: boolean;
77
+ isLoading: boolean;
78
+ errorMessage: import("react").ReactNode;
79
+ activeEmbeddable: {
80
+ element: import("../element/types").NonDeletedExcalidrawElement;
81
+ state: "active" | "hover";
82
+ } | null;
83
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
84
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
85
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
86
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
87
+ isBindingEnabled: boolean;
88
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
89
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
90
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
91
+ frameRendering: {
92
+ enabled: boolean;
93
+ name: boolean;
94
+ outline: boolean;
95
+ clip: boolean;
96
+ };
97
+ editingFrame: string | null;
98
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
99
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
100
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
101
+ exportWithDarkMode: boolean;
102
+ exportScale: number;
103
+ currentItemStrokeColor: string;
104
+ currentItemBackgroundColor: string;
105
+ currentItemFillStyle: import("../element/types").FillStyle;
106
+ currentItemStrokeWidth: number;
107
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
108
+ currentItemRoughness: number;
109
+ currentItemOpacity: number;
110
+ currentItemFontFamily: number;
111
+ currentItemFontSize: number;
112
+ currentItemTextAlign: string;
113
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
114
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
115
+ currentItemRoundness: import("../element/types").StrokeRoundness;
116
+ viewBackgroundColor: string;
117
+ scrollX: number;
118
+ scrollY: number;
119
+ cursorButton: "up" | "down";
120
+ scrolledOutside: boolean;
121
+ isResizing: boolean;
122
+ isRotating: boolean;
123
+ zoom: Readonly<{
124
+ value: NormalizedZoomValue;
125
+ }>;
126
+ openMenu: "canvas" | "shape" | null;
127
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
128
+ openSidebar: {
129
+ name: string;
130
+ tab?: string | undefined;
131
+ } | null;
132
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
133
+ defaultSidebarDockedPreference: boolean;
134
+ lastPointerDownWith: import("../element/types").PointerType;
135
+ selectedElementIds: Readonly<{
136
+ [id: string]: true;
137
+ }>;
138
+ previousSelectedElementIds: {
139
+ [id: string]: true;
140
+ };
141
+ selectedElementsAreBeingDragged: boolean;
142
+ shouldCacheIgnoreZoom: boolean;
143
+ zenModeEnabled: boolean;
144
+ previousGridSize: number | null;
145
+ viewModeEnabled: boolean;
146
+ selectedGroupIds: {
147
+ [groupId: string]: boolean;
148
+ };
149
+ editingGroupId: string | null;
150
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
151
+ currentChartType: import("../element/types").ChartType;
152
+ pendingImageElementId: string | null;
153
+ showHyperlinkPopup: false | "editor" | "info";
154
+ linkOpacity: number;
155
+ currentStrokeOptions?: any;
156
+ resetCustomPen?: any;
157
+ gridColor: string;
158
+ dynamicStyle: string;
159
+ invertBindingBehaviour: boolean;
160
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
161
+ };
162
+ commitToHistory: true;
163
+ };
164
+ } & {
165
+ keyTest?: undefined;
166
+ };
167
+ export declare const actionZoomIn: {
168
+ name: "zoomIn";
169
+ viewMode: true;
170
+ trackEvent: {
171
+ category: "canvas";
172
+ };
173
+ perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
174
+ appState: {
175
+ scrollX: number;
176
+ scrollY: number;
177
+ zoom: {
178
+ value: NormalizedZoomValue;
179
+ };
180
+ contextMenu: {
181
+ items: import("../components/ContextMenu").ContextMenuItems;
182
+ top: number;
183
+ left: number;
184
+ } | null;
185
+ showWelcomeScreen: boolean;
186
+ isLoading: boolean;
187
+ errorMessage: import("react").ReactNode;
188
+ activeEmbeddable: {
189
+ element: import("../element/types").NonDeletedExcalidrawElement;
190
+ state: "active" | "hover";
191
+ } | null;
192
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
193
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
194
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
195
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
196
+ isBindingEnabled: boolean;
197
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
198
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
199
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
200
+ frameRendering: {
201
+ enabled: boolean;
202
+ name: boolean;
203
+ outline: boolean;
204
+ clip: boolean;
205
+ };
206
+ editingFrame: string | null;
207
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
208
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
209
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
210
+ activeTool: {
211
+ lastActiveTool: import("../types").LastActiveTool;
212
+ locked: boolean;
213
+ } & ({
214
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
215
+ customType: null;
216
+ } | {
217
+ type: "custom";
218
+ customType: string;
219
+ });
220
+ penMode: boolean;
221
+ penDetected: boolean;
222
+ exportBackground: boolean;
223
+ exportEmbedScene: boolean;
224
+ exportWithDarkMode: boolean;
225
+ exportScale: number;
226
+ currentItemStrokeColor: string;
227
+ currentItemBackgroundColor: string;
228
+ currentItemFillStyle: import("../element/types").FillStyle;
229
+ currentItemStrokeWidth: number;
230
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
231
+ currentItemRoughness: number;
232
+ currentItemOpacity: number;
233
+ currentItemFontFamily: number;
234
+ currentItemFontSize: number;
235
+ currentItemTextAlign: string;
236
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
237
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
238
+ currentItemRoundness: import("../element/types").StrokeRoundness;
239
+ viewBackgroundColor: string;
240
+ cursorButton: "up" | "down";
241
+ scrolledOutside: boolean;
242
+ name: string;
243
+ isResizing: boolean;
244
+ isRotating: boolean;
245
+ openMenu: "canvas" | "shape" | null;
246
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
247
+ openSidebar: {
248
+ name: string;
249
+ tab?: string | undefined;
250
+ } | null;
251
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
252
+ defaultSidebarDockedPreference: boolean;
253
+ lastPointerDownWith: import("../element/types").PointerType;
254
+ selectedElementIds: Readonly<{
255
+ [id: string]: true;
256
+ }>;
257
+ previousSelectedElementIds: {
258
+ [id: string]: true;
259
+ };
260
+ selectedElementsAreBeingDragged: boolean;
261
+ shouldCacheIgnoreZoom: boolean;
262
+ toast: {
263
+ message: string;
264
+ closable?: boolean | undefined;
265
+ duration?: number | undefined;
266
+ } | null;
267
+ zenModeEnabled: boolean;
268
+ theme: import("../element/types").Theme;
269
+ gridSize: number | null;
270
+ previousGridSize: number | null;
271
+ viewModeEnabled: boolean;
272
+ selectedGroupIds: {
273
+ [groupId: string]: boolean;
274
+ };
275
+ editingGroupId: string | null;
276
+ width: number;
277
+ height: number;
278
+ offsetTop: number;
279
+ offsetLeft: number;
280
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
281
+ collaborators: Map<string, import("../types").Collaborator>;
282
+ showStats: boolean;
283
+ currentChartType: import("../element/types").ChartType;
284
+ pasteDialog: {
285
+ shown: false;
286
+ data: null;
287
+ } | {
288
+ shown: true;
289
+ data: import("../charts").Spreadsheet;
290
+ };
291
+ pendingImageElementId: string | null;
292
+ showHyperlinkPopup: false | "editor" | "info";
293
+ linkOpacity: number;
294
+ trayModeEnabled: boolean;
295
+ colorPalette?: {
296
+ canvasBackground: import("../colors").ColorPaletteCustom;
297
+ elementBackground: import("../colors").ColorPaletteCustom;
298
+ elementStroke: import("../colors").ColorPaletteCustom;
299
+ topPicks: {
300
+ canvasBackground: [string, string, string, string, string];
301
+ elementStroke: [string, string, string, string, string];
302
+ elementBackground: [string, string, string, string, string];
303
+ };
304
+ } | undefined;
305
+ allowWheelZoom?: boolean | undefined;
306
+ allowPinchZoom?: boolean | undefined;
307
+ pinnedScripts?: string[] | undefined;
308
+ customPens?: any[] | undefined;
309
+ currentStrokeOptions?: any;
310
+ resetCustomPen?: any;
311
+ gridColor: string;
312
+ dynamicStyle: string;
313
+ invertBindingBehaviour: boolean;
314
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
315
+ };
316
+ commitToHistory: false;
317
+ };
318
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
319
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
320
+ } & {
321
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
322
+ };
323
+ export declare const actionZoomOut: {
324
+ name: "zoomOut";
325
+ viewMode: true;
326
+ trackEvent: {
327
+ category: "canvas";
328
+ };
329
+ perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
330
+ appState: {
331
+ scrollX: number;
332
+ scrollY: number;
333
+ zoom: {
334
+ value: NormalizedZoomValue;
335
+ };
336
+ contextMenu: {
337
+ items: import("../components/ContextMenu").ContextMenuItems;
338
+ top: number;
339
+ left: number;
340
+ } | null;
341
+ showWelcomeScreen: boolean;
342
+ isLoading: boolean;
343
+ errorMessage: import("react").ReactNode;
344
+ activeEmbeddable: {
345
+ element: import("../element/types").NonDeletedExcalidrawElement;
346
+ state: "active" | "hover";
347
+ } | null;
348
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
349
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
350
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
351
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
352
+ isBindingEnabled: boolean;
353
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
354
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
355
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
356
+ frameRendering: {
357
+ enabled: boolean;
358
+ name: boolean;
359
+ outline: boolean;
360
+ clip: boolean;
361
+ };
362
+ editingFrame: string | null;
363
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
364
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
365
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
366
+ activeTool: {
367
+ lastActiveTool: import("../types").LastActiveTool;
368
+ locked: boolean;
369
+ } & ({
370
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
371
+ customType: null;
372
+ } | {
373
+ type: "custom";
374
+ customType: string;
375
+ });
376
+ penMode: boolean;
377
+ penDetected: boolean;
378
+ exportBackground: boolean;
379
+ exportEmbedScene: boolean;
380
+ exportWithDarkMode: boolean;
381
+ exportScale: number;
382
+ currentItemStrokeColor: string;
383
+ currentItemBackgroundColor: string;
384
+ currentItemFillStyle: import("../element/types").FillStyle;
385
+ currentItemStrokeWidth: number;
386
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
387
+ currentItemRoughness: number;
388
+ currentItemOpacity: number;
389
+ currentItemFontFamily: number;
390
+ currentItemFontSize: number;
391
+ currentItemTextAlign: string;
392
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
393
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
394
+ currentItemRoundness: import("../element/types").StrokeRoundness;
395
+ viewBackgroundColor: string;
396
+ cursorButton: "up" | "down";
397
+ scrolledOutside: boolean;
398
+ name: string;
399
+ isResizing: boolean;
400
+ isRotating: boolean;
401
+ openMenu: "canvas" | "shape" | null;
402
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
403
+ openSidebar: {
404
+ name: string;
405
+ tab?: string | undefined;
406
+ } | null;
407
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
408
+ defaultSidebarDockedPreference: boolean;
409
+ lastPointerDownWith: import("../element/types").PointerType;
410
+ selectedElementIds: Readonly<{
411
+ [id: string]: true;
412
+ }>;
413
+ previousSelectedElementIds: {
414
+ [id: string]: true;
415
+ };
416
+ selectedElementsAreBeingDragged: boolean;
417
+ shouldCacheIgnoreZoom: boolean;
418
+ toast: {
419
+ message: string;
420
+ closable?: boolean | undefined;
421
+ duration?: number | undefined;
422
+ } | null;
423
+ zenModeEnabled: boolean;
424
+ theme: import("../element/types").Theme;
425
+ gridSize: number | null;
426
+ previousGridSize: number | null;
427
+ viewModeEnabled: boolean;
428
+ selectedGroupIds: {
429
+ [groupId: string]: boolean;
430
+ };
431
+ editingGroupId: string | null;
432
+ width: number;
433
+ height: number;
434
+ offsetTop: number;
435
+ offsetLeft: number;
436
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
437
+ collaborators: Map<string, import("../types").Collaborator>;
438
+ showStats: boolean;
439
+ currentChartType: import("../element/types").ChartType;
440
+ pasteDialog: {
441
+ shown: false;
442
+ data: null;
443
+ } | {
444
+ shown: true;
445
+ data: import("../charts").Spreadsheet;
446
+ };
447
+ pendingImageElementId: string | null;
448
+ showHyperlinkPopup: false | "editor" | "info";
449
+ linkOpacity: number;
450
+ trayModeEnabled: boolean;
451
+ colorPalette?: {
452
+ canvasBackground: import("../colors").ColorPaletteCustom;
453
+ elementBackground: import("../colors").ColorPaletteCustom;
454
+ elementStroke: import("../colors").ColorPaletteCustom;
455
+ topPicks: {
456
+ canvasBackground: [string, string, string, string, string];
457
+ elementStroke: [string, string, string, string, string];
458
+ elementBackground: [string, string, string, string, string];
459
+ };
460
+ } | undefined;
461
+ allowWheelZoom?: boolean | undefined;
462
+ allowPinchZoom?: boolean | undefined;
463
+ pinnedScripts?: string[] | undefined;
464
+ customPens?: any[] | undefined;
465
+ currentStrokeOptions?: any;
466
+ resetCustomPen?: any;
467
+ gridColor: string;
468
+ dynamicStyle: string;
469
+ invertBindingBehaviour: boolean;
470
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
471
+ };
472
+ commitToHistory: false;
473
+ };
474
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
475
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
476
+ } & {
477
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
478
+ };
479
+ export declare const actionResetZoom: {
480
+ name: "resetZoom";
481
+ viewMode: true;
482
+ trackEvent: {
483
+ category: "canvas";
484
+ };
485
+ perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
486
+ appState: {
487
+ scrollX: number;
488
+ scrollY: number;
489
+ zoom: {
490
+ value: NormalizedZoomValue;
491
+ };
492
+ contextMenu: {
493
+ items: import("../components/ContextMenu").ContextMenuItems;
494
+ top: number;
495
+ left: number;
496
+ } | null;
497
+ showWelcomeScreen: boolean;
498
+ isLoading: boolean;
499
+ errorMessage: import("react").ReactNode;
500
+ activeEmbeddable: {
501
+ element: import("../element/types").NonDeletedExcalidrawElement;
502
+ state: "active" | "hover";
503
+ } | null;
504
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
505
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
506
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
507
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
508
+ isBindingEnabled: boolean;
509
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
510
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
511
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
512
+ frameRendering: {
513
+ enabled: boolean;
514
+ name: boolean;
515
+ outline: boolean;
516
+ clip: boolean;
517
+ };
518
+ editingFrame: string | null;
519
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
520
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
521
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
522
+ activeTool: {
523
+ lastActiveTool: import("../types").LastActiveTool;
524
+ locked: boolean;
525
+ } & ({
526
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
527
+ customType: null;
528
+ } | {
529
+ type: "custom";
530
+ customType: string;
531
+ });
532
+ penMode: boolean;
533
+ penDetected: boolean;
534
+ exportBackground: boolean;
535
+ exportEmbedScene: boolean;
536
+ exportWithDarkMode: boolean;
537
+ exportScale: number;
538
+ currentItemStrokeColor: string;
539
+ currentItemBackgroundColor: string;
540
+ currentItemFillStyle: import("../element/types").FillStyle;
541
+ currentItemStrokeWidth: number;
542
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
543
+ currentItemRoughness: number;
544
+ currentItemOpacity: number;
545
+ currentItemFontFamily: number;
546
+ currentItemFontSize: number;
547
+ currentItemTextAlign: string;
548
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
549
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
550
+ currentItemRoundness: import("../element/types").StrokeRoundness;
551
+ viewBackgroundColor: string;
552
+ cursorButton: "up" | "down";
553
+ scrolledOutside: boolean;
554
+ name: string;
555
+ isResizing: boolean;
556
+ isRotating: boolean;
557
+ openMenu: "canvas" | "shape" | null;
558
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
559
+ openSidebar: {
560
+ name: string;
561
+ tab?: string | undefined;
562
+ } | null;
563
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
564
+ defaultSidebarDockedPreference: boolean;
565
+ lastPointerDownWith: import("../element/types").PointerType;
566
+ selectedElementIds: Readonly<{
567
+ [id: string]: true;
568
+ }>;
569
+ previousSelectedElementIds: {
570
+ [id: string]: true;
571
+ };
572
+ selectedElementsAreBeingDragged: boolean;
573
+ shouldCacheIgnoreZoom: boolean;
574
+ toast: {
575
+ message: string;
576
+ closable?: boolean | undefined;
577
+ duration?: number | undefined;
578
+ } | null;
579
+ zenModeEnabled: boolean;
580
+ theme: import("../element/types").Theme;
581
+ gridSize: number | null;
582
+ previousGridSize: number | null;
583
+ viewModeEnabled: boolean;
584
+ selectedGroupIds: {
585
+ [groupId: string]: boolean;
586
+ };
587
+ editingGroupId: string | null;
588
+ width: number;
589
+ height: number;
590
+ offsetTop: number;
591
+ offsetLeft: number;
592
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
593
+ collaborators: Map<string, import("../types").Collaborator>;
594
+ showStats: boolean;
595
+ currentChartType: import("../element/types").ChartType;
596
+ pasteDialog: {
597
+ shown: false;
598
+ data: null;
599
+ } | {
600
+ shown: true;
601
+ data: import("../charts").Spreadsheet;
602
+ };
603
+ pendingImageElementId: string | null;
604
+ showHyperlinkPopup: false | "editor" | "info";
605
+ linkOpacity: number;
606
+ trayModeEnabled: boolean;
607
+ colorPalette?: {
608
+ canvasBackground: import("../colors").ColorPaletteCustom;
609
+ elementBackground: import("../colors").ColorPaletteCustom;
610
+ elementStroke: import("../colors").ColorPaletteCustom;
611
+ topPicks: {
612
+ canvasBackground: [string, string, string, string, string];
613
+ elementStroke: [string, string, string, string, string];
614
+ elementBackground: [string, string, string, string, string];
615
+ };
616
+ } | undefined;
617
+ allowWheelZoom?: boolean | undefined;
618
+ allowPinchZoom?: boolean | undefined;
619
+ pinnedScripts?: string[] | undefined;
620
+ customPens?: any[] | undefined;
621
+ currentStrokeOptions?: any;
622
+ resetCustomPen?: any;
623
+ gridColor: string;
624
+ dynamicStyle: string;
625
+ invertBindingBehaviour: boolean;
626
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
627
+ };
628
+ commitToHistory: false;
629
+ };
630
+ PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
631
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
632
+ } & {
633
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
634
+ };
635
+ export declare const zoomToFit: ({ targetElements, appState, fitToViewport, viewportZoomFactor, }: {
636
+ targetElements: readonly ExcalidrawElement[];
637
+ appState: Readonly<AppState>;
638
+ /** whether to fit content to viewport (beyond >100%) */
639
+ fitToViewport: boolean;
640
+ /** zoom content to cover X of the viewport, when fitToViewport=true */
641
+ viewportZoomFactor?: number | undefined;
642
+ }) => {
643
+ appState: {
644
+ scrollX: number;
645
+ scrollY: number;
646
+ zoom: {
647
+ value: NormalizedZoomValue;
648
+ };
649
+ contextMenu: {
650
+ items: import("../components/ContextMenu").ContextMenuItems;
651
+ top: number;
652
+ left: number;
653
+ } | null;
654
+ showWelcomeScreen: boolean;
655
+ isLoading: boolean;
656
+ errorMessage: import("react").ReactNode;
657
+ activeEmbeddable: {
658
+ element: import("../element/types").NonDeletedExcalidrawElement;
659
+ state: "active" | "hover";
660
+ } | null;
661
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
662
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
663
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
664
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
665
+ isBindingEnabled: boolean;
666
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
667
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
668
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
669
+ frameRendering: {
670
+ enabled: boolean;
671
+ name: boolean;
672
+ outline: boolean;
673
+ clip: boolean;
674
+ };
675
+ editingFrame: string | null;
676
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
677
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
678
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
679
+ activeTool: {
680
+ lastActiveTool: import("../types").LastActiveTool;
681
+ locked: boolean;
682
+ } & ({
683
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
684
+ customType: null;
685
+ } | {
686
+ type: "custom";
687
+ customType: string;
688
+ });
689
+ penMode: boolean;
690
+ penDetected: boolean;
691
+ exportBackground: boolean;
692
+ exportEmbedScene: boolean;
693
+ exportWithDarkMode: boolean;
694
+ exportScale: number;
695
+ currentItemStrokeColor: string;
696
+ currentItemBackgroundColor: string;
697
+ currentItemFillStyle: import("../element/types").FillStyle;
698
+ currentItemStrokeWidth: number;
699
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
700
+ currentItemRoughness: number;
701
+ currentItemOpacity: number;
702
+ currentItemFontFamily: number;
703
+ currentItemFontSize: number;
704
+ currentItemTextAlign: string;
705
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
706
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
707
+ currentItemRoundness: import("../element/types").StrokeRoundness;
708
+ viewBackgroundColor: string;
709
+ cursorButton: "up" | "down";
710
+ scrolledOutside: boolean;
711
+ name: string;
712
+ isResizing: boolean;
713
+ isRotating: boolean;
714
+ openMenu: "canvas" | "shape" | null;
715
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
716
+ openSidebar: {
717
+ name: string;
718
+ tab?: string | undefined;
719
+ } | null;
720
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
721
+ defaultSidebarDockedPreference: boolean;
722
+ lastPointerDownWith: import("../element/types").PointerType;
723
+ selectedElementIds: Readonly<{
724
+ [id: string]: true;
725
+ }>;
726
+ previousSelectedElementIds: {
727
+ [id: string]: true;
728
+ };
729
+ selectedElementsAreBeingDragged: boolean;
730
+ shouldCacheIgnoreZoom: boolean;
731
+ toast: {
732
+ message: string;
733
+ closable?: boolean | undefined;
734
+ duration?: number | undefined;
735
+ } | null;
736
+ zenModeEnabled: boolean;
737
+ theme: import("../element/types").Theme;
738
+ gridSize: number | null;
739
+ previousGridSize: number | null;
740
+ viewModeEnabled: boolean;
741
+ selectedGroupIds: {
742
+ [groupId: string]: boolean;
743
+ };
744
+ editingGroupId: string | null;
745
+ width: number;
746
+ height: number;
747
+ offsetTop: number;
748
+ offsetLeft: number;
749
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
750
+ collaborators: Map<string, import("../types").Collaborator>;
751
+ showStats: boolean;
752
+ currentChartType: import("../element/types").ChartType;
753
+ pasteDialog: {
754
+ shown: false;
755
+ data: null;
756
+ } | {
757
+ shown: true;
758
+ data: import("../charts").Spreadsheet;
759
+ };
760
+ pendingImageElementId: string | null;
761
+ showHyperlinkPopup: false | "editor" | "info";
762
+ linkOpacity: number;
763
+ trayModeEnabled: boolean;
764
+ colorPalette?: {
765
+ canvasBackground: import("../colors").ColorPaletteCustom;
766
+ elementBackground: import("../colors").ColorPaletteCustom;
767
+ elementStroke: import("../colors").ColorPaletteCustom;
768
+ topPicks: {
769
+ canvasBackground: [string, string, string, string, string];
770
+ elementStroke: [string, string, string, string, string];
771
+ elementBackground: [string, string, string, string, string];
772
+ };
773
+ } | undefined;
774
+ allowWheelZoom?: boolean | undefined;
775
+ allowPinchZoom?: boolean | undefined;
776
+ pinnedScripts?: string[] | undefined;
777
+ customPens?: any[] | undefined;
778
+ currentStrokeOptions?: any;
779
+ resetCustomPen?: any;
780
+ gridColor: string;
781
+ dynamicStyle: string;
782
+ invertBindingBehaviour: boolean;
783
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
784
+ };
785
+ commitToHistory: boolean;
786
+ };
787
+ export declare const actionZoomToFitSelectionInViewport: {
788
+ name: "zoomToFitSelectionInViewport";
789
+ trackEvent: {
790
+ category: "canvas";
791
+ };
792
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
793
+ appState: {
794
+ scrollX: number;
795
+ scrollY: number;
796
+ zoom: {
797
+ value: NormalizedZoomValue;
798
+ };
799
+ contextMenu: {
800
+ items: import("../components/ContextMenu").ContextMenuItems;
801
+ top: number;
802
+ left: number;
803
+ } | null;
804
+ showWelcomeScreen: boolean;
805
+ isLoading: boolean;
806
+ errorMessage: import("react").ReactNode;
807
+ activeEmbeddable: {
808
+ element: import("../element/types").NonDeletedExcalidrawElement;
809
+ state: "active" | "hover";
810
+ } | null;
811
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
812
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
813
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
814
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
815
+ isBindingEnabled: boolean;
816
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
817
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
818
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
819
+ frameRendering: {
820
+ enabled: boolean;
821
+ name: boolean;
822
+ outline: boolean;
823
+ clip: boolean;
824
+ };
825
+ editingFrame: string | null;
826
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
827
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
828
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
829
+ activeTool: {
830
+ lastActiveTool: import("../types").LastActiveTool;
831
+ locked: boolean;
832
+ } & ({
833
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
834
+ customType: null;
835
+ } | {
836
+ type: "custom";
837
+ customType: string;
838
+ });
839
+ penMode: boolean;
840
+ penDetected: boolean;
841
+ exportBackground: boolean;
842
+ exportEmbedScene: boolean;
843
+ exportWithDarkMode: boolean;
844
+ exportScale: number;
845
+ currentItemStrokeColor: string;
846
+ currentItemBackgroundColor: string;
847
+ currentItemFillStyle: import("../element/types").FillStyle;
848
+ currentItemStrokeWidth: number;
849
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
850
+ currentItemRoughness: number;
851
+ currentItemOpacity: number;
852
+ currentItemFontFamily: number;
853
+ currentItemFontSize: number;
854
+ currentItemTextAlign: string;
855
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
856
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
857
+ currentItemRoundness: import("../element/types").StrokeRoundness;
858
+ viewBackgroundColor: string;
859
+ cursorButton: "up" | "down";
860
+ scrolledOutside: boolean;
861
+ name: string;
862
+ isResizing: boolean;
863
+ isRotating: boolean;
864
+ openMenu: "canvas" | "shape" | null;
865
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
866
+ openSidebar: {
867
+ name: string;
868
+ tab?: string | undefined;
869
+ } | null;
870
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
871
+ defaultSidebarDockedPreference: boolean;
872
+ lastPointerDownWith: import("../element/types").PointerType;
873
+ selectedElementIds: Readonly<{
874
+ [id: string]: true;
875
+ }>;
876
+ previousSelectedElementIds: {
877
+ [id: string]: true;
878
+ };
879
+ selectedElementsAreBeingDragged: boolean;
880
+ shouldCacheIgnoreZoom: boolean;
881
+ toast: {
882
+ message: string;
883
+ closable?: boolean | undefined;
884
+ duration?: number | undefined;
885
+ } | null;
886
+ zenModeEnabled: boolean;
887
+ theme: import("../element/types").Theme;
888
+ gridSize: number | null;
889
+ previousGridSize: number | null;
890
+ viewModeEnabled: boolean;
891
+ selectedGroupIds: {
892
+ [groupId: string]: boolean;
893
+ };
894
+ editingGroupId: string | null;
895
+ width: number;
896
+ height: number;
897
+ offsetTop: number;
898
+ offsetLeft: number;
899
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
900
+ collaborators: Map<string, import("../types").Collaborator>;
901
+ showStats: boolean;
902
+ currentChartType: import("../element/types").ChartType;
903
+ pasteDialog: {
904
+ shown: false;
905
+ data: null;
906
+ } | {
907
+ shown: true;
908
+ data: import("../charts").Spreadsheet;
909
+ };
910
+ pendingImageElementId: string | null;
911
+ showHyperlinkPopup: false | "editor" | "info";
912
+ linkOpacity: number;
913
+ trayModeEnabled: boolean;
914
+ colorPalette?: {
915
+ canvasBackground: import("../colors").ColorPaletteCustom;
916
+ elementBackground: import("../colors").ColorPaletteCustom;
917
+ elementStroke: import("../colors").ColorPaletteCustom;
918
+ topPicks: {
919
+ canvasBackground: [string, string, string, string, string];
920
+ elementStroke: [string, string, string, string, string];
921
+ elementBackground: [string, string, string, string, string];
922
+ };
923
+ } | undefined;
924
+ allowWheelZoom?: boolean | undefined;
925
+ allowPinchZoom?: boolean | undefined;
926
+ pinnedScripts?: string[] | undefined;
927
+ customPens?: any[] | undefined;
928
+ currentStrokeOptions?: any;
929
+ resetCustomPen?: any;
930
+ gridColor: string;
931
+ dynamicStyle: string;
932
+ invertBindingBehaviour: boolean;
933
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
934
+ };
935
+ commitToHistory: boolean;
936
+ };
937
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
938
+ } & {
939
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
940
+ };
941
+ export declare const actionZoomToFitSelection: {
942
+ name: "zoomToFitSelection";
943
+ trackEvent: {
944
+ category: "canvas";
945
+ };
946
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
947
+ appState: {
948
+ scrollX: number;
949
+ scrollY: number;
950
+ zoom: {
951
+ value: NormalizedZoomValue;
952
+ };
953
+ contextMenu: {
954
+ items: import("../components/ContextMenu").ContextMenuItems;
955
+ top: number;
956
+ left: number;
957
+ } | null;
958
+ showWelcomeScreen: boolean;
959
+ isLoading: boolean;
960
+ errorMessage: import("react").ReactNode;
961
+ activeEmbeddable: {
962
+ element: import("../element/types").NonDeletedExcalidrawElement;
963
+ state: "active" | "hover";
964
+ } | null;
965
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
966
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
967
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
968
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
969
+ isBindingEnabled: boolean;
970
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
971
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
972
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
973
+ frameRendering: {
974
+ enabled: boolean;
975
+ name: boolean;
976
+ outline: boolean;
977
+ clip: boolean;
978
+ };
979
+ editingFrame: string | null;
980
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
981
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
982
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
983
+ activeTool: {
984
+ lastActiveTool: import("../types").LastActiveTool;
985
+ locked: boolean;
986
+ } & ({
987
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
988
+ customType: null;
989
+ } | {
990
+ type: "custom";
991
+ customType: string;
992
+ });
993
+ penMode: boolean;
994
+ penDetected: boolean;
995
+ exportBackground: boolean;
996
+ exportEmbedScene: boolean;
997
+ exportWithDarkMode: boolean;
998
+ exportScale: number;
999
+ currentItemStrokeColor: string;
1000
+ currentItemBackgroundColor: string;
1001
+ currentItemFillStyle: import("../element/types").FillStyle;
1002
+ currentItemStrokeWidth: number;
1003
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1004
+ currentItemRoughness: number;
1005
+ currentItemOpacity: number;
1006
+ currentItemFontFamily: number;
1007
+ currentItemFontSize: number;
1008
+ currentItemTextAlign: string;
1009
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1010
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1011
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1012
+ viewBackgroundColor: string;
1013
+ cursorButton: "up" | "down";
1014
+ scrolledOutside: boolean;
1015
+ name: string;
1016
+ isResizing: boolean;
1017
+ isRotating: boolean;
1018
+ openMenu: "canvas" | "shape" | null;
1019
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1020
+ openSidebar: {
1021
+ name: string;
1022
+ tab?: string | undefined;
1023
+ } | null;
1024
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1025
+ defaultSidebarDockedPreference: boolean;
1026
+ lastPointerDownWith: import("../element/types").PointerType;
1027
+ selectedElementIds: Readonly<{
1028
+ [id: string]: true;
1029
+ }>;
1030
+ previousSelectedElementIds: {
1031
+ [id: string]: true;
1032
+ };
1033
+ selectedElementsAreBeingDragged: boolean;
1034
+ shouldCacheIgnoreZoom: boolean;
1035
+ toast: {
1036
+ message: string;
1037
+ closable?: boolean | undefined;
1038
+ duration?: number | undefined;
1039
+ } | null;
1040
+ zenModeEnabled: boolean;
1041
+ theme: import("../element/types").Theme;
1042
+ gridSize: number | null;
1043
+ previousGridSize: number | null;
1044
+ viewModeEnabled: boolean;
1045
+ selectedGroupIds: {
1046
+ [groupId: string]: boolean;
1047
+ };
1048
+ editingGroupId: string | null;
1049
+ width: number;
1050
+ height: number;
1051
+ offsetTop: number;
1052
+ offsetLeft: number;
1053
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1054
+ collaborators: Map<string, import("../types").Collaborator>;
1055
+ showStats: boolean;
1056
+ currentChartType: import("../element/types").ChartType;
1057
+ pasteDialog: {
1058
+ shown: false;
1059
+ data: null;
1060
+ } | {
1061
+ shown: true;
1062
+ data: import("../charts").Spreadsheet;
1063
+ };
1064
+ pendingImageElementId: string | null;
1065
+ showHyperlinkPopup: false | "editor" | "info";
1066
+ linkOpacity: number;
1067
+ trayModeEnabled: boolean;
1068
+ colorPalette?: {
1069
+ canvasBackground: import("../colors").ColorPaletteCustom;
1070
+ elementBackground: import("../colors").ColorPaletteCustom;
1071
+ elementStroke: import("../colors").ColorPaletteCustom;
1072
+ topPicks: {
1073
+ canvasBackground: [string, string, string, string, string];
1074
+ elementStroke: [string, string, string, string, string];
1075
+ elementBackground: [string, string, string, string, string];
1076
+ };
1077
+ } | undefined;
1078
+ allowWheelZoom?: boolean | undefined;
1079
+ allowPinchZoom?: boolean | undefined;
1080
+ pinnedScripts?: string[] | undefined;
1081
+ customPens?: any[] | undefined;
1082
+ currentStrokeOptions?: any;
1083
+ resetCustomPen?: any;
1084
+ gridColor: string;
1085
+ dynamicStyle: string;
1086
+ invertBindingBehaviour: boolean;
1087
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1088
+ };
1089
+ commitToHistory: boolean;
1090
+ };
1091
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1092
+ } & {
1093
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1094
+ };
1095
+ export declare const actionZoomToFit: {
1096
+ name: "zoomToFit";
1097
+ viewMode: true;
1098
+ trackEvent: {
1099
+ category: "canvas";
1100
+ };
1101
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
1102
+ appState: {
1103
+ scrollX: number;
1104
+ scrollY: number;
1105
+ zoom: {
1106
+ value: NormalizedZoomValue;
1107
+ };
1108
+ contextMenu: {
1109
+ items: import("../components/ContextMenu").ContextMenuItems;
1110
+ top: number;
1111
+ left: number;
1112
+ } | null;
1113
+ showWelcomeScreen: boolean;
1114
+ isLoading: boolean;
1115
+ errorMessage: import("react").ReactNode;
1116
+ activeEmbeddable: {
1117
+ element: import("../element/types").NonDeletedExcalidrawElement;
1118
+ state: "active" | "hover";
1119
+ } | null;
1120
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1121
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1122
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1123
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1124
+ isBindingEnabled: boolean;
1125
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1126
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1127
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1128
+ frameRendering: {
1129
+ enabled: boolean;
1130
+ name: boolean;
1131
+ outline: boolean;
1132
+ clip: boolean;
1133
+ };
1134
+ editingFrame: string | null;
1135
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1136
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1137
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1138
+ activeTool: {
1139
+ lastActiveTool: import("../types").LastActiveTool;
1140
+ locked: boolean;
1141
+ } & ({
1142
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1143
+ customType: null;
1144
+ } | {
1145
+ type: "custom";
1146
+ customType: string;
1147
+ });
1148
+ penMode: boolean;
1149
+ penDetected: boolean;
1150
+ exportBackground: boolean;
1151
+ exportEmbedScene: boolean;
1152
+ exportWithDarkMode: boolean;
1153
+ exportScale: number;
1154
+ currentItemStrokeColor: string;
1155
+ currentItemBackgroundColor: string;
1156
+ currentItemFillStyle: import("../element/types").FillStyle;
1157
+ currentItemStrokeWidth: number;
1158
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1159
+ currentItemRoughness: number;
1160
+ currentItemOpacity: number;
1161
+ currentItemFontFamily: number;
1162
+ currentItemFontSize: number;
1163
+ currentItemTextAlign: string;
1164
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1165
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1166
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1167
+ viewBackgroundColor: string;
1168
+ cursorButton: "up" | "down";
1169
+ scrolledOutside: boolean;
1170
+ name: string;
1171
+ isResizing: boolean;
1172
+ isRotating: boolean;
1173
+ openMenu: "canvas" | "shape" | null;
1174
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1175
+ openSidebar: {
1176
+ name: string;
1177
+ tab?: string | undefined;
1178
+ } | null;
1179
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1180
+ defaultSidebarDockedPreference: boolean;
1181
+ lastPointerDownWith: import("../element/types").PointerType;
1182
+ selectedElementIds: Readonly<{
1183
+ [id: string]: true;
1184
+ }>;
1185
+ previousSelectedElementIds: {
1186
+ [id: string]: true;
1187
+ };
1188
+ selectedElementsAreBeingDragged: boolean;
1189
+ shouldCacheIgnoreZoom: boolean;
1190
+ toast: {
1191
+ message: string;
1192
+ closable?: boolean | undefined;
1193
+ duration?: number | undefined;
1194
+ } | null;
1195
+ zenModeEnabled: boolean;
1196
+ theme: import("../element/types").Theme;
1197
+ gridSize: number | null;
1198
+ previousGridSize: number | null;
1199
+ viewModeEnabled: boolean;
1200
+ selectedGroupIds: {
1201
+ [groupId: string]: boolean;
1202
+ };
1203
+ editingGroupId: string | null;
1204
+ width: number;
1205
+ height: number;
1206
+ offsetTop: number;
1207
+ offsetLeft: number;
1208
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1209
+ collaborators: Map<string, import("../types").Collaborator>;
1210
+ showStats: boolean;
1211
+ currentChartType: import("../element/types").ChartType;
1212
+ pasteDialog: {
1213
+ shown: false;
1214
+ data: null;
1215
+ } | {
1216
+ shown: true;
1217
+ data: import("../charts").Spreadsheet;
1218
+ };
1219
+ pendingImageElementId: string | null;
1220
+ showHyperlinkPopup: false | "editor" | "info";
1221
+ linkOpacity: number;
1222
+ trayModeEnabled: boolean;
1223
+ colorPalette?: {
1224
+ canvasBackground: import("../colors").ColorPaletteCustom;
1225
+ elementBackground: import("../colors").ColorPaletteCustom;
1226
+ elementStroke: import("../colors").ColorPaletteCustom;
1227
+ topPicks: {
1228
+ canvasBackground: [string, string, string, string, string];
1229
+ elementStroke: [string, string, string, string, string];
1230
+ elementBackground: [string, string, string, string, string];
1231
+ };
1232
+ } | undefined;
1233
+ allowWheelZoom?: boolean | undefined;
1234
+ allowPinchZoom?: boolean | undefined;
1235
+ pinnedScripts?: string[] | undefined;
1236
+ customPens?: any[] | undefined;
1237
+ currentStrokeOptions?: any;
1238
+ resetCustomPen?: any;
1239
+ gridColor: string;
1240
+ dynamicStyle: string;
1241
+ invertBindingBehaviour: boolean;
1242
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1243
+ };
1244
+ commitToHistory: boolean;
1245
+ };
1246
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1247
+ } & {
1248
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1249
+ };
1250
+ export declare const actionToggleTheme: {
1251
+ name: "toggleTheme";
1252
+ viewMode: true;
1253
+ trackEvent: {
1254
+ category: "canvas";
1255
+ };
1256
+ perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1257
+ appState: {
1258
+ theme: any;
1259
+ contextMenu: {
1260
+ items: import("../components/ContextMenu").ContextMenuItems;
1261
+ top: number;
1262
+ left: number;
1263
+ } | null;
1264
+ showWelcomeScreen: boolean;
1265
+ isLoading: boolean;
1266
+ errorMessage: import("react").ReactNode;
1267
+ activeEmbeddable: {
1268
+ element: import("../element/types").NonDeletedExcalidrawElement;
1269
+ state: "active" | "hover";
1270
+ } | null;
1271
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1272
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1273
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1274
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1275
+ isBindingEnabled: boolean;
1276
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1277
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1278
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1279
+ frameRendering: {
1280
+ enabled: boolean;
1281
+ name: boolean;
1282
+ outline: boolean;
1283
+ clip: boolean;
1284
+ };
1285
+ editingFrame: string | null;
1286
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1287
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1288
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1289
+ activeTool: {
1290
+ lastActiveTool: import("../types").LastActiveTool;
1291
+ locked: boolean;
1292
+ } & ({
1293
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1294
+ customType: null;
1295
+ } | {
1296
+ type: "custom";
1297
+ customType: string;
1298
+ });
1299
+ penMode: boolean;
1300
+ penDetected: boolean;
1301
+ exportBackground: boolean;
1302
+ exportEmbedScene: boolean;
1303
+ exportWithDarkMode: boolean;
1304
+ exportScale: number;
1305
+ currentItemStrokeColor: string;
1306
+ currentItemBackgroundColor: string;
1307
+ currentItemFillStyle: import("../element/types").FillStyle;
1308
+ currentItemStrokeWidth: number;
1309
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1310
+ currentItemRoughness: number;
1311
+ currentItemOpacity: number;
1312
+ currentItemFontFamily: number;
1313
+ currentItemFontSize: number;
1314
+ currentItemTextAlign: string;
1315
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1316
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1317
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1318
+ viewBackgroundColor: string;
1319
+ scrollX: number;
1320
+ scrollY: number;
1321
+ cursorButton: "up" | "down";
1322
+ scrolledOutside: boolean;
1323
+ name: string;
1324
+ isResizing: boolean;
1325
+ isRotating: boolean;
1326
+ zoom: Readonly<{
1327
+ value: NormalizedZoomValue;
1328
+ }>;
1329
+ openMenu: "canvas" | "shape" | null;
1330
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1331
+ openSidebar: {
1332
+ name: string;
1333
+ tab?: string | undefined;
1334
+ } | null;
1335
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1336
+ defaultSidebarDockedPreference: boolean;
1337
+ lastPointerDownWith: import("../element/types").PointerType;
1338
+ selectedElementIds: Readonly<{
1339
+ [id: string]: true;
1340
+ }>;
1341
+ previousSelectedElementIds: {
1342
+ [id: string]: true;
1343
+ };
1344
+ selectedElementsAreBeingDragged: boolean;
1345
+ shouldCacheIgnoreZoom: boolean;
1346
+ toast: {
1347
+ message: string;
1348
+ closable?: boolean | undefined;
1349
+ duration?: number | undefined;
1350
+ } | null;
1351
+ zenModeEnabled: boolean;
1352
+ gridSize: number | null;
1353
+ previousGridSize: number | null;
1354
+ viewModeEnabled: boolean;
1355
+ selectedGroupIds: {
1356
+ [groupId: string]: boolean;
1357
+ };
1358
+ editingGroupId: string | null;
1359
+ width: number;
1360
+ height: number;
1361
+ offsetTop: number;
1362
+ offsetLeft: number;
1363
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1364
+ collaborators: Map<string, import("../types").Collaborator>;
1365
+ showStats: boolean;
1366
+ currentChartType: import("../element/types").ChartType;
1367
+ pasteDialog: {
1368
+ shown: false;
1369
+ data: null;
1370
+ } | {
1371
+ shown: true;
1372
+ data: import("../charts").Spreadsheet;
1373
+ };
1374
+ pendingImageElementId: string | null;
1375
+ showHyperlinkPopup: false | "editor" | "info";
1376
+ linkOpacity: number;
1377
+ trayModeEnabled: boolean;
1378
+ colorPalette?: {
1379
+ canvasBackground: import("../colors").ColorPaletteCustom;
1380
+ elementBackground: import("../colors").ColorPaletteCustom;
1381
+ elementStroke: import("../colors").ColorPaletteCustom;
1382
+ topPicks: {
1383
+ canvasBackground: [string, string, string, string, string];
1384
+ elementStroke: [string, string, string, string, string];
1385
+ elementBackground: [string, string, string, string, string];
1386
+ };
1387
+ } | undefined;
1388
+ allowWheelZoom?: boolean | undefined;
1389
+ allowPinchZoom?: boolean | undefined;
1390
+ pinnedScripts?: string[] | undefined;
1391
+ customPens?: any[] | undefined;
1392
+ currentStrokeOptions?: any;
1393
+ resetCustomPen?: any;
1394
+ gridColor: string;
1395
+ dynamicStyle: string;
1396
+ invertBindingBehaviour: boolean;
1397
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1398
+ };
1399
+ commitToHistory: false;
1400
+ };
1401
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1402
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
1403
+ } & {
1404
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1405
+ };
1406
+ export declare const actionToggleEraserTool: {
1407
+ name: "toggleEraserTool";
1408
+ trackEvent: {
1409
+ category: "toolbar";
1410
+ };
1411
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
1412
+ appState: {
1413
+ selectedElementIds: {};
1414
+ selectedGroupIds: {};
1415
+ activeEmbeddable: null;
1416
+ activeTool: {
1417
+ lastActiveTool: import("../types").LastActiveTool;
1418
+ locked: boolean;
1419
+ } & ({
1420
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1421
+ customType: null;
1422
+ } | {
1423
+ type: "custom";
1424
+ customType: string;
1425
+ });
1426
+ contextMenu: {
1427
+ items: import("../components/ContextMenu").ContextMenuItems;
1428
+ top: number;
1429
+ left: number;
1430
+ } | null;
1431
+ showWelcomeScreen: boolean;
1432
+ isLoading: boolean;
1433
+ errorMessage: import("react").ReactNode;
1434
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1435
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1436
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1437
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1438
+ isBindingEnabled: boolean;
1439
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1440
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1441
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1442
+ frameRendering: {
1443
+ enabled: boolean;
1444
+ name: boolean;
1445
+ outline: boolean;
1446
+ clip: boolean;
1447
+ };
1448
+ editingFrame: string | null;
1449
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1450
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1451
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1452
+ penMode: boolean;
1453
+ penDetected: boolean;
1454
+ exportBackground: boolean;
1455
+ exportEmbedScene: boolean;
1456
+ exportWithDarkMode: boolean;
1457
+ exportScale: number;
1458
+ currentItemStrokeColor: string;
1459
+ currentItemBackgroundColor: string;
1460
+ currentItemFillStyle: import("../element/types").FillStyle;
1461
+ currentItemStrokeWidth: number;
1462
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1463
+ currentItemRoughness: number;
1464
+ currentItemOpacity: number;
1465
+ currentItemFontFamily: number;
1466
+ currentItemFontSize: number;
1467
+ currentItemTextAlign: string;
1468
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1469
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1470
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1471
+ viewBackgroundColor: string;
1472
+ scrollX: number;
1473
+ scrollY: number;
1474
+ cursorButton: "up" | "down";
1475
+ scrolledOutside: boolean;
1476
+ name: string;
1477
+ isResizing: boolean;
1478
+ isRotating: boolean;
1479
+ zoom: Readonly<{
1480
+ value: NormalizedZoomValue;
1481
+ }>;
1482
+ openMenu: "canvas" | "shape" | null;
1483
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1484
+ openSidebar: {
1485
+ name: string;
1486
+ tab?: string | undefined;
1487
+ } | null;
1488
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1489
+ defaultSidebarDockedPreference: boolean;
1490
+ lastPointerDownWith: import("../element/types").PointerType;
1491
+ previousSelectedElementIds: {
1492
+ [id: string]: true;
1493
+ };
1494
+ selectedElementsAreBeingDragged: boolean;
1495
+ shouldCacheIgnoreZoom: boolean;
1496
+ toast: {
1497
+ message: string;
1498
+ closable?: boolean | undefined;
1499
+ duration?: number | undefined;
1500
+ } | null;
1501
+ zenModeEnabled: boolean;
1502
+ theme: import("../element/types").Theme;
1503
+ gridSize: number | null;
1504
+ previousGridSize: number | null;
1505
+ viewModeEnabled: boolean;
1506
+ editingGroupId: string | null;
1507
+ width: number;
1508
+ height: number;
1509
+ offsetTop: number;
1510
+ offsetLeft: number;
1511
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1512
+ collaborators: Map<string, import("../types").Collaborator>;
1513
+ showStats: boolean;
1514
+ currentChartType: import("../element/types").ChartType;
1515
+ pasteDialog: {
1516
+ shown: false;
1517
+ data: null;
1518
+ } | {
1519
+ shown: true;
1520
+ data: import("../charts").Spreadsheet;
1521
+ };
1522
+ pendingImageElementId: string | null;
1523
+ showHyperlinkPopup: false | "editor" | "info";
1524
+ linkOpacity: number;
1525
+ trayModeEnabled: boolean;
1526
+ colorPalette?: {
1527
+ canvasBackground: import("../colors").ColorPaletteCustom;
1528
+ elementBackground: import("../colors").ColorPaletteCustom;
1529
+ elementStroke: import("../colors").ColorPaletteCustom;
1530
+ topPicks: {
1531
+ canvasBackground: [string, string, string, string, string];
1532
+ elementStroke: [string, string, string, string, string];
1533
+ elementBackground: [string, string, string, string, string];
1534
+ };
1535
+ } | undefined;
1536
+ allowWheelZoom?: boolean | undefined;
1537
+ allowPinchZoom?: boolean | undefined;
1538
+ pinnedScripts?: string[] | undefined;
1539
+ customPens?: any[] | undefined;
1540
+ currentStrokeOptions?: any;
1541
+ resetCustomPen?: any;
1542
+ gridColor: string;
1543
+ dynamicStyle: string;
1544
+ invertBindingBehaviour: boolean;
1545
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1546
+ };
1547
+ commitToHistory: true;
1548
+ };
1549
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1550
+ } & {
1551
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1552
+ };
1553
+ export declare const actionToggleHandTool: {
1554
+ name: "toggleHandTool";
1555
+ trackEvent: {
1556
+ category: "toolbar";
1557
+ };
1558
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
1559
+ appState: {
1560
+ selectedElementIds: {};
1561
+ selectedGroupIds: {};
1562
+ activeEmbeddable: null;
1563
+ activeTool: {
1564
+ lastActiveTool: import("../types").LastActiveTool;
1565
+ locked: boolean;
1566
+ } & ({
1567
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1568
+ customType: null;
1569
+ } | {
1570
+ type: "custom";
1571
+ customType: string;
1572
+ });
1573
+ contextMenu: {
1574
+ items: import("../components/ContextMenu").ContextMenuItems;
1575
+ top: number;
1576
+ left: number;
1577
+ } | null;
1578
+ showWelcomeScreen: boolean;
1579
+ isLoading: boolean;
1580
+ errorMessage: import("react").ReactNode;
1581
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1582
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1583
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1584
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1585
+ isBindingEnabled: boolean;
1586
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1587
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1588
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1589
+ frameRendering: {
1590
+ enabled: boolean;
1591
+ name: boolean;
1592
+ outline: boolean;
1593
+ clip: boolean;
1594
+ };
1595
+ editingFrame: string | null;
1596
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1597
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1598
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1599
+ penMode: boolean;
1600
+ penDetected: boolean;
1601
+ exportBackground: boolean;
1602
+ exportEmbedScene: boolean;
1603
+ exportWithDarkMode: boolean;
1604
+ exportScale: number;
1605
+ currentItemStrokeColor: string;
1606
+ currentItemBackgroundColor: string;
1607
+ currentItemFillStyle: import("../element/types").FillStyle;
1608
+ currentItemStrokeWidth: number;
1609
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1610
+ currentItemRoughness: number;
1611
+ currentItemOpacity: number;
1612
+ currentItemFontFamily: number;
1613
+ currentItemFontSize: number;
1614
+ currentItemTextAlign: string;
1615
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1616
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1617
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1618
+ viewBackgroundColor: string;
1619
+ scrollX: number;
1620
+ scrollY: number;
1621
+ cursorButton: "up" | "down";
1622
+ scrolledOutside: boolean;
1623
+ name: string;
1624
+ isResizing: boolean;
1625
+ isRotating: boolean;
1626
+ zoom: Readonly<{
1627
+ value: NormalizedZoomValue;
1628
+ }>;
1629
+ openMenu: "canvas" | "shape" | null;
1630
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1631
+ openSidebar: {
1632
+ name: string;
1633
+ tab?: string | undefined;
1634
+ } | null;
1635
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1636
+ defaultSidebarDockedPreference: boolean;
1637
+ lastPointerDownWith: import("../element/types").PointerType;
1638
+ previousSelectedElementIds: {
1639
+ [id: string]: true;
1640
+ };
1641
+ selectedElementsAreBeingDragged: boolean;
1642
+ shouldCacheIgnoreZoom: boolean;
1643
+ toast: {
1644
+ message: string;
1645
+ closable?: boolean | undefined;
1646
+ duration?: number | undefined;
1647
+ } | null;
1648
+ zenModeEnabled: boolean;
1649
+ theme: import("../element/types").Theme;
1650
+ gridSize: number | null;
1651
+ previousGridSize: number | null;
1652
+ viewModeEnabled: boolean;
1653
+ editingGroupId: string | null;
1654
+ width: number;
1655
+ height: number;
1656
+ offsetTop: number;
1657
+ offsetLeft: number;
1658
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1659
+ collaborators: Map<string, import("../types").Collaborator>;
1660
+ showStats: boolean;
1661
+ currentChartType: import("../element/types").ChartType;
1662
+ pasteDialog: {
1663
+ shown: false;
1664
+ data: null;
1665
+ } | {
1666
+ shown: true;
1667
+ data: import("../charts").Spreadsheet;
1668
+ };
1669
+ pendingImageElementId: string | null;
1670
+ showHyperlinkPopup: false | "editor" | "info";
1671
+ linkOpacity: number;
1672
+ trayModeEnabled: boolean;
1673
+ colorPalette?: {
1674
+ canvasBackground: import("../colors").ColorPaletteCustom;
1675
+ elementBackground: import("../colors").ColorPaletteCustom;
1676
+ elementStroke: import("../colors").ColorPaletteCustom;
1677
+ topPicks: {
1678
+ canvasBackground: [string, string, string, string, string];
1679
+ elementStroke: [string, string, string, string, string];
1680
+ elementBackground: [string, string, string, string, string];
1681
+ };
1682
+ } | undefined;
1683
+ allowWheelZoom?: boolean | undefined;
1684
+ allowPinchZoom?: boolean | undefined;
1685
+ pinnedScripts?: string[] | undefined;
1686
+ customPens?: any[] | undefined;
1687
+ currentStrokeOptions?: any;
1688
+ resetCustomPen?: any;
1689
+ gridColor: string;
1690
+ dynamicStyle: string;
1691
+ invertBindingBehaviour: boolean;
1692
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1693
+ };
1694
+ commitToHistory: true;
1695
+ };
1696
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1697
+ } & {
1698
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1699
+ };
1700
+ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, zoomToSelection: boolean, app: AppClassProperties, maxZoom?: number, margin?: number) => {
1701
+ appState: {
1702
+ zoom: {
1703
+ value: NormalizedZoomValue;
1704
+ };
1705
+ scrollX: number;
1706
+ scrollY: number;
1707
+ contextMenu: {
1708
+ items: import("../components/ContextMenu").ContextMenuItems;
1709
+ top: number;
1710
+ left: number;
1711
+ } | null;
1712
+ showWelcomeScreen: boolean;
1713
+ isLoading: boolean;
1714
+ errorMessage: import("react").ReactNode;
1715
+ activeEmbeddable: {
1716
+ element: import("../element/types").NonDeletedExcalidrawElement;
1717
+ state: "active" | "hover";
1718
+ } | null;
1719
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1720
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1721
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1722
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1723
+ isBindingEnabled: boolean;
1724
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1725
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1726
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1727
+ frameRendering: {
1728
+ enabled: boolean;
1729
+ name: boolean;
1730
+ outline: boolean;
1731
+ clip: boolean;
1732
+ };
1733
+ editingFrame: string | null;
1734
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1735
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1736
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1737
+ activeTool: {
1738
+ lastActiveTool: import("../types").LastActiveTool;
1739
+ locked: boolean;
1740
+ } & ({
1741
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1742
+ customType: null;
1743
+ } | {
1744
+ type: "custom";
1745
+ customType: string;
1746
+ });
1747
+ penMode: boolean;
1748
+ penDetected: boolean;
1749
+ exportBackground: boolean;
1750
+ exportEmbedScene: boolean;
1751
+ exportWithDarkMode: boolean;
1752
+ exportScale: number;
1753
+ currentItemStrokeColor: string;
1754
+ currentItemBackgroundColor: string;
1755
+ currentItemFillStyle: import("../element/types").FillStyle;
1756
+ currentItemStrokeWidth: number;
1757
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1758
+ currentItemRoughness: number;
1759
+ currentItemOpacity: number;
1760
+ currentItemFontFamily: number;
1761
+ currentItemFontSize: number;
1762
+ currentItemTextAlign: string;
1763
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1764
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1765
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1766
+ viewBackgroundColor: string;
1767
+ cursorButton: "up" | "down";
1768
+ scrolledOutside: boolean;
1769
+ name: string;
1770
+ isResizing: boolean;
1771
+ isRotating: boolean;
1772
+ openMenu: "canvas" | "shape" | null;
1773
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1774
+ openSidebar: {
1775
+ name: string;
1776
+ tab?: string | undefined;
1777
+ } | null;
1778
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1779
+ defaultSidebarDockedPreference: boolean;
1780
+ lastPointerDownWith: import("../element/types").PointerType;
1781
+ selectedElementIds: Readonly<{
1782
+ [id: string]: true;
1783
+ }>;
1784
+ previousSelectedElementIds: {
1785
+ [id: string]: true;
1786
+ };
1787
+ selectedElementsAreBeingDragged: boolean;
1788
+ shouldCacheIgnoreZoom: boolean;
1789
+ toast: {
1790
+ message: string;
1791
+ closable?: boolean | undefined;
1792
+ duration?: number | undefined;
1793
+ } | null;
1794
+ zenModeEnabled: boolean;
1795
+ theme: import("../element/types").Theme;
1796
+ gridSize: number | null;
1797
+ previousGridSize: number | null;
1798
+ viewModeEnabled: boolean;
1799
+ selectedGroupIds: {
1800
+ [groupId: string]: boolean;
1801
+ };
1802
+ editingGroupId: string | null;
1803
+ width: number;
1804
+ height: number;
1805
+ offsetTop: number;
1806
+ offsetLeft: number;
1807
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1808
+ collaborators: Map<string, import("../types").Collaborator>;
1809
+ showStats: boolean;
1810
+ currentChartType: import("../element/types").ChartType;
1811
+ pasteDialog: {
1812
+ shown: false;
1813
+ data: null;
1814
+ } | {
1815
+ shown: true;
1816
+ data: import("../charts").Spreadsheet;
1817
+ };
1818
+ pendingImageElementId: string | null;
1819
+ showHyperlinkPopup: false | "editor" | "info";
1820
+ linkOpacity: number;
1821
+ trayModeEnabled: boolean;
1822
+ colorPalette?: {
1823
+ canvasBackground: import("../colors").ColorPaletteCustom;
1824
+ elementBackground: import("../colors").ColorPaletteCustom;
1825
+ elementStroke: import("../colors").ColorPaletteCustom;
1826
+ topPicks: {
1827
+ canvasBackground: [string, string, string, string, string];
1828
+ elementStroke: [string, string, string, string, string];
1829
+ elementBackground: [string, string, string, string, string];
1830
+ };
1831
+ } | undefined;
1832
+ allowWheelZoom?: boolean | undefined;
1833
+ allowPinchZoom?: boolean | undefined;
1834
+ pinnedScripts?: string[] | undefined;
1835
+ customPens?: any[] | undefined;
1836
+ currentStrokeOptions?: any;
1837
+ resetCustomPen?: any;
1838
+ gridColor: string;
1839
+ dynamicStyle: string;
1840
+ invertBindingBehaviour: boolean;
1841
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1842
+ };
1843
+ commitToHistory: boolean;
1844
+ };