@zsviczian/excalidraw 0.16.1-obsidian-2 → 0.16.1-obsidian-3

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 (50) hide show
  1. package/dist/excalidraw.development.js +90 -24
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/actions/actionAddToLibrary.d.ts +9 -27
  5. package/types/actions/actionAlign.d.ts +8 -8
  6. package/types/actions/actionBoundText.d.ts +6 -18
  7. package/types/actions/actionCanvas.d.ts +206 -125
  8. package/types/actions/actionClipboard.d.ts +19 -49
  9. package/types/actions/actionDeleteSelected.d.ts +11 -29
  10. package/types/actions/actionDistribute.d.ts +4 -4
  11. package/types/actions/actionDuplicateSelection.d.ts +2 -2
  12. package/types/actions/actionElementLock.d.ts +8 -20
  13. package/types/actions/actionExport.d.ts +35 -89
  14. package/types/actions/actionFinalize.d.ts +8 -20
  15. package/types/actions/actionFlip.d.ts +4 -4
  16. package/types/actions/actionFrame.d.ts +11 -29
  17. package/types/actions/actionGroup.d.ts +10 -22
  18. package/types/actions/actionLinearEditor.d.ts +3 -9
  19. package/types/actions/actionMenu.d.ts +13 -31
  20. package/types/actions/actionProperties.d.ts +43 -121
  21. package/types/actions/actionSelectAll.d.ts +5 -11
  22. package/types/actions/actionStyles.d.ts +7 -13
  23. package/types/actions/actionToggleGridMode.d.ts +5 -11
  24. package/types/actions/actionToggleObjectsSnapMode.d.ts +5 -11
  25. package/types/actions/actionToggleStats.d.ts +5 -11
  26. package/types/actions/actionToggleViewMode.d.ts +5 -11
  27. package/types/actions/actionToggleZenMode.d.ts +5 -11
  28. package/types/actions/actionZindex.d.ts +8 -8
  29. package/types/actions/shortcuts.d.ts +1 -1
  30. package/types/actions/types.d.ts +1 -1
  31. package/types/appState.d.ts +7 -10
  32. package/types/components/Actions.d.ts +3 -4
  33. package/types/components/App.d.ts +7 -6
  34. package/types/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  35. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  36. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  37. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  38. package/types/components/LayerUI.d.ts +2 -1
  39. package/types/components/dropdownMenu/DropdownMenu.d.ts +6 -3
  40. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +2 -1
  41. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  42. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +2 -1
  43. package/types/components/dropdownMenu/common.d.ts +1 -1
  44. package/types/components/icons.d.ts +2 -0
  45. package/types/components/main-menu/MainMenu.d.ts +6 -3
  46. package/types/element/Hyperlink.d.ts +5 -11
  47. package/types/element/embeddable.d.ts +3 -9
  48. package/types/element/linearElementEditor.d.ts +3 -9
  49. package/types/types.d.ts +15 -17
  50. package/types/utils.d.ts +3 -4
