@dwelle/excalidraw 0.4.0-d8d86cf → 0.4.0-da7ef3e

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 (232) hide show
  1. package/CHANGELOG.md +706 -0
  2. package/README.md +18 -1422
  3. package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js → vendor-d415b28e9024dee4bb1b.js} +2 -2
  4. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  5. package/dist/excalidraw.development.js +3035 -1464
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  8. package/main.js +1 -8
  9. package/package.json +9 -4
  10. package/types/actions/actionAddToLibrary.d.ts +130 -52
  11. package/types/actions/actionAlign.d.ts +25 -32
  12. package/types/actions/actionBoundText.d.ts +191 -22
  13. package/types/actions/actionCanvas.d.ts +774 -174
  14. package/types/actions/actionClipboard.d.ts +232 -88
  15. package/types/actions/actionDeleteSelected.d.ts +129 -57
  16. package/types/actions/actionDistribute.d.ts +7 -12
  17. package/types/actions/actionDuplicateSelection.d.ts +2 -5
  18. package/types/actions/actionElementLock.d.ts +283 -0
  19. package/types/actions/actionExport.d.ts +448 -229
  20. package/types/actions/actionFinalize.d.ts +87 -41
  21. package/types/actions/actionFlip.d.ts +4 -7
  22. package/types/actions/actionFrame.d.ts +441 -0
  23. package/types/actions/actionGroup.d.ts +260 -15
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +46 -20
  26. package/types/actions/actionMenu.d.ts +136 -65
  27. package/types/actions/actionNavigate.d.ts +2 -3
  28. package/types/actions/actionProperties.d.ts +590 -277
  29. package/types/actions/actionSelectAll.d.ts +127 -2
  30. package/types/actions/actionStyles.d.ts +44 -19
  31. package/types/actions/actionToggleGridMode.d.ts +46 -19
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +58 -31
  33. package/types/actions/actionToggleStats.d.ts +45 -19
  34. package/types/actions/actionToggleViewMode.d.ts +46 -19
  35. package/types/actions/actionToggleZenMode.d.ts +46 -19
  36. package/types/actions/actionZindex.d.ts +8 -16
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +3 -2
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +16 -13
  41. package/types/appState.d.ts +23 -18
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +3 -2
  45. package/types/colors.d.ts +60 -5
  46. package/types/components/Actions.d.ts +7 -7
  47. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  48. package/types/components/App.d.ts +88 -74
  49. package/types/components/Avatar.d.ts +1 -2
  50. package/types/components/BraveMeasureTextError.d.ts +2 -0
  51. package/types/components/Button.d.ts +16 -0
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +6 -0
  54. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  58. package/types/components/ColorPicker/Picker.d.ts +18 -0
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  65. package/types/components/ContextMenu.d.ts +9 -22
  66. package/types/components/DefaultSidebar.d.ts +29 -0
  67. package/types/components/Dialog.d.ts +3 -4
  68. package/types/components/ErrorDialog.d.ts +3 -2
  69. package/types/components/ExcalidrawLogo.d.ts +15 -0
  70. package/types/components/EyeDropper.d.ts +28 -0
  71. package/types/components/FilledButton.d.ts +17 -0
  72. package/types/components/FixedSideContainer.d.ts +1 -1
  73. package/types/components/HandButton.d.ts +10 -0
  74. package/types/components/HelpButton.d.ts +1 -2
  75. package/types/components/HintViewer.d.ts +4 -5
  76. package/types/components/HomeButton.d.ts +1 -1
  77. package/types/components/ImageExportDialog.d.ts +8 -13
  78. package/types/components/Island.d.ts +1 -1
  79. package/types/components/JSONExportDialog.d.ts +7 -5
  80. package/types/components/LayerUI.d.ts +10 -16
  81. package/types/components/LibraryMenu.d.ts +13 -14
  82. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  83. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  84. package/types/components/LibraryMenuHeaderContent.d.ts +10 -5
  85. package/types/components/LibraryMenuItems.d.ts +6 -7
  86. package/types/components/LibraryMenuSection.d.ts +22 -0
  87. package/types/components/LibraryUnit.d.ts +6 -3
  88. package/types/components/LoadingMessage.d.ts +0 -1
  89. package/types/components/LockButton.d.ts +1 -2
  90. package/types/components/MobileMenu.d.ts +10 -12
  91. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  92. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  93. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  94. package/types/components/PasteChartDialog.d.ts +4 -5
  95. package/types/components/PenModeButton.d.ts +1 -1
  96. package/types/components/Popover.d.ts +1 -1
  97. package/types/components/ProjectName.d.ts +2 -1
  98. package/types/components/PublishLibrary.d.ts +2 -2
  99. package/types/components/RadioGroup.d.ts +12 -0
  100. package/types/components/Section.d.ts +1 -1
  101. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  102. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  103. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  104. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  105. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  106. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  107. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  108. package/types/components/Sidebar/common.d.ts +24 -7
  109. package/types/components/Spinner.d.ts +2 -1
  110. package/types/components/Stack.d.ts +4 -3
  111. package/types/components/Stats.d.ts +3 -3
  112. package/types/components/Switch.d.ts +9 -0
  113. package/types/components/ToolButton.d.ts +6 -5
  114. package/types/components/Tooltip.d.ts +1 -1
  115. package/types/components/Trans.d.ts +9 -0
  116. package/types/components/UserList.d.ts +0 -2
  117. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  118. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  119. package/types/components/canvases/index.d.ts +3 -0
  120. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  121. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  122. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  123. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  124. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  125. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  126. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  127. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  128. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  129. package/types/components/dropdownMenu/common.d.ts +6 -0
  130. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  131. package/types/components/footer/Footer.d.ts +12 -0
  132. package/types/components/footer/FooterCenter.d.ts +8 -0
  133. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  134. package/types/components/icons.d.ts +15 -2
  135. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  136. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  137. package/types/components/main-menu/MainMenu.d.ts +61 -0
  138. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -0
  139. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  140. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  141. package/types/constants.d.ts +94 -18
  142. package/types/context/tunnels.d.ts +19 -0
  143. package/types/context/ui-appState.d.ts +4 -0
  144. package/types/data/blob.d.ts +3 -2
  145. package/types/data/encode.d.ts +1 -1
  146. package/types/data/filesystem.d.ts +2 -1
  147. package/types/data/index.d.ts +1 -1
  148. package/types/data/library.d.ts +3 -45
  149. package/types/data/restore.d.ts +10 -4
  150. package/types/data/transform.d.ts +71 -0
  151. package/types/data/types.d.ts +3 -5
  152. package/types/data/url.d.ts +7 -0
  153. package/types/element/Hyperlink.d.ts +57 -30
  154. package/types/element/binding.d.ts +4 -3
  155. package/types/element/bounds.d.ts +31 -7
  156. package/types/element/collision.d.ts +7 -7
  157. package/types/element/dragElements.d.ts +12 -2
  158. package/types/element/embeddable.d.ts +159 -0
  159. package/types/element/image.d.ts +11 -1
  160. package/types/element/index.d.ts +3 -2
  161. package/types/element/linearElementEditor.d.ts +49 -24
  162. package/types/element/mutateElement.d.ts +2 -1
  163. package/types/element/newElement.d.ts +48 -15
  164. package/types/element/resizeElements.d.ts +3 -2
  165. package/types/element/showSelectedShapeActions.d.ts +2 -2
  166. package/types/element/sizeHelpers.d.ts +8 -1
  167. package/types/element/sortElements.d.ts +2 -0
  168. package/types/element/textElement.d.ts +44 -11
  169. package/types/element/textWysiwyg.d.ts +7 -2
  170. package/types/element/transformHandles.d.ts +15 -8
  171. package/types/element/typeChecks.d.ts +13 -2
  172. package/types/element/types.d.ts +64 -36
  173. package/types/emitter.d.ts +1 -1
  174. package/types/errors.d.ts +1 -1
  175. package/types/frame.d.ts +40 -0
  176. package/types/ga.d.ts +5 -5
  177. package/types/groups.d.ts +15 -11
  178. package/types/history.d.ts +3 -3
  179. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  180. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  181. package/types/hooks/useOutsideClick.d.ts +19 -2
  182. package/types/hooks/useScrollPosition.d.ts +1 -0
  183. package/types/hooks/useStable.d.ts +1 -0
  184. package/types/hooks/useTransition.d.ts +2 -0
  185. package/types/i18n.d.ts +11 -2
  186. package/types/jotai.d.ts +20 -108
  187. package/types/keys.d.ts +7 -4
  188. package/types/math.d.ts +6 -1
  189. package/types/packages/excalidraw/example/App.d.ts +7 -1
  190. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  191. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  192. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  193. package/types/packages/excalidraw/index.d.ts +19 -3
  194. package/types/packages/excalidraw/main.d.ts +3 -1
  195. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  196. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  197. package/types/packages/utils.d.ts +28 -24
  198. package/types/renderer/renderElement.d.ts +12 -22
  199. package/types/renderer/renderScene.d.ts +19 -29
  200. package/types/renderer/renderSnaps.d.ts +2 -0
  201. package/types/renderer/roundRect.d.ts +1 -1
  202. package/types/scene/Renderer.d.ts +25 -0
  203. package/types/scene/Scene.d.ts +27 -5
  204. package/types/scene/Shape.d.ts +12 -0
  205. package/types/scene/ShapeCache.d.ts +20 -0
  206. package/types/scene/comparisons.d.ts +1 -1
  207. package/types/scene/export.d.ts +182 -10
  208. package/types/scene/index.d.ts +1 -1
  209. package/types/scene/scroll.d.ts +1 -1
  210. package/types/scene/scrollbars.d.ts +2 -6
  211. package/types/scene/selection.d.ts +27 -6
  212. package/types/scene/types.d.ts +69 -26
  213. package/types/snapping.d.ts +108 -0
  214. package/types/types.d.ts +196 -81
  215. package/types/utility-types.d.ts +24 -0
  216. package/types/utils.d.ts +78 -12
  217. package/types/zindex.d.ts +4 -4
  218. package/types/components/ActiveFile.d.ts +0 -7
  219. package/types/components/ClearCanvas.d.ts +0 -4
  220. package/types/components/CollabButton.d.ts +0 -6
  221. package/types/components/ColorPicker.d.ts +0 -14
  222. package/types/components/Footer.d.ts +0 -10
  223. package/types/components/LibraryButton.d.ts +0 -8
  224. package/types/components/MenuItem.d.ts +0 -11
  225. package/types/components/MenuUtils.d.ts +0 -1
  226. package/types/components/SingleLibraryItem.d.ts +0 -10
  227. package/types/components/WelcomeScreen.d.ts +0 -10
  228. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  229. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  230. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  231. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  232. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -0,0 +1,441 @@
