@excalidraw/math 0.18.0-b9d27d3 → 0.18.0-c141960

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 (102) hide show
  1. package/dist/dev/index.js +58 -61
  2. package/dist/dev/index.js.map +3 -3
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/src/constants.d.ts +9 -13
  5. package/dist/types/common/src/editorInterface.d.ts +34 -0
  6. package/dist/types/common/src/index.d.ts +2 -0
  7. package/dist/types/common/src/utils.d.ts +9 -3
  8. package/dist/types/common/src/visualdebug.d.ts +41 -0
  9. package/dist/types/element/src/binding.d.ts +55 -43
  10. package/dist/types/element/src/collision.d.ts +6 -2
  11. package/dist/types/element/src/index.d.ts +0 -3
  12. package/dist/types/element/src/linearElementEditor.d.ts +15 -18
  13. package/dist/types/element/src/renderElement.d.ts +5 -2
  14. package/dist/types/element/src/resizeTest.d.ts +5 -4
  15. package/dist/types/element/src/transformHandles.d.ts +5 -4
  16. package/dist/types/element/src/typeChecks.d.ts +2 -3
  17. package/dist/types/element/src/types.d.ts +7 -11
  18. package/dist/types/element/src/utils.d.ts +2 -1
  19. package/dist/types/element/src/zindex.d.ts +7 -1
  20. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +34 -13
  21. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  22. package/dist/types/excalidraw/actions/actionBoundText.d.ts +25 -11
  23. package/dist/types/excalidraw/actions/actionCanvas.d.ts +152 -275
  24. package/dist/types/excalidraw/actions/actionClipboard.d.ts +46 -773
  25. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +12 -5
  26. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +42 -23
  27. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -2
  28. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  29. package/dist/types/excalidraw/actions/actionElementLink.d.ts +11 -6
  30. package/dist/types/excalidraw/actions/actionElementLock.d.ts +23 -9
  31. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +12 -5
  32. package/dist/types/excalidraw/actions/actionExport.d.ts +68 -943
  33. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -393
  34. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -2
  35. package/dist/types/excalidraw/actions/actionFrame.d.ts +50 -24
  36. package/dist/types/excalidraw/actions/actionGroup.d.ts +24 -10
  37. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +22 -19
  38. package/dist/types/excalidraw/actions/actionLink.d.ts +9 -2
  39. package/dist/types/excalidraw/actions/actionMenu.d.ts +10 -371
  40. package/dist/types/excalidraw/actions/actionNavigate.d.ts +21 -359
  41. package/dist/types/excalidraw/actions/actionProperties.d.ts +87 -2403
  42. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +12 -5
  43. package/dist/types/excalidraw/actions/actionStyles.d.ts +13 -6
  44. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  45. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +11 -4
  46. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +11 -4
  47. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +10 -5
  48. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  49. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +11 -4
  50. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +11 -4
  51. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +12 -5
  52. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -2
  53. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  54. package/dist/types/excalidraw/actions/manager.d.ts +1 -1
  55. package/dist/types/excalidraw/actions/register.d.ts +1 -1
  56. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  57. package/dist/types/excalidraw/appState.d.ts +9 -4
  58. package/dist/types/excalidraw/clipboard.d.ts +2 -0
  59. package/dist/types/excalidraw/components/Actions.d.ts +21 -4
  60. package/dist/types/excalidraw/components/App.d.ts +26 -19
  61. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  62. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  63. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  64. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  65. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -2
  66. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
  67. package/dist/types/excalidraw/components/FilledButton.d.ts +1 -1
  68. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  69. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  70. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  71. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  72. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  73. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  74. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  75. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  76. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  77. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  78. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  79. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  80. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  81. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  82. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  83. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  84. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  85. package/dist/types/excalidraw/components/icons.d.ts +10 -0
  86. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +13 -1
  87. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +0 -3
  88. package/dist/types/excalidraw/data/blob.d.ts +2 -2
  89. package/dist/types/excalidraw/data/restore.d.ts +3 -3
  90. package/dist/types/excalidraw/data/types.d.ts +4 -1
  91. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  92. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +3 -1
  93. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  94. package/dist/types/excalidraw/index.d.ts +2 -3
  95. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  96. package/dist/types/excalidraw/renderer/helpers.d.ts +2 -6
  97. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +5 -13
  98. package/dist/types/excalidraw/scene/types.d.ts +15 -3
  99. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  100. package/dist/types/excalidraw/types.d.ts +31 -21
  101. package/dist/types/math/src/segment.d.ts +1 -0
  102. package/package.json +2 -2
@@ -1,738 +1,18 @@
1
1
  /// <reference types="react" />
2
2
  import type { Theme } from "@excalidraw/element/types";
3
3
  import "../components/ToolIcon.scss";