@@ -37,15 +37,9 @@ export declare const actionClearCanvas: {
37
37
  data: import("../charts").Spreadsheet;
38
38
  };
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" | "mermaid";
44
- customType: null;
45
- } | {
46
- type: "custom";
47
- customType: string;
48
- });
42
+ } & import("../types").ActiveTool;
49
43
  colorPalette: {
50
44
  canvasBackground: import("../colors").ColorPaletteCustom;
51
45
  elementBackground: import("../colors").ColorPaletteCustom;
@@ -162,7 +156,7 @@ export declare const actionClearCanvas: {
162
156
  dynamicStyle: string;
163
157
  invertBindingBehaviour: boolean;
164
158
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
165
- snapLines: import("../snapping").SnapLine[];
159
+ snapLines: readonly import("../snapping").SnapLine[];
166
160
  originSnapOffset: {
167
161
  x: number;
168
162
  y: number;
@@ -218,15 +212,9 @@ export declare const actionZoomIn: {
218
212
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
219
213
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
220
214
  activeTool: {
221
- lastActiveTool: import("../types").LastActiveTool;
215
+ lastActiveTool: import("../types").ActiveTool | null;
222
216
  locked: boolean;
223
- } & ({
224
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
225
- customType: null;
226
- } | {
227
- type: "custom";
228
- customType: string;
229
- });
217
+ } & import("../types").ActiveTool;
230
218
  penMode: boolean;
231
219
  penDetected: boolean;
232
220
  exportBackground: boolean;
@@ -326,7 +314,7 @@ export declare const actionZoomIn: {
326
314
  dynamicStyle: string;
327
315
  invertBindingBehaviour: boolean;
328
316
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
329
- snapLines: import("../snapping").SnapLine[];
317
+ snapLines: readonly import("../snapping").SnapLine[];
330
318
  originSnapOffset: {
331
319
  x: number;
332
320
  y: number;
@@ -336,9 +324,9 @@ export declare const actionZoomIn: {
336
324
  commitToHistory: false;
337
325
  };
338
326
  PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
339
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
327
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
340
328
  } & {
341
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
329
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
342
330
  };
343
331
  export declare const actionZoomOut: {
344
332
  name: "zoomOut";
@@ -384,15 +372,9 @@ export declare const actionZoomOut: {
384
372
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
385
373
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
386
374
  activeTool: {
387
- lastActiveTool: import("../types").LastActiveTool;
375
+ lastActiveTool: import("../types").ActiveTool | null;
388
376
  locked: boolean;
389
- } & ({
390
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
391
- customType: null;
392
- } | {
393
- type: "custom";
394
- customType: string;
395
- });
377
+ } & import("../types").ActiveTool;
396
378
  penMode: boolean;
397
379
  penDetected: boolean;
398
380
  exportBackground: boolean;
@@ -492,7 +474,7 @@ export declare const actionZoomOut: {
492
474
  dynamicStyle: string;
493
475
  invertBindingBehaviour: boolean;
494
476
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
495
- snapLines: import("../snapping").SnapLine[];
477
+ snapLines: readonly import("../snapping").SnapLine[];
496
478
  originSnapOffset: {
497
479
  x: number;
498
480
  y: number;
@@ -502,9 +484,9 @@ export declare const actionZoomOut: {
502
484
  commitToHistory: false;
503
485
  };
504
486
  PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
505
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
487
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
506
488
  } & {
507
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
489
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
508
490
  };
509
491
  export declare const actionResetZoom: {
510
492
  name: "resetZoom";
@@ -550,15 +532,9 @@ export declare const actionResetZoom: {
550
532
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
551
533
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
552
534
  activeTool: {
553
- lastActiveTool: import("../types").LastActiveTool;
535
+ lastActiveTool: import("../types").ActiveTool | null;
554
536
  locked: boolean;
555
- } & ({
556
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
557
- customType: null;
558
- } | {
559
- type: "custom";
560
- customType: string;
561
- });
537
+ } & import("../types").ActiveTool;
562
538
  penMode: boolean;
563
539
  penDetected: boolean;
564
540
  exportBackground: boolean;
@@ -658,7 +634,7 @@ export declare const actionResetZoom: {
658
634
  dynamicStyle: string;
659
635
  invertBindingBehaviour: boolean;
660
636
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
661
- snapLines: import("../snapping").SnapLine[];
637
+ snapLines: readonly import("../snapping").SnapLine[];
662
638
  originSnapOffset: {
663
639
  x: number;
664
640
  y: number;
@@ -668,9 +644,9 @@ export declare const actionResetZoom: {
668
644
  commitToHistory: false;
669
645
  };
670
646
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
671
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
647
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
672
648
  } & {
673
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
649
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
674
650
  };
675
651
  export declare const zoomToFit: ({ targetElements, appState, fitToViewport, viewportZoomFactor, }: {
676
652
  targetElements: readonly ExcalidrawElement[];
@@ -717,15 +693,9 @@ export declare const zoomToFit: ({ targetElements, appState, fitToViewport, view
717
693
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
718
694
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
719
695
  activeTool: {
720
- lastActiveTool: import("../types").LastActiveTool;
696
+ lastActiveTool: import("../types").ActiveTool | null;
721
697
  locked: boolean;
722
- } & ({
723
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
724
- customType: null;
725
- } | {
726
- type: "custom";
727
- customType: string;
728
- });
698
+ } & import("../types").ActiveTool;
729
699
  penMode: boolean;
730
700
  penDetected: boolean;
731
701
  exportBackground: boolean;
@@ -825,7 +795,7 @@ export declare const zoomToFit: ({ targetElements, appState, fitToViewport, view
825
795
  dynamicStyle: string;
826
796
  invertBindingBehaviour: boolean;
827
797
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
828
- snapLines: import("../snapping").SnapLine[];
798
+ snapLines: readonly import("../snapping").SnapLine[];
829
799
  originSnapOffset: {
830
800
  x: number;
831
801
  y: number;
@@ -877,15 +847,9 @@ export declare const actionZoomToFitSelectionInViewport: {
877
847
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
878
848
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
879
849
  activeTool: {
880
- lastActiveTool: import("../types").LastActiveTool;
850
+ lastActiveTool: import("../types").ActiveTool | null;
881
851
  locked: boolean;
882
- } & ({
883
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
884
- customType: null;
885
- } | {
886
- type: "custom";
887
- customType: string;
888
- });
852
+ } & import("../types").ActiveTool;
889
853
  penMode: boolean;
890
854
  penDetected: boolean;
891
855
  exportBackground: boolean;
@@ -985,7 +949,7 @@ export declare const actionZoomToFitSelectionInViewport: {
985
949
  dynamicStyle: string;
986
950
  invertBindingBehaviour: boolean;
987
951
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
988
- snapLines: import("../snapping").SnapLine[];
952
+ snapLines: readonly import("../snapping").SnapLine[];
989
953
  originSnapOffset: {
990
954
  x: number;
991
955
  y: number;
@@ -994,9 +958,9 @@ export declare const actionZoomToFitSelectionInViewport: {
994
958
  };
995
959
  commitToHistory: boolean;
996
960
  };
997
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
961
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
998
962
  } & {
999
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
963
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1000
964
  };
1001
965
  export declare const actionZoomToFitSelection: {
1002
966
  name: "zoomToFitSelection";
@@ -1041,15 +1005,9 @@ export declare const actionZoomToFitSelection: {
1041
1005
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1042
1006
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1043
1007
  activeTool: {
1044
- lastActiveTool: import("../types").LastActiveTool;
1008
+ lastActiveTool: import("../types").ActiveTool | null;
1045
1009
  locked: boolean;
1046
- } & ({
1047
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1048
- customType: null;
1049
- } | {
1050
- type: "custom";
1051
- customType: string;
1052
- });
1010
+ } & import("../types").ActiveTool;
1053
1011
  penMode: boolean;
1054
1012
  penDetected: boolean;
1055
1013
  exportBackground: boolean;
@@ -1149,7 +1107,7 @@ export declare const actionZoomToFitSelection: {
1149
1107
  dynamicStyle: string;
1150
1108
  invertBindingBehaviour: boolean;
1151
1109
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1152
- snapLines: import("../snapping").SnapLine[];
1110
+ snapLines: readonly import("../snapping").SnapLine[];
1153
1111
  originSnapOffset: {
1154
1112
  x: number;
1155
1113
  y: number;
@@ -1158,9 +1116,9 @@ export declare const actionZoomToFitSelection: {
1158
1116
  };
1159
1117
  commitToHistory: boolean;
1160
1118
  };
1161
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1119
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1162
1120
  } & {
1163
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1121
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1164
1122
  };
1165
1123
  export declare const actionZoomToFit: {
1166
1124
  name: "zoomToFit";
@@ -1206,15 +1164,9 @@ export declare const actionZoomToFit: {
1206
1164
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1207
1165
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1208
1166
  activeTool: {
1209
- lastActiveTool: import("../types").LastActiveTool;
1167
+ lastActiveTool: import("../types").ActiveTool | null;
1210
1168
  locked: boolean;
1211
- } & ({
1212
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1213
- customType: null;
1214
- } | {
1215
- type: "custom";
1216
- customType: string;
1217
- });
1169
+ } & import("../types").ActiveTool;
1218
1170
  penMode: boolean;
1219
1171
  penDetected: boolean;
1220
1172
  exportBackground: boolean;
@@ -1314,7 +1266,7 @@ export declare const actionZoomToFit: {
1314
1266
  dynamicStyle: string;
1315
1267
  invertBindingBehaviour: boolean;
1316
1268
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1317
- snapLines: import("../snapping").SnapLine[];
1269
+ snapLines: readonly import("../snapping").SnapLine[];
1318
1270
  originSnapOffset: {
1319
1271
  x: number;
1320
1272
  y: number;
@@ -1323,9 +1275,9 @@ export declare const actionZoomToFit: {
1323
1275
  };
1324
1276
  commitToHistory: boolean;
1325
1277
  };
1326
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1278
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1327
1279
  } & {
1328
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1280
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1329
1281
  };
1330
1282
  export declare const actionToggleTheme: {
1331
1283
  name: "toggleTheme";
@@ -1367,15 +1319,9 @@ export declare const actionToggleTheme: {
1367
1319
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1368
1320
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1369
1321
  activeTool: {
1370
- lastActiveTool: import("../types").LastActiveTool;
1322
+ lastActiveTool: import("../types").ActiveTool | null;
1371
1323
  locked: boolean;
1372
- } & ({
1373
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1374
- customType: null;
1375
- } | {
1376
- type: "custom";
1377
- customType: string;
1378
- });
1324
+ } & import("../types").ActiveTool;
1379
1325
  penMode: boolean;
1380
1326
  penDetected: boolean;
1381
1327
  exportBackground: boolean;
@@ -1479,7 +1425,7 @@ export declare const actionToggleTheme: {
1479
1425
  dynamicStyle: string;
1480
1426
  invertBindingBehaviour: boolean;
1481
1427
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1482
- snapLines: import("../snapping").SnapLine[];
1428
+ snapLines: readonly import("../snapping").SnapLine[];
1483
1429
  originSnapOffset: {
1484
1430
  x: number;
1485
1431
  y: number;
@@ -1488,10 +1434,10 @@ export declare const actionToggleTheme: {
1488
1434
  };
1489
1435
  commitToHistory: false;
1490
1436
  };
1491
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1437
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1492
1438
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
1493
1439
  } & {
1494
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1440
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1495
1441
  };
1496
1442
  export declare const actionToggleEraserTool: {
1497
1443
  name: "toggleEraserTool";
@@ -1504,15 +1450,9 @@ export declare const actionToggleEraserTool: {
1504
1450
  selectedGroupIds: {};
1505
1451
  activeEmbeddable: null;
1506
1452
  activeTool: {
1507
- lastActiveTool: import("../types").LastActiveTool;
1453
+ lastActiveTool: import("../types").ActiveTool | null;
1508
1454
  locked: boolean;
1509
- } & ({
1510
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1511
- customType: null;
1512
- } | {
1513
- type: "custom";
1514
- customType: string;
1515
- });
1455
+ } & import("../types").ActiveTool;
1516
1456
  contextMenu: {
1517
1457
  items: import("../components/ContextMenu").ContextMenuItems;
1518
1458
  top: number;
@@ -1637,7 +1577,7 @@ export declare const actionToggleEraserTool: {
1637
1577
  dynamicStyle: string;
1638
1578
  invertBindingBehaviour: boolean;
1639
1579
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1640
- snapLines: import("../snapping").SnapLine[];
1580
+ snapLines: readonly import("../snapping").SnapLine[];
1641
1581
  originSnapOffset: {
1642
1582
  x: number;
1643
1583
  y: number;
@@ -1646,9 +1586,9 @@ export declare const actionToggleEraserTool: {
1646
1586
  };
1647
1587
  commitToHistory: true;
1648
1588
  };
1649
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1589
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1650
1590
  } & {
1651
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1591
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1652
1592
  };
1653
1593
  export declare const actionToggleHandTool: {
1654
1594
  name: "toggleHandTool";
@@ -1661,15 +1601,161 @@ export declare const actionToggleHandTool: {
1661
1601
  selectedGroupIds: {};
1662
1602
  activeEmbeddable: null;
1663
1603
  activeTool: {
1664
- lastActiveTool: import("../types").LastActiveTool;
1604
+ lastActiveTool: import("../types").ActiveTool | null;
1665
1605
  locked: boolean;
1666
- } & ({
1667
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1668
- customType: null;
1606
+ } & import("../types").ActiveTool;
1607
+ contextMenu: {
1608
+ items: import("../components/ContextMenu").ContextMenuItems;
1609
+ top: number;
1610
+ left: number;
1611
+ } | null;
1612
+ showWelcomeScreen: boolean;
1613
+ isLoading: boolean;
1614
+ errorMessage: import("react").ReactNode;
1615
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1616
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1617
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
1618
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
1619
+ isBindingEnabled: boolean;
1620
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
1621
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
1622
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
1623
+ frameRendering: {
1624
+ enabled: boolean;
1625
+ name: boolean;
1626
+ outline: boolean;
1627
+ clip: boolean;
1628
+ };
1629
+ editingFrame: string | null;
1630
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
1631
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1632
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1633
+ penMode: boolean;
1634
+ penDetected: boolean;
1635
+ exportBackground: boolean;
1636
+ exportEmbedScene: boolean;
1637
+ exportWithDarkMode: boolean;
1638
+ exportScale: number;
1639
+ currentItemStrokeColor: string;
1640
+ currentItemBackgroundColor: string;
1641
+ currentItemFillStyle: import("../element/types").FillStyle;
1642
+ currentItemStrokeWidth: number;
1643
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
1644
+ currentItemRoughness: number;
1645
+ currentItemOpacity: number;
1646
+ currentItemFontFamily: number;
1647
+ currentItemFontSize: number;
1648
+ currentItemTextAlign: string;
1649
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
1650
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
1651
+ currentItemRoundness: import("../element/types").StrokeRoundness;
1652
+ viewBackgroundColor: string;
1653
+ scrollX: number;
1654
+ scrollY: number;
1655
+ cursorButton: "up" | "down";
1656
+ scrolledOutside: boolean;
1657
+ name: string;
1658
+ isResizing: boolean;
1659
+ isRotating: boolean;
1660
+ zoom: Readonly<{
1661
+ value: NormalizedZoomValue;
1662
+ }>;
1663
+ openMenu: "canvas" | "shape" | null;
1664
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
1665
+ openSidebar: {
1666
+ name: string;
1667
+ tab?: string | undefined;
1668
+ } | null;
1669
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
1670
+ defaultSidebarDockedPreference: boolean;
1671
+ lastPointerDownWith: import("../element/types").PointerType;
1672
+ previousSelectedElementIds: {
1673
+ [id: string]: true;
1674
+ };
1675
+ selectedElementsAreBeingDragged: boolean;
1676
+ shouldCacheIgnoreZoom: boolean;
1677
+ toast: {
1678
+ message: string;
1679
+ closable?: boolean | undefined;
1680
+ duration?: number | undefined;
1681
+ } | null;
1682
+ zenModeEnabled: boolean;
1683
+ theme: import("../element/types").Theme;
1684
+ gridSize: number | null;
1685
+ previousGridSize: number | null;
1686
+ viewModeEnabled: boolean;
1687
+ editingGroupId: string | null;
1688
+ width: number;
1689
+ height: number;
1690
+ offsetTop: number;
1691
+ offsetLeft: number;
1692
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1693
+ collaborators: Map<string, import("../types").Collaborator>;
1694
+ showStats: boolean;
1695
+ currentChartType: import("../element/types").ChartType;
1696
+ pasteDialog: {
1697
+ shown: false;
1698
+ data: null;
1669
1699
  } | {
1670
- type: "custom";
1671
- customType: string;
1672
- });
1700
+ shown: true;
1701
+ data: import("../charts").Spreadsheet;
1702
+ };
1703
+ pendingImageElementId: string | null;
1704
+ showHyperlinkPopup: false | "editor" | "info";
1705
+ linkOpacity: number;
1706
+ trayModeEnabled: boolean;
1707
+ colorPalette?: {
1708
+ canvasBackground: import("../colors").ColorPaletteCustom;
1709
+ elementBackground: import("../colors").ColorPaletteCustom;
1710
+ elementStroke: import("../colors").ColorPaletteCustom;
1711
+ topPicks: {
1712
+ canvasBackground: [string, string, string, string, string];
1713
+ elementStroke: [string, string, string, string, string];
1714
+ elementBackground: [string, string, string, string, string];
1715
+ };
1716
+ } | undefined;
1717
+ allowWheelZoom?: boolean | undefined;
1718
+ allowPinchZoom?: boolean | undefined;
1719
+ pinnedScripts?: string[] | undefined;
1720
+ customPens?: any[] | undefined;
1721
+ currentStrokeOptions?: any;
1722
+ resetCustomPen?: any;
1723
+ gridColor: {
1724
+ Bold: string;
1725
+ Regular: string;
1726
+ MajorGridFrequency?: number | undefined;
1727
+ };
1728
+ dynamicStyle: string;
1729
+ invertBindingBehaviour: boolean;
1730
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1731
+ snapLines: readonly import("../snapping").SnapLine[];
1732
+ originSnapOffset: {
1733
+ x: number;
1734
+ y: number;
1735
+ } | null;
1736
+ objectsSnapModeEnabled: boolean;
1737
+ };
1738
+ commitToHistory: true;
1739
+ };
1740
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1741
+ } & {
1742
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1743
+ };
1744
+ export declare const actionToggleLaserPointer: {
1745
+ name: "toggleLaserPointerTool";
1746
+ viewMode: true;
1747
+ trackEvent: {
1748
+ category: "menu";
1749
+ };
1750
+ perform(elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties): {
1751
+ appState: {
1752
+ selectedElementIds: {};
1753
+ selectedGroupIds: {};
1754
+ activeEmbeddable: null;
1755
+ activeTool: {
1756
+ lastActiveTool: import("../types").ActiveTool | null;
1757
+ locked: boolean;
1758
+ } & import("../types").ActiveTool;
1673
1759
  contextMenu: {
1674
1760
  items: import("../components/ContextMenu").ContextMenuItems;
1675
1761
  top: number;
@@ -1794,7 +1880,7 @@ export declare const actionToggleHandTool: {
1794
1880
  dynamicStyle: string;
1795
1881
  invertBindingBehaviour: boolean;
1796
1882
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1797
- snapLines: import("../snapping").SnapLine[];
1883
+ snapLines: readonly import("../snapping").SnapLine[];
1798
1884
  originSnapOffset: {
1799
1885
  x: number;
1800
1886
  y: number;
@@ -1803,9 +1889,10 @@ export declare const actionToggleHandTool: {
1803
1889
  };
1804
1890
  commitToHistory: true;
1805
1891
  };
1806
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1892
+ checked: (appState: Readonly<AppState>) => boolean;
1893
+ contextItemLabel: string;
1807
1894
  } & {
1808
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1895
+ keyTest?: undefined;
1809
1896
  };
1810
1897
  export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, zoomToSelection: boolean, app: AppClassProperties, maxZoom?: number, margin?: number) => {
1811
1898
  appState: {
@@ -1845,15 +1932,9 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
1845
1932
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
1846
1933
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1847
1934
  activeTool: {
1848
- lastActiveTool: import("../types").LastActiveTool;
1935
+ lastActiveTool: import("../types").ActiveTool | null;
1849
1936
  locked: boolean;
1850
- } & ({
1851
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand" | "mermaid";
1852
- customType: null;
1853
- } | {
1854
- type: "custom";
1855
- customType: string;
1856
- });
1937
+ } & import("../types").ActiveTool;
1857
1938
  penMode: boolean;
1858
1939
  penDetected: boolean;
1859
1940
  exportBackground: boolean;
@@ -1953,7 +2034,7 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
1953
2034
  dynamicStyle: string;
1954
2035
  invertBindingBehaviour: boolean;
1955
2036
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1956
- snapLines: import("../snapping").SnapLine[];
2037
+ snapLines: readonly import("../snapping").SnapLine[];
1957
2038
  originSnapOffset: {
1958
2039
  x: number;
1959
2040
  y: number;