1
+ import { ExcalidrawElement } from "../element/types";
2
+ import { AppClassProperties, AppState } from "../types";
3
+ export declare const actionSelectAllElementsInFrame: {
4
+ name: "selectAllElementsInFrame";
5
+ trackEvent: {
6
+ category: "canvas";
7
+ };
8
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
9
+ elements: readonly ExcalidrawElement[];
10
+ appState: Readonly<AppState>;
11
+ commitToHistory: false;
12
+ };
13
+ contextItemLabel: string;
14
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
15
+ } & {
16
+ keyTest?: undefined;
17
+ };
18
+ export declare const actionRemoveAllElementsFromFrame: {
19
+ name: "removeAllElementsFromFrame";
20
+ trackEvent: {
21
+ category: "history";
22
+ };
23
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
24
+ elements: ExcalidrawElement[];
25
+ appState: {
26
+ selectedElementIds: {
27
+ [x: string]: true;
28
+ };
29
+ contextMenu: {
30
+ items: import("../components/ContextMenu").ContextMenuItems;
31
+ top: number;
32
+ left: number;
33
+ } | null;
34
+ showWelcomeScreen: boolean;
35
+ isLoading: boolean;
36
+ errorMessage: import("react").ReactNode;
37
+ activeEmbeddable: {
38
+ element: import("../element/types").NonDeletedExcalidrawElement;
39
+ state: "active" | "hover";
40
+ } | null;
41
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
42
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
44
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
45
+ isBindingEnabled: boolean;
46
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
47
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
48
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
49
+ frameRendering: {
50
+ enabled: boolean;
51
+ name: boolean;
52
+ outline: boolean;
53
+ clip: boolean;
54
+ };
55
+ editingFrame: string | null;
56
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
57
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
58
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
59
+ activeTool: {
60
+ lastActiveTool: import("../types").LastActiveTool;
61
+ locked: boolean;
62
+ } & ({
63
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
64
+ customType: null;
65
+ } | {
66
+ type: "custom";
67
+ customType: string;
68
+ });
69
+ penMode: boolean;
70
+ penDetected: boolean;
71
+ exportBackground: boolean;
72
+ exportEmbedScene: boolean;
73
+ exportWithDarkMode: boolean;
74
+ exportScale: number;
75
+ currentItemStrokeColor: string;
76
+ currentItemBackgroundColor: string;
77
+ currentItemFillStyle: import("../element/types").FillStyle;
78
+ currentItemStrokeWidth: number;
79
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
80
+ currentItemRoughness: number;
81
+ currentItemOpacity: number;
82
+ currentItemFontFamily: number;
83
+ currentItemFontSize: number;
84
+ currentItemTextAlign: string;
85
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
86
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
87
+ currentItemRoundness: import("../element/types").StrokeRoundness;
88
+ viewBackgroundColor: string;
89
+ scrollX: number;
90
+ scrollY: number;
91
+ cursorButton: "up" | "down";
92
+ scrolledOutside: boolean;
93
+ name: string;
94
+ isResizing: boolean;
95
+ isRotating: boolean;
96
+ zoom: Readonly<{
97
+ value: import("../types").NormalizedZoomValue;
98
+ }>;
99
+ openMenu: "canvas" | "shape" | null;
100
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
101
+ openSidebar: {
102
+ name: string;
103
+ tab?: string | undefined;
104
+ } | null;
105
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
106
+ defaultSidebarDockedPreference: boolean;
107
+ lastPointerDownWith: import("../element/types").PointerType;
108
+ previousSelectedElementIds: {
109
+ [id: string]: true;
110
+ };
111
+ selectedElementsAreBeingDragged: boolean;
112
+ shouldCacheIgnoreZoom: boolean;
113
+ toast: {
114
+ message: string;
115
+ closable?: boolean | undefined;
116
+ duration?: number | undefined;
117
+ } | null;
118
+ zenModeEnabled: boolean;
119
+ theme: import("../element/types").Theme;
120
+ gridSize: number | null;
121
+ viewModeEnabled: boolean;
122
+ selectedGroupIds: {
123
+ [groupId: string]: boolean;
124
+ };
125
+ editingGroupId: string | null;
126
+ width: number;
127
+ height: number;
128
+ offsetTop: number;
129
+ offsetLeft: number;
130
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
131
+ collaborators: Map<string, import("../types").Collaborator>;
132
+ showStats: boolean;
133
+ currentChartType: import("../element/types").ChartType;
134
+ pasteDialog: {
135
+ shown: false;
136
+ data: null;
137
+ } | {
138
+ shown: true;
139
+ data: import("../charts").Spreadsheet;
140
+ };
141
+ pendingImageElementId: string | null;
142
+ showHyperlinkPopup: false | "editor" | "info";
143
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
144
+ snapLines: import("../snapping").SnapLine[];
145
+ originSnapOffset: {
146
+ x: number;
147
+ y: number;
148
+ } | null;
149
+ objectsSnapModeEnabled: boolean;
150
+ };
151
+ commitToHistory: true;
152
+ } | {
153
+ elements: readonly ExcalidrawElement[];
154
+ appState: Readonly<AppState>;
155
+ commitToHistory: false;
156
+ };
157
+ contextItemLabel: string;
158
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
159
+ } & {
160
+ keyTest?: undefined;
161
+ };
162
+ export declare const actionupdateFrameRendering: {
163
+ name: "updateFrameRendering";
164
+ viewMode: true;
165
+ trackEvent: {
166
+ category: "canvas";
167
+ };
168
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
169
+ elements: readonly ExcalidrawElement[];
170
+ appState: {
171
+ frameRendering: {
172
+ enabled: boolean;
173
+ name: boolean;
174
+ outline: boolean;
175
+ clip: boolean;
176
+ };
177
+ contextMenu: {
178
+ items: import("../components/ContextMenu").ContextMenuItems;
179
+ top: number;
180
+ left: number;
181
+ } | null;
182
+ showWelcomeScreen: boolean;
183
+ isLoading: boolean;
184
+ errorMessage: import("react").ReactNode;
185
+ activeEmbeddable: {
186
+ element: import("../element/types").NonDeletedExcalidrawElement;
187
+ state: "active" | "hover";
188
+ } | null;
189
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
190
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
191
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
192
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
193
+ isBindingEnabled: boolean;
194
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
195
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
196
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
197
+ editingFrame: string | null;
198
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
199
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
200
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
201
+ activeTool: {
202
+ lastActiveTool: import("../types").LastActiveTool;
203
+ locked: boolean;
204
+ } & ({
205
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
206
+ customType: null;
207
+ } | {
208
+ type: "custom";
209
+ customType: string;
210
+ });
211
+ penMode: boolean;
212
+ penDetected: boolean;
213
+ exportBackground: boolean;
214
+ exportEmbedScene: boolean;
215
+ exportWithDarkMode: boolean;
216
+ exportScale: number;
217
+ currentItemStrokeColor: string;
218
+ currentItemBackgroundColor: string;
219
+ currentItemFillStyle: import("../element/types").FillStyle;
220
+ currentItemStrokeWidth: number;
221
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
222
+ currentItemRoughness: number;
223
+ currentItemOpacity: number;
224
+ currentItemFontFamily: number;
225
+ currentItemFontSize: number;
226
+ currentItemTextAlign: string;
227
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
228
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
229
+ currentItemRoundness: import("../element/types").StrokeRoundness;
230
+ viewBackgroundColor: string;
231
+ scrollX: number;
232
+ scrollY: number;
233
+ cursorButton: "up" | "down";
234
+ scrolledOutside: boolean;
235
+ name: string;
236
+ isResizing: boolean;
237
+ isRotating: boolean;
238
+ zoom: Readonly<{
239
+ value: import("../types").NormalizedZoomValue;
240
+ }>;
241
+ openMenu: "canvas" | "shape" | null;
242
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
243
+ openSidebar: {
244
+ name: string;
245
+ tab?: string | undefined;
246
+ } | null;
247
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
248
+ defaultSidebarDockedPreference: boolean;
249
+ lastPointerDownWith: import("../element/types").PointerType;
250
+ selectedElementIds: Readonly<{
251
+ [id: string]: true;
252
+ }>;
253
+ previousSelectedElementIds: {
254
+ [id: string]: true;
255
+ };
256
+ selectedElementsAreBeingDragged: boolean;
257
+ shouldCacheIgnoreZoom: boolean;
258
+ toast: {
259
+ message: string;
260
+ closable?: boolean | undefined;
261
+ duration?: number | undefined;
262
+ } | null;
263
+ zenModeEnabled: boolean;
264
+ theme: import("../element/types").Theme;
265
+ gridSize: number | null;
266
+ viewModeEnabled: boolean;
267
+ selectedGroupIds: {
268
+ [groupId: string]: boolean;
269
+ };
270
+ editingGroupId: string | null;
271
+ width: number;
272
+ height: number;
273
+ offsetTop: number;
274
+ offsetLeft: number;
275
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
276
+ collaborators: Map<string, import("../types").Collaborator>;
277
+ showStats: boolean;
278
+ currentChartType: import("../element/types").ChartType;
279
+ pasteDialog: {
280
+ shown: false;
281
+ data: null;
282
+ } | {
283
+ shown: true;
284
+ data: import("../charts").Spreadsheet;
285
+ };
286
+ pendingImageElementId: string | null;
287
+ showHyperlinkPopup: false | "editor" | "info";
288
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
289
+ snapLines: import("../snapping").SnapLine[];
290
+ originSnapOffset: {
291
+ x: number;
292
+ y: number;
293
+ } | null;
294
+ objectsSnapModeEnabled: boolean;
295
+ };
296
+ commitToHistory: false;
297
+ };
298
+ contextItemLabel: string;
299
+ checked: (appState: AppState) => boolean;
300
+ } & {
301
+ keyTest?: undefined;
302
+ };
303
+ export declare const actionSetFrameAsActiveTool: {
304
+ name: "setFrameAsActiveTool";
305
+ trackEvent: {
306
+ category: "toolbar";
307
+ };
308
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
309
+ elements: readonly ExcalidrawElement[];
310
+ appState: {
311
+ activeTool: {
312
+ lastActiveTool: import("../types").LastActiveTool;
313
+ locked: boolean;
314
+ } & ({
315
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
316
+ customType: null;
317
+ } | {
318
+ type: "custom";
319
+ customType: string;
320
+ });
321
+ contextMenu: {
322
+ items: import("../components/ContextMenu").ContextMenuItems;
323
+ top: number;
324
+ left: number;
325
+ } | null;
326
+ showWelcomeScreen: boolean;
327
+ isLoading: boolean;
328
+ errorMessage: import("react").ReactNode;
329
+ activeEmbeddable: {
330
+ element: import("../element/types").NonDeletedExcalidrawElement;
331
+ state: "active" | "hover";
332
+ } | null;
333
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
334
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
335
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
336
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
337
+ isBindingEnabled: boolean;
338
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
339
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
340
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
341
+ frameRendering: {
342
+ enabled: boolean;
343
+ name: boolean;
344
+ outline: boolean;
345
+ clip: boolean;
346
+ };
347
+ editingFrame: string | null;
348
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
349
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
350
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
351
+ penMode: boolean;
352
+ penDetected: boolean;
353
+ exportBackground: boolean;
354
+ exportEmbedScene: boolean;
355
+ exportWithDarkMode: boolean;
356
+ exportScale: number;
357
+ currentItemStrokeColor: string;
358
+ currentItemBackgroundColor: string;
359
+ currentItemFillStyle: import("../element/types").FillStyle;
360
+ currentItemStrokeWidth: number;
361
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
362
+ currentItemRoughness: number;
363
+ currentItemOpacity: number;
364
+ currentItemFontFamily: number;
365
+ currentItemFontSize: number;
366
+ currentItemTextAlign: string;
367
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
368
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
369
+ currentItemRoundness: import("../element/types").StrokeRoundness;
370
+ viewBackgroundColor: string;
371
+ scrollX: number;
372
+ scrollY: number;
373
+ cursorButton: "up" | "down";
374
+ scrolledOutside: boolean;
375
+ name: string;
376
+ isResizing: boolean;
377
+ isRotating: boolean;
378
+ zoom: Readonly<{
379
+ value: import("../types").NormalizedZoomValue;
380
+ }>;
381
+ openMenu: "canvas" | "shape" | null;
382
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
383
+ openSidebar: {
384
+ name: string;
385
+ tab?: string | undefined;
386
+ } | null;
387
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
388
+ defaultSidebarDockedPreference: boolean;
389
+ lastPointerDownWith: import("../element/types").PointerType;
390
+ selectedElementIds: Readonly<{
391
+ [id: string]: true;
392
+ }>;
393
+ previousSelectedElementIds: {
394
+ [id: string]: true;
395
+ };
396
+ selectedElementsAreBeingDragged: boolean;
397
+ shouldCacheIgnoreZoom: boolean;
398
+ toast: {
399
+ message: string;
400
+ closable?: boolean | undefined;
401
+ duration?: number | undefined;
402
+ } | null;
403
+ zenModeEnabled: boolean;
404
+ theme: import("../element/types").Theme;
405
+ gridSize: number | null;
406
+ viewModeEnabled: boolean;
407
+ selectedGroupIds: {
408
+ [groupId: string]: boolean;
409
+ };
410
+ editingGroupId: string | null;
411
+ width: number;
412
+ height: number;
413
+ offsetTop: number;
414
+ offsetLeft: number;
415
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
416
+ collaborators: Map<string, import("../types").Collaborator>;
417
+ showStats: boolean;
418
+ currentChartType: import("../element/types").ChartType;
419
+ pasteDialog: {
420
+ shown: false;
421
+ data: null;
422
+ } | {
423
+ shown: true;
424
+ data: import("../charts").Spreadsheet;
425
+ };
426
+ pendingImageElementId: string | null;
427
+ showHyperlinkPopup: false | "editor" | "info";
428
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
429
+ snapLines: import("../snapping").SnapLine[];
430
+ originSnapOffset: {
431
+ x: number;
432
+ y: number;
433
+ } | null;
434
+ objectsSnapModeEnabled: boolean;
435
+ };
436
+ commitToHistory: false;
437
+ };
438
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
439
+ } & {
440
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
441
+ };