@dwelle/excalidraw 0.3.56 → 0.3.57

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 (37) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/excalidraw.development.js +41 -41
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/package.json +1 -1
  5. package/types/actions/actionAddToLibrary.d.ts +9 -3
  6. package/types/actions/actionAlign.d.ts +18 -0
  7. package/types/actions/actionBoundText.d.ts +8 -1
  8. package/types/actions/actionCanvas.d.ts +44 -11
  9. package/types/actions/actionClipboard.d.ts +22 -5
  10. package/types/actions/actionDeleteSelected.d.ts +10 -3
  11. package/types/actions/actionDistribute.d.ts +6 -0
  12. package/types/actions/actionDuplicateSelection.d.ts +3 -0
  13. package/types/actions/actionExport.d.ts +44 -9
  14. package/types/actions/actionFinalize.d.ts +5 -2
  15. package/types/actions/actionFlip.d.ts +6 -0
  16. package/types/actions/actionGroup.d.ts +6 -0
  17. package/types/actions/actionMenu.d.ts +20 -3
  18. package/types/actions/actionNavigate.d.ts +3 -0
  19. package/types/actions/actionProperties.d.ts +43 -13
  20. package/types/actions/actionSelectAll.d.ts +3 -0
  21. package/types/actions/actionStyles.d.ts +8 -1
  22. package/types/actions/actionToggleGridMode.d.ts +6 -1
  23. package/types/actions/actionToggleStats.d.ts +5 -1
  24. package/types/actions/actionToggleViewMode.d.ts +6 -1
  25. package/types/actions/actionToggleZenMode.d.ts +6 -1
  26. package/types/actions/actionZindex.d.ts +12 -0
  27. package/types/actions/manager.d.ts +3 -3
  28. package/types/actions/types.d.ts +6 -8
  29. package/types/appState.d.ts +2 -1
  30. package/types/components/App.d.ts +1 -1
  31. package/types/components/ImageExportDialog.d.ts +2 -2
  32. package/types/components/JSONExportDialog.d.ts +2 -2
  33. package/types/element/Hyperlink.d.ts +6 -2
  34. package/types/element/linearElementEditor.d.ts +2 -1
  35. package/types/scene/Scene.d.ts +1 -1
  36. package/types/types.d.ts +3 -1
  37. package/types/utils.d.ts +2 -0
@@ -2,6 +2,7 @@
2
2
  import "../components/ToolIcon.scss";