4
- export declare const actionChangeProjectName: {
5
- name: "changeProjectName";
6
- label: string;
7
- trackEvent: false;
8
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
9
- appState: {
10
- name: any;
11
- contextMenu: {
12
- items: import("../components/ContextMenu").ContextMenuItems;
13
- top: number;
14
- left: number;
15
- } | null;
16
- showWelcomeScreen: boolean;
17
- isLoading: boolean;
18
- errorMessage: import("react").ReactNode;
19
- activeEmbeddable: {
20
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
21
- state: "active" | "hover";
22
- } | null;
23
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
24
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
25
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
26
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
27
- isBindingEnabled: boolean;
28
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
29
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
30
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
31
- frameRendering: {
32
- enabled: boolean;
33
- name: boolean;
34
- outline: boolean;
35
- clip: boolean;
36
- };
37
- editingFrame: string | null;
38
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
39
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
40
- activeTool: {
41
- lastActiveTool: import("../types").ActiveTool | null;
42
- locked: boolean;
43
- fromSelection: boolean;
44
- } & import("../types").ActiveTool;
45
- penMode: boolean;
46
- penDetected: boolean;
47
- exportBackground: boolean;
48
- exportEmbedScene: boolean;
49
- exportWithDarkMode: boolean;
50
- exportScale: number;
51
- currentItemStrokeColor: string;
52
- currentItemBackgroundColor: string;
53
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
54
- currentItemStrokeWidth: number;
55
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
56
- currentItemRoughness: number;
57
- currentItemOpacity: number;
58
- currentItemFontFamily: number;
59
- currentItemFontSize: number;
60
- currentItemTextAlign: string;
61
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
62
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
63
- currentHoveredFontFamily: number | null;
64
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
65
- currentItemArrowType: "round" | "sharp" | "elbow";
66
- viewBackgroundColor: string;
67
- scrollX: number;
68
- scrollY: number;
69
- cursorButton: "up" | "down";
70
- scrolledOutside: boolean;
71
- isResizing: boolean;
72
- isRotating: boolean;
73
- zoom: Readonly<{
74
- value: import("../types").NormalizedZoomValue;
75
- }>;
76
- openMenu: "canvas" | "shape" | null;
77
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
78
- openSidebar: {
79
- name: string;
80
- tab?: string | undefined;
81
- } | null;
82
- openDialog: {
83
- name: "imageExport" | "help" | "jsonExport";
84
- } | {
85
- name: "ttd";
86
- tab: "mermaid" | "text-to-diagram";
87
- } | {
88
- name: "commandPalette";
89
- } | {
90
- name: "elementLinkSelector";
91
- sourceElementId: string;
92
- } | null;
93
- defaultSidebarDockedPreference: boolean;
94
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
95
- selectedElementIds: Readonly<{
96
- [id: string]: true;
97
- }>;
98
- hoveredElementIds: Readonly<{
99
- [id: string]: true;
100
- }>;
101
- previousSelectedElementIds: {
102
- [id: string]: true;
103
- };
104
- selectedElementsAreBeingDragged: boolean;
105
- shouldCacheIgnoreZoom: boolean;
106
- toast: {
107
- message: string;
108
- closable?: boolean | undefined;
109
- duration?: number | undefined;
110
- } | null;
111
- zenModeEnabled: boolean;
112
- theme: Theme;
113
- gridSize: number;
114
- gridStep: number;
115
- gridModeEnabled: boolean;
116
- viewModeEnabled: boolean;
117
- selectedGroupIds: {
118
- [groupId: string]: boolean;
119
- };
120
- editingGroupId: string | null;
121
- width: number;
122
- height: number;
123
- offsetTop: number;
124
- offsetLeft: number;
125
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
126
- collaborators: Map<import("../types").SocketId, Readonly<{
127
- pointer?: import("../types").CollaboratorPointer | undefined;
128
- button?: "up" | "down" | undefined;
129
- selectedElementIds?: Readonly<{
130
- [id: string]: true;
131
- }> | undefined;
132
- username?: string | null | undefined;
133
- userState?: import("@excalidraw/common").UserIdleState | undefined;
134
- color?: {
135
- background: string;
136
- stroke: string;
137
- } | undefined;
138
- avatarUrl?: string | undefined;
139
- id?: string | undefined;
140
- socketId?: import("../types").SocketId | undefined;
141
- isCurrentUser?: boolean | undefined;
142
- isInCall?: boolean | undefined;
143
- isSpeaking?: boolean | undefined;
144
- isMuted?: boolean | undefined;
145
- }>>;
146
- stats: {
147
- open: boolean;
148
- panels: number;
149
- };
150
- currentChartType: import("@excalidraw/element/types").ChartType;
151
- pasteDialog: {
152
- shown: false;
153
- data: null;
154
- } | {
155
- shown: true;
156
- data: import("../charts").Spreadsheet;
157
- };
158
- showHyperlinkPopup: false | "editor" | "info";
159
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
160
- snapLines: readonly import("../snapping").SnapLine[];
161
- originSnapOffset: {
162
- x: number;
163
- y: number;
164
- } | null;
165
- objectsSnapModeEnabled: boolean;
166
- userToFollow: import("../types").UserToFollow | null;
167
- followedBy: Set<import("../types").SocketId>;
168
- isCropping: boolean;
169
- croppingElementId: string | null;
170
- searchMatches: Readonly<{
171
- focusedId: string | null;
172
- matches: readonly import("../types").SearchMatch[];
173
- }> | null;
174
- activeLockedId: string | null;
175
- lockedMultiSelections: {
176
- [groupId: string]: true;
177
- };
178
- };
179
- captureUpdate: "EVENTUALLY";
180
- };
181
- PanelComponent: ({ appState, updateData, appProps, data, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
182
- } & {
183
- keyTest?: undefined;
184
- };
185
- export declare const actionChangeExportScale: {
186
- name: "changeExportScale";
187
- label: string;
188
- trackEvent: {
189
- category: "export";
190
- action: string;
191
- };
192
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
193
- appState: {
194
- exportScale: any;
195
- contextMenu: {
196
- items: import("../components/ContextMenu").ContextMenuItems;
197
- top: number;
198
- left: number;
199
- } | null;
200
- showWelcomeScreen: boolean;
201
- isLoading: boolean;
202
- errorMessage: import("react").ReactNode;
203
- activeEmbeddable: {
204
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
205
- state: "active" | "hover";
206
- } | null;
207
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
208
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
209
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
210
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
211
- isBindingEnabled: boolean;
212
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
213
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
214
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
215
- frameRendering: {
216
- enabled: boolean;
217
- name: boolean;
218
- outline: boolean;
219
- clip: boolean;
220
- };
221
- editingFrame: string | null;
222
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
223
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
224
- activeTool: {
225
- lastActiveTool: import("../types").ActiveTool | null;
226
- locked: boolean;
227
- fromSelection: boolean;
228
- } & import("../types").ActiveTool;
229
- penMode: boolean;
230
- penDetected: boolean;
231
- exportBackground: boolean;
232
- exportEmbedScene: boolean;
233
- exportWithDarkMode: boolean;
234
- currentItemStrokeColor: string;
235
- currentItemBackgroundColor: string;
236
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
237
- currentItemStrokeWidth: number;
238
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
239
- currentItemRoughness: number;
240
- currentItemOpacity: number;
241
- currentItemFontFamily: number;
242
- currentItemFontSize: number;
243
- currentItemTextAlign: string;
244
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
245
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
246
- currentHoveredFontFamily: number | null;
247
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
248
- currentItemArrowType: "round" | "sharp" | "elbow";
249
- viewBackgroundColor: string;
250
- scrollX: number;
251
- scrollY: number;
252
- cursorButton: "up" | "down";
253
- scrolledOutside: boolean;
254
- name: string | null;
255
- isResizing: boolean;
256
- isRotating: boolean;
257
- zoom: Readonly<{
258
- value: import("../types").NormalizedZoomValue;
259
- }>;
260
- openMenu: "canvas" | "shape" | null;
261
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
262
- openSidebar: {
263
- name: string;
264
- tab?: string | undefined;
265
- } | null;
266
- openDialog: {
267
- name: "imageExport" | "help" | "jsonExport";
268
- } | {
269
- name: "ttd";
270
- tab: "mermaid" | "text-to-diagram";
271
- } | {
272
- name: "commandPalette";
273
- } | {
274
- name: "elementLinkSelector";
275
- sourceElementId: string;
276
- } | null;
277
- defaultSidebarDockedPreference: boolean;
278
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
279
- selectedElementIds: Readonly<{
280
- [id: string]: true;
281
- }>;
282
- hoveredElementIds: Readonly<{
283
- [id: string]: true;
284
- }>;
285
- previousSelectedElementIds: {
286
- [id: string]: true;
287
- };
288
- selectedElementsAreBeingDragged: boolean;
289
- shouldCacheIgnoreZoom: boolean;
290
- toast: {
291
- message: string;
292
- closable?: boolean | undefined;
293
- duration?: number | undefined;
294
- } | null;
295
- zenModeEnabled: boolean;
296
- theme: Theme;
297
- gridSize: number;
298
- gridStep: number;
299
- gridModeEnabled: boolean;
300
- viewModeEnabled: boolean;
301
- selectedGroupIds: {
302
- [groupId: string]: boolean;
303
- };
304
- editingGroupId: string | null;
305
- width: number;
306
- height: number;
307
- offsetTop: number;
308
- offsetLeft: number;
309
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
310
- collaborators: Map<import("../types").SocketId, Readonly<{
311
- pointer?: import("../types").CollaboratorPointer | undefined;
312
- button?: "up" | "down" | undefined;
313
- selectedElementIds?: Readonly<{
314
- [id: string]: true;
315
- }> | undefined;
316
- username?: string | null | undefined;
317
- userState?: import("@excalidraw/common").UserIdleState | undefined;
318
- color?: {
319
- background: string;
320
- stroke: string;
321
- } | undefined;
322
- avatarUrl?: string | undefined;
323
- id?: string | undefined;
324
- socketId?: import("../types").SocketId | undefined;
325
- isCurrentUser?: boolean | undefined;
326
- isInCall?: boolean | undefined;
327
- isSpeaking?: boolean | undefined;
328
- isMuted?: boolean | undefined;
329
- }>>;
330
- stats: {
331
- open: boolean;
332
- panels: number;
333
- };
334
- currentChartType: import("@excalidraw/element/types").ChartType;
335
- pasteDialog: {
336
- shown: false;
337
- data: null;
338
- } | {
339
- shown: true;
340
- data: import("../charts").Spreadsheet;
341
- };
342
- showHyperlinkPopup: false | "editor" | "info";
343
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
344
- snapLines: readonly import("../snapping").SnapLine[];
345
- originSnapOffset: {
346
- x: number;
347
- y: number;
348
- } | null;
349
- objectsSnapModeEnabled: boolean;
350
- userToFollow: import("../types").UserToFollow | null;
351
- followedBy: Set<import("../types").SocketId>;
352
- isCropping: boolean;
353
- croppingElementId: string | null;
354
- searchMatches: Readonly<{
355
- focusedId: string | null;
356
- matches: readonly import("../types").SearchMatch[];
357
- }> | null;
358
- activeLockedId: string | null;
359
- lockedMultiSelections: {
360
- [groupId: string]: true;
361
- };
362
- };
363
- captureUpdate: "EVENTUALLY";
364
- };
365
- PanelComponent: ({ elements: allElements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
366
- } & {
367
- keyTest?: undefined;
368
- };
369
- export declare const actionChangeExportBackground: {
370
- name: "changeExportBackground";
371
- label: string;
372
- trackEvent: {
373
- category: "export";
374
- action: string;
375
- };
376
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
377
- appState: {
378
- exportBackground: any;
379
- contextMenu: {
380
- items: import("../components/ContextMenu").ContextMenuItems;
381
- top: number;
382
- left: number;
383
- } | null;
384
- showWelcomeScreen: boolean;
385
- isLoading: boolean;
386
- errorMessage: import("react").ReactNode;
387
- activeEmbeddable: {
388
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
389
- state: "active" | "hover";
390
- } | null;
391
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
392
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
393
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
394
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
395
- isBindingEnabled: boolean;
396
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
397
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
398
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
399
- frameRendering: {
400
- enabled: boolean;
401
- name: boolean;
402
- outline: boolean;
403
- clip: boolean;
404
- };
405
- editingFrame: string | null;
406
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
407
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
408
- activeTool: {
409
- lastActiveTool: import("../types").ActiveTool | null;
410
- locked: boolean;
411
- fromSelection: boolean;
412
- } & import("../types").ActiveTool;
413
- penMode: boolean;
414
- penDetected: boolean;
415
- exportEmbedScene: boolean;
416
- exportWithDarkMode: boolean;
417
- exportScale: number;
418
- currentItemStrokeColor: string;
419
- currentItemBackgroundColor: string;
420
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
421
- currentItemStrokeWidth: number;
422
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
423
- currentItemRoughness: number;
424
- currentItemOpacity: number;
425
- currentItemFontFamily: number;
426
- currentItemFontSize: number;
427
- currentItemTextAlign: string;
428
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
429
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
430
- currentHoveredFontFamily: number | null;
431
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
432
- currentItemArrowType: "round" | "sharp" | "elbow";
433
- viewBackgroundColor: string;
434
- scrollX: number;
435
- scrollY: number;
436
- cursorButton: "up" | "down";
437
- scrolledOutside: boolean;
438
- name: string | null;
439
- isResizing: boolean;
440
- isRotating: boolean;
441
- zoom: Readonly<{
442
- value: import("../types").NormalizedZoomValue;
443
- }>;
444
- openMenu: "canvas" | "shape" | null;
445
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
446
- openSidebar: {
447
- name: string;
448
- tab?: string | undefined;
449
- } | null;
450
- openDialog: {
451
- name: "imageExport" | "help" | "jsonExport";
452
- } | {
453
- name: "ttd";
454
- tab: "mermaid" | "text-to-diagram";
455
- } | {
456
- name: "commandPalette";
457
- } | {
458
- name: "elementLinkSelector";
459
- sourceElementId: string;
460
- } | null;
461
- defaultSidebarDockedPreference: boolean;
462
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
463
- selectedElementIds: Readonly<{
464
- [id: string]: true;
465
- }>;
466
- hoveredElementIds: Readonly<{
467
- [id: string]: true;
468
- }>;
469
- previousSelectedElementIds: {
470
- [id: string]: true;
471
- };
472
- selectedElementsAreBeingDragged: boolean;
473
- shouldCacheIgnoreZoom: boolean;
474
- toast: {
475
- message: string;
476
- closable?: boolean | undefined;
477
- duration?: number | undefined;
478
- } | null;
479
- zenModeEnabled: boolean;
480
- theme: Theme;
481
- gridSize: number;
482
- gridStep: number;
483
- gridModeEnabled: boolean;
484
- viewModeEnabled: boolean;
485
- selectedGroupIds: {
486
- [groupId: string]: boolean;
487
- };
488
- editingGroupId: string | null;
489
- width: number;
490
- height: number;
491
- offsetTop: number;
492
- offsetLeft: number;
493
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
494
- collaborators: Map<import("../types").SocketId, Readonly<{
495
- pointer?: import("../types").CollaboratorPointer | undefined;
496
- button?: "up" | "down" | undefined;
497
- selectedElementIds?: Readonly<{
498
- [id: string]: true;
499
- }> | undefined;
500
- username?: string | null | undefined;
501
- userState?: import("@excalidraw/common").UserIdleState | undefined;
502
- color?: {
503
- background: string;
504
- stroke: string;
505
- } | undefined;
506
- avatarUrl?: string | undefined;
507
- id?: string | undefined;
508
- socketId?: import("../types").SocketId | undefined;
509
- isCurrentUser?: boolean | undefined;
510
- isInCall?: boolean | undefined;
511
- isSpeaking?: boolean | undefined;
512
- isMuted?: boolean | undefined;
513
- }>>;
514
- stats: {
515
- open: boolean;
516
- panels: number;
517
- };
518
- currentChartType: import("@excalidraw/element/types").ChartType;
519
- pasteDialog: {
520
- shown: false;
521
- data: null;
522
- } | {
523
- shown: true;
524
- data: import("../charts").Spreadsheet;
525
- };
526
- showHyperlinkPopup: false | "editor" | "info";
527
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
528
- snapLines: readonly import("../snapping").SnapLine[];
529
- originSnapOffset: {
530
- x: number;
531
- y: number;
532
- } | null;
533
- objectsSnapModeEnabled: boolean;
534
- userToFollow: import("../types").UserToFollow | null;
535
- followedBy: Set<import("../types").SocketId>;
536
- isCropping: boolean;
537
- croppingElementId: string | null;
538
- searchMatches: Readonly<{
539
- focusedId: string | null;
540
- matches: readonly import("../types").SearchMatch[];
541
- }> | null;
542
- activeLockedId: string | null;
543
- lockedMultiSelections: {
544
- [groupId: string]: true;
545
- };
546
- };
547
- captureUpdate: "EVENTUALLY";
548
- };
549
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
550
- } & {
551
- keyTest?: undefined;
552
- };
553
- export declare const actionChangeExportEmbedScene: {
554
- name: "changeExportEmbedScene";
555
- label: string;
556
- trackEvent: {
557
- category: "export";
558
- action: string;
559
- };
560
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
561
- appState: {
562
- exportEmbedScene: any;
563
- contextMenu: {
564
- items: import("../components/ContextMenu").ContextMenuItems;
565
- top: number;
566
- left: number;
567
- } | null;
568
- showWelcomeScreen: boolean;
569
- isLoading: boolean;
570
- errorMessage: import("react").ReactNode;
571
- activeEmbeddable: {
572
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
573
- state: "active" | "hover";
574
- } | null;
575
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
576
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
577
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
578
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
579
- isBindingEnabled: boolean;
580
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
581
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
582
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
583
- frameRendering: {
584
- enabled: boolean;
585
- name: boolean;
586
- outline: boolean;
587
- clip: boolean;
588
- };
589
- editingFrame: string | null;
590
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
591
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
592
- activeTool: {
593
- lastActiveTool: import("../types").ActiveTool | null;
594
- locked: boolean;
595
- fromSelection: boolean;
596
- } & import("../types").ActiveTool;
597
- penMode: boolean;
598
- penDetected: boolean;
599
- exportBackground: boolean;
600
- exportWithDarkMode: boolean;
601
- exportScale: number;
602
- currentItemStrokeColor: string;
603
- currentItemBackgroundColor: string;
604
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
605
- currentItemStrokeWidth: number;
606
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
607
- currentItemRoughness: number;
608
- currentItemOpacity: number;
609
- currentItemFontFamily: number;
610
- currentItemFontSize: number;
611
- currentItemTextAlign: string;
612
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
613
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
614
- currentHoveredFontFamily: number | null;
615
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
616
- currentItemArrowType: "round" | "sharp" | "elbow";
617
- viewBackgroundColor: string;
618
- scrollX: number;
619
- scrollY: number;
620
- cursorButton: "up" | "down";
621
- scrolledOutside: boolean;
622
- name: string | null;
623
- isResizing: boolean;
624
- isRotating: boolean;
625
- zoom: Readonly<{
626
- value: import("../types").NormalizedZoomValue;
627
- }>;
628
- openMenu: "canvas" | "shape" | null;
629
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
630
- openSidebar: {
631
- name: string;
632
- tab?: string | undefined;
633
- } | null;
634
- openDialog: {
635
- name: "imageExport" | "help" | "jsonExport";
636
- } | {
637
- name: "ttd";
638
- tab: "mermaid" | "text-to-diagram";
639
- } | {
640
- name: "commandPalette";
641
- } | {
642
- name: "elementLinkSelector";
643
- sourceElementId: string;
644
- } | null;
645
- defaultSidebarDockedPreference: boolean;
646
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
647
- selectedElementIds: Readonly<{
648
- [id: string]: true;
649
- }>;
650
- hoveredElementIds: Readonly<{
651
- [id: string]: true;
652
- }>;
653
- previousSelectedElementIds: {
654
- [id: string]: true;
655
- };
656
- selectedElementsAreBeingDragged: boolean;
657
- shouldCacheIgnoreZoom: boolean;
658
- toast: {
659
- message: string;
660
- closable?: boolean | undefined;
661
- duration?: number | undefined;
662
- } | null;
663
- zenModeEnabled: boolean;
664
- theme: Theme;
665
- gridSize: number;
666
- gridStep: number;
667
- gridModeEnabled: boolean;
668
- viewModeEnabled: boolean;
669
- selectedGroupIds: {
670
- [groupId: string]: boolean;
671
- };
672
- editingGroupId: string | null;
673
- width: number;
674
- height: number;
675
- offsetTop: number;
676
- offsetLeft: number;
677
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
678
- collaborators: Map<import("../types").SocketId, Readonly<{
679
- pointer?: import("../types").CollaboratorPointer | undefined;
680
- button?: "up" | "down" | undefined;
681
- selectedElementIds?: Readonly<{
682
- [id: string]: true;
683
- }> | undefined;
684
- username?: string | null | undefined;
685
- userState?: import("@excalidraw/common").UserIdleState | undefined;
686
- color?: {
687
- background: string;
688
- stroke: string;
689
- } | undefined;
690
- avatarUrl?: string | undefined;
691
- id?: string | undefined;
692
- socketId?: import("../types").SocketId | undefined;
693
- isCurrentUser?: boolean | undefined;
694
- isInCall?: boolean | undefined;
695
- isSpeaking?: boolean | undefined;
696
- isMuted?: boolean | undefined;
697
- }>>;
698
- stats: {
699
- open: boolean;
700
- panels: number;
701
- };
702
- currentChartType: import("@excalidraw/element/types").ChartType;
703
- pasteDialog: {
704
- shown: false;
705
- data: null;
706
- } | {
707
- shown: true;
708
- data: import("../charts").Spreadsheet;
709
- };
710
- showHyperlinkPopup: false | "editor" | "info";
711
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
712
- snapLines: readonly import("../snapping").SnapLine[];
713
- originSnapOffset: {
714
- x: number;
715
- y: number;
716
- } | null;
717
- objectsSnapModeEnabled: boolean;
718
- userToFollow: import("../types").UserToFollow | null;
719
- followedBy: Set<import("../types").SocketId>;
720
- isCropping: boolean;
721
- croppingElementId: string | null;
722
- searchMatches: Readonly<{
723
- focusedId: string | null;
724
- matches: readonly import("../types").SearchMatch[];
725
- }> | null;
726
- activeLockedId: string | null;
727
- lockedMultiSelections: {
728
- [groupId: string]: true;
729
- };
730
- };
731
- captureUpdate: "EVENTUALLY";
732
- };
733
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
734
- } & {
735
- keyTest?: undefined;
4
+ import type { AppState } from "../types";
5
+ export declare const actionChangeProjectName: import("./types").Action<string | null> & {
6
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
7
+ };
8
+ export declare const actionChangeExportScale: import("./types").Action<number> & {
9
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
10
+ };
11
+ export declare const actionChangeExportBackground: import("./types").Action<boolean> & {
12
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
13
+ };
14
+ export declare const actionChangeExportEmbedScene: import("./types").Action<boolean> & {
15
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
736
16
  };
737
17
  export declare const actionSaveToActiveFile: {
738
18
  name: "saveToActiveFile";
@@ -741,8 +21,8 @@ export declare const actionSaveToActiveFile: {
741
21
  trackEvent: {
742
22
  category: "export";
743
23
  };
744
- predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
745
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
24
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
25
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: import("../types").AppClassProperties) => Promise<{
746
26
  captureUpdate: "EVENTUALLY";
747
27
  appState: {
748
28
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
@@ -767,7 +47,7 @@ export declare const actionSaveToActiveFile: {
767
47
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
768
48
  isBindingEnabled: boolean;
769
49
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
770
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
50
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
771
51
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
772
52
  frameRendering: {
773
53
  enabled: boolean;
@@ -783,6 +63,10 @@ export declare const actionSaveToActiveFile: {
783
63
  locked: boolean;
784
64
  fromSelection: boolean;
785
65
  } & import("../types").ActiveTool;
66
+ preferredSelectionTool: {
67
+ type: "selection" | "lasso";
68
+ initialized: boolean;
69
+ };
786
70
  penMode: boolean;
787
71
  penDetected: boolean;
788
72
  exportBackground: boolean;
@@ -815,8 +99,8 @@ export declare const actionSaveToActiveFile: {
815
99
  zoom: Readonly<{
816
100
  value: import("../types").NormalizedZoomValue;
817
101
  }>;
818
- openMenu: "canvas" | "shape" | null;
819
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
102
+ openMenu: "canvas" | null;
103
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
820
104
  openSidebar: {
821
105
  name: string;
822
106
  tab?: string | undefined;
@@ -828,6 +112,8 @@ export declare const actionSaveToActiveFile: {
828
112
  tab: "mermaid" | "text-to-diagram";
829
113
  } | {
830
114
  name: "commandPalette";
115
+ } | {
116
+ name: "settings";
831
117
  } | {
832
118
  name: "elementLinkSelector";
833
119
  sourceElementId: string;
@@ -891,7 +177,7 @@ export declare const actionSaveToActiveFile: {
891
177
  shown: true;
892
178
  data: import("../charts").Spreadsheet;
893
179
  };
894
- showHyperlinkPopup: false | "editor" | "info";
180
+ showHyperlinkPopup: false | "info" | "editor";
895
181
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
896
182
  snapLines: readonly import("../snapping").SnapLine[];
897
183
  originSnapOffset: {
@@ -911,6 +197,7 @@ export declare const actionSaveToActiveFile: {
911
197
  lockedMultiSelections: {
912
198
  [groupId: string]: true;
913
199
  };
200
+ bindMode: import("@excalidraw/element/types").BindMode;
914
201
  };
915
202
  } | {
916
203
  captureUpdate: "EVENTUALLY";
@@ -928,7 +215,7 @@ export declare const actionSaveFileToDisk: {
928
215
  trackEvent: {
929
216
  category: "export";
930
217
  };
931
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
218
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: unknown, app: import("../types").AppClassProperties) => Promise<{
932
219
  captureUpdate: "EVENTUALLY";
933
220
  appState: {
934
221
  openDialog: null;
@@ -954,7 +241,7 @@ export declare const actionSaveFileToDisk: {
954
241
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
955
242
  isBindingEnabled: boolean;
956
243
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
957
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
244
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
958
245
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
959
246
  frameRendering: {
960
247
  enabled: boolean;
@@ -970,6 +257,10 @@ export declare const actionSaveFileToDisk: {
970
257
  locked: boolean;
971
258
  fromSelection: boolean;
972
259
  } & import("../types").ActiveTool;
260
+ preferredSelectionTool: {
261
+ type: "selection" | "lasso";
262
+ initialized: boolean;
263
+ };
973
264
  penMode: boolean;
974
265
  penDetected: boolean;
975
266
  exportBackground: boolean;
@@ -1002,8 +293,8 @@ export declare const actionSaveFileToDisk: {
1002
293
  zoom: Readonly<{
1003
294
  value: import("../types").NormalizedZoomValue;
1004
295
  }>;
1005
- openMenu: "canvas" | "shape" | null;
1006
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
296
+ openMenu: "canvas" | null;
297
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1007
298
  openSidebar: {
1008
299
  name: string;
1009
300
  tab?: string | undefined;
@@ -1067,7 +358,7 @@ export declare const actionSaveFileToDisk: {
1067
358
  shown: true;
1068
359
  data: import("../charts").Spreadsheet;
1069
360
  };
1070
- showHyperlinkPopup: false | "editor" | "info";
361
+ showHyperlinkPopup: false | "info" | "editor";
1071
362
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1072
363
  snapLines: readonly import("../snapping").SnapLine[];
1073
364
  originSnapOffset: {
@@ -1087,6 +378,7 @@ export declare const actionSaveFileToDisk: {
1087
378
  lockedMultiSelections: {
1088
379
  [groupId: string]: true;
1089
380
  };
381
+ bindMode: import("@excalidraw/element/types").BindMode;
1090
382
  };
1091
383
  } | {
1092
384
  captureUpdate: "EVENTUALLY";
@@ -1103,8 +395,8 @@ export declare const actionLoadScene: {
1103
395
  trackEvent: {
1104
396
  category: "export";
1105
397
  };
1106
- predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1107
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
398
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
399
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => Promise<false | {
1108
400
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
1109
401
  appState: {
1110
402
  viewBackgroundColor: string;
@@ -1128,6 +420,8 @@ export declare const actionLoadScene: {
1128
420
  tab: "mermaid" | "text-to-diagram";
1129
421
  } | {
1130
422
  name: "commandPalette";
423
+ } | {
424
+ name: "settings";
1131
425
  } | {
1132
426
  name: "elementLinkSelector";
1133
427
  sourceElementId: string;
@@ -1148,8 +442,9 @@ export declare const actionLoadScene: {
1148
442
  };
1149
443
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1150
444
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
445
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1151
446
  isBindingEnabled: boolean;
1152
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
447
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1153
448
  isRotating: boolean;
1154
449
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
1155
450
  collaborators: Map<import("../types").SocketId, Readonly<{
@@ -1182,6 +477,13 @@ export declare const actionLoadScene: {
1182
477
  matches: readonly import("../types").SearchMatch[];
1183
478
  }> | null;
1184
479
  activeLockedId: string | null;
480
+ hoveredElementIds: Readonly<{
481
+ [id: string]: true;
482
+ }>;
483
+ shouldCacheIgnoreZoom: boolean;
484
+ exportScale: number;
485
+ bindMode: import("@excalidraw/element/types").BindMode;
486
+ gridSize: number;
1185
487
  contextMenu: {
1186
488
  items: import("../components/ContextMenu").ContextMenuItems;
1187
489
  top: number;
@@ -1190,7 +492,6 @@ export declare const actionLoadScene: {
1190
492
  showWelcomeScreen: boolean;
1191
493
  isLoading: boolean;
1192
494
  errorMessage: import("react").ReactNode;
1193
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1194
495
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1195
496
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1196
497
  editingFrame: string | null;
@@ -1199,12 +500,15 @@ export declare const actionLoadScene: {
1199
500
  locked: boolean;
1200
501
  fromSelection: boolean;
1201
502
  } & import("../types").ActiveTool;
503
+ preferredSelectionTool: {
504
+ type: "selection" | "lasso";
505
+ initialized: boolean;
506
+ };
1202
507
  penMode: boolean;
1203
508
  penDetected: boolean;
1204
509
  exportBackground: boolean;
1205
510
  exportEmbedScene: boolean;
1206
511
  exportWithDarkMode: boolean;
1207
- exportScale: number;
1208
512
  currentItemStrokeColor: string;
1209
513
  currentItemBackgroundColor: string;
1210
514
  currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
@@ -1223,28 +527,23 @@ export declare const actionLoadScene: {
1223
527
  cursorButton: "up" | "down";
1224
528
  scrolledOutside: boolean;
1225
529
  isResizing: boolean;
1226
- openMenu: "canvas" | "shape" | null;
1227
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
530
+ openMenu: "canvas" | null;
531
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1228
532
  openSidebar: {
1229
533
  name: string;
1230
534
  tab?: string | undefined;
1231
535
  } | null;
1232
536
  defaultSidebarDockedPreference: boolean;
1233
537
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1234
- hoveredElementIds: Readonly<{
1235
- [id: string]: true;
1236
- }>;
1237
538
  previousSelectedElementIds: {
1238
539
  [id: string]: true;
1239
540
  };
1240
541
  selectedElementsAreBeingDragged: boolean;
1241
- shouldCacheIgnoreZoom: boolean;
1242
542
  toast: {
1243
543
  message: string;
1244
544
  closable?: boolean | undefined;
1245
545
  duration?: number | undefined;
1246
546
  } | null;
1247
- gridSize: number;
1248
547
  gridStep: number;
1249
548
  gridModeEnabled: boolean;
1250
549
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
@@ -1260,7 +559,7 @@ export declare const actionLoadScene: {
1260
559
  shown: true;
1261
560
  data: import("../charts").Spreadsheet;
1262
561
  };
1263
- showHyperlinkPopup: false | "editor" | "info";
562
+ showHyperlinkPopup: false | "info" | "editor";
1264
563
  originSnapOffset: {
1265
564
  x: number;
1266
565
  y: number;
@@ -1295,7 +594,7 @@ export declare const actionLoadScene: {
1295
594
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1296
595
  isBindingEnabled: boolean;
1297
596
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1298
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
597
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1299
598
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1300
599
  frameRendering: {
1301
600
  enabled: boolean;
@@ -1311,6 +610,10 @@ export declare const actionLoadScene: {
1311
610
  locked: boolean;
1312
611
  fromSelection: boolean;
1313
612
  } & import("../types").ActiveTool;
613
+ preferredSelectionTool: {
614
+ type: "selection" | "lasso";
615
+ initialized: boolean;
616
+ };
1314
617
  penMode: boolean;
1315
618
  penDetected: boolean;
1316
619
  exportBackground: boolean;
@@ -1343,8 +646,8 @@ export declare const actionLoadScene: {
1343
646
  zoom: Readonly<{
1344
647
  value: import("../types").NormalizedZoomValue;
1345
648
  }>;
1346
- openMenu: "canvas" | "shape" | null;
1347
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
649
+ openMenu: "canvas" | null;
650
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1348
651
  openSidebar: {
1349
652
  name: string;
1350
653
  tab?: string | undefined;
@@ -1356,6 +659,8 @@ export declare const actionLoadScene: {
1356
659
  tab: "mermaid" | "text-to-diagram";
1357
660
  } | {
1358
661
  name: "commandPalette";
662
+ } | {
663
+ name: "settings";
1359
664
  } | {
1360
665
  name: "elementLinkSelector";
1361
666
  sourceElementId: string;
@@ -1425,7 +730,7 @@ export declare const actionLoadScene: {
1425
730
  shown: true;
1426
731
  data: import("../charts").Spreadsheet;
1427
732
  };
1428
- showHyperlinkPopup: false | "editor" | "info";
733
+ showHyperlinkPopup: false | "info" | "editor";
1429
734
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1430
735
  snapLines: readonly import("../snapping").SnapLine[];
1431
736
  originSnapOffset: {
@@ -1445,6 +750,7 @@ export declare const actionLoadScene: {
1445
750
  lockedMultiSelections: {
1446
751
  [groupId: string]: true;
1447
752
  };
753
+ bindMode: import("@excalidraw/element/types").BindMode;
1448
754
  };
1449
755
  files: import("../types").BinaryFiles;
1450
756
  captureUpdate: "EVENTUALLY";
@@ -1453,187 +759,6 @@ export declare const actionLoadScene: {
1453
759
  } & {
1454
760
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1455
761
  };
1456
- export declare const actionExportWithDarkMode: {
1457
- name: "exportWithDarkMode";
1458
- label: string;
1459
- trackEvent: {
1460
- category: "export";
1461
- action: string;
1462
- };
1463
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
1464
- appState: {
1465
- exportWithDarkMode: any;
1466
- contextMenu: {
1467
- items: import("../components/ContextMenu").ContextMenuItems;
1468
- top: number;
1469
- left: number;
1470
- } | null;
1471
- showWelcomeScreen: boolean;
1472
- isLoading: boolean;
1473
- errorMessage: import("react").ReactNode;
1474
- activeEmbeddable: {
1475
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1476
- state: "active" | "hover";
1477
- } | null;
1478
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1479
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1480
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1481
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1482
- isBindingEnabled: boolean;
1483
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1484
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1485
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1486
- frameRendering: {
1487
- enabled: boolean;
1488
- name: boolean;
1489
- outline: boolean;
1490
- clip: boolean;
1491
- };
1492
- editingFrame: string | null;
1493
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
1494
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1495
- activeTool: {
1496
- lastActiveTool: import("../types").ActiveTool | null;
1497
- locked: boolean;
1498
- fromSelection: boolean;
1499
- } & import("../types").ActiveTool;
1500
- penMode: boolean;
1501
- penDetected: boolean;
1502
- exportBackground: boolean;
1503
- exportEmbedScene: boolean;
1504
- exportScale: number;
1505
- currentItemStrokeColor: string;
1506
- currentItemBackgroundColor: string;
1507
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1508
- currentItemStrokeWidth: number;
1509
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1510
- currentItemRoughness: number;
1511
- currentItemOpacity: number;
1512
- currentItemFontFamily: number;
1513
- currentItemFontSize: number;
1514
- currentItemTextAlign: string;
1515
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1516
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1517
- currentHoveredFontFamily: number | null;
1518
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1519
- currentItemArrowType: "round" | "sharp" | "elbow";
1520
- viewBackgroundColor: string;
1521
- scrollX: number;
1522
- scrollY: number;
1523
- cursorButton: "up" | "down";
1524
- scrolledOutside: boolean;
1525
- name: string | null;
1526
- isResizing: boolean;
1527
- isRotating: boolean;
1528
- zoom: Readonly<{
1529
- value: import("../types").NormalizedZoomValue;
1530
- }>;
1531
- openMenu: "canvas" | "shape" | null;
1532
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1533
- openSidebar: {
1534
- name: string;
1535
- tab?: string | undefined;
1536
- } | null;
1537
- openDialog: {
1538
- name: "imageExport" | "help" | "jsonExport";
1539
- } | {
1540
- name: "ttd";
1541
- tab: "mermaid" | "text-to-diagram";
1542
- } | {
1543
- name: "commandPalette";
1544
- } | {
1545
- name: "elementLinkSelector";
1546
- sourceElementId: string;
1547
- } | null;
1548
- defaultSidebarDockedPreference: boolean;
1549
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1550
- selectedElementIds: Readonly<{
1551
- [id: string]: true;
1552
- }>;
1553
- hoveredElementIds: Readonly<{
1554
- [id: string]: true;
1555
- }>;
1556
- previousSelectedElementIds: {
1557
- [id: string]: true;
1558
- };
1559
- selectedElementsAreBeingDragged: boolean;
1560
- shouldCacheIgnoreZoom: boolean;
1561
- toast: {
1562
- message: string;
1563
- closable?: boolean | undefined;
1564
- duration?: number | undefined;
1565
- } | null;
1566
- zenModeEnabled: boolean;
1567
- theme: Theme;
1568
- gridSize: number;
1569
- gridStep: number;
1570
- gridModeEnabled: boolean;
1571
- viewModeEnabled: boolean;
1572
- selectedGroupIds: {
1573
- [groupId: string]: boolean;
1574
- };
1575
- editingGroupId: string | null;
1576
- width: number;
1577
- height: number;
1578
- offsetTop: number;
1579
- offsetLeft: number;
1580
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1581
- collaborators: Map<import("../types").SocketId, Readonly<{
1582
- pointer?: import("../types").CollaboratorPointer | undefined;
1583
- button?: "up" | "down" | undefined;
1584
- selectedElementIds?: Readonly<{
1585
- [id: string]: true;
1586
- }> | undefined;
1587
- username?: string | null | undefined;
1588
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1589
- color?: {
1590
- background: string;
1591
- stroke: string;
1592
- } | undefined;
1593
- avatarUrl?: string | undefined;
1594
- id?: string | undefined;
1595
- socketId?: import("../types").SocketId | undefined;
1596
- isCurrentUser?: boolean | undefined;
1597
- isInCall?: boolean | undefined;
1598
- isSpeaking?: boolean | undefined;
1599
- isMuted?: boolean | undefined;
1600
- }>>;
1601
- stats: {
1602
- open: boolean;
1603
- panels: number;
1604
- };
1605
- currentChartType: import("@excalidraw/element/types").ChartType;
1606
- pasteDialog: {
1607
- shown: false;
1608
- data: null;
1609
- } | {
1610
- shown: true;
1611
- data: import("../charts").Spreadsheet;
1612
- };
1613
- showHyperlinkPopup: false | "editor" | "info";
1614
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1615
- snapLines: readonly import("../snapping").SnapLine[];
1616
- originSnapOffset: {
1617
- x: number;
1618
- y: number;
1619
- } | null;
1620
- objectsSnapModeEnabled: boolean;
1621
- userToFollow: import("../types").UserToFollow | null;
1622
- followedBy: Set<import("../types").SocketId>;
1623
- isCropping: boolean;
1624
- croppingElementId: string | null;
1625
- searchMatches: Readonly<{
1626
- focusedId: string | null;
1627
- matches: readonly import("../types").SearchMatch[];
1628
- }> | null;
1629
- activeLockedId: string | null;
1630
- lockedMultiSelections: {
1631
- [groupId: string]: true;
1632
- };
1633
- };
1634
- captureUpdate: "EVENTUALLY";
1635
- };
1636
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
1637
- } & {
1638
- keyTest?: undefined;
762
+ export declare const actionExportWithDarkMode: import("./types").Action<boolean> & {
763
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1639
764
  };