@dwelle/excalidraw 0.3.56 → 0.3.59-restoreLibraryItems

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 (40) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/README_NEXT.md +18 -0
  3. package/dist/excalidraw.development.js +44 -44
  4. package/dist/excalidraw.production.min.js +1 -1
  5. package/package.json +1 -1
  6. package/types/actions/actionAddToLibrary.d.ts +9 -3
  7. package/types/actions/actionAlign.d.ts +18 -0
  8. package/types/actions/actionBoundText.d.ts +8 -1
  9. package/types/actions/actionCanvas.d.ts +42 -9
  10. package/types/actions/actionClipboard.d.ts +22 -5
  11. package/types/actions/actionDeleteSelected.d.ts +10 -3
  12. package/types/actions/actionDistribute.d.ts +6 -0
  13. package/types/actions/actionDuplicateSelection.d.ts +3 -0
  14. package/types/actions/actionExport.d.ts +44 -9
  15. package/types/actions/actionFinalize.d.ts +5 -2
  16. package/types/actions/actionFlip.d.ts +6 -0
  17. package/types/actions/actionGroup.d.ts +6 -0
  18. package/types/actions/actionMenu.d.ts +20 -3
  19. package/types/actions/actionNavigate.d.ts +3 -0
  20. package/types/actions/actionProperties.d.ts +43 -13
  21. package/types/actions/actionSelectAll.d.ts +3 -0
  22. package/types/actions/actionStyles.d.ts +8 -1
  23. package/types/actions/actionToggleGridMode.d.ts +6 -1
  24. package/types/actions/actionToggleStats.d.ts +5 -1
  25. package/types/actions/actionToggleViewMode.d.ts +6 -1
  26. package/types/actions/actionToggleZenMode.d.ts +6 -1
  27. package/types/actions/actionZindex.d.ts +12 -0
  28. package/types/actions/manager.d.ts +3 -3
  29. package/types/actions/types.d.ts +6 -8
  30. package/types/appState.d.ts +2 -1
  31. package/types/components/App.d.ts +1 -1
  32. package/types/components/ImageExportDialog.d.ts +2 -2
  33. package/types/components/JSONExportDialog.d.ts +2 -2
  34. package/types/data/library.d.ts +1 -2
  35. package/types/element/Hyperlink.d.ts +6 -2
  36. package/types/element/linearElementEditor.d.ts +2 -1
  37. package/types/packages/excalidraw/index.d.ts +1 -1
  38. package/types/scene/Scene.d.ts +1 -1
  39. package/types/types.d.ts +3 -1
  40. package/types/utils.d.ts +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwelle/excalidraw",