3
3
  export declare const actionChangeProjectName: {
4
4
  name: "changeProjectName";
5
+ trackEvent: false;
5
6
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
6
7
  appState: {
7
8
  name: any;
@@ -18,8 +19,9 @@ export declare const actionChangeProjectName: {
18
19
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
19
20
  activeTool: {
20
21
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
22
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
23
+ locked: boolean;
21
24
  };
22
- elementLocked: boolean;
23
25
  penMode: boolean;
24
26
  penDetected: boolean;
25
27
  exportBackground: boolean;
@@ -97,6 +99,10 @@ export declare const actionChangeProjectName: {
97
99
  };
98
100
  export declare const actionChangeExportScale: {
99
101
  name: "changeExportScale";
102
+ trackEvent: {
103
+ category: "export";
104
+ action: string;
105
+ };
100
106
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
101
107
  appState: {
102
108
  exportScale: any;
@@ -113,8 +119,9 @@ export declare const actionChangeExportScale: {
113
119
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
114
120
  activeTool: {
115
121
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
122
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
123
+ locked: boolean;
116
124
  };
117
- elementLocked: boolean;
118
125
  penMode: boolean;
119
126
  penDetected: boolean;
120
127
  exportBackground: boolean;
@@ -192,6 +199,10 @@ export declare const actionChangeExportScale: {
192
199
  };
193
200
  export declare const actionChangeExportBackground: {
194
201
  name: "changeExportBackground";
202
+ trackEvent: {
203
+ category: "export";
204
+ action: string;
205
+ };
195
206
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
196
207
  appState: {
197
208
  exportBackground: any;
@@ -208,8 +219,9 @@ export declare const actionChangeExportBackground: {
208
219
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
209
220
  activeTool: {
210
221
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
222
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
223
+ locked: boolean;
211
224
  };
212
- elementLocked: boolean;
213
225
  penMode: boolean;
214
226
  penDetected: boolean;
215
227
  exportEmbedScene: boolean;
@@ -287,6 +299,10 @@ export declare const actionChangeExportBackground: {
287
299
  };
288
300
  export declare const actionChangeExportEmbedScene: {
289
301
  name: "changeExportEmbedScene";
302
+ trackEvent: {
303
+ category: "export";
304
+ action: string;
305
+ };
290
306
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
291
307
  appState: {
292
308
  exportEmbedScene: any;
@@ -303,8 +319,9 @@ export declare const actionChangeExportEmbedScene: {
303
319
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
304
320
  activeTool: {
305
321
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
322
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
323
+ locked: boolean;
306
324
  };
307
- elementLocked: boolean;
308
325
  penMode: boolean;
309
326
  penDetected: boolean;
310
327
  exportBackground: boolean;
@@ -382,6 +399,9 @@ export declare const actionChangeExportEmbedScene: {
382
399
  };
383
400
  export declare const actionSaveToActiveFile: {
384
401
  name: "saveToActiveFile";
402
+ trackEvent: {
403
+ category: "export";
404
+ };
385
405
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
386
406
  commitToHistory: false;
387
407
  appState: {
@@ -400,8 +420,9 @@ export declare const actionSaveToActiveFile: {
400
420
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
401
421
  activeTool: {
402
422
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
423
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
424
+ locked: boolean;
403
425
  };
404
- elementLocked: boolean;
405
426
  penMode: boolean;
406
427
  penDetected: boolean;
407
428
  exportBackground: boolean;
@@ -481,6 +502,9 @@ export declare const actionSaveToActiveFile: {
481
502
  };
482
503
  export declare const actionSaveFileToDisk: {
483
504
  name: "saveFileToDisk";
505
+ trackEvent: {
506
+ category: "export";
507
+ };
484
508
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
485
509
  commitToHistory: false;
486
510
  appState: {
@@ -498,8 +522,9 @@ export declare const actionSaveFileToDisk: {
498
522
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
499
523
  activeTool: {
500
524
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
525
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
526
+ locked: boolean;
501
527
  };
502
- elementLocked: boolean;
503
528
  penMode: boolean;
504
529
  penDetected: boolean;
505
530
  exportBackground: boolean;
@@ -580,11 +605,16 @@ export declare const actionSaveFileToDisk: {
580
605
  };
581
606
  export declare const actionLoadScene: {
582
607
  name: "loadScene";
608
+ trackEvent: {
609
+ category: "export";
610
+ };
583
611
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
584
612
  elements: import("../element/types").ExcalidrawElement[];
585
613
  appState: {
586
614
  activeTool: {
587
615
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
616
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
617
+ locked: boolean;
588
618
  };
589
619
  scrollX: number;
590
620
  scrollY: number;
@@ -606,7 +636,6 @@ export declare const actionLoadScene: {
606
636
  suggestedBindings: import("../element/binding").SuggestedBinding[];
607
637
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
608
638
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
609
- elementLocked: boolean;
610
639
  penMode: boolean;
611
640
  penDetected: boolean;
612
641
  exportBackground: boolean;
@@ -682,8 +711,9 @@ export declare const actionLoadScene: {
682
711
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
683
712
  activeTool: {
684
713
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
714
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
715
+ locked: boolean;
685
716
  };
686
- elementLocked: boolean;
687
717
  penMode: boolean;
688
718
  penDetected: boolean;
689
719
  exportBackground: boolean;
@@ -764,6 +794,10 @@ export declare const actionLoadScene: {
764
794
  };
765
795
  export declare const actionExportWithDarkMode: {
766
796
  name: "exportWithDarkMode";
797
+ trackEvent: {
798
+ category: "export";
799
+ action: string;
800
+ };
767
801
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
768
802
  appState: {
769
803
  exportWithDarkMode: any;
@@ -780,8 +814,9 @@ export declare const actionExportWithDarkMode: {
780
814
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
781
815
  activeTool: {
782
816
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
817
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
818
+ locked: boolean;
783
819
  };
784
- elementLocked: boolean;
785
820
  penMode: boolean;
786
821
  penDetected: boolean;
787
822
  exportBackground: boolean;
@@ -2,6 +2,7 @@
2
2
  import { LinearElementEditor } from "../element/linearElementEditor";
3
3
  export declare const actionFinalize: {
4
4
  name: "finalize";
5
+ trackEvent: false;
5
6
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { canvas, focusContainer }: import("../types").AppClassProperties) => {
6
7
  elements: import("../element/types").ExcalidrawElement[] | undefined;
7
8
  appState: {
@@ -18,8 +19,9 @@ export declare const actionFinalize: {
18
19
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
19
20
  activeTool: {
20
21
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
22
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
23
+ locked: boolean;
21
24
  };
22
- elementLocked: boolean;
23
25
  penMode: boolean;
24
26
  penDetected: boolean;
25
27
  exportBackground: boolean;
@@ -96,6 +98,8 @@ export declare const actionFinalize: {
96
98
  appState: {
97
99
  activeTool: {
98
100
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
101
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
102
+ locked: boolean;
99
103
  };
100
104
  draggingElement: null;
101
105
  multiElement: null;
@@ -112,7 +116,6 @@ export declare const actionFinalize: {
112
116
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
113
117
  isBindingEnabled: boolean;
114
118
  editingLinearElement: LinearElementEditor | null;
115
- elementLocked: boolean;
116
119
  penMode: boolean;
117
120
  penDetected: boolean;
118
121
  exportBackground: boolean;
@@ -3,6 +3,9 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState } from "../types";
4
4
  export declare const actionFlipHorizontal: {
5
5
  name: "flipHorizontal";
6
+ trackEvent: {
7
+ category: "element";
8
+ };
6
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
7
10
  elements: readonly ExcalidrawElement[];
8
11
  appState: Readonly<AppState>;
@@ -16,6 +19,9 @@ export declare const actionFlipHorizontal: {
16
19
  };
17
20
  export declare const actionFlipVertical: {
18
21
  name: "flipVertical";
22
+ trackEvent: {
23
+ category: "element";
24
+ };
19
25
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
20
26
  elements: readonly ExcalidrawElement[];
21
27
  appState: Readonly<AppState>;
@@ -3,6 +3,9 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState } from "../types";
4
4
  export declare const actionGroup: {
5
5
  name: "group";
6
+ trackEvent: {
7
+ category: "element";
8
+ };
6
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
7
10
  appState: Readonly<AppState>;
8
11
  elements: readonly ExcalidrawElement[];
@@ -21,6 +24,9 @@ export declare const actionGroup: {
21
24
  };
22
25
  export declare const actionUngroup: {
23
26
  name: "ungroup";
27
+ trackEvent: {
28
+ category: "element";
29
+ };
24
30
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
31
  appState: Readonly<AppState>;
26
32
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  export declare const actionToggleCanvasMenu: {
3
3
  name: "toggleCanvasMenu";
4
+ trackEvent: {
5
+ category: "menu";
6
+ };
4
7
  perform: (_: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
5
8
  appState: {
6
9
  openMenu: "canvas" | null;
@@ -17,8 +20,9 @@ export declare const actionToggleCanvasMenu: {
17
20
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
21
  activeTool: {
19
22
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
23
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
24
+ locked: boolean;
20
25
  };
21
- elementLocked: boolean;
22
26
  penMode: boolean;
23
27
  penDetected: boolean;
24
28
  exportBackground: boolean;
@@ -96,6 +100,9 @@ export declare const actionToggleCanvasMenu: {
96
100
  };
97
101
  export declare const actionToggleEditMenu: {
98
102
  name: "toggleEditMenu";
103
+ trackEvent: {
104
+ category: "menu";
105
+ };
99
106
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
100
107
  appState: {
101
108
  openMenu: "shape" | null;
@@ -112,8 +119,9 @@ export declare const actionToggleEditMenu: {
112
119
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
113
120
  activeTool: {
114
121
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
122
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
123
+ locked: boolean;
115
124
  };
116
- elementLocked: boolean;
117
125
  penMode: boolean;
118
126
  penDetected: boolean;
119
127
  exportBackground: boolean;
@@ -191,6 +199,10 @@ export declare const actionToggleEditMenu: {
191
199
  };
192
200
  export declare const actionFullScreen: {
193
201
  name: "toggleFullScreen";
202
+ trackEvent: {
203
+ category: "canvas";
204
+ predicate: (appState: Readonly<import("../types").AppState>) => boolean;
205
+ };
194
206
  perform: () => {
195
207
  commitToHistory: false;
196
208
  };
@@ -200,6 +212,10 @@ export declare const actionFullScreen: {
200
212
  };
201
213
  export declare const actionShortcuts: {
202
214
  name: "toggleShortcuts";
215
+ trackEvent: {
216
+ category: "menu";
217
+ action: string;
218
+ };
203
219
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
204
220
  appState: {
205
221
  showHelpDialog: boolean;
@@ -216,8 +232,9 @@ export declare const actionShortcuts: {
216
232
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
217
233
  activeTool: {
218
234
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
235
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
236
+ locked: boolean;
219
237
  };
220
- elementLocked: boolean;
221
238
  penMode: boolean;
222
239
  penDetected: boolean;
223
240
  exportBackground: boolean;
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  export declare const actionGoToCollaborator: {
3
3
  name: "goToCollaborator";
4
+ trackEvent: {
5
+ category: "collab";
6
+ };
4
7
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
5
8
  appState: Readonly<import("../types").AppState>;
6
9
  commitToHistory: false;
@@ -3,6 +3,7 @@ import { AppState } from "../../src/types";
3
3
  import { Arrowhead, ExcalidrawElement, ExcalidrawLinearElement, TextAlign } from "../element/types";
4
4
  export declare const actionChangeStrokeColor: {
5
5
  name: "changeStrokeColor";
6
+ trackEvent: false;
6
7
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
7
8
  PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
8
9
  } & {
@@ -10,6 +11,7 @@ export declare const actionChangeStrokeColor: {
10
11
  };
11
12
  export declare const actionChangeBackgroundColor: {
12
13
  name: "changeBackgroundColor";
14
+ trackEvent: false;
13
15
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
14
16
  PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
15
17
  } & {
@@ -17,6 +19,7 @@ export declare const actionChangeBackgroundColor: {
17
19
  };
18
20
  export declare const actionChangeFillStyle: {
19
21
  name: "changeFillStyle";
22
+ trackEvent: false;
20
23
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
21
24
  elements: ExcalidrawElement[];
22
25
  appState: {
@@ -34,8 +37,9 @@ export declare const actionChangeFillStyle: {
34
37
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
35
38
  activeTool: {
36
39
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
40
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
41
+ locked: boolean;
37
42
  };
38
- elementLocked: boolean;
39
43
  penMode: boolean;
40
44
  penDetected: boolean;
41
45
  exportBackground: boolean;
@@ -113,6 +117,7 @@ export declare const actionChangeFillStyle: {
113
117
  };
114
118
  export declare const actionChangeStrokeWidth: {
115
119
  name: "changeStrokeWidth";
120
+ trackEvent: false;
116
121
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
117
122
  elements: ExcalidrawElement[];
118
123
  appState: {
@@ -130,8 +135,9 @@ export declare const actionChangeStrokeWidth: {
130
135
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
131
136
  activeTool: {
132
137
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
138
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
139
+ locked: boolean;
133
140
  };
134
- elementLocked: boolean;
135
141
  penMode: boolean;
136
142
  penDetected: boolean;
137
143
  exportBackground: boolean;
@@ -209,6 +215,7 @@ export declare const actionChangeStrokeWidth: {
209
215
  };
210
216
  export declare const actionChangeSloppiness: {
211
217
  name: "changeSloppiness";
218
+ trackEvent: false;
212
219
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
213
220
  elements: ExcalidrawElement[];
214
221
  appState: {
@@ -226,8 +233,9 @@ export declare const actionChangeSloppiness: {
226
233
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
227
234
  activeTool: {
228
235
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
236
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
237
+ locked: boolean;
229
238
  };
230
- elementLocked: boolean;
231
239
  penMode: boolean;
232
240
  penDetected: boolean;
233
241
  exportBackground: boolean;
@@ -305,6 +313,7 @@ export declare const actionChangeSloppiness: {
305
313
  };
306
314
  export declare const actionChangeStrokeStyle: {
307
315
  name: "changeStrokeStyle";
316
+ trackEvent: false;
308
317
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
309
318
  elements: ExcalidrawElement[];
310
319
  appState: {
@@ -322,8 +331,9 @@ export declare const actionChangeStrokeStyle: {
322
331
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
323
332
  activeTool: {
324
333
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
334
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
335
+ locked: boolean;
325
336
  };
326
- elementLocked: boolean;
327
337
  penMode: boolean;
328
338
  penDetected: boolean;
329
339
  exportBackground: boolean;
@@ -401,6 +411,7 @@ export declare const actionChangeStrokeStyle: {
401
411
  };
402
412
  export declare const actionChangeOpacity: {
403
413
  name: "changeOpacity";
414
+ trackEvent: false;
404
415
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
405
416
  elements: ExcalidrawElement[];
406
417
  appState: {
@@ -418,8 +429,9 @@ export declare const actionChangeOpacity: {
418
429
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
419
430
  activeTool: {
420
431
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
432
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
433
+ locked: boolean;
421
434
  };
422
- elementLocked: boolean;
423
435
  penMode: boolean;
424
436
  penDetected: boolean;
425
437
  exportBackground: boolean;
@@ -497,6 +509,7 @@ export declare const actionChangeOpacity: {
497
509
  };
498
510
  export declare const actionChangeFontSize: {
499
511
  name: "changeFontSize";
512
+ trackEvent: false;
500
513
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
501
514
  elements: ExcalidrawElement[];
502
515
  appState: {
@@ -514,8 +527,9 @@ export declare const actionChangeFontSize: {
514
527
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
515
528
  activeTool: {
516
529
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
530
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
531
+ locked: boolean;
517
532
  };
518
- elementLocked: boolean;
519
533
  penMode: boolean;
520
534
  penDetected: boolean;
521
535
  exportBackground: boolean;
@@ -593,6 +607,7 @@ export declare const actionChangeFontSize: {
593
607
  };
594
608
  export declare const actionDecreaseFontSize: {
595
609
  name: "decreaseFontSize";
610
+ trackEvent: false;
596
611
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
597
612
  elements: ExcalidrawElement[];
598
613
  appState: {
@@ -610,8 +625,9 @@ export declare const actionDecreaseFontSize: {
610
625
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
611
626
  activeTool: {
612
627
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
628
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
629
+ locked: boolean;
613
630
  };
614
- elementLocked: boolean;
615
631
  penMode: boolean;
616
632
  penDetected: boolean;
617
633
  exportBackground: boolean;
@@ -689,6 +705,7 @@ export declare const actionDecreaseFontSize: {
689
705
  };
690
706
  export declare const actionIncreaseFontSize: {
691
707
  name: "increaseFontSize";
708
+ trackEvent: false;
692
709
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
693
710
  elements: ExcalidrawElement[];
694
711
  appState: {
@@ -706,8 +723,9 @@ export declare const actionIncreaseFontSize: {
706
723
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
707
724
  activeTool: {
708
725
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
726
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
727
+ locked: boolean;
709
728
  };
710
- elementLocked: boolean;
711
729
  penMode: boolean;
712
730
  penDetected: boolean;
713
731
  exportBackground: boolean;
@@ -785,6 +803,7 @@ export declare const actionIncreaseFontSize: {
785
803
  };
786
804
  export declare const actionChangeFontFamily: {
787
805
  name: "changeFontFamily";
806
+ trackEvent: false;
788
807
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
789
808
  elements: ExcalidrawElement[];
790
809
  appState: {
@@ -802,8 +821,9 @@ export declare const actionChangeFontFamily: {
802
821
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
803
822
  activeTool: {
804
823
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
824
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
825
+ locked: boolean;
805
826
  };
806
- elementLocked: boolean;
807
827
  penMode: boolean;
808
828
  penDetected: boolean;
809
829
  exportBackground: boolean;
@@ -881,6 +901,7 @@ export declare const actionChangeFontFamily: {
881
901
  };
882
902
  export declare const actionChangeTextAlign: {
883
903
  name: "changeTextAlign";
904
+ trackEvent: false;
884
905
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
885
906
  elements: ExcalidrawElement[];
886
907
  appState: {
@@ -898,8 +919,9 @@ export declare const actionChangeTextAlign: {
898
919
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
899
920
  activeTool: {
900
921
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
922
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
923
+ locked: boolean;
901
924
  };
902
- elementLocked: boolean;
903
925
  penMode: boolean;
904
926
  penDetected: boolean;
905
927
  exportBackground: boolean;
@@ -977,6 +999,9 @@ export declare const actionChangeTextAlign: {
977
999
  };
978
1000
  export declare const actionChangeVerticalAlign: {
979
1001
  name: "changeVerticalAlign";
1002
+ trackEvent: {
1003
+ category: "element";
1004
+ };
980
1005
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
981
1006
  elements: ExcalidrawElement[];
982
1007
  appState: {
@@ -993,8 +1018,9 @@ export declare const actionChangeVerticalAlign: {
993
1018
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
994
1019
  activeTool: {
995
1020
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1021
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
1022
+ locked: boolean;
996
1023
  };
997
- elementLocked: boolean;
998
1024
  penMode: boolean;
999
1025
  penDetected: boolean;
1000
1026
  exportBackground: boolean;
@@ -1073,6 +1099,7 @@ export declare const actionChangeVerticalAlign: {
1073
1099
  };
1074
1100
  export declare const actionChangeSharpness: {
1075
1101
  name: "changeSharpness";
1102
+ trackEvent: false;
1076
1103
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1077
1104
  elements: ExcalidrawElement[];
1078
1105
  appState: {
@@ -1091,8 +1118,9 @@ export declare const actionChangeSharpness: {
1091
1118
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1092
1119
  activeTool: {
1093
1120
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1121
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
1122
+ locked: boolean;
1094
1123
  };
1095
- elementLocked: boolean;
1096
1124
  penMode: boolean;
1097
1125
  penDetected: boolean;
1098
1126
  exportBackground: boolean;
@@ -1169,6 +1197,7 @@ export declare const actionChangeSharpness: {
1169
1197
  };
1170
1198
  export declare const actionChangeArrowhead: {
1171
1199
  name: "changeArrowhead";
1200
+ trackEvent: false;
1172
1201
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: {
1173
1202
  position: "start" | "end";
1174
1203
  type: Arrowhead;
@@ -1188,8 +1217,9 @@ export declare const actionChangeArrowhead: {
1188
1217
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1189
1218
  activeTool: {
1190
1219
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
1220
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
1221
+ locked: boolean;
1191
1222
  };
1192
- elementLocked: boolean;
1193
1223
  penMode: boolean;
1194
1224
  penDetected: boolean;
1195
1225
  exportBackground: boolean;
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  export declare const actionSelectAll: {
3
3
  name: "selectAll";
4
+ trackEvent: {
5
+ category: "canvas";
6
+ };
4
7
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
5
8
  appState: import("../types").AppState;
6
9
  commitToHistory: true;
@@ -2,6 +2,9 @@
2
2
  export declare let copiedStyles: string;
3
3
  export declare const actionCopyStyles: {
4
4
  name: "copyStyles";
5
+ trackEvent: {
6
+ category: "element";
7
+ };
5
8
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
6
9
  appState: {
7
10
  toastMessage: string;
@@ -18,8 +21,9 @@ export declare const actionCopyStyles: {
18
21
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
19
22
  activeTool: {
20
23
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
24
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
25
+ locked: boolean;
21
26
  };
22
- elementLocked: boolean;
23
27
  penMode: boolean;
24
28
  penDetected: boolean;
25
29
  exportBackground: boolean;
@@ -98,6 +102,9 @@ export declare const actionCopyStyles: {
98
102
  };
99
103
  export declare const actionPasteStyles: {
100
104
  name: "pasteStyles";
105
+ trackEvent: {
106
+ category: "element";
107
+ };
101
108
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
102
109
  elements: readonly import("../element/types").ExcalidrawElement[];
103
110
  commitToHistory: false;