@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
@@ -65,15 +65,9 @@ export declare const actionCut: {
65
65
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
66
66
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
67
67
  activeTool: {
68
- lastActiveTool: import("../types").LastActiveTool;
68
+ lastActiveTool: import("../types").ActiveTool | null;
69
69
  locked: boolean;
70
- } & ({
71
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
72
- customType: null;
73
- } | {
74
- type: "custom";
75
- customType: string;
76
- });
70
+ } & import("../types").ActiveTool;
77
71
  penMode: boolean;
78
72
  penDetected: boolean;
79
73
  exportBackground: boolean;
@@ -152,7 +146,7 @@ export declare const actionCut: {
152
146
  pendingImageElementId: string | null;
153
147
  showHyperlinkPopup: false | "editor" | "info";
154
148
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
155
- snapLines: import("../snapping").SnapLine[];
149
+ snapLines: readonly import("../snapping").SnapLine[];
156
150
  originSnapOffset: {
157
151
  x: number;
158
152
  y: number;
@@ -222,15 +216,9 @@ export declare const actionCut: {
222
216
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
223
217
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
224
218
  activeTool: {
225
- lastActiveTool: import("../types").LastActiveTool;
219
+ lastActiveTool: import("../types").ActiveTool | null;
226
220
  locked: boolean;
227
- } & ({
228
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
229
- customType: null;
230
- } | {
231
- type: "custom";
232
- customType: string;
233
- });
221
+ } & import("../types").ActiveTool;
234
222
  penMode: boolean;
235
223
  penDetected: boolean;
236
224
  exportBackground: boolean;
@@ -309,7 +297,7 @@ export declare const actionCut: {
309
297
  pendingImageElementId: string | null;
310
298
  showHyperlinkPopup: false | "editor" | "info";
311
299
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
312
- snapLines: import("../snapping").SnapLine[];
300
+ snapLines: readonly import("../snapping").SnapLine[];
313
301
  originSnapOffset: {
314
302
  x: number;
315
303
  y: number;
@@ -321,15 +309,9 @@ export declare const actionCut: {
321
309
  elements: import("../element/types").ExcalidrawElement[];
322
310
  appState: {
323
311
  activeTool: {
324
- lastActiveTool: import("../types").LastActiveTool;
312
+ lastActiveTool: import("../types").ActiveTool | null;
325
313
  locked: boolean;
326
- } & ({
327
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
328
- customType: null;
329
- } | {
330
- type: "custom";
331
- customType: string;
332
- });
314
+ } & import("../types").ActiveTool;
333
315
  multiElement: null;
334
316
  activeEmbeddable: null;
335
317
  selectedElementIds: {};
@@ -433,7 +415,7 @@ export declare const actionCut: {
433
415
  pendingImageElementId: string | null;
434
416
  showHyperlinkPopup: false | "editor" | "info";
435
417
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
436
- snapLines: import("../snapping").SnapLine[];
418
+ snapLines: readonly import("../snapping").SnapLine[];
437
419
  originSnapOffset: {
438
420
  x: number;
439
421
  y: number;
@@ -444,9 +426,9 @@ export declare const actionCut: {
444
426
  };
445
427
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
446
428
  contextItemLabel: string;
447
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
429
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
448
430
  } & {
449
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
431
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
450
432
  };
451
433
  export declare const actionCopyAsSvg: {
452
434
  name: "copyAsSvg";
@@ -489,15 +471,9 @@ export declare const actionCopyAsSvg: {
489
471
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
490
472
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
491
473
  activeTool: {
492
- lastActiveTool: import("../types").LastActiveTool;
474
+ lastActiveTool: import("../types").ActiveTool | null;
493
475
  locked: boolean;
494
- } & ({
495
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
496
- customType: null;
497
- } | {
498
- type: "custom";
499
- customType: string;
500
- });
476
+ } & import("../types").ActiveTool;
501
477
  penMode: boolean;
502
478
  penDetected: boolean;
503
479
  exportBackground: boolean;
@@ -576,7 +552,7 @@ export declare const actionCopyAsSvg: {
576
552
  pendingImageElementId: string | null;
577
553
  showHyperlinkPopup: false | "editor" | "info";
578
554
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
579
- snapLines: import("../snapping").SnapLine[];
555
+ snapLines: readonly import("../snapping").SnapLine[];
580
556
  originSnapOffset: {
581
557
  x: number;
582
558
  y: number;
@@ -631,15 +607,9 @@ export declare const actionCopyAsPng: {
631
607
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
632
608
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
633
609
  activeTool: {
634
- lastActiveTool: import("../types").LastActiveTool;
610
+ lastActiveTool: import("../types").ActiveTool | null;
635
611
  locked: boolean;
636
- } & ({
637
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
638
- customType: null;
639
- } | {
640
- type: "custom";
641
- customType: string;
642
- });
612
+ } & import("../types").ActiveTool;
643
613
  penMode: boolean;
644
614
  penDetected: boolean;
645
615
  exportBackground: boolean;
@@ -718,7 +688,7 @@ export declare const actionCopyAsPng: {
718
688
  pendingImageElementId: string | null;
719
689
  showHyperlinkPopup: false | "editor" | "info";
720
690
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
721
- snapLines: import("../snapping").SnapLine[];
691
+ snapLines: readonly import("../snapping").SnapLine[];
722
692
  originSnapOffset: {
723
693
  x: number;
724
694
  y: number;
@@ -729,9 +699,9 @@ export declare const actionCopyAsPng: {
729
699
  }>;
730
700
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[]) => boolean;
731
701
  contextItemLabel: string;
732
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
702
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
733
703
  } & {
734
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
704
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
735
705
  };
736
706
  export declare const copyText: {
737
707
  name: "copyText";
@@ -41,15 +41,9 @@ export declare const actionDeleteSelected: {
41
41
  elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
42
42
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
43
  activeTool: {
44
- lastActiveTool: import("../types").LastActiveTool;
44
+ lastActiveTool: import("../types").ActiveTool | null;
45
45
  locked: boolean;
46
- } & ({
47
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
48
- customType: null;
49
- } | {
50
- type: "custom";
51
- customType: string;
52
- });
46
+ } & import("../types").ActiveTool;
53
47
  penMode: boolean;
54
48
  penDetected: boolean;
55
49
  exportBackground: boolean;
@@ -128,7 +122,7 @@ export declare const actionDeleteSelected: {
128
122
  pendingImageElementId: string | null;
129
123
  showHyperlinkPopup: false | "editor" | "info";
130
124
  selectedLinearElement: LinearElementEditor | null;
131
- snapLines: import("../snapping").SnapLine[];
125
+ snapLines: readonly import("../snapping").SnapLine[];
132
126
  originSnapOffset: {
133
127
  x: number;
134
128
  y: number;
@@ -198,15 +192,9 @@ export declare const actionDeleteSelected: {
198
192
  elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
199
193
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
200
194
  activeTool: {
201
- lastActiveTool: import("../types").LastActiveTool;
195
+ lastActiveTool: import("../types").ActiveTool | null;
202
196
  locked: boolean;
203
- } & ({
204
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
205
- customType: null;
206
- } | {
207
- type: "custom";
208
- customType: string;
209
- });
197
+ } & import("../types").ActiveTool;
210
198
  penMode: boolean;
211
199
  penDetected: boolean;
212
200
  exportBackground: boolean;
@@ -285,7 +273,7 @@ export declare const actionDeleteSelected: {
285
273
  pendingImageElementId: string | null;
286
274
  showHyperlinkPopup: false | "editor" | "info";
287
275
  selectedLinearElement: LinearElementEditor | null;
288
- snapLines: import("../snapping").SnapLine[];
276
+ snapLines: readonly import("../snapping").SnapLine[];
289
277
  originSnapOffset: {
290
278
  x: number;
291
279
  y: number;
@@ -297,15 +285,9 @@ export declare const actionDeleteSelected: {
297
285
  elements: ExcalidrawElement[];
298
286
  appState: {
299
287
  activeTool: {
300
- lastActiveTool: import("../types").LastActiveTool;
288
+ lastActiveTool: import("../types").ActiveTool | null;
301
289
  locked: boolean;
302
- } & ({
303
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
304
- customType: null;
305
- } | {
306
- type: "custom";
307
- customType: string;
308
- });
290
+ } & import("../types").ActiveTool;
309
291
  multiElement: null;
310
292
  activeEmbeddable: null;
311
293
  selectedElementIds: {};
@@ -409,7 +391,7 @@ export declare const actionDeleteSelected: {
409
391
  pendingImageElementId: string | null;
410
392
  showHyperlinkPopup: false | "editor" | "info";
411
393
  selectedLinearElement: LinearElementEditor | null;
412
- snapLines: import("../snapping").SnapLine[];
394
+ snapLines: readonly import("../snapping").SnapLine[];
413
395
  originSnapOffset: {
414
396
  x: number;
415
397
  y: number;
@@ -419,8 +401,8 @@ export declare const actionDeleteSelected: {
419
401
  commitToHistory: boolean;
420
402
  };
421
403
  contextItemLabel: string;
422
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
404
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
423
405
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
424
406
  } & {
425
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean) | undefined;
407
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean) | undefined;
426
408
  };
@@ -10,10 +10,10 @@ export declare const distributeHorizontally: {
10
10
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
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
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
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 distributeVertically: {
19
19
  name: "distributeVertically";
@@ -25,8 +25,8 @@ export declare const distributeVertically: {
25
25
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
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
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
30
30
  } & {
31
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
31
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
32
32
  };
@@ -14,8 +14,8 @@ export declare const actionDuplicateSelection: {
14
14
  replaceFiles?: boolean | undefined;
15
15
  };
16
16
  contextItemLabel: string;
17
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
17
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
18
18
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
19
19
  } & {
20
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
20
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
21
21
  };
@@ -40,15 +40,9 @@ export declare const actionToggleElementLock: {
40
40
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
41
41
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
42
42
  activeTool: {
43
- lastActiveTool: import("../types").LastActiveTool;
43
+ lastActiveTool: import("../types").ActiveTool | null;
44
44
  locked: boolean;
45
- } & ({
46
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
47
- customType: null;
48
- } | {
49
- type: "custom";
50
- customType: string;
51
- });
45
+ } & import("../types").ActiveTool;
52
46
  penMode: boolean;
53
47
  penDetected: boolean;
54
48
  exportBackground: boolean;
@@ -126,7 +120,7 @@ export declare const actionToggleElementLock: {
126
120
  };
127
121
  pendingImageElementId: string | null;
128
122
  showHyperlinkPopup: false | "editor" | "info";
129
- snapLines: import("../snapping").SnapLine[];
123
+ snapLines: readonly import("../snapping").SnapLine[];
130
124
  originSnapOffset: {
131
125
  x: number;
132
126
  y: number;
@@ -136,9 +130,9 @@ export declare const actionToggleElementLock: {
136
130
  commitToHistory: true;
137
131
  };
138
132
  contextItemLabel: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.elementLock.unlock" | "labels.elementLock.lock" | "labels.elementLock.lockAll" | "labels.elementLock.unlockAll";
139
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
133
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
140
134
  } & {
141
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
135
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
142
136
  };
143
137
  export declare const actionUnlockAllElements: {
144
138
  name: "unlockAllElements";
@@ -184,15 +178,9 @@ export declare const actionUnlockAllElements: {
184
178
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
185
179
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
186
180
  activeTool: {
187
- lastActiveTool: import("../types").LastActiveTool;
181
+ lastActiveTool: import("../types").ActiveTool | null;
188
182
  locked: boolean;
189
- } & ({
190
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
191
- customType: null;
192
- } | {
193
- type: "custom";
194
- customType: string;
195
- });
183
+ } & import("../types").ActiveTool;
196
184
  penMode: boolean;
197
185
  penDetected: boolean;
198
186
  exportBackground: boolean;
@@ -268,7 +256,7 @@ export declare const actionUnlockAllElements: {
268
256
  pendingImageElementId: string | null;
269
257
  showHyperlinkPopup: false | "editor" | "info";
270
258
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
271
- snapLines: import("../snapping").SnapLine[];
259
+ snapLines: readonly import("../snapping").SnapLine[];
272
260
  originSnapOffset: {
273
261
  x: number;
274
262
  y: number;