@excalidraw/excalidraw 0.16.1-4c35eba → 0.16.1-aaf73c8

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 (54) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/excalidraw.development.js +140 -63
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/package.json +1 -1
  5. package/types/actions/actionAddToLibrary.d.ts +9 -27
  6. package/types/actions/actionAlign.d.ts +8 -8
  7. package/types/actions/actionBoundText.d.ts +6 -18
  8. package/types/actions/actionCanvas.d.ts +57 -123
  9. package/types/actions/actionClipboard.d.ts +19 -49
  10. package/types/actions/actionDeleteSelected.d.ts +11 -29
  11. package/types/actions/actionDistribute.d.ts +4 -4
  12. package/types/actions/actionDuplicateSelection.d.ts +2 -2
  13. package/types/actions/actionElementLock.d.ts +8 -20
  14. package/types/actions/actionExport.d.ts +42 -96
  15. package/types/actions/actionFinalize.d.ts +8 -20
  16. package/types/actions/actionFlip.d.ts +4 -4
  17. package/types/actions/actionFrame.d.ts +11 -29
  18. package/types/actions/actionGroup.d.ts +10 -22
  19. package/types/actions/actionLinearEditor.d.ts +3 -9
  20. package/types/actions/actionMenu.d.ts +11 -29
  21. package/types/actions/actionProperties.d.ts +43 -121
  22. package/types/actions/actionSelectAll.d.ts +5 -11
  23. package/types/actions/actionStyles.d.ts +7 -13
  24. package/types/actions/actionToggleGridMode.d.ts +5 -11
  25. package/types/actions/actionToggleObjectsSnapMode.d.ts +5 -11
  26. package/types/actions/actionToggleStats.d.ts +5 -11
  27. package/types/actions/actionToggleViewMode.d.ts +5 -11
  28. package/types/actions/actionToggleZenMode.d.ts +5 -11
  29. package/types/actions/actionZindex.d.ts +8 -8
  30. package/types/appState.d.ts +5 -11
  31. package/types/components/Actions.d.ts +4 -9
  32. package/types/components/App.d.ts +15 -5
  33. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  34. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  35. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  36. package/types/components/LayerUI.d.ts +2 -5
  37. package/types/components/MobileMenu.d.ts +1 -5
  38. package/types/components/Sidebar/Sidebar.d.ts +1 -1
  39. package/types/components/Stack.d.ts +2 -2
  40. package/types/components/dropdownMenu/DropdownMenu.d.ts +6 -3
  41. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +2 -1
  42. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  43. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +2 -1
  44. package/types/components/dropdownMenu/common.d.ts +1 -1
  45. package/types/components/icons.d.ts +2 -0
  46. package/types/components/main-menu/MainMenu.d.ts +6 -3
  47. package/types/cursor.d.ts +5 -0
  48. package/types/element/Hyperlink.d.ts +5 -11
  49. package/types/element/embeddable.d.ts +3 -9
  50. package/types/element/linearElementEditor.d.ts +3 -9
  51. package/types/element/mutateElement.d.ts +1 -1
  52. package/types/frame.d.ts +5 -0
  53. package/types/types.d.ts +16 -17
  54. package/types/utils.d.ts +3 -8
@@ -37,15 +37,9 @@ export declare const actionChangeProjectName: {
37
37
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
38
38
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
39
39
  activeTool: {
40
- lastActiveTool: import("../types").LastActiveTool;
40
+ lastActiveTool: import("../types").ActiveTool | null;
41
41
  locked: boolean;
42
- } & ({
43
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
44
- customType: null;
45
- } | {
46
- type: "custom";
47
- customType: string;
48
- });
42
+ } & import("../types").ActiveTool;
49
43
  penMode: boolean;
50
44
  penDetected: boolean;
51
45
  exportBackground: boolean;