3
- "version": "0.3.56",
3
+ "version": "0.3.59-restoreLibraryItems",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -1,5 +1,8 @@
1
1
  export declare const actionAddToLibrary: {
2
2
  name: "addToLibrary";
3
+ trackEvent: {
4
+ category: "element";
5
+ };
3
6
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<{
4
7
  commitToHistory: boolean;
5
8
  appState: {
@@ -17,8 +20,9 @@ export declare const actionAddToLibrary: {
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;
@@ -104,8 +108,9 @@ export declare const actionAddToLibrary: {
104
108
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
105
109
  activeTool: {
106
110
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
111
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
112
+ locked: boolean;
107
113
  };
108
- elementLocked: boolean;
109
114
  penMode: boolean;
110
115
  penDetected: boolean;
111
116
  exportBackground: boolean;
@@ -192,8 +197,9 @@ export declare const actionAddToLibrary: {
192
197
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
193
198
  activeTool: {
194
199
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
200
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
201
+ locked: boolean;
195
202
  };
196
- elementLocked: boolean;
197
203
  penMode: boolean;
198
204
  penDetected: boolean;
199
205
  exportBackground: boolean;
@@ -3,6 +3,9 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState } from "../types";
4
4
  export declare const actionAlignTop: {
5
5
  name: "alignTop";
6
+ trackEvent: {
7
+ category: "element";
8
+ };
6
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
7
10
  appState: Readonly<AppState>;
8
11
  elements: ExcalidrawElement[];
@@ -15,6 +18,9 @@ export declare const actionAlignTop: {
15
18
  };
16
19
  export declare const actionAlignBottom: {
17
20
  name: "alignBottom";
21
+ trackEvent: {
22
+ category: "element";
23
+ };
18
24
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
19
25
  appState: Readonly<AppState>;
20
26
  elements: ExcalidrawElement[];
@@ -27,6 +33,9 @@ export declare const actionAlignBottom: {
27
33
  };
28
34
  export declare const actionAlignLeft: {
29
35
  name: "alignLeft";
36
+ trackEvent: {
37
+ category: "element";
38
+ };
30
39
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
31
40
  appState: Readonly<AppState>;
32
41
  elements: ExcalidrawElement[];
@@ -39,6 +48,9 @@ export declare const actionAlignLeft: {
39
48
  };
40
49
  export declare const actionAlignRight: {
41
50
  name: "alignRight";
51
+ trackEvent: {
52
+ category: "element";
53
+ };
42
54
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
43
55
  appState: Readonly<AppState>;
44
56
  elements: ExcalidrawElement[];
@@ -51,6 +63,9 @@ export declare const actionAlignRight: {
51
63
  };
52
64
  export declare const actionAlignVerticallyCentered: {
53
65
  name: "alignVerticallyCentered";
66
+ trackEvent: {
67
+ category: "element";
68
+ };
54
69
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
55
70
  appState: Readonly<AppState>;
56
71
  elements: ExcalidrawElement[];
@@ -62,6 +77,9 @@ export declare const actionAlignVerticallyCentered: {
62
77
  };
63
78
  export declare const actionAlignHorizontallyCentered: {
64
79
  name: "alignHorizontallyCentered";
80
+ trackEvent: {
81
+ category: "element";
82
+ };
65
83
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
66
84
  appState: Readonly<AppState>;
67
85
  elements: ExcalidrawElement[];
@@ -1,6 +1,9 @@
1
1
  export declare const actionUnbindText: {
2
2
  name: "unbindText";
3
3
  contextItemLabel: string;
4
+ trackEvent: {
5
+ category: "element";
6
+ };
4
7
  contextItemPredicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
5
8
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
6
9
  elements: readonly import("../element/types").ExcalidrawElement[];
@@ -13,6 +16,9 @@ export declare const actionUnbindText: {
13
16
  export declare const actionBindText: {
14
17
  name: "bindText";
15
18
  contextItemLabel: string;
19
+ trackEvent: {
20
+ category: "element";
21
+ };
16
22
  contextItemPredicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
17
23
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
18
24
  elements: import("../element/types").ExcalidrawElement[];
@@ -33,8 +39,9 @@ export declare const actionBindText: {
33
39
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
34
40
  activeTool: {
35
41
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
42
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
43
+ locked: boolean;
36
44
  };
37
- elementLocked: boolean;
38
45
  penMode: boolean;
39
46
  penDetected: boolean;
40
47
  exportBackground: boolean;
@@ -3,6 +3,7 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState, NormalizedZoomValue } from "../types";
4
4
  export declare const actionChangeViewBackgroundColor: {
5
5
  name: "changeViewBackgroundColor";
6
+ trackEvent: false;
6
7
  perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
7
8
  appState: any;
8
9
  commitToHistory: boolean;
@@ -13,12 +14,14 @@ export declare const actionChangeViewBackgroundColor: {
13
14
  };
14
15
  export declare const actionClearCanvas: {
15
16
  name: "clearCanvas";
17
+ trackEvent: {
18
+ category: "canvas";
19
+ };
16
20
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
17
21
  elements: ExcalidrawElement[];
18
22
  appState: {
19
23
  files: {};
20
24
  theme: string;
21
- elementLocked: boolean;
22
25
  penMode: boolean;
23
26
  penDetected: boolean;
24
27
  exportBackground: boolean;
@@ -34,6 +37,8 @@ export declare const actionClearCanvas: {
34
37
  };
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
43
  scrollX: number;
39
44
  scrollY: number;
@@ -106,6 +111,9 @@ export declare const actionClearCanvas: {
106
111
  };
107
112
  export declare const actionZoomIn: {
108
113
  name: "zoomIn";
114
+ trackEvent: {
115
+ category: "canvas";
116
+ };
109
117
  perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
110
118
  appState: {
111
119
  scrollX: number;
@@ -126,8 +134,9 @@ export declare const actionZoomIn: {
126
134
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
127
135
  activeTool: {
128
136
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
137
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
138
+ locked: boolean;
129
139
  };
130
- elementLocked: boolean;
131
140
  penMode: boolean;
132
141
  penDetected: boolean;
133
142
  exportBackground: boolean;
@@ -202,6 +211,9 @@ export declare const actionZoomIn: {
202
211
  };
203
212
  export declare const actionZoomOut: {
204
213
  name: "zoomOut";
214
+ trackEvent: {
215
+ category: "canvas";
216
+ };
205
217
  perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
206
218
  appState: {
207
219
  scrollX: number;
@@ -222,8 +234,9 @@ export declare const actionZoomOut: {
222
234
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
223
235
  activeTool: {
224
236
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
237
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
238
+ locked: boolean;
225
239
  };
226
- elementLocked: boolean;
227
240
  penMode: boolean;
228
241
  penDetected: boolean;
229
242
  exportBackground: boolean;
@@ -298,6 +311,9 @@ export declare const actionZoomOut: {
298
311
  };
299
312
  export declare const actionResetZoom: {
300
313
  name: "resetZoom";
314
+ trackEvent: {
315
+ category: "canvas";
316
+ };
301
317
  perform: (_elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
302
318
  appState: {
303
319
  scrollX: number;
@@ -318,8 +334,9 @@ export declare const actionResetZoom: {
318
334
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
319
335
  activeTool: {
320
336
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
337
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
338
+ locked: boolean;
321
339
  };
322
- elementLocked: boolean;
323
340
  penMode: boolean;
324
341
  penDetected: boolean;
325
342
  exportBackground: boolean;
@@ -394,6 +411,9 @@ export declare const actionResetZoom: {
394
411
  };
395
412
  export declare const actionZoomToSelected: {
396
413
  name: "zoomToSelection";
414
+ trackEvent: {
415
+ category: "canvas";
416
+ };
397
417
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
398
418
  appState: {
399
419
  zoom: {
@@ -414,8 +434,9 @@ export declare const actionZoomToSelected: {
414
434
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
415
435
  activeTool: {
416
436
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
437
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
438
+ locked: boolean;
417
439
  };
418
- elementLocked: boolean;
419
440
  penMode: boolean;
420
441
  penDetected: boolean;
421
442
  exportBackground: boolean;
@@ -489,6 +510,9 @@ export declare const actionZoomToSelected: {
489
510
  };
490
511
  export declare const actionZoomToFit: {
491
512
  name: "zoomToFit";
513
+ trackEvent: {
514
+ category: "canvas";
515
+ };
492
516
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
493
517
  appState: {
494
518
  zoom: {
@@ -509,8 +533,9 @@ export declare const actionZoomToFit: {
509
533
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
510
534
  activeTool: {
511
535
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
536
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
537
+ locked: boolean;
512
538
  };
513
- elementLocked: boolean;
514
539
  penMode: boolean;
515
540
  penDetected: boolean;
516
541
  exportBackground: boolean;
@@ -584,6 +609,9 @@ export declare const actionZoomToFit: {
584
609
  };
585
610
  export declare const actionToggleTheme: {
586
611
  name: "toggleTheme";
612
+ trackEvent: {
613
+ category: "canvas";
614
+ };
587
615
  perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
588
616
  appState: {
589
617
  theme: any;
@@ -600,8 +628,9 @@ export declare const actionToggleTheme: {
600
628
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
601
629
  activeTool: {
602
630
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
631
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
632
+ locked: boolean;
603
633
  };
604
- elementLocked: boolean;
605
634
  penMode: boolean;
606
635
  penDetected: boolean;
607
636
  exportBackground: boolean;
@@ -680,12 +709,17 @@ export declare const actionToggleTheme: {
680
709
  };
681
710
  export declare const actionErase: {
682
711
  name: "eraser";
712
+ trackEvent: {
713
+ category: "toolbar";
714
+ };
683
715
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
684
716
  appState: {
685
717
  selectedElementIds: {};
686
718
  selectedGroupIds: {};
687
719
  activeTool: {
688
- type: "selection" | "eraser";
720
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
721
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
722
+ locked: boolean;
689
723
  };
690
724
  isLoading: boolean;
691
725
  errorMessage: string | null;
@@ -698,7 +732,6 @@ export declare const actionErase: {
698
732
  suggestedBindings: import("../element/binding").SuggestedBinding[];
699
733
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
700
734
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
701
- elementLocked: boolean;
702
735
  penMode: boolean;
703
736
  penDetected: boolean;
704
737
  exportBackground: boolean;
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  export declare const actionCopy: {
3
3
  name: "copy";
4
+ trackEvent: {
5
+ category: "element";
6
+ };
4
7
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => {
5
8
  commitToHistory: false;
6
9
  };
@@ -11,6 +14,9 @@ export declare const actionCopy: {
11
14
  };
12
15
  export declare const actionCut: {
13
16
  name: "cut";
17
+ trackEvent: {
18
+ category: "element";
19
+ };
14
20
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, data: any, app: import("../types").AppClassProperties) => false | {
15
21
  elements: import("../element/types").ExcalidrawElement[];
16
22
  appState: {
@@ -27,8 +33,9 @@ export declare const actionCut: {
27
33
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
34
  activeTool: {
29
35
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
36
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
37
+ locked: boolean;
30
38
  };
31
- elementLocked: boolean;
32
39
  penMode: boolean;
33
40
  penDetected: boolean;
34
41
  exportBackground: boolean;
@@ -133,8 +140,9 @@ export declare const actionCut: {
133
140
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
134
141
  activeTool: {
135
142
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
143
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
144
+ locked: boolean;
136
145
  };
137
- elementLocked: boolean;
138
146
  penMode: boolean;
139
147
  penDetected: boolean;
140
148
  exportBackground: boolean;
@@ -211,6 +219,8 @@ export declare const actionCut: {
211
219
  appState: {
212
220
  activeTool: {
213
221
  type: "selection";
222
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
223
+ locked: boolean;
214
224
  };
215
225
  multiElement: null;
216
226
  selectedElementIds: {};
@@ -224,7 +234,6 @@ export declare const actionCut: {
224
234
  suggestedBindings: import("../element/binding").SuggestedBinding[];
225
235
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
226
236
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
227
- elementLocked: boolean;
228
237
  penMode: boolean;
229
238
  penDetected: boolean;
230
239
  exportBackground: boolean;
@@ -301,6 +310,9 @@ export declare const actionCut: {
301
310
  };
302
311
  export declare const actionCopyAsSvg: {
303
312
  name: "copyAsSvg";
313
+ trackEvent: {
314
+ category: "element";
315
+ };
304
316
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _data: any, app: import("../types").AppClassProperties) => Promise<{
305
317
  commitToHistory: false;
306
318
  appState?: undefined;
@@ -319,8 +331,9 @@ export declare const actionCopyAsSvg: {
319
331
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
320
332
  activeTool: {
321
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;
322
336
  };
323
- elementLocked: boolean;
324
337
  penMode: boolean;
325
338
  penDetected: boolean;
326
339
  exportBackground: boolean;
@@ -399,6 +412,9 @@ export declare const actionCopyAsSvg: {
399
412
  };
400
413
  export declare const actionCopyAsPng: {
401
414
  name: "copyAsPng";
415
+ trackEvent: {
416
+ category: "element";
417
+ };
402
418
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _data: any, app: import("../types").AppClassProperties) => Promise<{
403
419
  commitToHistory: false;
404
420
  appState?: undefined;
@@ -417,8 +433,9 @@ export declare const actionCopyAsPng: {
417
433
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
418
434
  activeTool: {
419
435
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
436
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
437
+ locked: boolean;
420
438
  };
421
- elementLocked: boolean;
422
439
  penMode: boolean;
423
440
  penDetected: boolean;
424
441
  exportBackground: boolean;
@@ -4,6 +4,10 @@ import { AppState } from "../types";
4
4
  import { LinearElementEditor } from "../element/linearElementEditor";
5
5
  export declare const actionDeleteSelected: {
6
6
  name: "deleteSelectedElements";
7
+ trackEvent: {
8
+ category: "element";
9
+ action: string;
10
+ };
7
11
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => false | {
8
12
  elements: ExcalidrawElement[];
9
13
  appState: {
@@ -20,8 +24,9 @@ export declare const actionDeleteSelected: {
20
24
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
25
  activeTool: {
22
26
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
27
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
28
+ locked: boolean;
23
29
  };
24
- elementLocked: boolean;
25
30
  penMode: boolean;
26
31
  penDetected: boolean;
27
32
  exportBackground: boolean;
@@ -126,8 +131,9 @@ export declare const actionDeleteSelected: {
126
131
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
127
132
  activeTool: {
128
133
  type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
134
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
135
+ locked: boolean;
129
136
  };
130
- elementLocked: boolean;
131
137
  penMode: boolean;
132
138
  penDetected: boolean;
133
139
  exportBackground: boolean;
@@ -204,6 +210,8 @@ export declare const actionDeleteSelected: {
204
210
  appState: {
205
211
  activeTool: {
206
212
  type: "selection";
213
+ lastActiveToolBeforeEraser: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | null;
214
+ locked: boolean;
207
215
  };
208
216
  multiElement: null;
209
217
  selectedElementIds: {};
@@ -217,7 +225,6 @@ export declare const actionDeleteSelected: {
217
225
  suggestedBindings: import("../element/binding").SuggestedBinding[];
218
226
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
219
227
  editingLinearElement: LinearElementEditor | null;
220
- elementLocked: boolean;
221
228
  penMode: boolean;
222
229
  penDetected: boolean;
223
230
  exportBackground: boolean;
@@ -3,6 +3,9 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState } from "../types";
4
4
  export declare const distributeHorizontally: {
5
5
  name: "distributeHorizontally";
6
+ trackEvent: {
7
+ category: "element";
8
+ };
6
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
7
10
  appState: Readonly<AppState>;
8
11
  elements: ExcalidrawElement[];
@@ -15,6 +18,9 @@ export declare const distributeHorizontally: {
15
18
  };
16
19
  export declare const distributeVertically: {
17
20
  name: "distributeVertically";
21
+ trackEvent: {
22
+ category: "element";
23
+ };
18
24
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
19
25
  appState: Readonly<AppState>;
20
26
  elements: ExcalidrawElement[];
@@ -3,6 +3,9 @@ import { ExcalidrawElement } from "../element/types";
3
3
  import { AppState } from "../types";
4
4
  export declare const actionDuplicateSelection: {
5
5
  name: "duplicateSelection";
6
+ trackEvent: {
7
+ category: "element";
8
+ };
6
9
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => false | {
7
10
  commitToHistory: true;
8
11
  elements?: readonly ExcalidrawElement[] | null | undefined;