@@ -123,7 +117,7 @@ export declare const actionChangeProjectName: {
123
117
  pendingImageElementId: string | null;
124
118
  showHyperlinkPopup: false | "editor" | "info";
125
119
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
126
- snapLines: import("../snapping").SnapLine[];
120
+ snapLines: readonly import("../snapping").SnapLine[];
127
121
  originSnapOffset: {
128
122
  x: number;
129
123
  y: number;
@@ -176,15 +170,9 @@ export declare const actionChangeExportScale: {
176
170
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
177
171
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
178
172
  activeTool: {
179
- lastActiveTool: import("../types").LastActiveTool;
173
+ lastActiveTool: import("../types").ActiveTool | null;
180
174
  locked: boolean;
181
- } & ({
182
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
183
- customType: null;
184
- } | {
185
- type: "custom";
186
- customType: string;
187
- });
175
+ } & import("../types").ActiveTool;
188
176
  penMode: boolean;
189
177
  penDetected: boolean;
190
178
  exportBackground: boolean;
@@ -262,7 +250,7 @@ export declare const actionChangeExportScale: {
262
250
  pendingImageElementId: string | null;
263
251
  showHyperlinkPopup: false | "editor" | "info";
264
252
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
265
- snapLines: import("../snapping").SnapLine[];
253
+ snapLines: readonly import("../snapping").SnapLine[];
266
254
  originSnapOffset: {
267
255
  x: number;
268
256
  y: number;
@@ -315,15 +303,9 @@ export declare const actionChangeExportBackground: {
315
303
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
316
304
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
317
305
  activeTool: {
318
- lastActiveTool: import("../types").LastActiveTool;
306
+ lastActiveTool: import("../types").ActiveTool | null;
319
307
  locked: boolean;
320
- } & ({
321
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
322
- customType: null;
323
- } | {
324
- type: "custom";
325
- customType: string;
326
- });
308
+ } & import("../types").ActiveTool;
327
309
  penMode: boolean;
328
310
  penDetected: boolean;
329
311
  exportEmbedScene: boolean;
@@ -401,7 +383,7 @@ export declare const actionChangeExportBackground: {
401
383
  pendingImageElementId: string | null;
402
384
  showHyperlinkPopup: false | "editor" | "info";
403
385
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
404
- snapLines: import("../snapping").SnapLine[];
386
+ snapLines: readonly import("../snapping").SnapLine[];
405
387
  originSnapOffset: {
406
388
  x: number;
407
389
  y: number;
@@ -454,15 +436,9 @@ export declare const actionChangeExportEmbedScene: {
454
436
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
455
437
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
456
438
  activeTool: {
457
- lastActiveTool: import("../types").LastActiveTool;
439
+ lastActiveTool: import("../types").ActiveTool | null;
458
440
  locked: boolean;
459
- } & ({
460
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
461
- customType: null;
462
- } | {
463
- type: "custom";
464
- customType: string;
465
- });
441
+ } & import("../types").ActiveTool;
466
442
  penMode: boolean;
467
443
  penDetected: boolean;
468
444
  exportBackground: boolean;
@@ -540,7 +516,7 @@ export declare const actionChangeExportEmbedScene: {
540
516
  pendingImageElementId: string | null;
541
517
  showHyperlinkPopup: false | "editor" | "info";
542
518
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
543
- snapLines: import("../snapping").SnapLine[];
519
+ snapLines: readonly import("../snapping").SnapLine[];
544
520
  originSnapOffset: {
545
521
  x: number;
546
522
  y: number;
@@ -597,15 +573,9 @@ export declare const actionSaveToActiveFile: {
597
573
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
598
574
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
599
575
  activeTool: {
600
- lastActiveTool: import("../types").LastActiveTool;
576
+ lastActiveTool: import("../types").ActiveTool | null;
601
577
  locked: boolean;
602
- } & ({
603
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
604
- customType: null;
605
- } | {
606
- type: "custom";
607
- customType: string;
608
- });
578
+ } & import("../types").ActiveTool;
609
579
  penMode: boolean;
610
580
  penDetected: boolean;
611
581
  exportBackground: boolean;
@@ -678,7 +648,7 @@ export declare const actionSaveToActiveFile: {
678
648
  pendingImageElementId: string | null;
679
649
  showHyperlinkPopup: false | "editor" | "info";
680
650
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
681
- snapLines: import("../snapping").SnapLine[];
651
+ snapLines: readonly import("../snapping").SnapLine[];
682
652
  originSnapOffset: {
683
653
  x: number;
684
654
  y: number;
@@ -689,9 +659,9 @@ export declare const actionSaveToActiveFile: {
689
659
  commitToHistory: false;
690
660
  appState?: undefined;
691
661
  }>;
692
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
662
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
693
663
  } & {
694
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
664
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
695
665
  };
696
666
  export declare const actionSaveFileToDisk: {
697
667
  name: "saveFileToDisk";
@@ -734,15 +704,9 @@ export declare const actionSaveFileToDisk: {
734
704
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
735
705
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
736
706
  activeTool: {
737
- lastActiveTool: import("../types").LastActiveTool;
707
+ lastActiveTool: import("../types").ActiveTool | null;
738
708
  locked: boolean;
739
- } & ({
740
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
741
- customType: null;
742
- } | {
743
- type: "custom";
744
- customType: string;
745
- });
709
+ } & import("../types").ActiveTool;
746
710
  penMode: boolean;
747
711
  penDetected: boolean;
748
712
  exportBackground: boolean;
@@ -820,7 +784,7 @@ export declare const actionSaveFileToDisk: {
820
784
  pendingImageElementId: string | null;
821
785
  showHyperlinkPopup: false | "editor" | "info";
822
786
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
823
- snapLines: import("../snapping").SnapLine[];
787
+ snapLines: readonly import("../snapping").SnapLine[];
824
788
  originSnapOffset: {
825
789
  x: number;
826
790
  y: number;
@@ -831,10 +795,10 @@ export declare const actionSaveFileToDisk: {
831
795
  commitToHistory: false;
832
796
  appState?: undefined;
833
797
  }>;
834
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
798
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
835
799
  PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
836
800
  } & {
837
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
801
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
838
802
  };
839
803
  export declare const actionLoadScene: {
840
804
  name: "loadScene";
@@ -845,25 +809,11 @@ export declare const actionLoadScene: {
845
809
  perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
846
810
  elements: import("../element/types").ExcalidrawElement[];
847
811
  appState: {
848
- theme: Theme;
849
- name: string;
850
812
  activeTool: {
851
- lastActiveTool: import("../types").LastActiveTool;
813
+ lastActiveTool: import("../types").ActiveTool | null;
852
814
  locked: boolean;
853
- } & ({
854
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
855
- customType: null;
856
- } | {
857
- type: "custom";
858
- customType: string;
859
- });
860
- toast: {
861
- message: string;
862
- closable?: boolean | undefined;
863
- duration?: number | undefined;
864
- } | null;
865
- collaborators: Map<string, import("../types").Collaborator>;
866
- penMode: boolean;
815
+ } & import("../types").ActiveTool;
816
+ name: string;
867
817
  contextMenu: {
868
818
  items: import("../components/ContextMenu").ContextMenuItems;
869
819
  top: number;
@@ -894,6 +844,7 @@ export declare const actionLoadScene: {
894
844
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
895
845
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
896
846
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
847
+ penMode: boolean;
897
848
  penDetected: boolean;
898
849
  exportBackground: boolean;
899
850
  exportEmbedScene: boolean;
@@ -939,7 +890,13 @@ export declare const actionLoadScene: {
939
890
  };
940
891
  selectedElementsAreBeingDragged: boolean;
941
892
  shouldCacheIgnoreZoom: boolean;
893
+ toast: {
894
+ message: string;
895
+ closable?: boolean | undefined;
896
+ duration?: number | undefined;
897
+ } | null;
942
898
  zenModeEnabled: boolean;
899
+ theme: Theme;
943
900
  gridSize: number | null;
944
901
  viewModeEnabled: boolean;
945
902
  selectedGroupIds: {
@@ -947,6 +904,7 @@ export declare const actionLoadScene: {
947
904
  };
948
905
  editingGroupId: string | null;
949
906
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
907
+ collaborators: Map<string, import("../types").Collaborator>;
950
908
  showStats: boolean;
951
909
  currentChartType: import("../element/types").ChartType;
952
910
  pasteDialog: {
@@ -959,7 +917,7 @@ export declare const actionLoadScene: {
959
917
  pendingImageElementId: string | null;
960
918
  showHyperlinkPopup: false | "editor" | "info";
961
919
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
962
- snapLines: import("../snapping").SnapLine[];
920
+ snapLines: readonly import("../snapping").SnapLine[];
963
921
  originSnapOffset: {
964
922
  x: number;
965
923
  y: number;
@@ -1002,15 +960,9 @@ export declare const actionLoadScene: {
1002
960
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1003
961
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1004
962
  activeTool: {
1005
- lastActiveTool: import("../types").LastActiveTool;
963
+ lastActiveTool: import("../types").ActiveTool | null;
1006
964
  locked: boolean;
1007
- } & ({
1008
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1009
- customType: null;
1010
- } | {
1011
- type: "custom";
1012
- customType: string;
1013
- });
965
+ } & import("../types").ActiveTool;
1014
966
  penMode: boolean;
1015
967
  penDetected: boolean;
1016
968
  exportBackground: boolean;
@@ -1089,7 +1041,7 @@ export declare const actionLoadScene: {
1089
1041
  pendingImageElementId: string | null;
1090
1042
  showHyperlinkPopup: false | "editor" | "info";
1091
1043
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1092
- snapLines: import("../snapping").SnapLine[];
1044
+ snapLines: readonly import("../snapping").SnapLine[];
1093
1045
  originSnapOffset: {
1094
1046
  x: number;
1095
1047
  y: number;
@@ -1099,9 +1051,9 @@ export declare const actionLoadScene: {
1099
1051
  files: import("../types").BinaryFiles;
1100
1052
  commitToHistory: false;
1101
1053
  }>;
1102
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1054
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1103
1055
  } & {
1104
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1056
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1105
1057
  };
1106
1058
  export declare const actionExportWithDarkMode: {
1107
1059
  name: "exportWithDarkMode";
@@ -1143,15 +1095,9 @@ export declare const actionExportWithDarkMode: {
1143
1095
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1144
1096
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1145
1097
  activeTool: {
1146
- lastActiveTool: import("../types").LastActiveTool;
1098
+ lastActiveTool: import("../types").ActiveTool | null;
1147
1099
  locked: boolean;
1148
- } & ({
1149
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
1150
- customType: null;
1151
- } | {
1152
- type: "custom";
1153
- customType: string;
1154
- });
1100
+ } & import("../types").ActiveTool;
1155
1101
  penMode: boolean;
1156
1102
  penDetected: boolean;
1157
1103
  exportBackground: boolean;
@@ -1229,7 +1175,7 @@ export declare const actionExportWithDarkMode: {
1229
1175
  pendingImageElementId: string | null;
1230
1176
  showHyperlinkPopup: false | "editor" | "info";
1231
1177
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1232
- snapLines: import("../snapping").SnapLine[];
1178
+ snapLines: readonly import("../snapping").SnapLine[];
1233
1179
  originSnapOffset: {
1234
1180
  x: number;
1235
1181
  y: number;
@@ -38,15 +38,9 @@ export declare const actionFinalize: {
38
38
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
39
39
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
40
40
  activeTool: {
41
- lastActiveTool: import("../types").LastActiveTool;
41
+ lastActiveTool: import("../types").ActiveTool | null;
42
42
  locked: boolean;
43
- } & ({
44
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
45
- customType: null;
46
- } | {
47
- type: "custom";
48
- customType: string;
49
- });
43
+ } & import("../types").ActiveTool;
50
44
  penMode: boolean;
51
45
  penDetected: boolean;
52
46
  exportBackground: boolean;
@@ -124,7 +118,7 @@ export declare const actionFinalize: {
124
118
  pendingImageElementId: string | null;
125
119
  showHyperlinkPopup: false | "editor" | "info";
126
120
  selectedLinearElement: LinearElementEditor | null;
127
- snapLines: import("../snapping").SnapLine[];
121
+ snapLines: readonly import("../snapping").SnapLine[];
128
122
  originSnapOffset: {
129
123
  x: number;
130
124
  y: number;
@@ -137,15 +131,9 @@ export declare const actionFinalize: {
137
131
  appState: {
138
132
  cursorButton: "up";
139
133
  activeTool: {
140
- lastActiveTool: import("../types").LastActiveTool;
134
+ lastActiveTool: import("../types").ActiveTool | null;
141
135
  locked: boolean;
142
- } & ({
143
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
144
- customType: null;
145
- } | {
146
- type: "custom";
147
- customType: string;
148
- });
136
+ } & import("../types").ActiveTool;
149
137
  activeEmbeddable: null;
150
138
  draggingElement: null;
151
139
  multiElement: null;
@@ -250,7 +238,7 @@ export declare const actionFinalize: {
250
238
  data: import("../charts").Spreadsheet;
251
239
  };
252
240
  showHyperlinkPopup: false | "editor" | "info";
253
- snapLines: import("../snapping").SnapLine[];
241
+ snapLines: readonly import("../snapping").SnapLine[];
254
242
  originSnapOffset: {
255
243
  x: number;
256
244
  y: number;
@@ -259,8 +247,8 @@ export declare const actionFinalize: {
259
247
  };
260
248
  commitToHistory: boolean;
261
249
  };
262
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean;
250
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean;
263
251
  PanelComponent: ({ appState, updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
264
252
  } & {
265
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean) | undefined;
253
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean) | undefined;
266
254
  };
@@ -10,10 +10,10 @@ export declare const actionFlipHorizontal: {
10
10
  appState: Readonly<AppState>;
11
11
  commitToHistory: true;
12
12
  };
13
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
13
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
14
14
  contextItemLabel: string;
15
15
  } & {
16
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
16
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
17
17
  };
18
18
  export declare const actionFlipVertical: {
19
19
  name: "flipVertical";
@@ -25,8 +25,8 @@ export declare const actionFlipVertical: {
25
25
  appState: Readonly<AppState>;
26
26
  commitToHistory: true;
27
27
  };
28
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
28
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
29
29
  contextItemLabel: string;
30
30
  } & {
31
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
31
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
32
32
  };
@@ -57,15 +57,9 @@ export declare const actionRemoveAllElementsFromFrame: {
57
57
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
58
58
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
59
59
  activeTool: {
60
- lastActiveTool: import("../types").LastActiveTool;
60
+ lastActiveTool: import("../types").ActiveTool | null;
61
61
  locked: boolean;
62
- } & ({
63
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
64
- customType: null;
65
- } | {
66
- type: "custom";
67
- customType: string;
68
- });
62
+ } & import("../types").ActiveTool;
69
63
  penMode: boolean;
70
64
  penDetected: boolean;
71
65
  exportBackground: boolean;
@@ -141,7 +135,7 @@ export declare const actionRemoveAllElementsFromFrame: {
141
135
  pendingImageElementId: string | null;
142
136
  showHyperlinkPopup: false | "editor" | "info";
143
137
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
144
- snapLines: import("../snapping").SnapLine[];
138
+ snapLines: readonly import("../snapping").SnapLine[];
145
139
  originSnapOffset: {
146
140
  x: number;
147
141
  y: number;
@@ -199,15 +193,9 @@ export declare const actionupdateFrameRendering: {
199
193
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
200
194
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
201
195
  activeTool: {
202
- lastActiveTool: import("../types").LastActiveTool;
196
+ lastActiveTool: import("../types").ActiveTool | null;
203
197
  locked: boolean;
204
- } & ({
205
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
206
- customType: null;
207
- } | {
208
- type: "custom";
209
- customType: string;
210
- });
198
+ } & import("../types").ActiveTool;
211
199
  penMode: boolean;
212
200
  penDetected: boolean;
213
201
  exportBackground: boolean;
@@ -286,7 +274,7 @@ export declare const actionupdateFrameRendering: {
286
274
  pendingImageElementId: string | null;
287
275
  showHyperlinkPopup: false | "editor" | "info";
288
276
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
289
- snapLines: import("../snapping").SnapLine[];
277
+ snapLines: readonly import("../snapping").SnapLine[];
290
278
  originSnapOffset: {
291
279
  x: number;
292
280
  y: number;
@@ -309,15 +297,9 @@ export declare const actionSetFrameAsActiveTool: {
309
297
  elements: readonly ExcalidrawElement[];
310
298
  appState: {
311
299
  activeTool: {
312
- lastActiveTool: import("../types").LastActiveTool;
300
+ lastActiveTool: import("../types").ActiveTool | null;
313
301
  locked: boolean;
314
- } & ({
315
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
316
- customType: null;
317
- } | {
318
- type: "custom";
319
- customType: string;
320
- });
302
+ } & import("../types").ActiveTool;
321
303
  contextMenu: {
322
304
  items: import("../components/ContextMenu").ContextMenuItems;
323
305
  top: number;
@@ -426,7 +408,7 @@ export declare const actionSetFrameAsActiveTool: {
426
408
  pendingImageElementId: string | null;
427
409
  showHyperlinkPopup: false | "editor" | "info";
428
410
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
429
- snapLines: import("../snapping").SnapLine[];
411
+ snapLines: readonly import("../snapping").SnapLine[];
430
412
  originSnapOffset: {
431
413
  x: number;
432
414
  y: number;
@@ -435,7 +417,7 @@ export declare const actionSetFrameAsActiveTool: {
435
417
  };
436
418
  commitToHistory: false;
437
419
  };
438
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
420
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
439
421
  } & {
440
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
422
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
441
423
  };
@@ -49,15 +49,9 @@ export declare const actionGroup: {
49
49
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
50
50
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
51
51
  activeTool: {
52
- lastActiveTool: import("../types").LastActiveTool;
52
+ lastActiveTool: import("../types").ActiveTool | null;
53
53
  locked: boolean;
54
- } & ({
55
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
56
- customType: null;
57
- } | {
58
- type: "custom";
59
- customType: string;
60
- });
54
+ } & import("../types").ActiveTool;
61
55
  penMode: boolean;
62
56
  penDetected: boolean;
63
57
  exportBackground: boolean;
@@ -129,7 +123,7 @@ export declare const actionGroup: {
129
123
  pendingImageElementId: string | null;
130
124
  showHyperlinkPopup: false | "editor" | "info";
131
125
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
132
- snapLines: import("../snapping").SnapLine[];
126
+ snapLines: readonly import("../snapping").SnapLine[];
133
127
  originSnapOffset: {
134
128
  x: number;
135
129
  y: number;
@@ -141,10 +135,10 @@ export declare const actionGroup: {
141
135
  };
142
136
  contextItemLabel: string;
143
137
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
144
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
138
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
145
139
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
146
140
  } & {
147
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
141
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
148
142
  };
149
143
  export declare const actionUngroup: {
150
144
  name: "ungroup";
@@ -195,15 +189,9 @@ export declare const actionUngroup: {
195
189
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
196
190
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
197
191
  activeTool: {
198
- lastActiveTool: import("../types").LastActiveTool;
192
+ lastActiveTool: import("../types").ActiveTool | null;
199
193
  locked: boolean;
200
- } & ({
201
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
202
- customType: null;
203
- } | {
204
- type: "custom";
205
- customType: string;
206
- });
194
+ } & import("../types").ActiveTool;
207
195
  penMode: boolean;
208
196
  penDetected: boolean;
209
197
  exportBackground: boolean;
@@ -275,7 +263,7 @@ export declare const actionUngroup: {
275
263
  pendingImageElementId: string | null;
276
264
  showHyperlinkPopup: false | "editor" | "info";
277
265
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
278
- snapLines: import("../snapping").SnapLine[];
266
+ snapLines: readonly import("../snapping").SnapLine[];
279
267
  originSnapOffset: {
280
268
  x: number;
281
269
  y: number;
@@ -285,10 +273,10 @@ export declare const actionUngroup: {
285
273
  elements: ExcalidrawElement[];
286
274
  commitToHistory: true;
287
275
  };
288
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
276
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
289
277
  contextItemLabel: string;
290
278
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
291
279
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
292
280
  } & {
293
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
281
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
294
282
  };
@@ -39,15 +39,9 @@ export declare const actionToggleLinearEditor: {
39
39
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
40
40
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
41
41
  activeTool: {
42
- lastActiveTool: import("../types").LastActiveTool;
42
+ lastActiveTool: import("../types").ActiveTool | null;
43
43
  locked: boolean;
44
- } & ({
45
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
46
- customType: null;
47
- } | {
48
- type: "custom";
49
- customType: string;
50
- });
44
+ } & import("../types").ActiveTool;
51
45
  penMode: boolean;
52
46
  penDetected: boolean;
53
47
  exportBackground: boolean;
@@ -126,7 +120,7 @@ export declare const actionToggleLinearEditor: {
126
120
  pendingImageElementId: string | null;
127
121
  showHyperlinkPopup: false | "editor" | "info";
128
122
  selectedLinearElement: LinearElementEditor | null;
129
- snapLines: import("../snapping").SnapLine[];
123
+ snapLines: readonly import("../snapping").SnapLine[];
130
124
  originSnapOffset: {
131
125
  x: number;
132
126
  y: number;